linux常用命令
1、man [命令] 查看[命令]的参数、使用等。
man命令中常用按键以及用途
按键 | 用处 |
---|---|
空格键 | 向下翻一页 |
PaGe down | 向下翻一页 |
PaGe up | 向上翻一页 |
home | 直接前往首页 |
end | 直接前往尾页 |
/ | 从上至下搜索某个关键词,如“/linux” |
? | 从下至上搜索某个关键词,如“?linux” |
n | 定位到下一个搜索到的关键词 |
N | 定位到上一个搜索到的关键词 |
q | 退出帮助文档 |
man命令帮助信息的结构以及意义
结构名称 | 代表意义 |
---|---|
NAME | 命令的名称 |
SYNOPSIS | 参数的大致使用方法 |
DESCRIPTION | 介绍说明 |
EXAMPLES | 演示(附带简单说明) |
OVERVIEW | 概述 |
DEFAULTS | 默认的功能 |
OPTIONS | 具体的可用选项(带介绍) |
ENVIRONMENT | 环境变量 |
FILES | 用到的文件 |
SEE ALSO | 相关的资料 |
HISTORY | 维护历史与联系方式 |
2、echo [字符串 | $变量] 在终端输出字符串或变量提取后的值
例子
序号 | 命令 | 结果 |
---|---|---|
1 | echo linux | linux |
2 | echo $SHELL | /bin/bash |
3、date [选项] [+指定的格式] 用于显示及设置系统的时间或日期
date命令中的参数以及作用
参数 | 作用 |
---|---|
%t | 跳格[Tab键] |
%H | 小时(00~23) |
%I | 小时(00~12) |
%M | 分钟(00~59) |
%S | 秒(00~59) |
%j | 今年中的第几天 |
例子
序号 | 命令 | 结果 | 备注 |
---|---|---|---|
1 | date | Wed Nov 20 10:45:58 CST 2019 | 查看当前系统时间 |
2 | date “+%Y-%m-%d %H:%M:%S” | 2019-11-20 10:48:32 | 按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间 |
3 | date -s “20170901 8:30:00” | Fri Sep 1 08:30:00 CST 2017 | 将系统的当前时间设置为2017年9月1日8点30分 |
4 | date “+%j” | 324 | 今年中的第几天 |
4、reboot 重启系统
注:由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用root管理员来重启
5、poweroff 关闭系统
注:由于关闭计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用root管理员来重启
6、wget [参数] 下载地址 用于在终端下载网络文件
wget命令的参数以及作用
参数 | 作用 |
---|---|
-b | 后台下载模式 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
7、ps [参数] 或 ps -[参数] 查询系统的进程
注:在Linux系统中的命令参数有长短格式之分,长格式和长格式之间不能合并,长格式和短格式之间也不能合并,但短格式和短格式之间是可以合并的,合并后仅保留一个-(减号)即可
ps命令的参数以及作用
参数 | 作用 |
---|---|
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
linux 常见的进程状态
状态码 | 含义 |
---|---|
R(运行) | 进程正在运行或在运行队列中等待。 |
S(中断) | 进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。 |
D(不可中断) | 进程不响应系统异步信号,即便用kill命令也不能将其中断。 |
Z(僵死) | 进程已经终止,但进程描述符依然存在,直到父进程调用wait4()系统函数后将进程释放。 |
T(停止) | 进程收到停止信号后停止运行。 |
ps aux 输出进程状态
USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
---|---|---|---|---|---|---|---|---|---|---|
进程的所有者 | 进程ID号 | 运算器占用率 | 内存占用率 | 虚拟内存使用量(单位是KB) | 占用的固定内存量(单位是KB) | 所在终端 | 进程状态 | 被启动的时间 | 实际使用CPU的时间 | 命令名称与参数 |
root | 1 | 0.0 | 0.4 | 53684 | 7628 | ? | Ss | 07:22 | 0:02 | /usr/lib/systemd/systemd |
root | 2 | 0.0 | 0.0 | 0 | 0 | ? | S | 07:22 | 0:00 | [kthreadd] |
root | 3 | 0.0 | 0.0 | 0 | 0 | ? | S | 07:22 | 0:00 | [ksoftirqd/0] |
root | 5 | 0.0 | 0.0 | 0 | 0 | ? | S< | 07:22 | 0:00 | [kworker/0:0H] |
root | 7 | 0.0 | 0.0 | 0 | 0 | ? | S | 07:22 | 0:00 | [migration/0] |
8、top 动态地监视进程活动与系统负载等信息类似windows的资源管理器
行数 | 解释 |
---|---|
1 | 系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。 |
2 | 进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。 |
3 | 用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。其中数据均为CPU数据并以百分比格式显示,例如“99.8 id”意味着有99.8%的CPU处理器资源处于空闲。 |
4 | 物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。 |
5 | 虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。 |
9、pidof [参数] [服务名称] 用于查询某个指定服务进程的PID值
注:每个进程的进程号码值(PID)是唯一的,因此可以通过PID来区分不同的进程
10、kill [参数] [进程PID] 用于终止某个指定PID的服务进程
11、killall [参数] [服务名称] 用于终止某个指定名称的服务所对应的全部进程
注:如果我们在系统终端中执行一个命令后想立即停止它,可以同时按下Ctrl + C组合键(生产环境中比较常用的一个快捷键),这样将立即终止该命令的进程。或者,如果有些命令在执行时不断地在屏幕上输出信息,影响到后续命令的输入,则可以在执行命令时在末尾添加上一个&符号,这样命令将进入系统后台来执行。
12、ifconfig [网络设备] [参数] 用于获取网卡配置与网络状态等信息
使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(又称为MAC地址),以及RX、TX的接收数据包与发送数据包的个数及累计流量
13、uname [-a] 用于查看系统内核与系统版本等信息
在使用uname命令时,一般会固定搭配上-a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息
14、uptime 用于查看系统负载信息
显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过1,在生产环境中不要超过5。
15、free [-h] 显示当前系统中内存的使用量信息
执行free -h命令后的输出信息
— | 内存总量 | 已用量 | 可用量 | 进程共享的内存量 | 磁盘缓存的内存量 | 缓存的内存量 |
---|---|---|---|---|---|---|
— | total | used | free | shared | buffers | cached |
Mem: | 1.8G | 1.3G | 542M | 9.8M | 1.6M | 413M |
-/+ buffers/cache: | 869M | 957M | ||||
Swap: | 2.0G | 0B | 2.0G |
16、who [参数] 用于查看当前登陆主机的用户终端信息
执行who命令的结果
登陆的用户名 | 终端设备 | 登陆到系统的时间 |
---|---|---|
root | :0 | 2019-11-20 10:19 (:0) |
root | pts/0 | 2019-11-20 10:20 (:0) |
17、last [参数] 用于查看所有系统的登陆记录
注:使用last命令可以查看本机的登录记录。但是,由于这些信息都是以日志文件的形式保存在系统中,因此黑客可以很容易地对内容进行篡改。千万不要单纯以该命令的输出信息而判断系统有无被恶意入侵!
18、history [参数] 用于显示历史执行过的命令
注:执行history命令能显示出当前用户在本地计算机中执行过的最近1000条命令记录。如果觉得1000不够用,还可以自定义/etc/profile文件中的HISTSIZE变量值。在使用history命令时,如果使用-c参数则会清空所有的命令历史记录。还可以使用“!编码数字”的方式来重复执行某一次的命令。历史命令会被保存到用户家目录中的.bash_history文件中。Linux系统中以点(.)开头的文件均代表隐藏文件,这些文件大多数为系统服务文件,可以用cat命令查看其文件内容。cat ~/.bash_history
19、sosreport 用于收集系统配置及架构信息并输出诊断文档
一路回车即可
20、pwd [选项] 用于显示用户当前所处的工作目录
常用参数:
参数 | 说明 |
---|---|
-L | 显示逻辑路径 |
21、cd [目录名称] 用于切换工作路径
常用参数:
参数 | 说明 |
---|---|
-P | 如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录 |
-L | 如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录 |
– | 仅使用”-“选项时,当前目录将被切换到环境变量”OLDPWD”对应值的目录 |
~ | 切换至当前用户目录 |
… | 切换至当前目录位置的上一级目录 |
命令 | 含义 |
---|---|
cd - | 返回上一次所处的目录 |
cd … | 进入上级目录 |
cd ~ | 切换到当前用户的家目录 |
cd ~username | 切换到其他用户的家目录 |
22、ls [参数] [文件] 用于显示目录中的文件信息
常用参数:
参数 | 说明 |
---|---|
-a | 显示所有文件及目录 (包括以“.”开头的隐藏文件) |
-l | 使用长格式列出文件及目录信息 |
-r | 将文件以相反次序显示(默认依英文字母次序) |
-t | 根据最后的修改时间排序 |
-A | 同 -a ,但不列出 “.” (当前目录) 及 “…” (父目录) |
-S | 根据文件大小排序 |
-R | 递归列出所有子目录 |
命令 | 说明 |
---|---|
ls -a | 查看全部文件(包括隐藏文件) |
ls -l | 查看文件属性 |
ls -al | 查看全部文件及文件属性 |
ls -ld | 查看目录的属性信息 eq:ls -ld /etc |
23、cat [参数] [文件] 用于查看纯文本文件(内容较少的)
常用参数:
参数 | 说明 |
---|---|
-n | 显示行数(空行也编号) |
-s | 显示行数(多个空行算一个编号) |
-b | 显示行数(空行不编号) |
-E | 每行结束处显示$符号 |
-T | 将TAB字符显示为 ^I符号 |
-v | 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 |
-e | 等价于"-vE"组合 |
-t | 等价于"-vT"组合 |
-A | 等价于 "-vET"组合 |
–help | 显示帮助信息 |
–version | 显示版本信息 |
24、more [选项] [文件] 用于查看纯文本文件(内容较多的)
常用参数:
参数 | 说明 |
---|---|
-num | 指定每屏显示的行数 |
-l | more在通常情况下把 ^L当作特殊字符,遇到这个字符就会暂停,l选项可以阻止这种特性 |
-f | 计算实际的行数,而非自动换行的行数 |
-p | 先清除屏幕再显示文本文件的剩余内容 |
-c | 与-p相似,不滚屏,先显示内容再清除旧内容 |
-s | 多个空行压缩成一行显示 |
-u | 禁止下划线 |
+/pattern | 在每个文档显示前搜寻该字(pattern),然后从该字串之后开始显示 |
+num | 从第 num 行开始显示 |
25、head [选项] [文件] 用于查看纯文本文件的前N行
常用参数:
参数 | 说明 |
---|---|
-n | 后面接数字,代表显示几行的意思 |
-c | 指定显示头部内容的字符数 |
-v | 总是显示文件名的头信息 |
-q | 不显示文件名的头信息 |
26、tail [选项] [文件] 用于查看纯文本文件的后N行或持续刷新内容
常用参数:
参数 | 说明 |
---|---|
–retry | 即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用 |
-c或——bytes= | 输出文件尾部的N(N为整数)个字节内容 |
-f<name/descriptor> | –follow:显示文件最新追加的内容 |
-F | 与选项“-follow=name”和“–retry”连用时功能相同 |
-n或——line= | 输出文件的尾部N(N位数字)行内容 |
–pid=<进程号> | 与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令 |
–help | 显示指令的帮助信息 |
–version | 显示指令的版本信息 |
27、tr [参数] [原始字符] [目标字符] 用于替换文本文件中的字符。
常用参数:
参数 | 说明 |
---|---|
-c | 选定字符串1中字符集的补集,即反选字符串1的补集 |
-d | 删除字符串1中出现的所有字符 |
-s | 删除所有重复出现的字符序列,只保留一个 |
28、wc [参数] [文件] 用于统计指定文本的行数
常用参数:
参数 | 说明 |
---|---|
-w | 统计字数,或–words:只显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串 |
-c | 统计字节数,或–bytes或–chars:只显示Bytes数 |
-l | 统计行数,或–lines:只显示列数 |
-m | 统计字符数 |
-L | 打印最长行的长度 |
–help | 显示帮助信息 |
–version | 显示版本信息 |
29、stat [参数] 用来显示文件或文件系统的详细信息
常用参数:
参数 | 说明 |
---|---|
-L | 支持符号链接 |
-f | 显示文件系统的信息 |
-t | 以简洁的方式输出 |
–help | 显示命令帮助信息 |
–version | 显示命令版本信息 |
30、cut [参数] [文本] 用于按"列"提取文本字符
常用参数:
参数 | 说明 |
---|---|
-b | 以字节为单位进行分割 ,仅显示行中指定直接范围的内容 |
-c | 以字符为单位进行分割 , 仅显示行中指定范围的字符 |
-d | 自定义分隔符,默认为制表符”TAB” |
-f | 显示指定字段的内容 , 与-d一起使用 |
-n | 取消分割多字节字符 |
–complement | 补足被选择的字节、字符或字段 |
–out-delimiter | 指定输出内容是的字段分割符 |
31、diff [参数] [文件] 用于比较多个文件的差异以逐行的方式。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录 。
常用参数:
参数 | 说明 |
---|---|
-a | diff预设只会逐行比较文本文件 |
-b | 不检查空格字符的不同 |
-W | 在使用-y参数时,指定栏宽 |
-x | 不比较选项中所指定的文件或目录 |
-X | 您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件 |
-y | 以并列的方式显示文件的异同之处 |
–help | 查看帮助信息 |
–left-column | 在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容 |
–suppress-common-lines | 在使用-y参数时,仅显示不同之处 |
注意:”|”表示前后2个文件内容有不同,”<“表示后面文件比前面文件少了1行内容,”>”表示后面文件比前面文件多了1行内容。
32、touch [参数] [文件] 用于创建空白文件或设置文件的时间
注意:在修改文件的时间属性的时候,用户必须是文件的属主,或拥有写文件的访问权限。
常用参数:
参数 | 说明 |
---|---|
-a | 改变档案的读取时间记录 |
-m | 改变档案的修改时间记录 |
-r | 使用参考档的时间记录,与 --file 的效果一样 |
-c | 不创建新文件 |
-d | 设定时间与日期,可以使用各种不同的格式 |
-t | 设定档案的时间记录,格式与 date 命令相同 |
–no-create | 不创建新文件 |
–help | 显示帮助信息 |
–version | 列出版本讯息 |
33、mkdir [参数] [目录] 用于创建空白目录
常用参数:
参数 | 说明 |
---|---|
-p | 递归创建多级目录 |
-m | 建立目录的同时设置目录的权限 |
-z | 设置安全上下文 |
-v | 显示目录的创建过程 |
34、cp [参数] [源文件] [目标文件] 用于复制文件或目录
注:如果目标文件是目录,则会把源文件复制到该目录中;如果目标文件也是普通文件,则会询问是否要覆盖它;如果目标文件不存在,则执行正常的复制操作。
常用参数:
参数 | 说明 |
---|---|
-f | 若目标文件已存在,则会直接覆盖原文件 |
-i | 若目标文件已存在,则会询问是否覆盖 |
-p | 保留源文件或目录的所有属性 |
-r | 递归复制文件和目录 |
-d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
-l | 对源文件建立硬连接,而非复制文件 |
-s | 对源文件建立符号连接,而非复制文件 |
-b | 覆盖已存在的文件目标前将目标文件备份 |
-v | 详细显示cp命令执行的操作过程 |
-a | 等价于“dpr”选项 |
35、mv [选项] 源文件 [目标路径|目标文件名] 用于剪切文件或将文件重命名
注:剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名
常用参数:
参数 | 说明 |
---|---|
-i | 若存在同名文件,则向用户询问是否覆盖 |
-f | 覆盖已有文件时,不进行任何提示 |
-b | 当文件存在时,覆盖前为其创建一个备份 |
-u | 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作 |
36、rm [选项] [文件] 用于删除文件或目录
注:在Linux系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是看到这种反复的确认信息,可在rm命令后跟上-f参数来强制删除。另外,想要删除一个目录,需要在rm命令后面加一个-r参数才可以,否则删除不掉。
常用参数:
参数 | 说明 |
---|---|
-f | 忽略不存在的文件,不会出现警告信息 |
-i | 删除前会询问用户是否操作 |
-r/R | 递归删除 |
-v | 显示指令的详细执行过程 |
37、dd [参数] 用于按照指定大小和个数的数据块来复制文件或转换文件
注:指定数字的地方若以下列字符结尾则乘以相应的数字:b=512;c=1;k=1024;w=2
常用参数:
参数 | 说明 |
---|---|
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个“块”的大小 |
count | 设置要复制“块”的个数 |
-v | 显示版本信息 |
-h | 显示帮助信息 |
38、file [参数] [文件名] 用于查看文件的类型
常用参数:
参数 | 说明 |
---|---|
-b | 列出辨识结果时,不显示文件名称 (简要模式) |
-c | 详细显示指令执行过程,便于排错或分析程序执行的情形常与 -m 一起使用,用来在安装幻数文件之前调试它 |
-f | 指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称 |
-L | 直接显示符号连接所指向的文件类别 |
-m | 指定魔法数字文件 |
-v | 显示版本信息 |
-z | 尝试去解读压缩文件的内容 |
-i | 显示MIME类别 |
39、tar [参数] [文件] 用于对文件进行打包压缩或解压
常用参数:
参数 | 说明 |
---|---|
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用Gzip压缩或解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-p | 保留原始的权限与属性 |
-P | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |
注:一般使用"tar -czvf" 压缩包名称.tar.gz 要打包的目录;“tar -xzvf” 压缩包名称.tar.gz来解压。
40、grep [选项] [文件] 用于在文本中执行关键词搜索,并显示匹配的结果
常用参数:
参数 | 说明 | * |
---|---|---|
-i | 搜索时,忽略大小写 | y |
-c | 只输出匹配行的数量 | y |
-l | 只列出符合匹配的文件名,不列出具体的匹配行 | n |
-n | 列出所有的匹配行,显示行号 | y |
-h | 查询多文件时不显示文件名 | n |
-s | 不显示不存在、没有匹配文本的错误信息 | n |
-v | 显示不包含匹配文本的所有行 | y |
-w | 匹配整词 | n |
-x | 匹配整行 | n |
-r | 递归搜索 | n |
-q | 禁止输出任何结果,已退出状态表示搜索是否成功 | n |
-b | 打印匹配行距文件头部的偏移量,以字节为单位 | y |
-o | 与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位 | n |
41、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 …… {}; | 后面可跟用于进一步处理搜索结果的命令 |