本篇主要接着上一篇文章继续就“测试常见linux命令集合七”进行展开讲解,主要包括“chmod、df、du、free、sort”命令的各种用法。希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!
31:命令chmod
chmod[参数][ugo][[+-=][rwx][文件或目录]
说明:用于管理文件或目录的权限
参数:
-R 以递归的方式逐个变更
-c 若该文件权限确实已经更改,才显示其更改动作
文件调用权限分为三级 : 文件拥有者u、群组g、其他o
u 表示该文件的拥有者(user)
g 表示与该文件的拥有者属于同一个群体(group)者
o 表示其他以外的人(other)
a 表示这三者皆是(all)
+ 表示增加权限
- 表示取消权限
= 表示赋予给定权限并取消其他所有权限
r 表示可读取,可用数字4代替
w 表示可写入,可用数字2代替
x 表示可执行,可用数字1代替
1)给文件赋予只读权限:
chmod a=r Tester.ini或chmod 444 Tester.ini
2)给文件赋予写入权限:
chmod a=w Tester.ini或chmod 222 Tester.ini
3)给文件赋予执行权限:
chmod a=x Tester.ini或chmod 111 Tester.ini
4)给文件赋予所有权限:
chmod a=rwx Tester.ini或 chmod 777 Tester.ini
5)将Tester.ini 设定为只有该文件拥有者可以执行:
chmod -c u+x,g-x,o-x Tester.ini
6)给Tester.ini文件 添加只读权限:
chmod ugo+r Tester.ini
7)取消文件所有权限:
chmod 000 Tester.ini
8)给ido目录下所有文件和子目录添加执行权限:
chmod +x -R ido/
参数-c的使用方法:
[anxin@VM_0_5_centos isTester]$ chmod -c u+x,g-x,o-x isTester.ini
"isTester.ini" 的权限模式已更改为0766 (rwxrw-rw-)
35:命令df
df[参数] [文件]
说明:可用磁盘(disk free),用于显示文件系统的磁盘空间占用情况
参数:
-a 包含全部的文件系统
-h 以容易理解的格式列出文件大小(例如 1K 256M 2G)
-i 显示inode信息
注意:inode包含文件的元信息,具体来说有以下内容:
* 文件的字节数
* 文件拥有者的User ID
* 文件的Group ID
* 文件的读、写、执行权限
* 文件的时间戳,共有三个:ctime,mtime,atime
* 链接数,即有多少文件名指向这个inode
* 文件数据block的位置
1)显示文件系统的磁盘使用情况(最常用):
df -h
2)显示所有文件系统的磁盘使用情况:
df -a
3)显示特定文件系统空间的使用情况:
df -h /app
4)以inode模式来显示文件系统的磁盘使用情况:
df -i
5)汇总显示所有文件系统的磁盘使用情况:
df -h --total
36:命令du
du[参数] [文件或目录名]
说明:disk usage,显示每个文件和目录的磁盘使用空间情况
参数:
-a 为目录中每个文件显示各自磁盘使用情况
-s 仅显示总计,只列出最后加总的值
-h 以容易理解的格式列出文件大小(例如 1K 256M 2G)
1)查看当前目录及子目录所占空间大小:
du -h
2)查看指定文件所占空间大小:
du -h isTester.ini
3) 查看指定目录所占空间大小:
du -h isTester/
4)查看多个文件所占空间大小:
du -h isTester.ini Tester.ini
5)只显示当前目录及子目录所占空间大小的总和:
du -sh
6)显示当前目录中每个目录及文件所占空间大小:
du -ah
7)按照当前目录所占空间大小排序:
du|sort -nr|more
8)输出当前目录下各个子目录所占空间大小:
du|sort -nr|more
37:命令free
free[参数]
说明:显示系统中空闲和已用内存大小
参数:
-h 以容易理解的格式列出文件大小(例如 1K 256M 2G)
*-b 以Byte单位显示内存使用情况
*-k 以KB为单位显示内存使用情况
*-m 以MB为单位显示内存使用情况
*-g 以GB为单位显示内存使用情况
-s 持续观察内存使用状况
-t 显示内存总和列
1)显示内存使用情况:
free -h
2)以总和的形式显示内存使用情况:
free -t
3)显示最低和最高内存使用情况:
free -l
4)每5s统计一次内存使用情况:
free -s 5
free输出有三行:
第一行:表明全部内存、已用内存、空闲内存、共用内存、用于缓冲的内存以及缓存内容大小
全部:全部已安装内存(total)
已用:已用内存(全部计算-空闲+缓冲+缓存)(used)
空闲:未使用内存(真正尚未被使用的物理内存数量)(free)
共用:被共享使用的物理内存(shared)
缓冲:被内核缓冲使用的内存( buffers)
缓存:还可以被应用程序使用的物理内存(cached)
第二行:表明已用和空闲的缓冲/缓存
第三行:表明总交换内存、空闲内存和已用交换内存
38:命令sort
sort [参数] [文件]
说明:用于将文本文件内容加以排序
参数:
-f 忽略大小写排序
-n 依照数值的大小排序,对数值内容进行排序(numeric)
-k 在位置1开始一个key,在位置2终止(默认为行尾)
-r 以相反的顺序来排序(reverse)
-u 排序并去重(unique)
-t 使用指定的分隔符代替非空格到空格的转换
-R 随机hash排序
-o 将结果输出到指定文件中
注意:
(1)使用sort不会改变原文件
(1)sort 仅起到过滤作用,若希望按排序后的格式保存数据,可用>进行重定向
sort优先级规则排序如下(除非指定了‘-r’参数):
(1)以数字开头的行优先级最高
(2)以小写字母开头的行优先级次之
(3)待排序内容按字典序进行排序
测试数据如下:
名称 人数 工资
b百度 120 50000
g谷歌 110 50000
s搜狐 120 45000
g谷雨 100 20000
1)将文件isTester.ini内容进行升序排序(按照ASCII值升序排序):
sort isTester.ini
2)将文件isTester.ini内容进行反向排序:
sort -r isTester.ini
3)将文件isTester.ini内容进行随机排序:
sort -R isTester.ini
4)将文件isTester.ini内容进行默认排序并删除重复的行:
sort -u isTester.ini
5)将文件isTester.ini内容基于第5列(文件和目录的名称)排序:
sort -k5 isTester.ini
6)将文件isTester.ini内容基于第2列(文件中的数值列)排序:
sort -nk2 isTester.ini
7)将文件isTester.ini内容基于第1列的第二个字母排序:
sort -k1.2 isTester.ini
8)若员工人数相同,将文件isTester.ini内容按照公司人数升序排序:
sort -nk2 -nk3 isTester.ini
9)将排序后的内容输出到Sort.ini文件中:
sort isTester.ini> Sort.ini