导图社区 linux常用命令
玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最需要的即可。
编辑于2022-06-26 18:06:55linux常用命令
帮助命令
帮助命令:--help
命令手册:-man
查询一个命令执行什么功能:whatis
路径切换及查看
切换路径:cd
查看当前路径:pwd
查看路径下的文件:ls
-l:显示文件的全部信息
-a:显示所有文件,包括隐藏文件
-h:按易读形式显示大小
-i:显示节点号
查找文件:find
find(搜索范围)(匹配条件)
同时使用多个查找条件时,各表达式之间可以使用逻辑运算符“-a”、“-o”,分别表示而且(and)、或者(or)
-name:按名称查找
根据目标文件的名称进行查找,允许使用“*”及“?”通配符
-size:按文件大小查找
一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件。常用的容量单位包括kB(注意k是小写)、MB、GB
-user:按文件属主查找
-type:按文件类型查找
类型指的是普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等
文件&目录操作
文件&目录基本操作
新增、创建文件:touch
创建目录:mkdir
-p:递归创建
创建连接:ln
ln-s 软链接:类似Windows的快捷方式 删除原文件,则链接失效 ln 硬链接:删除原文件不影响链接
-b :删除,覆盖以前建立的链接
-d :允许root用户创建目录的硬链接
-f :强制执行
-i :如果文件已存在则询问是否覆盖
删除空目录:rmdir
-p :递归删除
删除:rm
-i:删除前逐一询问
-f:不询问直接删除
-r:删除目录
复制:cp
-f:覆盖且不询问
-i:覆盖前询问
-p:除复制文件内容外,还把修改时间和访问权限也复制到新文件中
-r:若复制的是目录则同时复制该目录下的所有子目录和文件
文件重命名移动:mv
-b:在覆盖前创建备份
-i:覆盖前询问
-f:覆盖前不询问
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作
-n:不覆盖任何已存在的文件或目录
以树状图列出目录的内容:tree
-a :显示所有文件和目录
-C :在文件和目录清单加上色彩,便于区分各种类型
-d :显示目录名称而非内容
-L :限制目录显示层级
-f :在每个文件或目录之前,显示完整的相对路径名称
n 不在文件和目录清单加上色彩
文件备份&解压
查看压缩文件信息:zipinfo
压缩文件:gzip
只能压缩文件,不保留源文件 后缀:.gz
-d:解压文件#gzip -d (文件名.gz)
打包同时压缩:tar
能压缩文件和目录,保留原文件 后缀:.tar.gz
-czvf:压缩文件,非打包#tar -czvf (压缩后的文件名)(原文件名)
-tzvf:列出压缩文件内容
-xzvf:解压文件
-zcf:打包
-zxf:解包
压缩文件或目录:zip
能压缩文件和目录,保留原文件 后缀:zip(Windows能识别)
-r:压缩文件
unzip:解压文件或目录【非参数】
文件传输
上传:rz
下传:sz
文件目录权限设置:chmod
(r=4 w=2 x=1)
-R:对目标目录下的文件与子目录进行相同的权限变更
更改文件所有者:chown
chown <参数><用户、:组> <文件>
-R : 处理指定目录以及其子目录下的所有文件
-h :只对符号连接的文件作修改,而不更改其他任何相关文件
[:group] :group =新的文件拥有者的使用者组
变更文件或目录的所属群组:chgrp
允许普通用户改变文件所属的组,只要该用户是该组的一员
-c :效果类似"-v"参数,但仅回报更改的部分
-v :显示指令执行过程
-R : 处理指定目录以及其子目录下的所有文件
-h :只对符号连接的文件作修改,而不更改其他任何相关文件
文本操作
查看文本内容
cat
-n:显示行数编号
-d:显示行数编号,忽略空白行
less
(会以一页一页的形式显示)
-e :当文件显示结束后,自动离开
-f :强制打开特殊文件,例如外围设备代号、目录和二进制文件
-g :只标志最后搜索的关键词
-i :忽略搜索时的大小写
/字符串 :向下搜索"字符串"的功能
?字符串 :向上搜索"字符串"的功能
n :重复前一个搜索(与 / 或 ? 有关)
b :向上翻一页
d :向后翻半页 h :显示帮助界面 Q :退出less 命令 u :向前滚动半页 y :向前滚动一行 空格键 :滚动一页 回车键 :滚动一行 [pagedown]: 向下翻动一页 [pageup]: 向上翻动一页
more
(会以一页一页的形式显示)
-num:一次显示的行数
-d:消除错误提示音,改文字提示
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏 空格键 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 V 调用vi编辑器 ! 命令 调用Shell,并执行命令 q 退出more
文本编辑
文本编辑:vi
文本编辑:vim
追加:>>
将输入的内容追加在原文本末尾
可单独使用或配合cat使用#cat (文本1) (文本2)>> (文本3)
覆盖:>
输入的内容替换原文本
文本内容筛选过滤
查找文件里符合条件的字符串:grep
grep <参数> '字符串、正则表达式' (文件名)
-n:在显示符合样式的那一行之前,标示出该行的列数编号
-i:忽略大小写
-d:查找目录
利用脚本来处理文本文件:sed
#sed -n '2p'【显示第2行】 sed 's#^.
n ##g'|sed 's# m. $##g' 【查找以n开头,m结尾的内容】
-e:以选项中指定的脚本来处理输入的文本文件
-f:以选项中指定的脚本文件来处理输入的文本文件
-n:仅显示脚本处理后的结果
动作说明
a :新增,a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)
#sed (行数)a (内容) (文件名)
c :取代,c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行
#sed (行数)c (内容) (文件名)
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起使用
awk
-F :指定输入分隔符
# ifconfig |grep "inet"|sed -n '1p' |awk -F " " '{print $2}'
网络配置信息,查找带“inet”字符,的第'1p'一行,以“空格”为分隔符,打印第2列
显示每行从开头算起 n到 m的文字:cut
从n到m:n-m、从开头到m:-m、从n到结尾:n-
-b :以字节为单位进行分割
-c :以字符为单位进行分割
-d :自定义分隔符,默认为制表符
-f :与-d一起使用,指定显示哪个区域
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的列表参数指示的范围之内,该字符将被写出;否则,该字符将被排除
查看文件开头部分的内容:head
-q :隐藏文件名
-v :显示文件名
-c :<数目> 显示的字节数
-n :<行数> 显示的行数
查看文件开头部分的内容:tail
参数 -f常用于查阅正在改变的日志文件
-f :循环读取
-s :睡眠间隔=S 与-f合用,表示在每次反复的间隔休眠S秒
--pid :与-f合用,表示在进程ID,死掉之后结束
-q :不显示处理信息
-v :显示详细的处理信息
-c :<数目> 显示的字节数
-n :<行数> 显示文件的尾部 n 行内容
# ifconfig |head -n 2 |tail -n 1|cut -b 14-27
网络配置信息,前2行,中的后1行,中第14至27个字符
过滤控制字符:col
-b :过滤掉所有的控制字符,包括RLF和HRLF
-f :滤除RLF字符,但允许将HRLF字符呈现出来
-x :以多个空格字符来表示跳格字符
-l :<缓冲区列数> 预设的内存缓冲区有128列
文本内容处理
分割文件:spit
#spit <参数>(要切割的文件)(输出文件名)
-<行数> : 指定每多少行切成一个小文件
#spit -10 text.txt 将text.txt每10行分割成一个小文件
-b<字节> : 指定每多少字节切成一个小文件
检查及删除文本文件中重复出现的行列:uniq
-c :在每列旁边显示该行重复出现的次数
-d :仅显示重复出现的行列
-u :仅显示出一次的行列
文本文件内容加以排序:sort
#sort <参数> [-o<输出文件>] [+<起始栏位>-<结束栏位>] 文件 【-k<列数>】
-b :忽略每行前面开始出的空格字符
子主题2
-d :排序时,处理英文字母、数字及空格字符外,忽略其他的字符
-i :排序时,除了040至176之间的ASCII字符外,忽略其他的字符
-f :排序时,将小写字母视为大写字母
-m :将几个排序好的文件进行合并
-M :将前面3个字母依照月份的缩写进行排序
-n :依照数值的大小排序
-u :输出结果去重,类似(unique)
-o<输出文件> :将排序后的结果存入指定的文件
-r :以相反的顺序来排序
+<起始栏位>-<结束栏位> :以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位
[-k <列数>] 按指定的列进行排序
合并文件的列:paste
paste <参数> <文件名>
-s :将一个文件中的多行数据合并为一行进行显示
用户组&用户
用户的增删改
新增用户:useradd
使用 useradd 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中
-c<备注> :备注文字会保存在passwd的备注栏位中
-d<登入目录> :指定用户登入时的起始目录
-e<有效期限> :指定帐号的有效期限(格式为 YYYY-MM-DD)
-f<缓冲天数> :指定在密码过期后多少天即关闭该帐号
-g<群组> :指定用户所属的群组
-m :自动建立用户的登入目录
-M :不要自动建立用户的登入目录
-r :建立系统帐号
-u
:指定用户ID