df 命令:通过文件系统中未分配的空间来确定文件系统中已分配空间的大小
a:显示全部的档案系统和各分割区的磁盘使用情形
i:显示i -nodes的使用量
k:大小用k来表示 (默认值)
h: 使用 GB、MB 等易读的格式
t:显示某一个档案系统的所有分割区磁盘使用量
x:显示不是某一个档案系统的所有分割区磁盘使用量
T:显示每个分割区所属的档案系统名称
df -h
------------------------------------------------------------------------------------------
du 命令:是面向文件的命令,它计算分配给指定文件或者目录的空间。
a:显示全部目录和其次目录下的每个档案所占的磁盘空间
b:大小用bytes来表示 (默认值为k bytes)
h: 使用 GB、MB 等易读的格式
c:最后再加上总计 (默认值)
s:只显示各档案大小的总合
x:只计算同属同一个档案系统的档案
L:计算所有的档案大小
常用命令:du -sh
-----------------------------------------------------------------------------------------------
file命令:辨识文件类型
-b 列出辨识结果时,不显示文件名称。
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-f<名称文件> 指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。
-L 直接显示符号连接所指向的文件的类别。
-m<魔法数字文件> 指定魔法数字文件。
-v 显示版本信息。
-z 尝试去解读压缩文件的内容。
常用命令:file *.sh
--------------------------------------------------------------------------------------------
cp: cp -r dir1 dir2 : 将 dir1 的全部内容全部复制到 dir2 里面。
-r : 此参数是用来做递回复制用,可将一整颗子树都复制到另一个
-i : 询问
---------------------------------------------------------------------------------------------
rm: 的参数比较常用的有几个: -f , -i , 与 -r
-f : 将会使得系统在删除时,不提出任何警告讯息。
-i : 在除去档案之前均会询问是否真要除去。
-r : 递回式的删除。
---------------------------------------------------------------------------------------------------------------
rmdir:相对於 mkdir ,rmdir 是用来将一个"空的"目录杀掉的
-r : 递回式的删除。
------------------------------------------------------------------------------------------------
ps :[-a] [-f] [-A] [-d] [-e] [-l] [-p proclist] [-t termlist] [-u uidlist]
-a:显示系统中除了对话领导以及终端无关的进程外的所有其他进程信息
-A:显示系统中所有进程信息(与-e相同)
-d:与选项a相同
-e:显示当前运行的每个进程的状态信息
-f:显示进程的较完整信息
-l:显示进程最完整信息,比-f还要完整
-p proclist:显示指定进程的信息,proclist是PID
-t termlist:显示与终端有关的信息
-u uidlist:显示指定用户有关的进程信息
ps -ef | grep
-----------------------------------------------------------------------------------------------
kill [ -SIGNAL ] pid
SIGNAL 为一个 singal 的数字,从 0 到 31 ,其中 9 是 SIGKILL ,也就是一般用来杀掉一些无法正常 terminate 的讯号
kill -9 pid
--------------------------------------------------------------------------------------------
wc: 统计指定文件中的字节数、字数、行数, 并将统计结果显示输出
-c 统计字节数
-l 统计行数
-w 统计字数
------------------------------------------------------------------------------------------------
split:分割大文件分割大文件
-a, --suffix-length=N 指定输出文件名的后缀,默认为2个
-b, --bytes=SIZE 指定输出文件的字节数, 后面可接欲分割成的档案大小,可加单位,例如 b, k, m 等;
-C, --line-bytes=SIZE 每一输出档中,单行的最大 byte 数
-d, --numeric-suffixes 使用数字代替字母做后缀
-l, --lines=NUMBER NUMBER 值为每一输出档的列数大小
split -b 1024 -a 3 bigfile.dat splitfile_
--把文件按1024bytes切割,后缀补充3位字母 如aaa,aab
split -l 10000 -a 3 –d bigfile.dat splitfile_
--把文件按10000行切割,后缀补三位数字
---------------------------------------------------------------------------------------
cut :从文件或者标准输入中读取内容并截取每一行的特定部分并送到标准输出
截取的方式有三种,一是按照字符位置,二是按照字节位置,三是使用一个分隔符将一行分割成多个field,并提取指定的fields。
-c,-b,-f分别表示"character", "byte"以及"field"截取方式
-f 截取时:需要用"-d"参数指定一个分隔符,分割符只能为单个字符
-s: suppress,表示如果行中没有给出的分割符则不输出该行(默认为如果没有分隔符则将该行原封不动输出)
•按字符截取:echo hello, world | cut -c 8-12 则输出"world"(截取字符串中从第8到第12个共12个字符)
•按分隔符截取:echo hello, world | cut -f 2 -d " "则输出"world"(截取以空格分割的第二部分)
•echo Long, long ago | cut -f 2,3 -d " "则输出" Long, ago"(截取以空格分割的第2、3部分,注意输出的结果也以-d指定的分隔符分割)
•使用"-s"安静地忽略没有给出地分隔符地行:echo hello |cut -d "!" -f 1 -s则什么也不输出(因为行中没有"!"字符)
,表示取单点 【2,5 ---取第二个和第五个】 -表示取一段【2-5 --- 取第二个至第五个是一个段】
---------------------------------------------------------------------------------------------------------
Sort 分类排序
-c 测试文件是否已经分类。
-m 合并两个分类文件。
-u 删除所有复制行。
-o 存储sort结果的输出文件名。
-b 使用域进行分类时,忽略第一个空格。
-n 指定分类是域上的数字分类。
-t 域分隔符;用非空格或tab键分隔域。
-r 对分类次序或比较求逆。
+n n为域号。使用此域号开始分类。
-n n为域号。在分类比较时忽略此域,一般与+ n一起使用。
post1 传递到m,n。m为域号,n为开始分类字符数;例如4,6意即以第5域分类,从第7个字符开始。
sort -u -t: -r -k3 a.test (-u去重复-t:分割-r逆序排列-k按第三个域排)
ll | sort -k4 (给文件按第四个域排序—-大小)
---------------------------------------------------------------------------------------------------------