linux命令大概可以分为一下十一个种类,以一个简单的思维导图来说明:
这个图简单的概括了Linux命令的分类,下边我将对一些常用的命令进行解释并示例说明,如想全面的了解linux命令,
u User,即文件或目录的拥有者;
g Group,即文件或目录的所属群组;
o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a All,即全部的用户,包含拥有者,所属群组以及其他用户;
r 读取权限,数字代号为“4”;
w 写入权限,数字代号为“2”;
x 执行或切换权限,数字代号为“1”;
- 不具任何权限,数字代号为“0”;
s 特殊功能说明:变更文件或目录的权限。
1. chmod:变更文件或目录的权限
语法:
chmod [OPTION]... [FILE]...
参数:
u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
示例:
chmod abc file
上边也介绍了a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
所以 chmod 777 file为最高权限
chmod 771 file
chmod 772 file
chmod 774 file
等等一系列的权限
2. cat:正向查看文本内容
语法:
cat [OPTION]... [FILE]...
参数:
-n:给显示的文本行编号
-E:显示行结束符号$
示例:
cat -n /etc/zy --查看/etc/zy内容并显示行号
3. ls:列出指定目录下的内容
语法:
ls [OPTION]... [FILE]...
参数:
-a:显示所有文件包括隐藏文件
-A:显示除.和..之外的所有文件
-l,--long:显示文件的详细属性信息
-h:对文件大小进行单位换算,可能影响精度
-d:查看目录本身而非其内部的文件
-r:逆序显示文件
-R:递归显示文件
示例:
ls -lah --详细显示/目录下的所有文件(包括隐藏文件)
ls -ldh /etc --详细显示/etc目录本身
ls -lhv --倒序显示/目录下所有文件(包括隐藏文件)
ls -R /etc --递归显示/etc下所有文件
4. pwd:显示当前目录
5. cp:复制
语法:
单源复制:cp [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)
多源复制:cp [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)
参数:
-i:交互式复制,即覆盖前提醒用户确认
-f:强制覆盖目标文件
-r,-R:递归复制目录
示例:
cp -if /data/[1-3].txt /data/zy zy必须为目录,把三个文件一起复制到zy中
cp -r /data /test 把data目录及目录下的内容一起复制到tset中
6. mv:剪切
语法:
单源复制:mv [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)
多源复制:mv [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)
参数:
-i:交互式复制,即覆盖前提醒用户确认
-f:强制覆盖目标文件
示例:
mv -i /data/[1-3].txt /zy 把/data目录下三个txt文件剪切到/zy下
7. rm:删除
语法:
rm [OPTION]... FILE...
参数:
-i:交互式复制,即覆盖前提醒用户确认
-f:强制覆盖目标文件
-r,-R:递归处理,将制定目录下的所有文件包括目录一并删除
示例:
rm -rf /zy 递归删除/zy目录
8. mkdir:创建目录
语法:
mkdir [OPTION]... DIRECTORY...
参数:
-p:自动按需创建父目录
-m:创建目录时给定权限
示例:
mkdir -p /data/zy/usr/test --在/data目录下递归创建/zy/usr/test三个目录
mkdir -m 711 -p /data/zy/usr --在/data目录下递归创建/zy/usr两个目录同时指定目录usr的权限为711
9. cd:切换目录
示例:
cd ..:切换到上级目录
cd ~:切换回自己的家目录
cd -:在上一次目录与当前目录直接来回切换
10.grep命令:查找文件里符合条件的字符
语法:
grep [-acinv] [--color=auto] '查找字符串' filename
参数:
-a 或 --text : 不要忽略二进制的数据。
-b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-c 或 --count : 计算符合样式的列数。
-i 或 --ignore-case : 忽略字符大小写的差别。
-L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。
-n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
-s 或 --no-messages : 不显示错误信息。
-v 或 --revert-match : 显示不包含匹配文本的所有行。
-V 或 --version : 显示版本信息。
-w 或 --word-regexp : 只显示全字符合的列。
示例:
grep -r update /home/usr 以递归的方式查找符合条件的文件
11. find:在指定目录下查找文件
语法:
find path -option [ -print ] [ -exec -ok command ] {} \;
参数:
-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
-amin n : 在过去 n 分钟内被读取过
-anewer file : 比文件 file 更晚被读取过的文件
-atime n : 在过去n天内被读取过的文件
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比文件 file 更新的文件
-ctime n : 在过去n天内被修改过的文件
-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。
示例:
将目前目录及其子目录下所有延伸档名是 c 的文件列出来:find . -name "*.c"
将目前目录其其下子目录中所有一般文件列出:# find . -type f
将目前目录及其子目录下所有最近 20 天内更新过的文件列出:find . -ctime -20
查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:
find /var/log -type f -mtime +7 -ok rm {} \;
查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
find . -type f -perm 644 -exec ls -l {} \;
为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:
# find / -type f -size 0 -exec ls -l {} \;
12. ps:显示当前进程 (process) 的状态
语法:
ps [options] [--help]
参数:
-A 列出所有的行程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
示例:
ps -A 显示进程信息
ps -u root //显示root进程用户信息
ps -ef //显示所有命令,连带命令行
13. kill:删除执行中的程序或工作
语法:
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
参数:
-l <信息编号> 若不加<信息编号>选项,则-l参数会列出全部的信息名称。
-s <信息名称或编号> 指定要送出的信息。
示例:
杀死进程: kill 12345
强制杀死进程:kill -KILL 123456
发送SIGHUP信号,可以使用一下信号:kill -HUP pid
彻底杀死进程:kill -9 123456
14. file:辨识文件类型
语法:
file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
参数:
-b 列出辨识结果时,不显示文件名称。
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-f<名称文件> 指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
-L 直接显示符号连接所指向的文件的类别。
-m<魔法数字文件> 指定魔法数字文件。
-v 显示版本信息。
-z 尝试去解读压缩文件的内容。
示例:
file install.log 显示所有信息
file -b install.log 不显示文件名称
file -i install.log 显示MIME类别
15. tar:创建目录
语法:
tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <区块数目>][-C <目的目录>][-f <备份文件>][-F