【Linux基本命令归纳整理】

news2024/10/6 10:39:30

Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。严格来讲,Linux 这个词本身只表示 Linux 内核,但实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核,并且使用 GNU 工程各种工具和数据库的操作系统。
在这里插入图片描述

Linux基本命令归纳整理

1. 帮助命令

内建命令和外部命令

在我们使用 Linux 操作系统的时候,经常会使用一些命令,但是由于时间长久的原因导致我们对于其使用方法的忘记。本文,就是为了解决这个问题而生的,授之以鱼不如授之以渔。

[1] 内部命令
实际上是 shell 程序的一部分,其中包含的是一些比较简单的 linux 系统命令,这些命令由 shell 程序识别并在 shell 程序内部完成运行,通常在 linux 系统加载运行时 shell 就被加载并驻留在系统内存中。内部命令是写在 bash 源码里面的,其执行速度比外部命令快,因为解析内部命令 shell 不需要创建子进程。比如:exit,history,cd,echo 等。

escape@ubuntu:~$ type cd
cd is a shell builtin

#内建命令帮助获取方式
escape@ubuntu:~$ help echo
echo: echo [-neE] [arg …]
Write arguments to the standard output.

[2] 外部命令

外部命令是 linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。通常外部命令的实体并不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。shell 程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。shell 程序搜寻可执行程序文件的路径定义在PATH环境变量中,使用 echo $PATH 来查看。外部命令是在 bash 之外额外安装的,通常放在固定目录下。比如:ls,vi 等

escape@ubuntu:~$ type mount
mount is /bin/mount

[3] 常用命令

type命令
用于查看命令属于内建命令或者外部命令
type -a COMMAND:可以列出某命令的所有位置(包括内部和外部)
type -P COMMAND:可以显示内部命令的路径
which命令
用于查看外部命令的路径
whereis命令
用于查看外部命令的路径和man命令的帮助文件 -whatis命令
用于模糊匹配操作命令的帮助并列出帮助手册
CentOS6上执行makewhatis可手动更新搜索的数据库
CentOS7上执行mandb可手动更新搜索的数据库

escape@ubuntu:~$ whatis date
cal(1), ncal(1) - displays a calendar and the date of easter
date(1) - display or set date and time
iwidgets_datefield(n), iwidgets::datefield(n) - Create and manipulate a date field widget
ntpdate(8) - set the date and time via NTP
1.1 内建 hash 命令
在 shell 搜中寻到的外部命令的路径结果会缓存至 key-value 存储中,而 hash 用来显示命令缓存。

#显示命令缓存次数
[root@centos7 ~]# hash
hits command
2 /usr/bin/file
8 /usr/bin/ls

#列出缓存过的命令
[root@centos7 ~]# hash -l
builtin hash -p /usr/bin/file file
builtin hash -p /usr/bin/ls ls

#可以给命令建立缓存
[root@centos7 ~]# hash -p /usr/bin/file f
[root@centos7 ~]# hash -l
builtin hash -p /usr/bin/file file
builtin hash -p /usr/bin/file f
builtin hash -p /usr/bin/ls ls

#删除某个命令的缓存
[root@centos7 ~]# hash -d f
[root@centos7 ~]# hash -l
builtin hash -p /usr/bin/file file
builtin hash -p /usr/bin/ls ls

#列出单个别名的路径
[root@centos7 ~]# hash -t file
/usr/bin/file

#删除所有命令缓存
[root@centos7 ~]# hash -r
[root@centos7 ~]# hash
hash: hash table empty
1.2 内建 history 命令
history 命令用于管理命令历史。当登录 shell 时,会读取命令历史文件(~/.bash_history)中记录下的命令。当登录进 shell 后新执行的命令只会记录在缓存中,这些命令会用户退出时“追加”至命令历史文件中。

#[命令选项]

#追加本次会话新执行的命令历史列表至历史文件中
$ history -a

#删除历史中指定的命令
$ history -d #

#清空命令历史
$ history -c

#[快捷操作]

#调用历史中第#条命令
!#

#调用历史中最近一个以string开头的命令
!string

#上一条命令
!!
1.3 外部 man 命令
man 命令的配置文件 /etc/man.config。

#要查看指定章节中的手册
man1: 用户命令
man2: 系统调用
man3: C库调用
man4: 设备文件及特殊文件
man5: 配置文件格式
man6: 游戏
man7: 杂项
man8: 管理类的命令

#指明新的手册文件搜索位置
$ MANPATH /PATH/TO/SOMEWHERE

#到指定位置下搜索COMMAND命令的手册页并显示
$ man -M /PATH/TO/SOMEWHERE COMMAND

#帮助手册中的段落说明
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
EXAMPLES
AUTHOR
REPORTING BUGS
SEE ALSO
1.4 外部 info 命令

#查看帮助
$ info COMMAND

2. 日期时间

Linux 中提供了什么我们日常操作所需要的基础命令,我们需要经常使用它们来提高我们的效率。本文将介绍几种 Linux 常用的命令以及操作,耐心看完肯定会对你有帮助的。

2.1 date 命令
系统时钟设定命令

格式

date [OPTION]… [+FORMAT]
date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
设置

FORMAT 格式符号%F :年月日全格式,例如 2016-06-21%T :时间全格式,例如 13:14:42%Y:年%m:月%d:日%H:小时%M 分-%S 秒%s:从 1970 年 1 月 1 日 00:00:00 开始的秒数
系统时间设定 date [MMDDhhmm[[CC]YY][.ss]]MM: 月分DD:几号hh: 小时mm: 分钟YY: 两位年份CCYY: 四位年份.ss: 秒钟

#设置时间显示格式
[root@centos7 ~]# date +“%F %T”
2017-05-19 20:01:17
[root@centos7 ~]# date +“%Y%m%d”
20170519

#修改系统时间
[root@centos7 ~]# date 122111112012.11
Fri Dec 21 11:11:11 CST 2012

#显示昨天是星期几
[root@centos7 ~]# date --date=“yesterday” +%a
Sun
[root@centos7 ~]# date --date=“yesterday” +%A
Sunday

#显示当前时间,格式:2016-06-18 10:20:30
[root@centos7 ~]# date +“%F %T”

#设置当前日期为2019-08-07 06:05:10
[root@centos7 ~]# date 080706052019.10

2.2 hwclock 命令
clock 又或者 hwclock,是一样的命令。

Linux 的两种时钟

系统时钟(System Clock)由 Linux 内核通过 CPU 的工作频率进行的计时,指当前 Linux Kernel 中的时钟。
硬件时钟(Real Time Clock)是主板上由电池供电的那个主板硬件时钟,这个时钟能在 BIOS 的“Standard BIOS Feture”项中进行设置。
区别和联系如果使用 date 命令修改了系统时间,并不会自动去修改硬件时钟,因此,当系统下次重启时,系统时钟还会从硬件时钟去取,date 设置的时间就无效了。因此需要 hwclock 命令再来同步系统时钟到硬件时钟,这样下次启动的时候内核则会读取正确的硬件时间到系统时间。
参数选项

-s, --hctosys
硬件时钟同步到系统时钟上,把系统时间调成和硬件时钟一样
-w, --systohc
系统时钟同步到硬件时钟上,把系统时间调成和硬件时钟一样

#hctosys
$ hwclock -s

#systohc
$ hwclock -w

2.3 ntpdate 命令
前提是 IP 所在的那台机器启用了 NTP 服务!

#用于同步时间
$ htpdate 172.17.0.1

2.4 选择时区命令
交互式命令:tzselect;非交互式命令:timedatectl

[1] 交互式命令 - tzselect
CentOS 6/7 都支持的命令:tzselect,是一个交互式的命令,用于选择时区。

Linux基本命令归纳整理 - 选择时区

[2] 非交互式的命令 - timedatectl 命令
timedatectl 命令只支持 CentOS 7 系统。

#时间状态
$ timedatectl status

#列出时区
$ timedatectl list-timezones

#更改时区
$ timedatectl set-timezones Asia/Shanghai
[3] 直接覆盖文件

#在CentOS6/7都支持一个非交互式的方法
$ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3. 别名使用

主要用到两个命令:alias & unalias

alias:显示当前使用的别名。
alias NAME=“XXXX”:给某段命令或路径加别名
unalias NAME:去掉某个命令的别名

[root@centos7 ~]# alias cdnet=“cd /etc/sysconfig/network-scripts/”
[root@centos7 ~]# cdnet
[root@centos7 network-scripts]# pwd
/etc/sysconfig/network-scripts

[root@centos7 network-scripts]# alias
alias cdnet=‘cd /etc/sysconfig/network-scripts/’
alias grep=‘grep --color=auto’
alias ll=‘ls -l --color=auto’

[root@centos7 network-scripts]# unalias cdnet
[root@centos7 network-scripts]# alias
alias grep=‘grep --color=auto’
alias ll=‘ls -l --color=auto’
不用别名,用原始命令的话,可以用下面的方法。
\COMMAND
‘COMMAND’
‘/PATH/TO/COMMAND’
永久保存 alias 的方法针对一个用户的环境变量:更改 vim ~/.bashrc 文件针对全局用户:更改 /etc/bashrc 文件(不推荐,不同用户有不同需要和偏好)
#下面是某些alias设置
alias vi =“vim”
alias cdnet=“cd /etc/sysconfig/network-scripts”
alias vimnet1=“vim /etc/syscofig/network-scripts/eth0”
alias vimnet2=“vim /etc/syscofnig/network-scripts/eth1”

#更改完成后,可以用source.命令来使之立即生效,或者重启shell:
[root@centos7 ~]# source ~/.bashrc
[root@centos7 ~]# . ~/.bashrc

文章作者: Escape

文章链接:
https://www.escapelife.site/posts/b1e17a99.html

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Escape !

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66569.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day40——Dp专题

文章目录三、01背包8.分割等和子集9.最后一块石头的重量 II10.目标和11. 一和零三、01背包 8.分割等和子集 题目链接:416. 分割等和子集 - 力扣(LeetCode) 思路:我们构造两个子集使得两个子集的和相等,其实就是让我…

JavaScript:初始JS 以及 基础语法

前端三件套: HTML: 生成网页控件 例如:生成 文本框 多选框 下拉列表 等 (人的身体) CSS: 修饰网页上的控件 例如:修饰文本框为圆形 (人的衣服) JavaSript: 在这些控件上添加逻辑 例如:获取文本框的值 然…

哈工大体系结构lab3 —— 流水线处理器的verilog实现

流水线处理器的verilog实现 是的我刚刚验收完最后一个实验,所以怀着激动的心情,把当时其中一个留档的代码发出来,还算较为清晰,仅供没有思路的同学参考。造完cache,我的生活终于可以恢复正轨了,这几天折磨的…

web安全之SQL盲注的靶场练习和分析

目录 SQL盲注-报错回显盲注 SQL盲注-时间盲注 SQL盲注-布尔盲注 SQL盲注-报错回显盲注 在burp里面进行动态抓包,判断符号闭环,如图明显为闭环 列数3时报错,判断当前列数为2 强行报错注入 ,如图获取到版本号 uname1212 unio…

h5视频落地页知识点整理

一、视频在苹果中自动播放&#xff08;借助微信SDK&#xff09; 1.引入微信SDK <script src"http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> 2. document.addEventListener(WeixinJSBridgeReady, function() { const timer setInte…

如何签署exe或Windows应用程序?

本文您将了解为什么要签署Windows应用程序以及如何签署EXE或Windows应用程序的步骤指南。 代码签名是一种确保软件来自经过验证的正版软件发行商的方法。使用代码签名证书唱WindowsEXE文件可确保可执行文件或Windows应用程序不会被恶意行为者更改或修改。 Windows应用程序签名…

2022年NPDP新版教材知识集锦--【第五章节】(2)

《产品经理认证(NPDP)知识体系指南(第2版)》已于2022年4月正式上架发行&#xff0c;新版教材自2022年11月NPDP考试起使用。将新版NPDP教材中的相关知识点进行了整理汇总&#xff0c;包括详细设计与规格阶段相关内容&#xff0c;快来看看吧。 【市场研究工具】(全部内容获取文末…

华为机试 - 无向图染色

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 给一个无向图染色&#xff0c;可以填红黑两种颜色&#xff0c;必须保证相邻两个节点不能同时为红色&#xff0c;输出有多少种不同的染色方案&#xff1f; 输入描述 第一行输入M(图中节点数) N(边数) …

使用reshape2 R包进行在线长数据和宽数据相互转化

数据是数据分析的基础。我们常见的数据一般存储在excel表格&#xff0c;或者txt文档中。今天我们来看看长数据和宽数据&#xff0c;以及如何进行两者之间的相互转换。 1&#xff0e;宽数据和长数据 宽数据 如图1所示&#xff0c;宽数据是我们最常见的数据存储形式&#xff0c…

[附源码]Python计算机毕业设计Django校园订餐管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

nginx配置文件组成

1.配置文件的组成 ​ 配置文件由全局块events块http块组成 1.1 全局块 ​ 从配置文件开始到events之间的内容&#xff0c;主要会设置一些影响Nginx服务器整体运行的配置指令&#xff0c;主要包括配置运行Nginx服务器的用户(组)、允许生成的worker process数&#xff0c;进程pid…

Java数据结构与Java算法学习Day06---堆(简略笔记记录)

目录 一、堆 96 1.1堆的定义 96 1.2堆的API设计 97 1.3堆---堆的插入方法 98 1.4堆---堆的删除最大元素方法 99 1.5堆---堆的测试 100 二、堆排序 101 2.1堆排序 101 一、堆 96 1.1堆的定义 96 堆实际上也是利用数据结构实现的&#xff0c;用树实现的特殊结构&…

(mac M1)Flutter环境搭建

下载Flutter SDK&#xff0c;需要科学上网。 将Flutter永久添加到PATH中 1 sudo vim ~/.bash_profile 打开文件 2 export PATHpwd/flutter/bin:$PATH 将这个添加到前几行环境变量设置中 3 :wq 退出vim 4 source ~/.bash_profile 配置马上生效命令 运行 flutter doctor 命令&a…

【Linux】yum的介绍和使用

本期主题&#xff1a;yum介绍和使用博客主页&#xff1a;小峰同学分享小编的在Linux中学习到的知识和遇到的问题小编的能力有限&#xff0c;出现错误希望大家不吝赐作为程序员&#xff0c;不会有人还没女朋友吧。 目录 &#x1f341;1.软件包是什么&#xff1f; &#x1f341;…

[附源码]Python计算机毕业设计Django小型银行管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

Qwt开发笔记(二):Qwt基础框架介绍、折线图介绍、折线图Demo以及代码详解

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/128194710 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

单片机硬件和软件延时、RTOS相对延时和绝对延时

已剪辑自: https://mp.weixin.qq.com/s/-RPLQn4KO9Aqu1fpfZeOKA 前不久有个读者在问关于延时的问题&#xff0c;大概就是问&#xff1a;软件延时和硬件延时是啥意思&#xff1f;做项目时他俩有什么区别&#xff1f; 今天就来讲讲关于硬件延时和软件延时的内容&#xff0c;以及…

[GitHub]将本地文件上传远程仓库(安装,创建SSHKey,上传远程仓库)

目录 什么是GitHub 注册账户以及创建仓库 安装Git 配置Git ​编辑 将本地项目上传远程仓库 创建本地仓库 创建远程仓库 克隆远程仓库到本地 什么是GitHub github是一个基于git的代码托管平台&#xff0c;付费用户可以建私人仓库&#xff0c;我们一般的免费用户只能使用公共…