Linux系统的命令严格区分大小写!
echo
echo
命令用于在终端设备上输出字符串或变量提取后的值,语法格式为echo [字符串] [$变量]
。这是Linux系统中最常用的几个命令之一,它的操作却非常简单,执行“echo字符串”或“echo
变
量
”
就
行
,
其
中
变量”就行,其中
变量”就行,其中符号的意思是提取变量的实际值,以便后续的输出操作。
date命令
date
命令用于显示或设置系统的时间与日期,语法格式为date [+指定的格式]
。
参数 | 作用 |
---|---|
%S | 秒(00~59) |
%M | 分钟(00~59) |
%H | 小时(00~23) |
%I | 小时(00~12) |
%m | 月份(1~12) |
%p | 显示出AM或PM |
%a | 缩写的工作日名称(例如:Sun) |
%A | 完整的工作日名称(例如:Sunday) |
%b | 缩写的月份名称(例如:Jan) |
%B | 完整的月份名称(例如:January) |
%q | 季度(1~4) |
%y | 简写年份(例如:20) |
%Y | 完整年份(例如:2020) |
%d | 本月中的第几天 |
%j | 今年中的第几天 |
%n | 换行符(相当于按下回车键) |
%t | 跳格(相当于按下Tab键) |
date
命令设置系统的时间与日期
使用date命令设置时间
date -s "20220115 12:00:00"
timedatectl命令
timedatectl
命令用于设置系统的时间,语法格式为timedatectl [参数]
参数 | 作用 |
---|---|
status | 显示状态信息 |
list-timezones | 列出已知时区 |
set-time | 设置系统时间 |
set-timezone | 设置生效时区 |
reboot命令
reboot
命令用于重启系统,输入该命令后按回车键执行即可。
由于重启计算机这种操作会涉及硬件资源的管理权限,因此最好是以root管理员的身份来重启,普通用户在执行该命令时可能会被拒绝。
poweroff命令
poweroff
命令用于关闭系统,输入该命令后按回车键执行即可。
其他常用关机命令
shutdown
init 0
halt
wget命令
wget
命令用于在终端命令行中下载网络文件,可以无须打开浏览器。
参数 | 作用 |
---|---|
-b | 后台下载模式 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
ps命令
ps
命令用于查看系统中的进程状态,是静态的展示。
参数 | 作用 |
---|---|
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
ps命令的参数可以不加“-”,直接使用ps aux即可。
ps aux
Linux系统中常见的进程状态:R、S、D、Z、T
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
Z(僵尸):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。
除了上面5种常见的进程状态,还有可能是高优先级(<)、低优先级(N)、被锁进内存(L)、包含子进程(s)以及多线程(l)这5种补充形式。
pstree命令
pstree
可以让进程以树状图的形式,有层次地展示出进程之间的关系。
top命令
top命令用于动态地监视进程活动及系统负载等信息,输入该命令后按回车键执行即可。
前面提到的ps命令是静态的,而top命令是动态的展示,就例如windows系统中的任务管理器。
nice命令
nice命令用于调整进程的优先级。在top命令输出的结果中,PR和NI值代表的是进程的优先级,数字越低(取值范围是-20~19)优先级越高。
nice -n -20 sshd
pidof命令
pidof命令用于查询某个指定服务进程的PID号码值,语法格式为“pidof [参数] 服务名称”
kill命令
kill命令用于终止某个指定PID值的服务进程,语法格式为“kill [参数] 进程的PID”。。但有时系统会提示进程无法被终止,此时可以加参数-9,表示最高级别地强制杀死进程。
killall命令
killall命令用于终止某个指定名称的服务所对应的全部进程,语法格式为“killall [参数] 服务名称
kill 1332
kill -9 1332
killall sshd
systemctl stop sshd
ifconfig命令
ifconfig命令用于获取网卡配置与网络状态等信息。
uptime命令
uptime命令用于查看系统的负载信息。它可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。相当于top命令的第一行。
free命令
free命令用于显示当前系统中内存的使用量信息。
who命令
who命令用于查看当前登入主机的用户终端信息。可以快速显示出所有正在登录本机的用户名称以及他们正在开启的终端信息;如果有远程用户,还会显示出来访者的IP地址。
last命令
last命令用于调取主机的被访记录。Linux系统会把每次登陆信息都记录到日志文件中。
history命令
history命令用于显示执行过的命令历史。执行history命令能显示出当前用户在本地计算机中执行过的最近1000条命令记录。如果觉得1000不够用,可以自定义/etc/profile文件中的HISTSIZE变量值。在使用history命令时,可以使用-c参数清空所有的命令历史记录。还可以使用“!编码数字”的方式来重复执行某一次的命令。
cd命令
cd命令用于切换当前的工作路径。
使用下述的cd命令切换进/etc目录中:
同样的道理,可使用下述命令切换到/bin目录中:
此时,要返回到上一次的目录(即/etc目录),可执行如下命令:
还可以通过下面的命令快速切换到用户的家目录:
ls命令
ls
命令用于显示目录中的文件信息,语法格式为ls [参数] [文件名称]
。
参数 | 含义 |
---|---|
-a | 参数可以看到全部文件(包括隐藏文件) |
-l | 参数可以查看文件的属性、大小等详细信息 |
如果想要查看目录属性信息,则需要额外添加一个-d参数
tree命令
tree
命令用于以树状图的形式列出目录内容及结构。
find命令
find
命令用于按照指定条件来查找文件所对应的位置,语法格式为find [查找范围] 寻找条件
。
参数 | 作用 |
---|---|
-name | 匹配名称 |
-perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-mtime -n +n | 匹配修改内容的时间(-n指n天以内,+n指n天以前) |
-atime -n +n | 匹配访问文件的时间(-n指n天以内,+n指n天以前) |
-ctime -n +n | 匹配修改文件权限的时间(-n指n天以内,+n指n天以前) |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
-newer f1 !f2 | 匹配比文件f1新但比f2旧的文件 |
-type b/d/c/p/l/f | 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-size | 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
-prune | 忽略某个目录 |
-exec …… {}; | 后面可跟用于进一步处理搜索结果的命令(下文会有演示) |
find命令以使用不同的文件特性作为寻找条件(如文件名、大小、修改时间、权限等信息),一旦匹配成功则默认将信息显示到屏幕上。
locate命令
locate
命令用于按照名称快速搜索文件所对应的位置,语法格式为locate文件名称
。
在使用locate
命令时,先使用updatedb命令生成一个索引库文件,这个库文件的名字是/var/lib/mlocate/mlocate.db,后续在使用locate
命令搜索文件时就是在该库中进行查找操作,速度会比find
快很多。
whereis命令
whereis
命令用于按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的位置,语法格式为whereis 命令名称
。
whereis
命令也是基于updatedb
命令所生成的索引库文件进行搜索,它与locate
命令的区别是不关心那些相同名称的文件,仅仅是快速找到对应的命令文件及其帮助文件所在的位置。
which命令
which
命令用于按照指定名称快速搜索二进制程序(命令)所对应的位置,语法格式为which 命令名称
。
which
命令是在PATH变量所指定的路径中,按照指定条件搜索命令所在的路径。
cat命令
cat
命令用于查看纯文本文件(内容较少的),语法格式为cat [参数] 文件名称
。
more命令
more
命令用于查看纯文本文件(内容较多的),语法格式为more [参数] 文件名称
。
more命令会在最下面使用百分比的形式来提示您已经阅读了多少内容,还可以使用空格键或回车键向下翻页。
head命令
head
命令用于查看纯文本文件的前N行,语法格式为head [参数] 文件名
。
例如显示某文件的前20行,则使用 head -n 20 文件名
tail命令
tail
命令用于查看纯文本文件的后N行或持续刷新文件的最新内容,语法格式为tail [参数] 文件名称
。
例如显示某文件的后20行,则使用 tail-n 20 文件名
如果想查看文件的中间段落,例如显示某文件的30-50行,需要同时使用head和tail以及管道符来进行操作。
head -n 50 文件名 | tail 20 前50行的后20行(即30-50行)
==当想要实时查看最新的日志文件时,此时的命令格式为“tail -f文件名称”。==该命令默认显示占满屏幕。
tr命令
tr
命令用于替换文本内容中的字符,语法格式为tr [原始字符] [目标字符]
。
先使用cat命令读取待处理的文本,然后通过管道符把这些文本内容传递给tr命令进行替换操作即可。
wc命令
wc
命令用于统计指定文本文件的行数、字数或字节数,语法格式为wc [参数] 文件名称
。
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
stat命令
stat
命令用于查看文件的具体存储细节和时间等信息,语法格式为stat文件名称
。
大家都知道,文件有一个修改时间。其实,除了修改时间之外,Linux系统中的文件包含3种时间状态。
时间状态 | 含义 |
---|---|
Access Time | 内容最后一次被访问的时间,简称为Atime |
Modify Time | 内容最后一次被修改的时间,简称为Mtime |
Change Time | 文件属性最后一次被修改的时间,简称为Ctime |
grep命令
grep
命令用于按行提取文本内容,语法格式为grep [参数] 文件名称
。
grep
命令是用途最广泛的文本搜索匹配工具。
参数 | 作用 |
---|---|
-b | 将可执行文件(binary)当作文本文件(text)来搜索 |
-c | 仅显示找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择——仅列出没有“关键词”的行。 |
cut命令
cut
命令用于按“列”提取文本内容,语法格式为cut [参数] 文件名称
。
参数 | 含义 |
---|---|
-f | 设置需要查看的列数 |
-d | 参数来设置间隔符号 |
diff命令
diff
命令用于比较多个文件之间内容的差异,语法格式为diff [参数] 文件名称A 文件名称B
。
参数 | 含义 |
---|---|
–brief | 来确认两个文件是否相同 |
-c | 来详细比较出多个文件的差异之处 |
uniq命令
uniq
命令用于去除文本中连续的重复行,语法格式为uniq [参数] 文件名称
。
sort命令
sort
命令用于对文本内容进行再排序,语法格式为sort [参数] 文件名称
。
参数 | 作用 |
---|---|
-f | 忽略大小写 |
-b | 忽略缩进与空格 |
-n | 以数值型排序 |
-r | 反向排序 |
-u | 去除重复行 |
-t | 指定间隔符 |
-k | 设置字段范围 |
touch命令
touch
命令用于创建空白文件或设置文件的时间(Atime和Mtime),语法格式为touch [参数] 文件名称
。
参数 | 作用 |
---|---|
-a | 仅修改“读取时间”(atime) |
-m | 仅修改“修改时间”(mtime) |
-d | 同时修改atime与mtime |
mkdir命令
mkdir命令用于创建空白的目录,英文全称为“make directory”,语法格式为“mkdir [参数] 目录名称”。
除了能创建单个空白目录外,mkdir命令还可以结合-p参数来递归创建出具有嵌套层叠关系的文件目录:
cp命令
cp
命令用于复制文件或目录,语法格式为
cp [参数] 源文件名称 目标文件名称`。
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制用于目录 |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p、d、r为上述参数) |
mv命令
mv
命令用于剪切文件,语法格式为mv [参数] 源文件名称 目标文件名称
。
如果说在同目录进行操作,也相当于重命名操作。
rm命令
rm
命令用于删除文件或目录,语法格式为rm [参数] 文件 名称
。
参数 | 作用 |
---|---|
-f | 强制执行 |
-i | 删除前询问 |
-r | 删除目录 |
-v | 显示过程 |
千万不要执行危险操作
file命令
file
命令用于查看文件的类型,语法格式为file 文件名称
。
tar命令
tar
命令用于对文件进行打包压缩或解压,语法格式为tar [参数] 文件名称
。
参数 | 作用 |
---|---|
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用Gzip压缩或解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-p | 保留原始的权限与属性 |
-P | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |