Linux常用命令分类汇总(上)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令分类汇总(上)相关的知识,希望对你有一定的参考价值。
Linux常用命令分类汇总
(本文所有命令适用于redhat和centos发行版5.x和6.x版本)
由于本篇文章整理时间比较久,篇幅比较长,博客无法一次性以一篇文章发布,请谅解!
1、文件管理和字符处理命令
命令名称及用法 | 选项 | 选项作用 |
ls 语法:ls 选项 文件或目录 | -a | 显示所有文件,包括隐藏文件 |
-l | 以长格式显示(详细信息) | |
-d | 查看目录属性,不显示目录下内容 -ld | |
-h | 文件大小显示为常见大小单位 | |
-i | 显示文件inode号 | |
cd 语法:cd 目录 | ~ | 进入当前用户的家目录 |
- | 进入上次目录 | |
.. | 进入上一级目录 | |
pwd 语法:pwd | 无 | 显示当前目录路径 |
mkdir 语法:mkdir 目录名 | -p | 递归创建目录 |
-v | 显示创建过程 | |
tree 语法:tree 目录 | 无 | 显示目录树 |
touch 语法:touch 文件 | 无 | 创建空文件 |
cp 语法:cp 源文件或目录 目标目录 | -r | 复制目录 |
-p | 保留文件属性 | |
-a | -a相当于-rp | |
mv 语法:mv 源文件或目录 目标目录 | 无 | 剪切、改名 |
rm 语法:rm 选项 文件或目录 | -r | 删除目录 |
-f | 强制执行 | |
rmdir 语法:rmdir 空目录 | 无 | 只能用来删除目录 |
cat 语法:cat 文件名 | -n | 显示内容并列出行号 |
-b | 和 -n 相似,只不过对于空白行不编号。 | |
more 语法:more 文件名 | 空格 | 向下翻页 |
B | 向上翻页 | |
Enter | 换行 | |
q或Q | 退出 | |
head 语法:head 选项 文件名 | -n 行数 | 显示文件前n行 |
-c字节数 | 显示字节数显示字节数 | |
tail 语法:tail 选项 文件名 | -n 行数 | 显示文件最后n行 |
-f | 实时监控文件尾部变化 | |
less 语法:less 选项 文件名 | 空格 | 向下翻页 |
B | 向上翻页 | |
Enter | 换行 | |
q或Q | 退出 | |
/关键词 | more能使用的四个选项less都能使用,less和more的区别在于less在 显示文件内容的时候支持查找关键词 | |
ln 语法:ln 源文件 目标文件 | 无 | 不加选项,创建硬链接 |
-s | 创建软链接 | |
不管创建哪种链接,源文件的位置必须写绝对路径。 | ||
diff 语法:diff 选项 文件1 文件2 (文件或目录的对比命令) | -行数 | 指定要显示多少行的文本。此参数必须与-c或-u参数一并使用 |
-a | 将任何文档当做文本文档处理 | |
-b | 忽略空格造成的不同 | |
-B | 忽略空白行造成的不同 | |
-y | 以并列的方式显示文件的异同之处 | |
-w | 忽略全部的空格字符 | |
-W 列宽 | 指定-y时设置列的宽度,默认是130 | |
-x文件名 | 不比较选项中所指定的文件或目录 | |
-I | 忽略大小写造成的不同 | |
-r | 当比较目录时,递归比较子目录 | |
-q | 仅显示有无差异,不显示详细信息,这在比较两个目录的时候很好用 | |
-u | 使用统一的输出格式 | |
-N | 当比较两个目录时,如果某个文件只在一个目录中,则在另一个目录中视作空文件 | |
vimdiff | 无 | 分成两列并排显示对比的文件不同 |
rename 语法:rename 要修改的字符 修改后的字符 需要修改的文件 | 无 | 用字符串替换的方式批量改变文件名 |
stat 语法:stat 选项 文件或目录 | 无 | 用于显示文件或文件系统的详细信息 |
-f | 不显示文件本身的信息,显示文件所在文件系统的信息 | |
-t | 简洁模式,只显示摘要信息 | |
md5sum 语法:md5sum 选项 文件名 (用于生成和校验文件的md5值) | -b | 以二进制模式读入文件内容 |
-t | 以文本模式读入文件内容 | |
-c | 根据已生成的md5值,对现存文件进行校验 | |
paste 语法:paste 选项 文件1 文件2 (可以把多个文件合并 ) | -d | 指定两个文件的行合并后的分割符 |
-s | 将每个文件合并为一行,而不是按行进行合并 | |
nl 语法:nl 选项 文件名 | -ba | 不管是否空行都列出行号(类似 cat -n) |
-bt | 空的那一行不要列出行号(默认值) | |
-nln | 行号在萤幕的最左方显示 | |
-nrn | 行号在栏位的最右方显示,且不加 0 | |
-nrz | 行号在栏位的最右方显示,且加 0 | |
-w | 行号栏位的占用的位数 | |
-p | 在逻辑定界符处不重新开始计算 | |
wc 语法:wc 选项 文件名 | -l | 统计行数 |
-w | 统计单词数(字符串) | |
-c | 统计字数(字符) | |
-m | 只统计字符数 | |
sort 语法:sort 选项 文件名 (排序命令) | -f | 忽略大小写 |
-b | 忽略每行前的空白部分 | |
-n | 以数值型进行排序,默认使用字符串类型排序 | |
-r | 反向排序 | |
-u | 删除重复行(=下面的 uniq) | |
-t分隔符 | 指定分隔符,默认分割符是制表符 | |
-k n,m | 按照指定字段范围排序,从 n 字段开始到 m 字段结束 | |
uniq 语法:uniq 选项 文件名 (取消重复行) | -i | 忽略大小写字符的不同 |
-c | 进行相同行数计数 | |
-u | 只显示唯一的行 | |
seq 语法:seq 选项 尾数 seq 选项 首数 尾数 seq 选项 首数 增量 尾数 (用于产生从某个数到另外一个数之间的所有整数) | -f | 使用printf 样式的浮点格式 |
-s | 使用指定字符串分隔数字(默认:\n) | |
-w | 在列前添加0 使得宽度相同 | |
read 语法:read 选项 变量名 (接收键盘输入) | -p 提示 | 在 read 等待时显示的信息 |
-t 秒数 | read 等待的秒数 | |
-n字符数 | read 最多能接收的字符数 | |
-s | 隐藏输入信息,输入密码时使用 | |
echo 语法:echo 选项 输出内容 | -e | 支持反斜线控制的字符转换 |
-n | 取消输出后行尾的换行符号 | |
cut 语法:cut 选项 文件名 | -f 列号 | 提取第几列 |
-d分隔符 | 按照指定的分割符进行分割 | |
-c字符范围 | 不依赖分割符来分割,而是通过字符范围进行字段提取 | |
grep 语法:grep 选项 关键词 文件名 (行提取命令) | -A 数字 | 列出符合条件的行和后续 n 行 |
-B 数字 | 列出符合条件的行和前面 n 行 | |
-c | 统计符合条件的字符串的个数 | |
-i | 忽略大小写 | |
-n | 输出行号 | |
-v | 反向查找(取反) | |
--color=auto | 搜索出的关键词高亮显示 | |
-o | 只输出文件中匹配到的部分。 | |
-E | 能使用扩展正则表达式。同egrep | |
awk 语法:awk‘条件1{动作1} 条件 2{动作2} ……’文件名 | -F | 指定分隔符 |
-f | 调用脚本 | |
-v | 定义变量 | |
$0 | 表示当前读入行的整行数据 | |
$1 | 每行第一个字段 | |
$n | 目前读入行的第n个字段 | |
NF | 当前行拥有的字段(列)总数 | |
NR | 当前awk所处理的行是总数据的第几行 | |
FS | 用户定义分隔符,默认为空格,等于-F | |
sed 语法:sed 选项 文件名 (主要是来进行数据选取,替换,删除,新增的命令) 动作命令:a 追加 c 行替换 i 插入 d 删除 p 打印 ‘s/旧字符/新字符/g’ 字符替换 例:隔2行输出文件内容 sed -n ‘1~3p‘ 1.TXT | -n | 只会把经过 sed 命令处理的行输出到屏幕 |
-e | 允许对输入数据应用多条 sed 命令编辑 | |
-f 脚本文件 | 从 sed 脚本中读入 sed 操作。和 awk 命令的-f 非常类似。 | |
-r | 在 sed 中支持扩展正则表达式。 | |
-i | 直接修改读取的文件内容 |
2、文本编辑器vim的使用
文本编辑器vim的使用 | |
内部命令 | 命令作用 |
a | 在光标所在字符后插入 |
A | 在光标所在行尾插入 |
i | 在光标所在字符前插入 |
I | 在光标所在行首插入 |
o | 在光标所在行下面插入新行 |
O | 在光标所在行上面插入新行 |
:w | 保存 |
:q | 不保存退出 |
:wq | 保存退出 |
:q! | 不保存强制退出 |
:wq! | 保存并强制退出 |
:w 文件名 | 另存为 |
hjkl←↑→↓ | 移动光标 |
gg | 把光标移动到文件开头 |
G | 把光标移动到文件结尾 |
^ | 把光标移动到行首 |
$ | 把光标移动到行尾 |
:n | 把光标移动到第几行 |
x | 删除单个字母 |
nx | 删除n个字母 |
dd | 删除或剪切当前行 |
:n1,n2d | 删除或剪切指定范围的行 |
ndd | 删除或剪切当前行至下面的n行 |
p(小写) | 粘贴之前复制或剪切的行到当前行下面 |
P(大写) | 粘贴之前复制或剪切的行到当前行上面 |
yy | 复制当前行 |
nyy | 复制当前行至下面的n行 |
u | 撤销之前的操作 |
ctrl+r | 反撤销操作 |
r | 替换光标所在的字符 |
R | 从光标所在处开始向右替换,按ESC结束 |
:set nu | 显示行号 |
:set nonu | 取消显示行号 |
:syntax off | 字符颜色显示关闭 |
:syntax on | 字符颜色显示打开 |
/查找的内容 | n查找下一个,N查找上一个 |
:n1,n2s/旧字符/新字符/g | 指定行范围进行字符替换 |
:%s/旧字符/新字符/g | 整个文件范围内替换字符 |
:1,5s/^/#/g | 给1~5行添加注释 |
:r !命令 | 把命令输出结果写入光标所在行 |
:r !date | 把当前系统时间添加到光标所在行 |
:r 文件名 | 导入其他文件内容 |
:!命令 | 在vim中执行系统命令 |
:map 快捷键 执行的命令 | 设置快捷键执行命令; 当输入ctrl+p快捷键时,执行在行首加入#注释 例::map ^P I#<ESC> |
:ab 源字符 替换为字符 | 设置替换字符方便使用 例:把163设置为我163邮箱地址 :ab 163 [email protected] |
3、权限管理命令
命令名称及用法 | 选项 | 选项作用 |
chmod 语法:chmod 权限 文件名 权限r、w、x分别用数值表示为4、2、1 (修改文件或目录的权限) 注意: setUID权限用数字表示为4 setGID权限用数字表示为2 Sticky BIT权限用数字表示为1 (Sticky BIT简称为SBIT) 如果使用数值给目录或文件赋予特殊权限,只需将特殊权限对应的数值加到普通权限前面即可,例如:4755就代表设置权限的文件拥有setUID权限
| ugo+rwx | 给所有者、所属组、其他人添加读、写、执行权限 |
-a | 表示所有者、所属组和其他人 | |
777 | 代表所有者、所属组、其他人都拥有所有权限 | |
-R | 递归修改目录下子选项的权限 | |
u+s u-s 4xxx | SetUID权限(文件) 当一个具有执行权限的文件设置SetUID权限后,用户执行这个文件时将以文件所有者的身份执行 | |
g+s g-s 2xxx | SetGID权限(文件和目录) 命令在执行程序的时候,组身份升级为该程序文件的属组 | |
o+t o-t 1xxx | Sticky BIT权限(仅针对目录有效) 目录赋予了粘着位,除了root可以删除所有文件,普通用户就算拥有w权限,也只能删除自己建立的文件,但是不能删除其他用户建立的文件。
| |
chown 语法:chmod 用户:用户组 文件名 (修改文件或目录的属主和属组)
| -R | 递归修改目录下子选项的所有者和所属组 |
chgrp 语法:chgrp 用户组 文件或目录 (改变文件或目录的所属组) | -R | 递归修改目录下子选项的所属组 |
umask 语法:umask 权限值 | 无 | 显示和设置默认掩码值 |
setfacl 语法:setfacl 选项 {u:username:rwx} 文件或目录
前五个例子使用的u均可换成g,然后实现特殊组对文件的ACL权限
| -m | 添加ACL权限 例:setfacl –m u:u1:rwx a.txt 添加u1用户对a.txt文件的rwx权限 |
m | 设置最大有效权限mask(目录) 例:setfacl -m m:rx cc 为cc目录添加默认最大权限为rx,其他ACL权限不得超出此权限 | |
-x | 删除某项ACL权限 例:setfacl -x u:u1 a.txt 删除u1用户在a.txt文件上的ACL权限 | |
-b | 清空所有ACL权限 例:setfacl -b a.txt #清空在a.txt文件上的所有ACL权限 | |
-R | 实现目录上ACL权限的递归 例:setfacl -R –m u:u2:rwx aa 添加u1用户对aa目录以及目录内子选项的rwx权 | |
d | 设置默认ACL权限 例:setfacl -m d:u:u3:rwx bb 添加u3用户对目录bb的rwx权限,并且在bb目录里新建的文件u3用户都有rwx权限 | |
setfacl –m d:u:u3:rwx bb setfacl -R –m u:u3:rwx bb 第一条设置默认权限,第二条递归设置ACL权限 | ||
visudo和/etc/sudoer (使用visudo编辑/etc/sudoer文件) | 无 | 给普通用户授予超级管理员的部分权限 zhangsan ALL=(root) /sbin/shutdown –r now 授权zhangsan用户可以重启服务器 |
chattr 语法:chattr [+-=] [选项] 文件或目录 | +-=i | 对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件 |
+-=a | 对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除 | |
lsattr 语法:lsattr 选项 文件名 | -a | 显示所有文件和目录的属性 |
-d | 若目标是目录,仅列出目录本身属性 |
4、用户管理命令
命令名称及用法 | 选项 | 选项作用 |
useradd 语法:useradd 选项 用户名 (创建用户) | -u UID | 指定 UID 创建用户 |
-g 组名 | 指定初始组,尽量不要手动指定 | |
-G 组名 | 指定附加组,将用户加入到所指定组内。 | |
-c 说明 | 添加描述信息 | |
-d 目录 | 手动指定家目录,目录不需要事先创建 | |
-s shell 类型 | 指定用户是否能登录系统 | |
-M | 创建时不生成用户家目录 | |
passwd 语法:passwd 用户名 (给用户设置密码或修改密码) | -l 用户名 | 锁定用户的密码,使之无法登录到系统 |
-u 用户名 | 解锁用户密码 | |
-S 用户名 | 查看用户帐号的状态(是否被锁定) | |
usermod 语法:usermod 选项 用户名 (用户信息修改) | -u UID | 修改用户的指定 UID |
-g 组名 | 修改用户的指定初始组(尽量不修改) | |
-G 组名 | 修改用户的附加组(不管之前设置了多少附加组,都替换掉) | |
-c 说明 | 修改用户的描述信息 | |
-d 目录 | 结合 -m 选项直接对源家目录进行改名实现修改家目录 | |
-s shell 类型 | 修改用户的登录 shell 类型 | |
-L 用户名 | 锁定用户的密码 | |
-U 用户名 | 解锁用户密码 | |
-l 新用户 旧用户名 | 修改用户名 | |
userdel 语法:userdel 选项 用户名 | -r | 删除用户时,连带家目录一起删除 |
groupadd 语法:groupadd 组名 | 无 | 添加组 |
groupdel 语法:groupdel 组名 | 无 | 删除组 |
gpasswd 语法:gpasswd 选项 用户名 组名
| -a | 向指定组内添加一个成员 |
-d | 把指定用户从组内删除 | |
-M | 定义组内成员列表,用户之间用,分隔 (覆盖式) | |
newgrp 语法:newgrp 组名 | 无 | 修改用户的有效组,切换到普通用户之后,执行命令 |
5、查找命令
命令名称及用法 | 选项 | 选项作用 |
which 语法:which 命令 | 无 | 查看命令文件位置和命令可能出现的别名 |
whereis 语法:whereis 命令 | 无 | 查找命令及帮助文档所在位置 |
locate 语法:locate 文件名 | 无 | 按照文件名在缓存数据库查找 /var/lib/mlocate locate命令所搜索的后台数据库 |
find 语法:find 查找位置 选项 文件名称 逻辑连接符: -a(and 逻辑与) -o(or 逻辑或) 例:find /etc -size +1k -a -size -10k 在etc目录下查找大于1k并且小于10k的文件
命令执行连接符(对查找到的文件,进一步处理) find ... -exec 命令 {} \; {}表示find查询的结果集 \是转义符,不使用命令别名,直接使用命令本身 ;分号是表示语句的结束 注意:固定格式,只能这样写。注意中间的空格。 例find ./ -inum 2310630 -exec rm {} \; 有一些文件的硬链接数量很多,有相同的i节点,查找其中一个文件的i节点号, 一次性删除。 | -name | 根据文件名查找 |
-size | 根据大小查找 | |
-user | 根据所有者查找 | |
-perm | 根据文件权限查找 | |
-ctime | 表示属性多少天之内或之外被修改过:所有者、所属组、权限 例:find /etc -ctime +7 查找7天之前属性被修改过的文件 | |
-atime | 表示多少天之内或之外被访问过(被查看过) | |
-mtime | 表示多少天之内或之外内容被修改过 | |
-cmin | 表示属性多少分钟之内或之外被修改过:所有者、所属组、权限 | |
-amin | 表示多少分钟之内或之外被访问过(被查看过) | |
- mmin | 表示多少分钟之内或之外内容被修改过 例:find /etc -mmin -120 查找120分钟内内容被修改过的 | |
-type | 根据文件类型查找 -type f 二进制文件(普通文件) -type l 软链接文件 -type d 目录 | |
-inum | 根据文件i节点查询 | |
grep 语法:grep“字符串”文件名 | -v | 反向选择 |
-i | 忽略大小写 | |
-o | 统计有几个关键字 | |
-A 数字 | 列出符合条件的行,并将连续列出后续n行 | |
-B 数字 | 列出符合条件的行,并将连续列出前面n行 | |
-c | 统计符合条件的字符串的个数 | |
-n | 输出行号 | |
--color=auto | 搜索出的关键词高亮显示 | |
history 语法:history [选项] | 无 | 历史命令的查看 |
-c | 清空历史命令 | |
-w | 把缓存中的历史命令保存到历史命令配置文件 | |
finger 语法:finger 选项 用户名 显示指定用户信息 finger -m long 显示远程用户信息 finger -m [email protected]
| -l | 多行显示 |
-s | 单行显示。这个选项只显示登入名称、真实姓名、终端机名称、闲置时间、登入时间、办公室号码及电话号码。如果所查询的使用者是远端服务器的使用者,这个选项无效 | |
-m | 排除查找用户的真实姓名 | |
-p | 列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的 Shell,登入时间,转信地址,电子邮件状态,但不显示该用户的计划文件和方案文件内容。 |
6、帮助命令
命令名称及用法 | 选项 | 选项作用 |
man 语法:man 命令名 | 无 | 查看命令的帮助 |
-f | 查看命令有哪些级别的帮助 | |
help 语法:help 内部命令 | 无 | 查看内部命令的帮助信息 |
命令名 --help | 无 | 查看命令的常见选项 |
info 语法:info 命令名 | 回车 | 进入子帮助页面(带有*号标记) |
u | 进入上层页面 | |
n | 进入下一个帮助小节 | |
p | 进入上一个帮助小节 | |
q | 退出 |
本文出自 “成长中的强大” 博客,转载请与作者联系!
以上是关于Linux常用命令分类汇总(上)的主要内容,如果未能解决你的问题,请参考以下文章