摘自作者:实验楼
链接:https://juejin.cn/post/6844903930166509581 来源:稀土掘金
此文章当做学习笔记使用
文章目录
- 磁盘存储
- No.1:df 命令
- No.2: du 命令
- 性能监控和优化命令
- No.3:top 命令
- No.4:free 命令
- No.5:vmstat
- No.6:lostat 命令
- No.7:lsof 命令
- 网络命令
- No.8:ipconfig 命令
- No.9:route 命令
- No.10:ping 命令
- No.11:traceroute 命令
- No.12:netstat 命令
- No.13:telnet 命令
- 其他命令
- No.14:ln 命令
- No.15:diff 命令
- No.16:grep 命令
- No.17:wc 命令
- No.18:ps 命令
- No.19:watch 命令
- No.20:at 命令
- No.21:crontab 命令
磁盘存储
No.1:df 命令
显示指定磁盘文件的可用空间。
命令格式
df [选项] [文件]
常用参数
必要参数:
- -a 全部文件系统列表
- -h 方便阅读方式显示
- -H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
- -i 显示inode信息
- -k 区块为1024字节
- -l 只显示本地文件系统
- -m 区块为1048576字节
- –no-sync 忽略 sync 命令
- -P 输出格式为POSIX
- –sync 在取得磁盘信息前,先执行sync命令
- -T 文件系统类型
选择参数:
- –block-size=<区块大小> 指定区块大小
- -t<文件系统类型> 只显示选定文件系统的磁盘信息
- -x<文件系统类型> 不显示选定文件系统的磁盘信息
- –help 显示帮助信息
- –version 显示版本信息
使用实例
1.显示指定磁盘使用情况
No.2: du 命令
显示每个文件和目录的磁盘使用空间。
命令格式
du [选项] [文件]
常用参数
- -a或-all 显示目录中个别文件的大小。
- -b或-bytes 显示目录或文件大小时,以byte为单位。
- – -c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
- -k或–kilobytes 以KB(1024bytes)为单位输出。
- -m或–megabytes 以MB为单位输出。
- -s或–summarize 仅显示总计,只列出最后加总的值。
- -h或–human-readable 以K,M,G为单位,提高信息的可读性。
- -x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
- -L<符号链接>或–dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
- -S或–separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
- -X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
- –exclude=<目录或文件> 略过指定的目录或文件。
- -D或–dereference-args 显示指定符号链接的源文件大小。
- -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位。
- -l或–count-links 重复计算硬件链接的文件。
使用实例
1.显示指定目录或文件所占空间
性能监控和优化命令
No.3:top 命令
显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等。
命令格式
top [参数]
常见参数
- -b 批处理
- -c 显示完整的治命令
- -I 忽略失效过程
- -s 保密模式
- -S 累积模式
- -i<时间> 设置间隔时间
- -u<用户名> 指定用户名
- -p<进程号> 指定进程
- -n<次数> 循环显示的次数
使用实例
显示进程信息。
No.4:free 命令
显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。
命令格式
free [参数]
常见参数
- -b 以Byte为单位显示内存使用情况
- -k 以KB为单位显示内存使用情况
- -m 以MB为单位显示内存使用情况
- -g 以GB为单位显示内存使用情况
- -o 不显示缓冲区调节列
- -s<间隔秒数> 持续观察内存使用状况
- -t 显示内存总和列。
- -V 显示版本信息。
使用实例
1.显示内存情况。
No.5:vmstat
用来显示虚拟内存的信息。
命令格式
- vmstat [-a] [-n] [-S unit] [delay [ count]]
- vmstat [-s] [-n] [-S unit]
- vmstat [-m] [-n] [delay [ count]]
- vmstat [-d] [-n] [delay [ count]]
- vmstat [-p disk partition] [-n] [delay [ count]]
- vmstat [-f]
- vmstat [-V]
常见参数
- -a:显示活跃和非活跃内存
- -f:显示从系统启动至今的fork数量
- -m:显示slabinfo
- -n:只在开始时显示一次各字段名称
- -s:显示内存相关统计信息及多种系统活动数量
- delay:刷新时间间隔。如果不指定,只显示一条结果
- count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷
- -d:显示磁盘相关统计信息
- -p:显示指定磁盘分区统计信息
- -S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
使用实例
1.显示活跃和非活跃内存。
No.6:lostat 命令
通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。
命令格式
iostat [参数] [时间] [次数]
常见参数
- -C 显示CPU使用情况
- -d 显示磁盘使用情况
- -k 以 KB 为单位显示
- -m 以 M 为单位显示
- -N 显示磁盘阵列(LVM) 信息
- -n 显示NFS 使用情况
- -p[磁盘] 显示磁盘和分区的情况
- -t 显示终端和CPU的信息
- -x 显示详细信息
使用实例
1.定时显示所有信息。
No.7:lsof 命令
用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。
命令格式
lsof [参数] [文件]
常见参数
- -a 列出打开文件存在的进程
- -c<进程名> 列出指定进程所打开的文件
- -g 列出GID号进程详情
- -d<文件号> 列出占用该文件号的进程
- +d<目录> 列出目录下被打开的文件
- +D<目录> 递归列出目录下被打开的文件
- -n<目录> 列出使用NFS的文件
- -i<条件> 列出符合条件的进程。(4、6、协议、:端口、 @ip )
- -p<进程号> 列出指定进程号所打开的文件
- -u 列出UID号进程详情
使用实例
1.查看谁正在使用bash文件,也就是说查找某个文件相关的进程。
网络命令
No.8:ipconfig 命令
ifconfig 命令用来查看和配置网络设备。
命令格式
ifconfig [网络设备] [参数]
常见参数
- up 启动指定网络设备/网卡
- down 关闭指定网络设备/网卡。
- arp 设置指定网卡是否支持ARP协议
- -promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有- 的数据包
- -allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包
- -a 显示全部接口信息
- -s 显示摘要信息(类似于 netstat -i)
- add 给指定网卡配置IPv6地址
- del 删除指定网卡的IPv6地址
使用实例
1.启动关闭指定网卡
2.用ifconfig修改MAC地址
No.9:route 命令
Route命令是用于操作基于内核ip路由表,它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口,如eth0。
命令格式
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
常见参数
- -c 显示更多信息
- -n 不解析名字
- -v 显示详细的处理信息
- -F 显示发送信息
- -C 显示路由缓存
- -f 清除所有网关入口的路由表。
- -p 与 add 命令一起使用时使路由具有永久性。
- add:添加一条新路由。
- del:删除一条路由。
- -net:目标地址是一个网络。
- -host:目标地址是一个主机。
- netmask:当添加一个网络路由时,需要使用网络掩码。
- gw:路由数据包通过网关。注意,你指定的网关必须能够达到。
- metric:设置路由跳数。
- Command 指定您想运行的命令 (Add/Change/Delete/Print)。
- Destination 指定该路由的网络目标。
使用实例
1.显示当前路由
2.添加网关/设置网关
No.10:ping 命令
确定网络和各外部主机的状态;跟踪和隔离硬件和软件问题;测试、评估和管理网络。
命令格式
ping [参数] [主机名或IP地址]
常见参数
- -d 使用Socket的SO_DEBUG功能
- -f 极限检测。大量且快速地送网络封包给一台机器,看它的回应
- -n 只输出数值
- -q 不显示任何传送封包的信息,只显示最后的结果
- -r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题
- -R 记录路由过程
- -v 详细显示指令的执行过程
- -c 数目:在发送指定数目的包后停止
- -i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次
- -I 网络界面:使用指定的网络界面送出数据包
- -l 前置载入:设置在送出要求信息之前,先行发出的数据包
- -p 范本样式:设置填满数据包的范本样式
- -s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节 -t 存活数值:设置存活数值TTL的大小
使用实例
ping 网关
No.11:traceroute 命令
让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。
命令格式
traceroute [参数] [主机]
常见参数
- -d 使用Socket层级的排错功能
- -f 设置第一个检测数据包的存活数值TTL的大小
- -F 设置勿离断位
- -g 设置来源路由网关,最多可设置8个
- -i 使用指定的网络界面送出数据包
- -I 使用ICMP回应取代UDP资料信息
- -m 设置检测数据包的最大存活数值TTL的大小
- -n 直接使用IP地址而非主机名称
- -p 设置UDP传输协议的通信端口
- -r 忽略普通的Routing Table,直接将数据包送到远端主机上
- -s 设置本地主机送出数据包的IP地址
- -t 设置检测数据包的TOS数值
- -v 详细显示指令的执行过程
- -w 设置等待远端主机回报的时间
- -x 开启或关闭数据包的正确性检验
使用实例
1.traceroute 用法简单、最常用的用法
2.跳数设置
No.12:netstat 命令
用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
命令格式
netstat [-acCeFghilMnNoprstuvVwx] [-A<网络类型>] [–ip]
常见参数
- -a或–all 显示所有连线中的Socket
- -A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址
- -c或–continuous 持续列出网络状态
- -C或–cache 显示路由器配置的快取信息
- -e或–extend 显示网络其他相关信息
- -F或–fib 显示FIB
- -g或–groups 显示多重广播功能群组组员名单
- -h或–help 在线帮助
- -i或–interfaces 显示网络界面信息表单
- -l或–listening 显示监控中的服务器的Socket
- -M或–masquerade 显示伪装的网络连线
- -n或–numeric 直接使用IP地址,而不通过域名服务器
- -N或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称
- -o或–timers 显示计时器
- -p或–programs 显示正在使用Socket的程序识别码和程序名称
- -r或–route 显示Routing Table
- -s或–statistice 显示网络工作信息统计表
- -t或–tcp 显示TCP传输协议的连线状况
- -u或–udp 显示UDP传输协议的连线状况
- -v或–verbose 显示指令执行过程
- -V或–version 显示版本信息
- -w或–raw 显示RAW传输协议的连线状况
- -x或–unix 此参数的效果和指定”-A unix”参数相同
- –ip或–inet 此参数的效果和指定”-A inet”参数相同
使用实例
列出所有端口
No.13:telnet 命令
执行telnet指令开启终端机阶段作业,并登入远端主机。
命令格式
telnet [参数] [主机]
常见参数
- -8 允许使用8位字符资料,包括输入与输出
- -a 尝试自动登入远端系统
- -b<主机别名> 使用别名指定远端主机名称
- -c 不读取用户专属目录里的.telnetrc文件
- -d 启动排错模式
- -e<脱离字符> 设置脱离字符
- -E 滤除脱离字符
- -f 此参数的效果和指定"-F"参数相同
使用实例
1.远程服务器无法访问
其他命令
No.14:ln 命令
为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
命令格式
ln [参数] [源文件或目录] [目标文件或目录]
常用参数
必要参数:
- -b 删除,覆盖以前建立的链接
- -d 允许超级用户制作目录的硬链接
- -f 强制执行
- -i 交互模式,文件存在则提示用户是否覆盖
- -n 把符号链接视为一般目录
- -s 软链接(符号链接)
- -v 显示详细的处理过程
选择参数:
-S “-S<字尾备份字符串> ”或 “–suffix=<字尾备份字符串>”
-V “-V<备份方式>”或“–version-control=<备份方式>”
使用实例
1.为 test.log文件创建软链接linktest。
2.为 test.log创建硬链接lntest。
No.15:diff 命令
比较单个文件或者目录内容。
命令格式
diff [参数] [文件1或目录1] [文件2或目录2]
常用参数
- -c 上下文模式,显示全部内文,并标出不同之处
- -u 统一模式,以合并的方式来显示文件内容的不同
- -a 只会逐行比较文本文件
- -N 在比较目录时,若文件 A 仅出现在某个目录中,预设会显示:Only in 目录。若使用 -N 参数,则 - diff 会将文件 A 与一个空白的文件比较
- -r 递归比较目录下的文件
使用实例
1.显示 test1.txt 和 test2.txt 两个文件差异。
No.16:grep 命令
一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。
命令格式
grep [option] pattern file
常用参数
- -c 计算找到‘搜寻字符串’(即 pattern)的次数
- -i 忽略大小写的不同,所以大小写视为相同
- -n 输出行号
- -v 反向选择,打印不匹配的行
- -r 递归搜索
- –color=auto 将找到的关键词部分加上颜色显示
使用实例
1.将 /etc/passwd 文件中出现 root 的行取出来,关键词部分加上颜色显示。
2.将 /etc/passwd 文件中没有出现 root 和 nologin 的行取出来。
No.17:wc 命令
用来显示文件所包含的行、字和字节数。
命令格式
wc [选项] [文件]
常用参数
- -c 统计字节数
- -l 统计行数
- -m 统计字符数,这个标志不能与 -c 标志一起使用
- -w 统计字数,一个字被定义为由空白、跳格或换行字符分隔的字符串
- -L 打印最长行的长度
使用实例
1.统计文件的字节数、行数和字符数。
2.统计文件的字节数、行数和字符数,只打印数字,不打印文件名。
No.18:ps 命令
用来显示当前进程的状态。
命令格式
ps[参数]
常用参数
- a 显示所有进程
- -a 显示同一终端下的所有程序
- -A 显示所有进程
- c 显示进程的真实名称
- -N 反向选择
- -e 等于“-A”
- e 显示环境变量
- f 显示程序间的关系
- -H 显示树状结构
- r 显示当前终端的进程
- T 显示当前终端的所有程序
- u 指定用户的所有进程
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的行程
- -C<命令> 列出指定命令的状况
- –lines<行数> 每页显示的行数
- –width<字符数> 每页显示的字符数
使用实例
1.显示所有进程信息。
2.显示指定用户信息。
3.显示所有进程信息,连同命令行。
No.19:watch 命令
可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令。
命令格式
watch [参数] [命令]
常用参数
- -n或–interval watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。
- -d或–differences 用-d或–differences 选项watch 会高亮显示变化的区域。 而-d=cumulative选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来。
- -t 或-no-title 会关闭watch命令在顶部的时间间隔,命令,当前时间的输出。
- -h, --help 查看帮助文档
使用实例
1.每隔一秒高亮显示网络链接数的变化情况
复制代码2.每隔一秒高亮显示http链接数的变化情况
No.20:at 命令
在一个指定的时间执行一个指定任务,只能执行一次。(需开启atd进程)
命令格式
at [参数] [时间]
常用参数
- -m 当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出
- -I atq的别名
- -d atrm的别名
- -v 显示任务将被执行的时间
- -c 打印任务的内容到标准输出
- -V 显示版本信息
- -q<列队> 使用指定的列队
- -f<文件> 从指定文件读入任务而不是从标准输入读入
- -t<时间参数> 以时间参数的形式提交要运行的任务
使用实例
1.3天后的下午5点执行/bin/ls
No.21:crontab 命令
在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。(需开启crond服务)
命令格式
crontab [-u user] file 或
crontab [-u user] [ -e | -l | -r ]
常用参数
- -u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。
- file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
- -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
- -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
- -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
- -i:在删除用户的crontab文件时给确认提示。
使用实例
1.列出 crontab 文件。
2.编辑crontab 文件。
Crontab 任务实例
1.每1分钟执行一次command
2.每小时的第3和第15分钟执行
3.在上午8点到11点的第3和第15分钟执行