常用Linux命令
2023-1-18
| 2023-8-2
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property
 

 

文件管理

ls命令– 显示指定工作目录下的文件及属性信息
来自于英文单词list的缩写,语法格式:  ls [参数] [文件]
常用参数:
-a
显示所有文件及目录 (包括以“.”开头的隐藏文件)
-l
使用长格式列出文件及目录的详细信息
-r
将文件以相反次序显示(默认依英文字母次序)
-t
根据最后的修改时间排序
-A
同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录)
-S
根据文件大小排序
-R
递归列出所有子目录
-d
查看目录的信息,而不是里面子文件的信息
-i
输出文件的inode节点信息
-m
水平列出文件,以逗号间隔
-X
按文件扩展名排序
--color
输出信息中带有着色效果
 
cp命令 – 复制文件或目录
来自于英文单词copy的缩写,用于将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作
语法格式:cp [参数] 源文件 目标文件
常用参数:
-f
若目标文件已存在,则会直接覆盖原文件
-i
若目标文件已存在,则会询问是否覆盖
-p
保留源文件或目录的所有属性
-r
递归复制文件和目录
-d
当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l
对源文件建立硬连接,而非复制文件
-s
对源文件建立符号连接,而非复制文件
-b
覆盖已存在的文件目标前将目标文件备份
-v
详细显示cp命令执行的操作过程
-a
等价于“pdr”选项
-r参数用于递归操作,复制目录时若忘记加则会直接报错,而-f参数则用于当目标文件已存在时会直接覆盖不再询问,这两个参数尤为常用
mkdir命令 – 创建目录文件
mkdir命令来自于英文词组“make directories”的缩写,其功能是用来创建目录文件
语法格式 : mkdir [参数] 目录
常用参数:
-p
递归创建多级目录
-m
建立目录的同时设置目录的权限
-z
设置安全上下文
-v
显示目录的创建过程
需要注意若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。而目录不存在,但具有嵌套的依赖关系,例如a/b/c/d/e/f,要想一次性创建则需要加入-p参数,进行递归操作。
mv命令 – 移动或改名文件
mv命令来自于英文单词move的缩写,用于对文件进行剪切和重命名。在同一个目录内对文件进行剪切的操作,实际应理解成重命名操作。
语法格式:mv [参数] 源文件 目标文件
常用参数:
-i
若存在同名文件,则向用户询问是否覆盖
-f
覆盖已有文件时,不进行任何提示
-b
当文件存在时,覆盖前为其创建一个备份
-u
当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作
 
rm命令 – 删除文件或目录
rm命令来自于英文单词remove的缩写,其功能是用于删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件。
语法格式:rm [参数] 文件
常用参数:
-f
强制删除(不二次询问)
-i
删除前会询问用户是否操作
-r/R
递归删除
-v
显示指令的详细执行过程
rmdir命令 – 删除空目录文件
rmdir命令来自于英文词组“remove directory”的缩写,其功能是用于删除空目录文件。
rmdir命令仅能够删除空内容的目录文件,如需删除非空目录时,则需要使用带有-r参数的rm命令进行操作。而rmdir命令的-p递归删除操作亦不意味着能删除目录中已有的文件,而是要求每个子目录都必须是空的。
语法格式 : rmdir [参数] 目录
常用参数:
-p
用递归的方式删除指定的目录路径中的所有父级目录,非空则报错
-v
显示命令的详细执行过程
-- -- help
显示命令的帮助信息
-- -- version
显示命令的版本信息
 
pwd命令 – 显示当前工作目录的路径
pwd命令来自于英文词组”print working directory“的缩写,其功能是用于显示当前工作目录的路径,即显示所在位置的绝对路径
语法格式pwd [参数]
常用参数:-L -显示逻辑路径
touch命令 – 创建空文件与修改时间戳
touch命令的功能是用于创建空文件与修改时间戳。如果文件不存在,则会创建出一个空内容的文本文件;如果文件已经存在,则会对文件的Atime(访问时间)和Ctime(修改时间)进行修改操作,管理员可以完成此项工作,而普通用户只能管理主机的文件。
语法格式:touch [参数] 文件
常用参数:
-a
改变档案的读取时间记录
-m
改变档案的修改时间记录
-r
使用参考档的时间记录,与 --file 的效果一样
-c
不创建新文件
-d
设定时间与日期,可以使用各种不同的格式
-t
设定档案的时间记录,格式与 date 命令相同
--no-create
不创建新文件
--help
显示帮助信息
--version
列出版本讯息
 
 
 
cd命令 – 切换目录
cd命令来自于英文词组”change directory“的缩写,其功能是用于更改当前所处的工作目录,路径可以是绝对路径,也可以是相对路径,若省略不写则会跳转至当前使用者的家目录。
语法格式:cd [参数] [目录名]
常用参数:
-P
如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录
-L
如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录
--
仅使用”-“选项时,当前目录将被切换到环境变量”OLDPWD”对应值的目录
~
切换至当前用户目录
..
切换至当前目录位置的上一级目录
stat命令 – 显示文件的状态信息
stat命令来自于英文单词status的缩写,其功能是用于显示文件的状态信息。Linux系统中每个文件都有三个“历史时间”——最后访问时间(ATIME)、最后修改时间(MTIME)、最后更改时间(CTIME),用户可以使用stat命令查看到它们,进而判别有没有其他人修改过文件内容。
语法格式:stat [参数] 文件名
常用参数
-L
支持符号链接
-f
显示文件系统的信息
-t
以简洁的方式输出
--help
显示命令帮助信息
--version
显示命令版本信息
file命令 – 识别文件类型
file命令的功能是用于识别文件的类型,也可以用来辨别一些内容的编码格式。由于Linux系统并不是像Windows系统那样通过扩展名来定义文件类型,因此用户无法直接通过文件名来进行分辨。file命令则是为了解决此问题,通过分析文件头部信息中的标识来显示文件类型,使用很方便。
语法格式:file [参数] 文件
常用参数:
-b
列出辨识结果时,不显示文件名称 (简要模式)
-c
详细显示指令执行过程
-f
指定名称文件,显示多个文件类型信息
-L
直接显示符号连接所指向的文件类别
-m
指定魔法数字文件
-v
显示版本信息
-z
尝试去解读压缩文件的内容
-i
显示MIME类别
pushd、popd-操作目录堆栈
如果希望记忆多重目录,可以使用pushd命令和popd命令。它们用来操作目录堆栈。
pushd命令的用法类似cd命令,可以进入指定的目录。
第一次使用pushd命令时,会将当前目录先放入堆栈,然后将所要进入的目录也放入堆栈,位置在前一个记录的上方。以后每次使用pushd命令,都会将所要进入的目录,放在堆栈的顶部。
popd命令不带有参数时,会移除堆栈的顶部记录,并进入新的栈顶目录(即原来的第二条目录)。
两个命令的参数:
-n 参数:表示仅操作堆栈,不改变目录。
 
整数参数:两个命令还可以接受一个整数作为参数,该整数表示堆栈中指定位置的记录(从0开始)。pushd命令会把这条记录移动到栈顶,同时切换到该目录;popd则从堆栈中删除这条记录,不会切换目录。
整数编号都是从0开始计算,popd +0是删除第一个目录,popd +1是删除第二个,popd -0是删除最后一个目录,popd -1是删除倒数第二个
目录参数:pushd可以接受一个目录作为参数,表示将该目录放到堆栈顶部,并进入该目录。popd没有这个参数。
dirs命令 – 显示Shell目录堆栈中的记录
dirs命令可以显示目录堆栈的内容,一般用来查看pushdpopd操作后的结果。
该命令会输出一行文本,列出目录堆栈,目录之间使用空格分隔。栈顶(最晚入栈的目录)在最左边,栈底(最早入栈的目录)在最右边。
常用参数:
-c
删除目录堆栈中的所有记录
-l
以完整格式显示堆栈中的目录。显示用户宿主目录时,列出完整路径,而不是“~”
-n
显示右起第n个目录(n从0计数)
+n
显示左起第n个目录 (n从0计数)
-p
以每行一个记录的方式列出堆栈中多有记录
-v
以每行一个记录的方式列出堆栈中所有记录,并在每行加上序号(从0开始编号)
 
 

文档编辑

cat命令 – 在终端设备上显示文件内容
at命令来自于英文单词concatenate的缩写,其功能是用于查看文件内容。在Linux系统中有很多用于查看文件内容的命令,例如more、tail、head……等等,每个命令都有各自的特点。cat命令适合查看内容较少的、纯文本的文件。
语法格式:cat [参数] 文件
常用参数:
-n
显示行数(空行也编号)
-s
显示行数(多个空行算一个编号)
-b
显示行数(空行不编号)
-E
每行结束处显示$符号
-T
将TAB字符显示为 ^I符号
-v
使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
-e
等价于”-vE”组合
-t
等价于”-vT”组合
-A
等价于 -vET组合
--help
显示帮助信息
--version
显示版本信息
echo命令 – 输出字符串或提取后的变量值
echo是用于在终端设备上输出指定字符串或变量提取后值的命令,能够给用户一些简单的提醒信息,也可以将输出的指定字符串内容同管道符一起传递给后续命令作为标准输入信息再来进行二次处理,又或者同输出重定向符一起操作,将信息直接写入到文件中。
如需提取变量值,需在变量名称前加入$符号做提取,变量名称一般均为大写形式。
语法格式:echo [参数] 字符串/变量
常用参数:
-n
不输出结尾的换行符
-e “\a”
发出警告音
-e “\b”
删除前面的一个字符
-e “\c”
结尾不加换行符
-e “\f”
换行,光标扔停留在原来的坐标位置
-e “\n”
换行,光标移至行首
-e “\r”
光标移至行首,但不换行
-E
禁止反斜杠转移,与-e参数功能相反
—version
查看版本信息
--help
查看帮助信息
 
grep命令 – 强大的文本搜索工具
grep来自于英文词组“global search regular expression and print out the line”的缩写,意思是用于全面搜索的正则表达式,并将结果输出。人们通常会将grep命令与正则表达式搭配使用,参数作为搜索过程中的补充或对输出结果的筛选,命令模式十分灵活。 与之容易混淆的是egrep命令和fgrep命令。如果把grep命令当作是标准搜索命令,那么egrep则是扩展搜索命令,等价于“grep -E”命令,支持扩展的正则表达式。而fgrep则是快速搜索命令,等价于“grep -F”命令,不支持正则表达式,直接按照字符串内容进行匹配。
 
语法格式: grep [参数] 文件
常用参数:
-i
忽略大小写
-c
只输出匹配行的数量
-l
只列出符合匹配的文件名,不列出具体的匹配行
-n
列出所有的匹配行,显示行号
-h
查询多文件时不显示文件名
-s
不显示不存在、没有匹配文本的错误信息
-v
显示不包含匹配文本的所有行
-w
匹配整词
-x
匹配整行
-r
递归搜索
-q
禁止输出任何结果,已退出状态表示搜索是否成功
-b
打印匹配行距文件头部的偏移量,以字节为单位
-o
与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位
-F
匹配固定字符串的内容
-E
支持扩展的正则表达式
 
tail命令 – 查看文件尾部内容
tail命令的功能是用于查看文件尾部内容,例如默认会在终端界面上显示出指定文件的末尾十行,如果指定了多个文件,则会在显示的每个文件内容前面加上文件名来加以区分。
高阶玩法的-f参数作用是持续显示文件的尾部最新内容,把最新的消息展示给用户,对阅读日志文件尤为适合,而不需要手动刷新。
语法格式:tail [参数] 文件
用参数:
-c
输出文件尾部的N(N为整数)个字节内容
-f
持续显示文件最新追加的内容
-F <N>
与选项“-follow=name”和“--retry”连用时功能相同
-n <N>
输出文件的尾部N(N位数字)行内容
--retry
即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。
--pid=<进程号>
与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令
--help
显示指令的帮助信息
--version
显示指令的版本信息
 

系统管理

find命令 – 根据路径和条件搜索指定文件
find命令的功能是根据给定的路径和条件查找相关文件或目录,可以使用的参数很多,并且支持正则表达式,结合管道符后能够实现更加复杂的功能,是系统管理员和普通用户日常工作必须掌握的命令之一。 find命令通常进行的是从根目录(/)开始的全盘搜索,有别于whereis、which、locate……等等的有条件或部分文件的搜索。对于服务器负载较高的情况,建议不要在高峰时期使用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为查找小于50KB的文件)
-prune
忽略某个目录
-exec …… {}\;
后面可跟用于进一步处理搜索结果的命令
 
startx命令 – 初始化X-windows系统
startx命令来自于英文词组”start X-windows“的缩写,其功能是用于启动X-Windows系统。X-Windows System也被称为X或X11,中文译为X窗口系统,主要工作就是以图形方式显示软件窗口的系统,现在的GNOME和KDE桌面环境都是以X窗口系统为基础构建成的。
语法格式:startx [参数]
常用参数:
— -depth <数字>
指定颜色深度
-m
当未找到启动脚本时,启动窗口管理器
-r
当未找到启动脚本时,装入资源文件
-w
强制启动
-x
使用startup脚本启动X-windows会话
ps命令 – 显示进程状态
ps命令来自于英文词组”process status“的缩写,其功能是用于显示当前系统的进程状态。使用ps命令可以查看到进程的所有信息,例如进程的号码、发起者、系统资源使用占比(处理器与内存)、运行状态等等。帮助我们及时的发现哪些进程出现”僵死“或”不可中断“等异常情况。
经常会与kill命令搭配使用来中断和删除不必要的服务进程,避免服务器的资源浪费。
语法格式:ps [参数]
常用参数:
a
显示现行终端机下的所有程序,包括其他用户的程序
-A
显示所有程序
c
显示每个程序真正的指令名称,而不包含路径
-C <指令名称>
指定执行指令的名称,并列出该指令的程序的状况
-d
显示所有程序,但不包括阶段作业管理员的程序
e
列出程序时,显示每个程序所使用的环境变量
-f
显示UID,PPIP,C与STIME栏位
f
用ASCII字符显示树状结构,表达程序间的相互关系
g
显示现行终端机下的所有程序,包括所属组的程序
-G <群组识别码>
列出属于该群组的程序的状况
h
不显示标题列
-H
显示树状结构,表示程序间的相互关系
-j
采用工作控制的格式显示程序状况
-l
采用详细的格式来显示程序状况
L
列出栏位的相关信息
-m
显示所有的执行绪
n
以数字来表示USER和WCHAN栏位
-N
显示所有的程序,除了执行ps指令终端机下的程序之外
-p <程序识别码>
指定程序识别码,并列出该程序的状况
r
只列出现行终端机正在执行中的程序
-s <阶段作业>
列出隶属该阶段作业的程序的状况
s
采用程序信号的格式显示程序状况
S
列出程序时,包括已中断的子程序资料
-t <终端机编号>
列出属于该终端机的程序的状况
-T
显示现行终端机下的所有程序
u
以用户为主的格式来显示程序状况
-U <用户识别码>
列出属于该用户的程序的状况
U <用户名称>
列出属于该用户的程序的状况
v
采用虚拟内存的格式显示程序状况
-V或V
显示版本信息
-w或w
采用宽阔的格式来显示程序状况
x
显示所有程序,不以终端机来区分
X
采用旧式的Linux i386登陆格式显示程序状况
-y
配合选项”-l”使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位
--cols <每列字符数>
设置每列的最大字符数
--headers
重复显示标题列
--help
在线帮助
--info
显示排错信息
--lines <显示列数>
设置显示画面的列数
top命令 – 实时显示系统运行状态
top命令的功能是用于实时显示系统运行状态,包含处理器、内存、服务、进程等重要资源信息。
语法格式:top [参数]
常用参数:
-d <秒>
改变显示的更新速度
-c
切换显示模式
-s
安全模式,不允许交互式指令
-i
不显示任何闲置或僵死的行程
-n
设定显示的总次数,完成后将会自动退出
-b
批处理模式,不进行交互式显示
 
pstree命令 – 以树状图显示进程
Linux系统中pstree命令的英文全称是“process tree”,即将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。
语法格式: pstree [参数]
常用参数:
-a
显示每个程序的完整指令,包含路径,参数或是常驻服务的标示
-c
不使用精简标示法
-G
使用VT100终端机的列绘图字符
-h
列出树状图时,特别标明现在执行的程序
 
 
 
kill命令 – 杀死进程
kill命令的功能是用于杀死(结束)进程,与英文单词的含义相同。Linux系统中如需结束某个进程,既可以使用如service或systemctl的管理命令来结束服务,也可以使用kill命令直接结束进程信息。
如使用kill命令后进程并没有被结束,则可以使用信号9进行强制杀死动作。
语法格式:kill [参数] 进程号
常用参数:
-l
列出系统支持的信号
-s
指定向进程发送的信号
-a
不限制命令名和进程号的对应关系
-p
不发送任何信号
 
 
who命令 – 查看当前登录用户信息
who命令的功能是用于显示当前登录用户信息,包含登录的用户名、终端、日期时间、进程等信息,帮助运维人员了解当前系统的登入用户情况。
语法格式: who [参数]
常用参数:
-a
全面信息
-b
系统最近启动时间
-d
死掉的进程
-l
系统登录进程
-H
带有列标题打印用户名,终端和时间
-t
系统上次锁定时间
-u
已登录用户列表
 
 
uname命令 – 显示系统内核信息
uname命令来自于英文词组”Unix name“的缩写,其功能是用于查看系统主机名、内核及硬件架构等信息。如果不加任何参数,默认仅显示系统内核名称,相当于-s参数。
语法格式:uname [参数]
常用参数:
-a
显示系统所有相关信息
-m
显示计算机硬件架构
-n
显示主机名称
-r
显示内核发行版本号
-s
显示内核名称
-v
显示内核版本
-p
显示主机处理器类型
-o
显示操作系统名称
-i
显示硬件平台
exit命令 – 退出终端
exit命令的功能是用于退出终端。在终端或SHELL脚本中执行exit命令默认会直接退出终端,亦可添加状态值参数,这样退出后可方便后续脚本判断本次执行结果是否成功(例如执行echo $?命令)。
语法格式:exit [状态值]
常用参数:
0
执行成功
1
执行失败
$?
参照上一个状态值
 
 
shutdown命令 – 关闭服务器的系统
shutdown命令来自于英文单词关闭,其功能是用于关闭服务器的系统,作用同于poweroff命令。
语法格式:shutdown [参数]
常用参数:
-f
重新启动时不执行fsck
-F
重新启动时执行fsck
-h
将系统关机
-c
取消关机任务
-k
发送信息给所有用户
-n
不调用init程序进行关机
-r
将系统重启
-t
送出警告信息和删除信息之间要延迟多少秒
 
poweroff命令 – 关闭操作系统并切断电源
poweroff命令用来关闭计算机操作系统并且切断系统电源。如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。
语法格式:poweroff [参数]
常用参数:
-n
关闭操作系统时不执行sync操作
-w
不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中
-d
关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录
-f
强制关闭操作系统
-i
关闭操作系统之前关闭所有的网络接口
-h
关闭操作系统之前将系统中所有的硬件设置为备用模式
free命令 – 显示系统内存使用量情况
free命令的功能是显示系统内存使用量情况,包含物理和交换内存的总量、使用量和空闲量情况。
语法格式:free [参数]
常用参数:
-b
以Byte显示内存使用情况
-k
以kb为单位显示内存使用情况
-m
以mb为单位显示内存使用情况
-g
以gb为单位显示内存使用情况
-s
持续显示内存
-t
显示内存使用总合
-h
以易读的单位显示内存使用情况
rpm命令 – RPM软件包管理器
rpm命令来自于英文词组”RedHat Package Manager“的缩写,中文译为红帽软件包管理器,其功能是用于在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作。
语法格式:rpm [参数] 软件包
常用参数:
-a
查询所有的软件包
-b或-t
设置包装套件的完成阶段,并指定套件档的文件名称;
-c
只列出组态配置文件,本参数需配合”-l”参数使用
-d
只列出文本文件,本参数需配合”-l”参数使用
-e
卸载软件包
-f
查询文件或命令属于哪个软件包
-h
安装软件包时列出标记
-i
安装软件包
-l
显示软件包的文件列表
-p
查询指定的rpm软件包
-q
查询软件包
-R
显示软件包的依赖关系
-s
显示文件状态,本参数需配合”-l”参数使用
-U
升级软件包
-v
显示命令执行过程
-vv
详细显示指令执行过程
yum命令 – 基于RPM的软件包管理器
yum命令来自于英文词组”YellowdogUpdater,Modified“的缩写,其功能是用于在Linux系统中基于RPM技术进行软件包的管理工作。yum技术通用于RHEL、CentOS、Fedora、OpenSUSE等主流系统,可以让系统管理人员交互式的自动化更新和管理软件包,实现从指定服务器自动下载、更新、删除软件包的工作。
yum软件仓库及命令能够自动处理软件依赖关系,一次性安装所需全部软件,无需繁琐的操作。
语法格式:yum [参数] 软件包
常用参数:
-h
显示帮助信息
-y
对所有的提问都回答“yes”
-c
指定配置文件
-q
安静模式
-v
详细模式
-t
检查外部错误
-d
设置调试等级(0-10)
-e
设置错误等级(0-10)
-R
设置yum处理一个命令的最大等待时间
-C
完全从缓存中运行,而不去下载或者更新任何头文件
install
安装rpm软件包
update
更新rpm软件包
check-update
检查是否有可用的更新rpm软件包
remove
删除指定的rpm软件包
list
显示软件包的信息
search
检查软件包的信息
info
显示指定的rpm软件包的描述信息和概要信息
clean
清理yum过期的缓存
shell
进入yum的shell提示符
resolvedep
显示rpm软件包的依赖关系
localinstall
安装本地的rpm软件包
localupdate
显示本地rpm软件包进行更新
deplist
显示rpm软件包的所有依赖关系

磁盘管理

df命令 – 显示磁盘空间使用情况
df命令来自于英文词组”Disk Free“的缩写,其功能是用于显示系统上磁盘空间的使用量情况。df命令显示的磁盘使用量情况含可用、已有及使用率等信息,默认单位为Kb,建议使用-h参数进行单位换算
语法格式: df [参数] [对象磁盘/分区]
常用参数:
-a
显示所有系统文件
-B <块大小>
指定显示时的块大小
-h
以容易阅读的方式显示
-H
以1000字节为换算单位来显示
-i
显示索引字节信息
-k
指定块大小为1KB
-l
只显示本地文件系统
-t <文件系统类型>
只显示指定类型的文件系统
-T
输出时显示文件系统类型
-- -sync
在取得磁盘使用信息前,先执行sync命令
fdisk命令 – 管理磁盘分区
fdisk命令来自于英文词组“Partition table manipulator for Linux”的缩写,其功能是用于管理磁盘的分区信息。fdisk命令可以用于对磁盘进行分区操作,用户可以根据实际情况进行合理划分,这样后期挂载和使用时会方便很多。
语法格式:fdisk [参数] [设备]
常用参数:
-b
指定每个分区的大小
-l
列出指定的外围设备的分区表状况
-s
将指定的分区大小输出到标准输出上,单位为区块
-u
搭配”-l”参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址
-v
显示版本信息
 
lsblk命令 – 查看系统的磁盘使用情况
lsblk命令来自于英文词组”list block“的缩写,其功能是用于查看系统的磁盘使用情况。
语法格式:lsblk [参数]
常用参数:
-a
显示所有设备
-b
以字节单位显示设备大小
-d
不显示 slaves 或 holders
-e
排除设备
-f
显示文件系统信息
-h
显示帮助信息
-i
仅使用字符
-m
显示权限信息
-l
使用列表格式显示
-n
不显示标题
-o
输出列
-P
使用key=”value”格式显示
-r
使用原始格式显示
-t
显示拓扑结构信息
vgextend命令 – 扩展卷组设备
vgextend命令来自于英文词组“volume group extend”的缩写,其功能是用于扩展卷组设备。LVM逻辑卷管理器技术具有灵活调整卷组与逻辑卷的特点,卷组可以在创建时规定物理卷的数量,亦可以在后期使用vgextend命令进行扩展。
语法格式:vgextend [参数] 卷组
常用参数:
-d
调试模式
-t
仅测试
hdparm命令 – 显示与设定硬盘参数
hdparm命令来自于英文词组“hard disk parameters”的缩写,其功能是用于显示与设定硬盘参数。
语法格式:hdparm [参数] 设备名
常用参数:
-a
设定读取文件时,预先存入块区的分区数
-f
将内存缓冲区的数据写入硬盘,并清空缓冲区
-g
显示硬盘的磁轨,磁头,磁区等参数
-t
评估硬盘读取效率
-I
直接读取硬盘所提供的硬件规格信息
-X
设定硬盘的传输模式

文件传输

tftp命令 – 上传及下载文件
tftp命令来自于英文词组”Trivial File Transfer Protocol“的缩写,中文译为简单文件传输协议,其功能是基于TFTP协议进行的文件传输工作。用户可以通过文字模式将文件上传至远程服务器,亦可以从服务器下载文件到本地主机。
TFTP基于69/udp协议,不同于FTP文件传输协议,属于轻量级的传输服务,不具备显示文件列表、断点续传等功能。
语法格式:tftp [参数] 主机
常用参数:
connect
连接到远程tftp服务器
mode
文件传输模式
put
上传文件
get
下载文件
quit
退出
verbose
显示详细的处理信息
trace
显示包路径
status
显示当前状态信息
binary
二进制传输模式
ascii
ascii 传送模式
rexmt
设置包传输的超时时间
timeout
设置重传的超时时间
help
帮助信息
?
帮助信息
 
curl命令 – 文件传输工具
curl命令来自于英文词组”CommandLine URL“的缩写,其功能是用于在Shell终端界面中基于URL规则进行的文件传输工作。curl是一款综合的传输工具,可以上传也可以下载,支持HTTP、HTTPS、FTP等三十余种常见协议
语法格式:curl [参数] 网址
常用参数:
-o
指定新的本地文件名
-O
保留远程文件的原始名
-u
通过服务端配置的用户名和密码授权访问
-I
打印HTTP响应头信息
-u
指定登录账户密码信息
-A
设置用户代理标头信息
-b
设置用户cookie信息
-C
支持断点续传
-s
静默模式,不输出任何信息
-T
上传文件
 
fsck命令 – 检查与修复文件系统
fsck命令来自于英文词组“filesystem check”的缩写,其功能是用于检查与修复文件系统。若系统有过突然断电或磁盘异常的情况,建议使用fsck命令对文件系统进行检查与修复,以防数据丢失。
语法格式:fsck [参数] 文件系统
常用参数:
-a
自动修复文件系统
-f
强制检查
-A
依照/etc/fstab文件来检查全部文件系统
-N
不执行指令,仅列出实际执行会进行的动作
-r
采用互动模式,在执行修复时询问问题
-R
略过指定的文件系统不予检查
-t
指定要检查的文件系统类型
-T
执行fsck指令时,不显示标题信息
-V
显示指令执行过程
 
 
 
lprm命令 – 删除打印队列中的打印任务
lprm命令的英文全称是“Remove jobs from the print queue”,意为用于删除打印队列中的打印任务。尚未完成的打印机工作会被放在打印机贮列之中,这个命令可用来将未送到打印机的工作取消。
语法格式:lprm [参数] [任务编号]
常用参数:
-E
与打印服务器连接时强制使用加密
-P
指定接受打印任务的目标打印机
-U
指定可选的用户名
 
ftpwho命令 – 显示ftp会话信息
ftpwho命令用于显示当前所有以FTP登入的用户会话信息。
执行该命令可得知当前用FTP登入系统的用户有哪些人,以及他们正在进行的操作。
语法格式:ftpwho [参数]
常用参数:
-h
显示帮助信息
-v
详细模式,输出更多信息

网络通讯

ssh命令 – 安全的远程连接服务器
ssh命令的功能是用于安全的远程连接服务器主机系统,作为openssh套件中的客户端连接工具,ssh命令可以让我们轻松的基于ssh加密协议进行远程主机访问,从而实现对远程服务器的管理工作。
语法格式: ssh [参数] 远程主机
常用参数:
-1
强制使用ssh协议版本1
-2
强制使用ssh协议版本2
-4
强制使用IPv4地址
-6
强制使用IPv6地址
-A
开启认证代理连接转发功能
-a
关闭认证代理连接转发功能
-b<IP地址>
使用本机指定的地址作为对位连接的源IP地址
-C
请求压缩所有数据
-F<配置文件>
指定ssh指令的配置文件,默认的配置文件为“/etc/ssh/ssh_config”
-f
后台执行ssh指令
-g
允许远程主机连接本机的转发端口
-i<身份文件>
指定身份文件(即私钥文件)
-l<登录名>
指定连接远程服务器的登录用户名
-N
不执行远程指令
-o<选项>
指定配置选项
-p<端口>
指定远程服务器上的端口
-q
静默模式,所有的警告和诊断信息被禁止输出
-X
开启X11转发功能
-x
关闭X11转发功能
-y
开启信任X11转发功能
 
 
netstat命令 – 显示网络状态
netstat命令来自于英文词组”network statistics“的缩写,其功能是用于显示各种网络相关信息,例如网络连接状态、路由表信息、接口状态、NAT、多播成员等等。
netstat命令不仅应用于Linux系统,而且在Windows XP、Windows 7、Windows 10及Windows 11中均已默认支持,并且可用参数也相同。
语法格式:netstat [参数]
常用参数:
-a
显示所有连线中的Socket
-p
显示正在使用Socket的程序识别码和程序名称
-l
仅列出在监听的服务状态
-t
显示TCP传输协议的连线状况
-u
显示UDP传输协议的连线状况
-i
显示网络界面信息表单
-r
显示路由表信息
-n
直接使用IP地址,不通过域名服务器
 
dhclient命令 – 动态获取或释放IP地址
dhclient命令来自于英文词组“DHCP client”的缩写,其功能是用于动态获取或释放IP地址。使用dhclient命令前需要将网卡模式设置成DHCP自动获取,否则静态模式的网卡是不会主动向服务器获取如IP地址等网卡信息的。
语法格式:dhclient 参数 [网卡]
常用参数:
-p
指定dhcp客户端监听的端口号(默认端口号86)
-d
总是以前台方式运行程序
-q
安静模式,不打印任何错误的提示信息
-r
释放ip地址
-n
不配置任何接口
-x
停止正在运行的DHCP客户端,而不释放当前租约,杀死现有的dhclient
-s
在获取ip地址之前指定DHCP服务器
-w
即使没有找到广播接口,也继续运行
 
ping命令 – 测试主机间网络连通性
ping命令的功能是用于测试主机间网络连通性,发送出基于ICMP传输协议的数据包,要求对方主机予以回复,若对方主机的网络功能没有问题且防火墙放行流量,则就会回复该信息,也就可得知对方主机系统在线并运行正常了。
Linux与Windows相比有一定差异,Windows系统下的ping命令会发送出去4个请求后自动结束该命令;而Linux系统则不会自动终止,需要用户手动按下组合键“Ctrl+c”才能结束,或是发起命令时加入-c参数限定发送个数。
语法格式:ping [参数] 目标主机
常用参数:
-d
使用Socket的SO_DEBUG功能
-c
指定发送报文的次数
-i
指定收发信息的间隔时间
-I
使用指定的网络接口送出数据包
-l
设置在送出要求信息之前,先行发出的数据包
-n
只输出数值
-p
设置填满数据包的范本样式
-q
不显示指令执行过程
-R
记录路由过程
-s
设置数据包的大小
-t
设置存活数值TTL的大小
-v
详细显示指令的执行过程
 
ifconfig命令 – 显示或设置网络设备参数信息
ifconfig命令来自于英文词组”network interfaces configuring“的缩写,其功能是用于显示或设置网络设备参数信息。在Windows系统中与之类似的命令叫做ipconfig,同样的功能可以使用ifconfig去完成。
通常不建议使用ifconfig命令配置网络设备的参数信息,因为一旦服务器重启,配置过的参数会自动失效,还是编写到配置文件中更稳妥。
语法格式:ifconfig [参数] [网卡设备]
常用参数:
add<地址>
设置网络设备IPv6的IP地址
del<地址>
删除网络设备IPv6的IP地址
down
关闭指定的网络设备
up
启动指定的网络设备
IP地址
指定网络设备的IP地址
ipcalc命令 – 简单的IP地址计算器
ipcalc命令的全称是:Calculate IP information for a host(计算主机的IP信息),是一个简单的ip地址计算器,可以完成简单的IP地址计算任务。
语法格式:ipcalc [参数] [IP地址]
常用参数:
-b
由给定的IP地址和网络掩码计算出广播地址
-h
显示给定IP地址所对应的主机名
-m
由给定的IP地址计算器网络掩码
-p
显示给定的掩码或IP地址的前缀
-n
由给定的IP地址和网络掩码计算网络地址
-s
安静模式,不显示任何错误信息
--help
显示帮助信息
nslookup命令 – 域名查询
nslookup命令的英文全称为 “query Internet name server interactively ”。nslookup命令主要用来查询域名的DNS信息。在使用nslookup之前,先确保已经安装了它,nslookup属于bind-utils包下一个命令 。
nslookup有两种工作模式:“交互模式”和“非交互模式”。在命令行中直接输入nslookup,无需输入任何参数即进入交互模式,由“>”提示。
语法格式:nslookup [参数] [域名]
常用参数:
-sil
不显示任何警告信息
exit
退出命令
server
指定解析域名的服务器地址
set type=soa
设置查询域名授权起始信息
set type=a
设置查询域名A记录
set type=mx
设置查询域名邮件交换记录
 
 
 
 
wget命令 – 下载网络文件
wget命令来自于英文词组”web get“的缩写,其功能是用于从指定网址下载网络文件。wget命令非常稳定,一般即便网络波动也不会导致下载失败,而是不断的尝试重连,直至整个文件下载完毕。
wget命令支持如HTTP、HTTPS、FTP等常见协议,可以在命令行中直接下载网络文件。
语法格式: wget [参数] 网址
常用参数:
-V
显示版本信息
-h
显示帮助信息
-b
启动后转入后台执行
-c
支持断点续传
-O
定义本地文件名
-e <命令>
执行指定的命令
--limit-rate=<速率>
限制下载速度

设备管理

mount命令 – 把文件系统挂载到目录
mount命令的功能是用于把文件系统挂载到目录,文件系统指的是被格式化过的硬盘或分区设备,进行挂载操作后,用户便可以在挂载目录中使用硬盘资源了。
默认情况下Linux系统并不会像Windows系统那样自动的挂载光盘和U盘设备,需要自行完成。
语法格式:mount [参数] [设备] [挂载点]
常用参数:
-t
指定挂载类型
-l
显示已加载的文件系统列表
-h
显示帮助信息并退出
-V
显示程序版本
-n
加载没有写入文件“/etc/mtab”中的文件系统
-r
将文件系统加载为只读模式
-a
加载文件“/etc/fstab”中描述的所有文件系统
lspci命令 – 显示当前设备PCI总线设备信息
lspci命令来自于英文词组“list PCI”的缩写,其功能是用于显示当前设备PCI总线设备信息。
语法格式:lspci [参数]
常用参数:
-n
以数字方式显示PCI厂商和设备代码
-t
以树状结构显示PCI设备的层次关系
-b
以总线为中心的视图
-s
仅显示指定总线插槽的设备和功能块信息
-i
指定PCI编号列表文件,不使用默认文件
-m
以机器可读方式显示PCI设备信息
sensors命令 – 检测服务器硬件信息
sensors命令用于检测服务器硬件信息,例如CPU电压与温度、主板、风扇转速等数据。
语法格式sensors
参考实例
检查当前CPU处理器得电压和温度信息
MAKEDEV命令 – 建立设备
MAKEDEV是一个脚本程序, 用于在 /dev 目录下建立设备, 通过这些设备文件可以 访问位于内核的驱动程序。
MAKEDEV 脚本创建静态的设备节点,通常位于/dev目录下。
语法格式:MAKEDEV [参数]
常用参数:
-v
显示出执行的每一个动作
-n
并不做真正的更新, 只是显示一下它的执行效果
-d
删除设备文件
setleds命令 – 设定键盘上方三个 LED 的状态
setleds即是英文词组“set leds”的合并,翻译为中文就是设置LED灯。setleds命令用来设定键盘上方三个 LED 灯的状态。在 Linux 中,每一个虚拟主控台都有独立的设定。
这是一个十分神奇的命令,竟然可以通过命令来控制键盘的灯的状态。那么下面我一起来学习一下这个命令吧。
语法格式:setleds [参数]
常用参数:
-F
设定虚拟主控台的状态
-D
改变虚拟主控台的状态和预设的状态
-L
直接改变 LED 显示的状态
+num/-num
将数字键打开或关闭
+caps/-caps
把大小写键打开或关闭
+scroll /-scroll
把选项键打开或关闭
 

备份压缩

zip命令 – 压缩文件
zip命令的功能是用于压缩文件,解压命令为unzip。通过zip命令可以将文件打包成.zip格式的压缩包,里面会附含文件的名称、路径、创建时间、上次修改时间等等信息,与tar命令相似。
语法格式:zip 参数 文件
常用参数:
-q
不显示指令执行过程
-r
递归处理,将指定目录下的所有文件和子目录一并处理
-z
替压缩文件加上注释
-v
显示指令执行过程或显示版本信息
-d
更新压缩包内文件
-n<字尾字符串>
不压缩具有特定字尾字符串的文件
unzip命令 – 解压缩zip格式文件
unzip命令用于解压缩zip格式文件,虽然Linux系统中更多的使用tar命令进行对压缩包的管理工作,但有时也会收到同Windows系统常用的.zip和.rar格式的压缩包文件,unzip格式便派上了用场。直接使用unzip命令解压缩文件后,压缩包内原有的文件会被提取并输出保存到当前工作目录下。
语法格式:unzip [参数] 压缩包
常用参数:
-l
显示压缩文件内所包含的文件
-v
执行时显示详细的信息
-c
将解压缩的结果显示到屏幕上,并对字符做适当的转换
-n
解压缩时不要覆盖原有的文件
-j
不处理压缩文件中原有的目录路径
zipinfo命令 – 查看压缩文件信息
zipinfo命令来自于英文词组“zip information”的缩写,其功能是用于查看压缩文件信息。zipinfo命令可以查看zip格式压缩包内的文件列表及详细信息。
语法格式:zipinfo [参数] 压缩包
常用参数:
-1
只列出文件名称
-h
只列出压缩文件名称
-l
列出原始文件的大小
-m
列出每个文件的压缩率
-M
以分页形式显示内容
-s
列出压缩文件内容
-t
列出压缩前后大小及压缩率
-T
列出每个文件的日期时间
-v
详细显示每一个文件的信息
-x<范本样式>
不列出符合条件的文件的信息
-z
将注释显示出来
gzip命令 – 压缩和解压文件
gzip命令来自于英文单词gunzip的缩写,其功能是用于压缩和解压文件。gzip是一款使用广泛的压缩工具,文件经过压缩后一般会以.gz后缀结尾,与tar命令合用后即为.tar.gz后缀。
据统计,gzip命令对文本文件的压缩比率通常能达到60%~70%,压缩后可以很好的提升存储空间的使用率,还能够在网络传输文件时减少等待时间。
语法格式:gzip [参数] 文件
常用参数:
-a
使用ASCII文字模式
-d
解开压缩文件
-f
强行压缩文件
-k
保留原文件
-l
列出压缩文件的相关信息
-c
把压缩后的文件输出到标准输出设备,不去更动原始文件
-r
递归处理,将指定目录下的所有文件及子目录一并处理
-q
不显示警告信息
 
gunzip命令 – 解压提取文件内容
gunzip命令来自于英文词组”Gnu unzip“的缩写,其功能是用于解压提取文件内容。gunzip通常被用来解压那些被基于gzip格式压缩过的文件,也就是那些.gz结尾的压缩包。
语法格式:gunzip [参数] 压缩包
常用参数:
-a
使用ASCII文字模式
-c
把解压后的文件输出到标准输出设备
-f
强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接
-h
在线帮助
-l
列出压缩文件的相关信息
-L
显示版本与版权信息
-n
解压缩时,若压缩文件内含有远来的文件名称及时间戳记,则将其忽略不予处理
-N
解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上
-q
不显示警告信息
-r
递归处理,将指定目录下的所有文件及子目录一并处理
-S<压缩字尾字符串>
更改压缩字尾字符串
-t
测试压缩文件是否正确无误
-v
显示指令执行过程
-V
显示版本信息
tar命令 – 压缩和解压缩文件
tar命令的功能是用于压缩和解压缩文件,能够制作出Linux系统中常见的.tar、.tar.gz、.tar.bz2等格式的压缩包文件。对于RHEL7、CentOS7版本以后的系统,解压时可以不加压缩格式参数(如z或j),系统能自动进行分析并解压。
把要传输的文件先进行压缩再进行传输,能够很好的提高工作效率,方便分享。
语法格式:tar 参数 文件或目录
常用参数:
-A
新增文件到以存在的备份文件
-B
设置区块大小
-c
建立新的备份文件
-C <目录>
仅压缩指定目录里的内容或解压缩到指定目录
-d
记录文件的差别
-x
从归档文件中提取文件
-t
列出备份文件的内容
-z
通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz
-Z
通过compress指令处理备份文件
-f<备份文件>
指定备份文件
-v
显示指令执行过程
-r
添加文件到已经压缩的文件
-u
添加改变了和现有的文件到已经存在的压缩文件
-j
通过bzip2指令压缩/解压缩文件,文件名最好为*.tar.bz2
-v
显示操作过程
-l
文件系统边界设置
-k
保留原有文件不覆盖
-m
保留文件不被覆盖
-w
确认压缩文件的正确性
-p
保留原来的文件权限与属性
-P
使用文件名的绝对路径,不移除文件名称前的“/”号
-N <日期格式>
只将较指定日期更新的文件保存到备份文件里
-- -exclude=<范本样式>
排除符合范本样式的文件
-- -remove-files
归档/压缩之后删除源文件

其他命令

man命令 – 查看帮助信息
man命令来自于英文单词manual的缩写,中文译为帮助手册,其功能是用于查看命令、配置文件及服务的帮助信息。一份完整的帮助信息包含以下信息:
结构名称
代表意义
NAME
命令的名称
SYNOPSIS
参数的大致使用方法
DESCRIPTION
介绍说明
EXAMPLES
演示(附带简单说明)
OVERVIEW
概述
DEFAULTS
默认的功能
OPTIONS
具体的可用选项(带介绍)
ENVIRONMENT
环境变量
FILES
用到的文件
SEE ALSO
相关的资料
HISTORY
维护历史与联系方式
语法格式:man [参数] 对象
常用参数:
-a
在所有的man帮助手册中搜索
-d
检查新加入的文件是否有错误
-f
显示给定关键字的简短描述信息
-p
指定内容时使用分页程序
-M
指定man手册搜索的路径
-w
显示文件所在位置
快捷键:
q
退出
Enter
按行下翻
Space
按页下翻
b
上翻一页
/字符串
在手册页中查找字符串
cal命令 – 显示日历
cal命令的名字来自英语单词“Calendar”。改命令用来显示当前日历,或者指定日期的公历。如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份 。
语法格式:cal [参数] [月份] [年份]
常用参数:
-l
单月分输出日历
-3
显示最近三个月的日历
-s
将星期天作为月的第一天
-m
将星期一作为月的第一天
-j
显示在当年中的第几天(儒略日)
-y
显示当年的日历
date命令 – 显示或设置系统日期与时间
date命令来自于英文单词的时间、时钟,其功能是用于显示或设置系统日期与时间信息。运维人员可以根据想要的格式来输出系统时间信息,时间格式MMDDhhmm[CC][YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数。
语法格式:date [选项] [+输出形式]
常用参数:
-d datestr
显示 datestr 中所设定的时间 (非系统时间)
-s datestr
将系统时间设为 datestr 中所设定的时间
-u
显示目前的格林威治时间
--help
显示帮助信息
--version
显示版本编号
hash命令 – 管理命令运行时查询的哈希表
hash命令来自于英文词组“Hash Algorithm”的缩写,中文译为哈希算法或杂凑算法,其功能是用于管理命令运行时查询的哈希表。hash命令可以显示与删除命令运行时系统查询的哈希表信息,如果不加任何参数,则会默认输出路径列表的信息,这份列表会包含先前hash命令调用找到的Shell环境中命令的路径名。
语法格式: hash [参数] [目录]
常用参数:
-d
在哈希表中清除记录
-l
显示哈希表中的命令
-p<指令>
将具有完整路径的命令加入到哈希表中
-r
清除哈希表中的记录
-t
显示哈希表中命令的完整路径
wait命令 – 等待指令执行完毕
wait命令的功能是用于等待指令执行完毕,常被用于Shell脚本中,用于等待某个指令执行结束后返回终端,然后才会继续执行后面的指令。
例如有个服务进程PID为12345,那么此时可以用“wait 12345”来持续等待此进程的结束,一旦进程结束则会将返回值输出到终端界面。
语法格式:wait 进程号/作业号
常用参数:
NUM 或%NUM
进程号 或 作业号
bc命令 – 数字计算器
bc命令来自于英文词组“Binary Calculator”的缩写,中文译为二进制计算器,其功能是用于数字计算。Bash解释器仅能够进行整数计算,而不支持浮点运算,因此有时要用到bc命令进行高精度的数字计算工作。
语法格式:bc [选项]
常用参数:
-i
强制进入交互式模式
-l
定义使用的标准数学库
-w
定义使用的标准数学库
-q
打印正常的GNU bc环境信息
history命令 – 显示与管理历史命令记录
history命令来自于英文单词历史,其功能是用于显示与管理历史命令记录。Linux系统默认会记录用户所执行过的所有命令,可以使用history命令查阅它们,也可以对其记录进行修改和删除操作。
语法格式: history [参数]
常用参数:
-a
写入命令记录
-c
清空命令记录
-d
删除指定序号的命令记录
-n
读取命令记录
-r
读取命令记录到缓冲区
-s
将指定的命令添加到缓冲区
-w
将缓冲区信息写入到历史文件
type命令 – 显示指定命令的类型
type命令用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。
语法格式:type [参数] [命令]
常用参数:
lias
别名
keyword
关键字,Shell保留字
function
函数,Shell函数
builtin
内建命令,Shell内建命令
file
文件,磁盘文件,外部命令
unfound
没有找到
  • 计算机基础
  • Linux
  • Bash和ShellVim编辑器
    目录