Linux常用命令有哪些总结?
摘要:山中也有千年树,世上难逢百岁人。 导航 Shell 内置 系统命令 磁盘文件系统 文件权限属性 文本处理 用户组管理 任务管理 杂项 特殊指令集合 Shell 内置 history:命令行历史记录。例,history -c 会清空 s
山中也有千年树,世上难逢百岁人。
导航
Shell 内置
系统命令
磁盘/文件系统
文件权限/属性
文本处理
用户/组管理
任务管理
杂项
特殊指令集合
Shell 内置
history:命令行历史记录。例,history -c 会清空 shell 的历史缓冲区和本次缓冲区,退出 shell 时由于本次缓冲区无数据故不会追加到 .bash_history 文件。【工作方式:打开一个 shell 时,shell 会加载家目录下 .bash_history 目录中的历史记录到 历史缓冲区 供本次使用。而本 shell 中新增的命令会被记录到 本次缓冲区,当 shell 关闭时会将 本次缓冲区 的记录 追加 到 .bash_history 供下次使用。】
alias:用于创建一个别名,unalias 用于移除一个别名。
type:查询可执行命令属于 Shell 内建命令还是别名命令、外置命令、函数、关键字等。例,type -a cmd 输出该 cmd 相关的所有信息。
unset:将 shell 环境中已定义的变量或函数进行删除,以阻止后面去调用。脚本编写中的某些特定情况可能会用到。未定义变量而 echo 时其值为空。
let:将字符串表示的数字表达式进行数学计算。例,let "a=(1+2)*3/2" "b=(1+4)" 将计算结果分别赋值给 a、b。
expr:同 let 一样都是用于计算表达式的值。但是它支持的功能更多,关系运算、算数运算、字符串匹配、截取、获取长度等相关运算,非 shell 内置命令。例,expr match abcd 'a\(..\)d' 将输出匹配到的值 bc, expr match abcd 'a..d' 将输出匹配到字串的总长度 4。匹配不到则返回 0;expr substr abcde 2 3 截取字串 bcd;expr length abcd 计算字串长度。
eval:将字符串中的数据当做命令在 bash 中执行。
exec:用于调用并执行指定的命令。该命令通常用在 shell 脚本程序中,用于将脚本标准 IO 流重定向,即脚本执行日志记录的功能。如果在当前终端中使用命令,则当指定的命令执行完毕后会立即退出终端。【1、当携带指定命令。会将当前 shell 进程替换为指定命令程序,程序结束则该 shell 进程也被终结。2、不携带命令。会重定向当前 shell 的所有标准 IO 流到指定位置。】
export/declare:可将自定义变量转化为环境变量。
系统命令
uname:用于查询系统核心的相关信息。
free:观察内存使用情况。
vmstat:侦测系统资源变化。
uptime:用于观察系统的启动时间以及工作负载的情况。
pv:显示管道数据传输的进度信息,具有进度条、已耗费时间、当前速度等功能。pv 本身具有类似 cat 的功能,但其可以监视与其连接的管道进度,而无需关注 pv 本身是写入方还是接收方均可监视管道。【例,(1)pv test.txt > test2.txt 可查看拷贝文件的进度;(2)tcpdump -i eth -w - | pv >/dev/null 查看网卡的网速;(3)pv test.txt | gzip > text.gz 查看压缩进度;】
dmesg:可以查询系统核心产生的日志信息。系统在开机的时候,核心会去侦测系统的硬件,你的某些硬件到底有没有被捉到,那就与这个时候的侦测有关。 但是这些侦测的过程要不是没有显示在屏幕上,就是很飞快的在屏幕上一闪而逝!能不能把核心侦测的讯息捉出来瞧瞧? 可以的,那就使用 dmesg 吧!所有核心侦测的讯息,不管是开机时候还是系统运作过程中,反正只要是核心产生的讯息,都会被记录到内存中的某个保护区段。 dmesg 这个指令就能够将该区段的讯息读出来的!因为讯息实在太多了,所以执行时可以加入这个管线指令 | more 来使画面暂停!
journalctl: 查看由 systemd 服务统一管理的所有服务的启动日志,但也会包括开机引导 boot 启动过程日志。【(1)journalctl 默认情况下查看的是历史所有日志,它会将 /var/log/journal/* 中的所有存储的历史文件全部解析显示;(2)journalctl -xk 查看本次开机之后的所有日志,-x 选项表示会对个别日志信息进行解释说明的功能;(3)journalctl --unit = ssh.service 查看某服务的日志;(4)journalctl -g ssh 根据关键字过滤日志信息;(5)journalctl --disk-usage 查看日志文件占用空间;(6)journalctl --flush 清除日志文件。
