date
date [OPTION] [+FORMAT]
显示或设置系统日期和时间
-d STR
:显示字符串所指的日期与时间,如”+1 day”,’-2 month’等-s STR
:设置日期和时间-R
:可显示时区-u
:显示UTC时间
时期显示格式有:
%H
:小时,24小时制(00~23)%I
:小时,12小时制(01~12)%k
:小时,24小时制(0~23)%l
:小时,12小时制(1~12)%M
:分钟(00~59)%p
:显示出AM或PM%r
:显示时间,12小时制(hh:mm:ss %p)%s
:从1970年1月1日00:00:00到目前经历的秒数%S
:显示秒(00~59)%T
:显示时间,24小时制(hh:mm:ss)%X
:显示时间的格式(%H:%M:%S)%Z
:显示时区,日期域(CST)%a
:星期的简称(Sun~Sat)%A
:星期的全称(Sunday~Saturday)%h
,%b
:月的简称(Jan~Dec)%B
:月的全称(January~December)%c
:日期和时间(Tue Nov 20 14:12:58 2012)%d
:一个月的第几天(01~31)%x
,%D
日期(mm/dd/yy)%j
:一年的第几天(001~366)%m
:月份(01~12)%w
:一个星期的第几天(0代表星期天)%W
:一年的第几个星期(00~53,星期一为第一天)%y
:年的最后两个数字(1999则是99)
1 | date +%F # 显示当前年月日 |
hwclock
clock
为别名
-r
:显示硬件时间-h
:查看帮助-s|--hctosys
:以硬件时钟为准,校正系统时钟-w|--systohc
:以系统时钟为准,校正硬件时钟
at
at [OPTION] TIME
在未来某时刻一次性执行某些任务
OPTION:
-l
:查看作业队列,等同于atq
命令-f
FILE:从指定文件中读取作业,不用交互输入-d
:删除指定作业,等同于atrm
命令-c
:查看指定作业内容-q
QUEUE:指明队列
作业执行结果以邮件发送给提交作业的用户
TIME:
HH:MM[YYYY-mm-dd]
noon,midnight,teatime,tomorrow
now+#UNIT:now+3min (hours,days,weeks)
at作业有队列,用单字母表示,默认使用a队列
mail [OPTION] TO_ADDR
邮件发送接收,实际为mailx程序
-s
:指定主题-f
:读取指定邮件文件中的邮件
1 | mail -s 'xxxx' admin@liu.com # 回车后输入内容,ctrl+d结束并发送 |
使用外部smtp发送邮件
- 关闭sendmail或者postfix如果有开启的话
- 安装mailx如果没安装的话
修改配置
1
2
3
4
5
6
7
8# mv /etc/mail.rc{,.abk}
# vim /etc/mail.rc
set from=liu@163.com
set smtp=smtp.163.com
set smtp-auth-user=liu@163.com
set smtp-auth-password=xxx
set smtp-auth=login发送测试
1
echo 'hello world' | mail -s 'test' aaa@163.com
read
read [OPT] VAR
键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合,一次可读取多个变量的值,变量和输入的值都需要使用空格隔开,shell内部命令
-p:读取值时的提示信息
-t:读取等待时长
1 | read -p 'Input Your Name : ' NAME # 输入内容赋值给变量NAME |
declare
declare [OPT] VAR
声明和显示已存在的shell变量,不加参数则显示
-i
:定义整数-x
:定义环境变量-r
:定义只读变量-a
:定义数组
1 | declare -x # 显示环境变量 |
env
显示系统已存在的环境变量,功能同declare -x
、printenv
、export
set
set [+|-OPTION] [ARGS]
显示系统中已经存在的shell变量,设置shell变量的新变量值及修改shell特性时
-a
:标示已修改的变量,以供输出至环境变量-b
:使被中止的后台程序立刻回报执行状态-C
:转向所产生的文件无法覆盖已存在的文件-d
:Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消-e
:若指令传回值不等于0,则立即退出shell-f
:取消使用通配符-h
:自动记录函数的所在位置-H Shell
:可利用”!”加<指令编号>的方式来执行history中记录的指令-k
:指令所给的参数都会被视为此指令的环境变量-l
:记录for循环的变量名称-m
:使用监视模式-n
:只读取指令,而不实际执行-p
:启动优先顺序模式-P
:启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接-t
:执行完随后的指令,即退出shell-u
:当执行时使用到未定义过的变量,则显示错误信息-v
:显示shell所读取的输入值-x
:执行指令后,会先显示该指令及所下的参数
-o opti-name
:选项名可以是下列之一:
allexport
:同-a选项braceexpand
:shell执行花括号扩展,在默认情况下起作用emacs
:使用emacs风格命令行编辑接口.除非shell以-noline-editing选项启动:shell交互时,通过默认启动该选项errexit
:同-e选项histexpand
:同-H选项ignoreeof
:其结果是好像shell命令IGNOREEOF=10被执行interactive
:允许单词前带#号,以使得在交互shell中忽略命令行的全部字符monitor
:同-m选项noclobber
:同-C选项noexec
: 同-n选项noglob
:同-f选项nohash
:同-d选项notify
:同-b选项nounset
:同-u选项physical
:同-p选项posix
:改变BASH属性以匹配标准,默认操作不同于POSIX1003.2标准verbose
:同-v选项vi
:使用vi风格的命令行编辑器XTRACE
:同-x选项,如果没有给出选项名,显示当前选项值
在set命令中,选项前面跟着号’-‘示开启这个选项,’+’表示关闭这个选项
1 | set {-|+}o # 显示shell设置列表,'+'和'-'显示形式不同而已 |
更多关于set内容日后再添加
echo
echo [SHORT-OPTION] [STRING]
打印shell变量的值,或者直接输出指定的字符串,默认在最后加上换行符
-n
:输出最后不加换行符-e
:激活转义字符,如下
\a
:发出警告声\b
:退格键\c
:最后不加上换行符号\n
:换行且光标移至行首\r
:光标移至行首,但不换行\t
:插入tab\\
:插入\字符\0nnn
:插入nnn(八进制)所代表的ASCII字符\xHH
:插入HH(十六进制)所代表的ASCII字符
1 | echo -e "\e[1;31mred\e[0m" # 输出红色字 |
命令提示符设置如下图:
xargs
xargs [opt] [cmd]
取前一个命令的输出作为另一个命令的参数,默认命令为echo
-d
:指定分隔符-n
:每次cmd执行时,要使用几个参数-I
:指定替换字符,一般使用{}
-0
:-E
:指定停止标志符-t
:先打印出执行命令,再输出结果-p
:每次执行前询问
1 | cat test.txt | xargs # 单行输出 |
seq
seq [OPTION] LAST
seq [OPTION] FIRST LAST
seq [OPTION] FIRST INCREMENT LAST
用于产生从某个数到另外一个数之间的所有整数
-f
:使用printf 样式的浮点格式-s
:使用指定字符串分隔数字(默认使用:\n)-w
:在列前添加0 使得宽度相同
1 | seq -s' ' -f"num_%02g" 7 11 # num_07 num_08 num_09 num_10 num_11 |
history
history [OPT]
数字:显示最近几条
-c
:清空内存中的历史-d #
:删除指定编号的历史-w
:从内存中写入到~/.bash_history
文件中-r
:从历史文件中读取到内存
相关内容查看:bash基本特性介绍
watch
定时监控一个命令的运行结果
-n
:指定指令执行的间隔时间(秒)-d
:高亮显示指令输出信息不同之处-t
:不显示标题
1 | watch -n 1 "df -i" # 监测磁盘inode和block数目变化情况 |
source
source FILENAME
重新执行刚修改的配置文件,使之立即生效,而不必注销并重新登录,功能同.
pstree
pstree [OPTION]
显示进程树
-a
:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示-p
:显示程序识别码-u
:显示用户名称-c
:不使用精简标示法-h
:列出树状图时,特别标明现在执行的程序-l
:采用长列格式显示树状图-n
:用程序识别码排序。预设是以程序名称来排序-U
:使用UTF-8列绘图字符
ps
ps [OPTION]
选项有3种风格
- UNIX:选项前带
-
- BSD:选项前不能带
-
- GUN long option:长选项,选项前
--
a
:所有与终端有关的进程u
:以用户为中心来组织进程状态信息显示x
:所有与终端无关的进程,带[]
为内核线程-e
:显示所有进程-f
:显示完整格式-F
:显示完整格式-H
:以层级结构o
:显示指定字段内容,各字段以,
隔开,常用字段有:
pcpu
:cpu占用率pid
:进程IDppid
:父进程IDpmem
:内存使用率pcomm
:可执行文件名cmd
:命令nice
:优先级user
:启动用户stat
:进程状态time
:累计时间etime
:进程启动后度过的时间tty
:所关联的TTY--sort
:可根据以上字段进行排序,+
为升-
为降
1 | ps aux |
显示说明
USER,UID
:用户PID
:进程ID%CPU,C
:CPU占比%MEM
:物理内存占比VSZ
:虚拟内存集 (Kbytes)RSS
:常驻内存集 (Kbytes)TTY
:终端号,?
表示与终端机无关STAT,S
:该程序目前的状态START,STIME
:进程启动的时间TIME
:进程运行的时间COMMAND
:该程序的实际指令PRI
:这个是 Priority (优先执行序) 的缩写NI
:这个是Nice值ADDR
:该程序在内存的那个部分,运行中一般就是 “-“SZ
:使用的内存大小WCHAN:目前这个程序是否正在运作当中,
-`表示正在运作
更多状态说明见man手册
进程状态:
D:不可中断的睡眠
R:运行或就绪
S:可中断的睡眠
T:停止
Z:僵死
<:高优先级进程
N:低优先级进程
+:前台进程组中的进程
l: 多线程进程
s: 会话进程首进程
pgrep, pkill
pgrep [OPTION] PATTERN
显示指定进程信息,pkill默认为发送中止信号
-u UID
:显示指定用户有关进程-U UID
:显示指定用户进程-t TERMINAL
:查看与指定终端的进程-l
:显示PID和进程名-a
:显示完整格式-P PID
:显示此进程的子进程
1 | pgrep -U gdm |
pidof
pidof PRECOSS
根据程序名称,查找其相关进程的ID号
top
实时动态地查看系统的整体运行情况
-d
:指定刷新时间-p PID
:查看指定pid进程-c
:显示整个命令行而不只是显示命令名-b
:以批次方式显示-n
:显示多少批次后退出
信息头说明:
- 第一行:任务队列信息,同
uptime
显示信息
当前时间,运行时间,用户数,1、5、15分钟负载 - 第二行:进程信息
进程总数,运行中,睡眠态,停止态,僵尸态 - 第三行:cpu占用信息
us
用户空间,sy
内核空间,ni
改变过优先级,id
空闲,wa
等待,hi
硬中断,si
软中断,st
被虚拟化偷走 - 第四行:内存信息
物理总量,使用量,空闲,缓存 - 第五行:swap信息
交换区总量,使用量,空闲,缓存
注:cpu的负载取决于核心数,小于核心数为正常值;在内存信息中,buffers
是指用来给块设备做的缓冲大小,如目录内容等,cached
是用来给文件内容做缓冲
交互命令:
M
:根据驻留内存大小进行排序P
:根据CPU使用百分比进行排序T
:根据累计时间进行排序l
:是否显示平均负载和启动时间t
:是否显示进程和CPU状态相关信息m
:是否显示内存相关信息c
:是否显示完整的命令行信息x
:高亮显示,在z模式下更明显,再按shift+<|>
指定列排序q
:退出tops|d
:修改刷新时间k
:终止某个进程,默认15信号1
:显示所有CPU核心的负载情况i
:忽略闲置和僵死进程h
:查看帮助f
:修改显示列,按指定字母选择,如p
显示swap信息H
:显示线程W
:将当前设置写入配置文件[~/.toprc]
内容标题意义:
PID
:进程idUSER
:进程所有者PR
:进程优先级NI
:nice值。负值表示高优先级,正值表示低优先级VIRT
:虚拟内存集,进程申请虚拟内存总量,并非所使用内存RES
:常驻内存集,进程使用的、未被换出的物理内存大小,单位kb。SHR
:共享内存大小,可能也被其他应用程序使用着S
:进程状态。D:不可中断的睡眠状态 R:运行 S:睡眠 T:跟踪/停止 Z:僵死%CPU
:上次更新到现在的CPU时间占用百分比%MEM
:进程使用的物理内存百分比TIME+
:进程使用的CPU时间总计,单位1/100秒COMMAND
:进程名称(命令名/命令行)
uptime
显示系统时间、运行时长及平均负载,同top
命令第一行内容,需手动安装
htop
它与传统的top
命令功能一样,但它有更加强大的功能及能显示更多的信息,通过方向键移动光标,同时支持鼠标操作
-d
:设置刷新的延迟时间-u
:显示指定的用户的进程信息列表-s
:按指定的列排序
交互命令:
- F1~F10:略,F2可定义显示信息内容和样式
- 空格:多选操作,可以同时kill多个选中进程
l
:显示选中进程打开的文件s
:追踪进程的系统调用t
:显示进程树,同F5a
:设置指定进程运行在哪个cpu上q
:返回主界面或退出
iftop
iotop
ss
ss [OPTION] [FILTER]
socket statistics的缩写,用于代替netstat命令,选项相近。ss
能够显示比netstat
更多的信息并且速度也更快。netstat是从/proc 下的文件中读取信息再整理显示的,而ss
命令直接从内核空间获取信息
OPTION
-n
:数字方式显示IP和端口号,比如显示 80 而不是 http-t
:显示TCP协议端口-u
:UDP-l
:默认不显示监听的套接字,这个参数指明只显示监听连接-4
:显示ipv4服务监听状态-p
:相关程序和PID-e
:扩展格式信息-s
:显示套接字使用的统计信息-o
:计时器信息-m
:内存用量-h
:查看帮助
FILTER
dport|sport OP :PORT
:匹配远程dport或本地src端口连接OP为比较符:
>,<,==,!=,>=,<=
或gt,lt,eq,ne,ge,le
,使用>
或<
需转义
PORT可为端口号或服务名,如:80
或:http
dst|src IP[:PORT]
:匹配远程dst或本地src地址和端口state
:匹配状态,包括all, established, listen, closed, closing, close-wait, syn-sent, syn-recv, time-wait ,fin-wait-1, last-ack, connected…-a|-o
:条件间关系and、or
1 | ss -tuln # |
直接执行 ss 会列出当前所有已建立的非监听的(non-listening)连接,一个常用的参数 -tuln
lsof
lsof [option] [FILE|USER|PID...]|
列出某个进程打开的所有文件信息。打开的文件可能是普通的文件、目录、NFS文件、块文件、字符文件、共享库、常规管道、命名管道、符号链接、Socket流、网络Socket、UNIX域Socket,以及其它更多类型
-i[46] [protocol][@hostname|hostaddr][:service|port]
:符合条件的进程
46
:IPv4 or IPv6protocol
:TCP or UDPhostname
:主机名hostaddr
:IPv4位置service
:/etc/service中的 service name (可以不只一个)port
:端口号 (可以不只一个)
-p PID
:查看该进程打开了哪些文件,进程号前可以使用^
取反-u USER
:显示指定用户的进程打开的文件,用户名前可以使用^
取反-g GID
:显示归属gid的进程情况-n
:不反解IP至HOSTNAME-c STR
:显示其COMMAND列中包含指定字符(STR)的进程所有打开的文件,可重复使用+d /DIR/
:显示指定目录下被进程打开的文件+D /DIR/
:基本功能同上,但会对指定目录进行递归查找-N
:列出所有NFS
文件-d FD
:显示指定文件描述符的相关进程,也可以为描述符指定一个范围-d mem
:列出所有内存映射文件-d mmap
:显示所有内存映射设备-d txt
:列出所有加载在内存中并正在执行的进程,包含code和data-d cwd
:正在访问当前目录的进程列表-a
:用来连接上述多个选项,and的意思-v MOUNT_POINT
:查看当前挂载点被哪些进程使用
1 | lsof -i :80 |
注:多条件时默认为or关系,and关系需加-a
选项
iostat
iostat [OPTION] [DELAY [COUNT]]
用于查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息-c
:显示CPU使用情况-d
:显示磁盘使用情况-k
:以 KB 为单位显示-m
:以 MB 为单位显示-N
:显示磁盘阵列(LVM) 信息-n
:显示NFS 使用情况-p DEV
:显示磁盘和分区的情况-t
:显示终端和CPU的信息-x
:显示详细信息
1 | iostat 2 4 # 每2秒刷一次,显示4次 |
显示字段说明:
cpu属性
%user
:CPU处在用户模式下的时间百分比
%nice
:CPU处在带NICE值的用户模式下的时间百分比
%system
:CPU处在系统模式下的时间百分比
%iowait
:CPU等待输入输出完成时间的百分比
%steal
:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
%idle
:CPU空闲时间百分比提示:如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
disk属性
rrqm/s
:每秒进行 merge 的读操作数目。即 rmerge/s
wrqm/s
:每秒进行 merge 的写操作数目。即 wmerge/s
r/s
:每秒完成的读 I/O 设备次数。即 rio/s
w/s
:每秒完成的写 I/O 设备次数。即 wio/s
rsec/s
:每秒读扇区数。即 rsect/s
wsec/s
:每秒写扇区数。即 wsect/s
rkB/s
:每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节
wkB/s
:每秒写K字节数。是 wsect/s 的一半
avgrq-sz
:平均每次设备I/O操作的数据大小 (扇区)
avgqu-sz
:平均I/O队列长度。
await
:平均每次设备I/O操作的等待时间 (毫秒)
svctm
:平均每次设备I/O操作的服务时间 (毫秒)
%util
:一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比提示:如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果avgqu-sz比较大,也表示有当量io在等待
vmstat
vmstat [OPTION] [DELAY [COUNT]]
显示虚拟内存的使用状态,同时可以报告关于进程、内存、I/O等系统整体运行状态
-a
:显示活跃和非活跃内存-f
:显示从系统启动至今的fork数量-m
:显示slabinfo-n
:只在开始时显示一次各字段名称-s
:显示内存统计数据-d
:显示磁盘相关统计信息-p
:显示指定磁盘分区统计信息
显示字段说明:
- proc
r
:等待运行的进程个数,CPU上等待运行任务的队列长度
b
:处于不可中断睡眠的进程个数,被阻塞的任务队列长度 - memory
swad
:交换内存使用总量
free
:空闲的物理内存总量
buffer
:用于buffer的内存总量
cache
:用于cache的内存总量 - swap
si
:数据进入swap中的数据速率(kb/s)
so
:数据离开swap的速率 - io
bi
:从块设备读入数据到系统的速率
bo
:保存数据到块设备的速率 - system
in
:interrupts, 中断速率
cs
:context switch, 上下文切换的速率 - cpu
us
:用户空间
sy
:内核空间
id
:空闲
wa
:等待
st
:被虚拟化给偷走的时间
1 | vmstat # 只显示一条数据后退出 |
mpstat
mpstat [-P {|ALL}] [delay [count]]
MultiProcessor Statistics,是实时系统监控工具,其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中
-P {|ALL}
:表示监控哪个CPU, cpu在[0,cpu个数-1]中取值delay
:相邻的两次采样的间隔时间count
:采样的次数,count只能和delay一起使用
1 | mpstat -p ALL 2 |
显示字段说明
%user
:指定时间段内,用户态的CPU时间(%),不包含nice值为负进程 (usr/total)*100%nice
:指定时间段内,nice值为负进程的CPU时间(%) (nice/total)*100%sys
:指定时间段内,内核时间(%) (system/total)*100%iowait
:指定时间段内,硬盘IO等待时间(%) (iowait/total)*100%irq
:指定时间段内,硬中断时间(%) (irq/total)*100%soft
:指定时间段内,软中断时间(%) (softirq/total)*100%idle
:指定时间段内,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%) (idle/total)*100
pmap
pmap [OPTION] PID
显示一个进程的内存映射表,读取/proc/#/maps
文件整理显示
-x
:显示更详细信息
glances
功能类型top的监控工具
-b
:以byte为单位显示网上数据速度-d
:关闭磁盘IO模块-m
:关闭mount模块-n
:关闭network模块-t
:指定刷新时间-1
:每颗cpu数据单独显示-o
{HTML|CSV}:统计数据保存为html或csv格式文件-f
:指定目录保存的文件,默认生成glances.html|csv
内建命令使用h
查看,此处略去
1 | glances -o HTML -f /tmp/ # |
dstat
dstat [OPTION] [DELAY [COUNT]]
多功能系统资源统计生成工具,信息上有点类似于top、free、iostat、vmstat等多个工具的合集
-c
:CPU状态-C
:指定cpu状态-d
:磁盘读写状态-D
:指定磁盘或汇总信息-g
:显示page相关统计数据-m
:物理内存使用情况-n
:网络使用情况-p
:进程信息,包括runnable、uninterruptible、new-r
:I/O请求-s
:swap已使用和剩余量--tcp
--udp
--raw
--socket
--ipc
--top-cpu
:最占用cpu进程--top-io
--top-mem
--top-oom
--top-lantency
:延迟最大的进程
……
默认选项为-cdngy
sar
sar [OPTION] [DELAY [COUNT]]
获取系统的cpu、磁盘、内存、网络运行状态等信息,由sysstat
包提供
1 | # 以下数据统计每秒1次,共5次 |
strace
追踪到一个程序所执行的系统调用
-c
:统计时间-e
:用来展示特定的系统调用,如open,write等等-p
:追踪指定pid进程-o
:保存结果到指定文件-t
:在每行的输出之前添加时间-tt
:显示更精确的时间,-ttt
为时间搓-r
:相对时间
1 | strace -t ls |
kill
kill [-s SIGNAL|-SIGNAL] PID
kill -l [SIGNAL]
用于向进程发送信号,实现进程管理,默认发送15信号终止进程
主要信号:
- 1) SIGHUP:无须关闭进程而让其重读配置文件
- 2) SIGINT:中止正在运行的进程,等同
ctrl+c
- 9) SIGKILL:强制立刻杀死运行中的进程
- 15) SIGTERM:终止正在运行的进程
- 18) SIGCONT:继续暂停的进行
- 19) SIGSTOP:暂停正在运行的进程
信号标示方法有:1.完整名(SIGHUP…)、2.数字信号(1, 2, 9…)、3.缩写(HUP, INT…)
1 | kill -l # 显示信号列表 |
killall
killall [-SIGNAL] program
根据进程名来中止相关进程
1 | killall httpd # 中止http |
jobs
查看所有作业,带有作业编号
显示符号说明+
:后台正在运行或下次运行的作业-
:+
作业运行后的下一个运行作业
终止作业:kill %JOBID
fg
fg [[%]JOBID]
将指定后台作业调回前台,默认调回带+
号作业,也可指定作业号,其中%
可省
bg
bg [[%]JOBID]
让送往后台的作业继续运行
nice
nice [OPTION] [COMMAND]
以指定的nice值(优先级)运行命令,值范围为-19~20,数值小优先级高,仅管理员才能调低nice值
1 | nice 10 htop # 设置htop命令运行的nice值为10 |
renice
renice [-n] NICE PID
调整运行中的进程nice值
1 | renice -12 23023 # 调整pid为23023的进程nice为-12(优先级为8) |
who
获取当前登录的用户信息
w
同who
,但会列出更多绿细节
users
列出当前登录的用户名
1 | users | tr ' ' '\n' |
last
提供登录会话信息,默认读取 /var/log/wtmp
日志
1 | last -f /var/log/wtmp |
chroot
chroot NEWROOT
切换根所在目录
ldd
查看命令所依赖的共享库文件
1 | ldd /bin/ls |
sync
强制被改变的内容立刻写入磁盘,更新超块信息
chkconfig
检查、设置系统的各种服务,centos7上已废弃
1 | chkconfig --list # 列出所有的系统服务 |
uname
uname [OPTION]
当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)
-r
:系统发行编号-a
:全部信息-n
:主机名
lsmod
显示内核所有加载的模块信息,来源于/proc/modules
模块文件放置在/lib/modules/$(uname -r)/kernel/../*.ko
modinfo
modinfo [OPTION] MOD_NAME
查看某模块的详细信息,不管是否已加载
-k
:当系统上有多个内核时,可手动指定查看-F
:仅显示指定字段信息-a
:仅列出作者名-d
:仅列出模块说明-l
:仅列出授权-n
:显示模块文件路径
modprobe
modprobe [OPTION] MOD_NAME
动态装载和卸载模块,包括相关依赖模块,默认装载的模块不要轻易去卸载
-r
:卸载-C
:基于配置文件
depmod
depmod [-Ane]
内核模块依赖关系文件的生成工具或显示
-A
:搜寻比/lib/modules/$(uname -r)/modules.dep
内还要新的模块,如果真找到新模块,则更新写入-n
:不写入modules.dep
中,而是显示到屏幕上-e
:显示出目前已载入的不可执行的模块名称
insmod
insmod MOD_FILENAME
装载模块,MOD_FILENAME为模块完整路径名,但不能解决依赖关系
rmmod
卸载模块
mkinitrd
为当前使用的内核重新制作ramdisk文件
1 | mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) |
sysctl
sysctl [OPTION] [var[=value]]
查看或设定/proc/sys目录下的内核参数,内核参数配置文件/etc/sysctl.conf
-a
:查看所有-w
:写入新值-p
:重读配置文件
1 | sysctl -a # 查看所有内核参数 |