常见的Linux执行命令的格式是这样的:
命令名称 [命令参数] [命令对象]
三者之间用空格分隔。
- 命令参数可用长格式(完整的选项名称)如
--help
,也可以是短格式(单个字母的缩写)如-h
- 命令对象一般是要处理的文件、目录、用户等资源。
本节摘要
- 常用系统工作命令echo、date、reboot、poweroff、wget、ps、top、pidof、kill、killall
- 系统状态检测命令 ifconfig、uname、uptime、free、last、history、sosreport
- 工作目录切换命令 pwd、cd、ls
- 文本文件编辑命令 cat、more、head、tail、 tr、wc、stat、cut、diff
- 文件目录管理命令 touch、mkdir、cp、mv、rm、dd、file
- 打包压缩与搜索命令 tar、grep、find
常用系统工作命令
1 echo
用于在终端输出字符串或变量的值。
格式为:echo [字符串 | $变量]
2 date
用于显示及设置系统的时间或日期。
格式为:date [选项] [+指定的格式]
date命令中的参数及作用如下:
参数 | 作用 |
---|---|
%t | 跳格(Tab键) |
%Y | 年 |
%m | 月 |
%d | 日 |
%H | 小时(24小时制) |
%I | 小时(12小时制) |
%M | 分钟 |
%S | 秒 |
%j | 今年中的第几天 |
修改时间的格式为
date -s "修改的时间"
3 reboot
用于重启系统。
格式为 reboot
,默认只能使用root管理员来重启。
4 poweroff
用于关闭系统。
格式为poweroff
,默认只能使用root管理员来重启。
5 wget
用于在终端中下载网络文件。
格式为 wget [参数] 下载地址
,wget的参数及作用如下:
参数 | 作用 |
---|---|
-b | 后台下载模式 |
-P | 下载到指定目录 |
-p | 下载页面内所有资源,包括图片、视频等。 |
-t | 最大尝试次数 |
-c | 断点续传 |
-r | 递归下载 |
6 ps
用于查看系统中的进程状态。
格式为ps [参数]
,其参数及作用如下:
参数 | 作用 |
---|---|
-a | 显示所有进程(包括其他用户) |
-u | 用户及其他详细信息 |
-x | 显示没有控制终端的进程 |
Linux系统中有5种常见的进程状态,分别是R
(运行)、S
(中断)、D
(不可中断)、Z
(僵死)和T
(停止)。
7 top
用于动态地监视进程活动与系统负载等信息。
格式为 top
,top命令能够动态地查看系统运维状态,相当于强化版的windows任务管理器。
8 pidof
用于查询某个指定服务进程的PID值。
格式为pidof [参数] [服务名称]
,由于每个进程的PID是唯一的,因此可以通过PID来区分不同的进程。
9 kill
用于终止某个指定PID的服务进程。
格式为kill [参数] [进程PID]
10 killall
用于终止某个指定名称的服务所对应的全部进程。
格式为killall [参数] [进程名称]
系统状态检测命令
1 ifconfig
用于获取网卡配置与网络状态等信息。
格式为 ifconfig [网络设备] [参数]
2 uname
用于查看系统内核与系统版本等信息。
格式为uname [-a]
3 uptime
用于查看系统负载信息。
格式为 uptime
4 free
用于显示当前系统中内存的使用量信息。
格式为free [-h]
5 who
用于查看当前登陆主机的用户终端信息。
格式为who [参数]
6 last
用于查看所有系统的登陆记录。
格式为 last [参数]
7 history
用于显示历史执行过的命令。
格式为history [-c]
,如果使用-c参数则会清空所有历史命令记录。
8 sosreport
用于收集系统配置及架构信息并输出诊断文档。
格式为sosreport
工作目录切换命令
1 pwd
用于显示用户当前所处的工作目录。
格式为pwd [选项]
2 cd
用于切换工作路径。
格式为 cd [目录名称]
,除了常见的切换目录方式,还有下面的快捷切换。
- cd - 返回上一次所处的目录
- cd.. 进入上级目录
- cd ~ 进入当前用户的家目录
- cd ~username进入其他用户的家目录
3 ls
用于显示目录中的文件信息。
格式为ls [选项] [文件]
,使用-a
参数看到全部文件(包括隐藏文件),使用-l
参数可以查看文件的属性等详细信息。
文本文件编辑命令
1 cat
用于查看内容较少的纯文本文件。
格式为cat [选项] [文件]
,如果要显示行号,可以在cat命令后加一个-n
参数。
2 more
用于查看内容较多的纯文本文件。
格式为cat [选项] [文件]
,使用空格键或回车键向下翻页。
3 head
用于查看纯文本文档的前N行。
格式为head [选项] [文件]
,通过-n 行数
显示前n行。
4 tail
用于查看纯文本文档的后N行。
格式为tail [选项] [文件]
,通过-n 行数
显示后n行。tail命令还有个强大的地方是通过-f
参数可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,这特别有用,此时的格式是:tail -f 文件名
5 tr
用于替换文本文件中的字符。
格式为tr [原始字符] [目标字符]
6 wc
用于统计指定文本的行数、字数、字节数。
格式为wc [参数] 文本
。参数及作用如下:
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
7 stat
用于查看文件的具体存储信息和时间等信息。
格式为stat 文件名
8 cut
用于按“列”提取文本字符。
格式为cut [参数] 文本
,其中要用到两个参数:-d
参数用来设置间隔符号,-f
参数用来设置需要看的列数。如下图中提取了passwd中第一列的用户名,-d:
设置了分隔符,-f1
设置了提取第一列。
9 diff
用于比较多个文本文件的差异。
格式为diff [参数] 文件
。该命令有两个参数:--brief
参数用来确认两个文件是否不同,-c
参数用来详细比较出文件的差异之处。
文件目录管理命令
1 touch
用于创建空白文件或设置文件的时间。
格式为touch [选项] [文件]
,创建空白文件很简单,如touch test
,创建一个名为test的空白文本文件。如果是设置文件的时间,则需要用到以下参数:
参数 | 作用 |
---|---|
-a | 仅修改“读取时间“(atime) |
-m | 仅修改”修改时间“(mtime) |
-d | 同时修改atime与mtime |
2 mkdir
用于创建空白的目录。
格式为mkdir [选项] 目录
,如果结合-p
参数,可以递归创建嵌套层叠目录。
3 cp
用于复制文件或目录。
格式为cp [选项] 源文件 目标文件
。其参数及作用如下:
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为”链接文件“,则保留该”链接文件“的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(上述三个参数) |
4 mv
用于剪切文件或将文件重命名。
格式为mv [选项] 源文件 [目标路径|目标文件名]
,如果在同一个目录对一个文件进行剪切操作,其实就是对其重命名。
5 rm
用于删除文件或目录。
格式为rm [选项] 文件
,可在rm命令后追加-f
参数来强制删除,如果想要删除目录,需要在命令后面加-r
参数。
6 dd
用于按照指定大小和个数的数据块来复制文件或转换文件。
格式为dd [参数]
。参数的作用如下:
参数 | 作用 |
---|---|
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个”块“的大小 |
count | 设置要复制的”块“的个数 |
如果想把光驱设备中的光盘制作成iso格式的镜像文件,可以使用dd命令实现。
image.png
7 file
用于查看文件的类型。
格式为file 文件名
,在linux中由于文本、目录、设备所有一切都统称为文件,所以我们就不能单凭后缀就知道具体的文件类型。
打包压缩与搜索命令
1 tar
用于对文件进行打包压缩或解压。
格式为tar [选项] [文件]
,命令的参数及作用如下:
参数 | 作用 |
---|---|
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用Gzip压缩或解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-p | 保留原始的权限与属性 |
-P | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |
一般通常用tar -czvf 压缩包名称.tar.gz 要打包的目录
把指定文件进行打包压缩,相应的解压命令为tar -xzvf 压缩包名称.tar.gz
。
如 tar -czvf etc.tar.gz /etc,表示将目录etc打包为etc.tar.gz
接下来使用 tar -xzvf etc.tar.gz -C test命令将压缩包解压到test文件夹中。 image.png
2 grep
用于在文本中执行关键词搜索,并显示匹配的结果。
格式为grep [选项] [文件]
,常用的参数及作用如下:
参数 | 作用 |
---|---|
-b | 将可执行文件(brinary)当作文本文件(text)来搜索 |
-c | 仅显示找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择——仅列出没有”关键词“的行 |
3 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相反) |
-prune | 忽略某个目录 |
-exec ······ {}\; | 后面可跟用于进一步处理搜索结果的命令 |
如,查找文件名host开头的文件
image.png
如在整个系统中搜索权限中包括SUID权限的所有文件。
image.png
如在整个文件系统中找出所有归属与linuxprobe用户的文件并复制到/root/findresults目录,使用命令如下:
find / -user linuxprobe -exec cp -a {} /root/findresults/ \;
网友评论