Linux命令大全
**功能:**用于指定磁盘文件的可用空间。
**参数:**
-a:包含全部的文件系统
-i:显示inode的信息
-l:仅显示本地文件系统
-t:仅显示指定文件系统类型(例如ext2)的磁盘信息
-T:显示文件系统的类型
**功能:**查看文件和目录的磁盘空间的使用情况
**参数:**
-a 显示目录中个别文件的大小
-b 显示目录或文件大小时,以byte为单位
管线中每个命令都是必须可以接受标准输入作为数据的才可以。例如less,more等都可以接受standard input,而ls ,cp就不可以。
注意点:
所谓截取命令就是经过数据分析之后取出我们想要的命令
cut命令
cut -d'分隔字符' -f fields
cut -c 字符区间
cut file1 file2 > file3 //将file1与file2的内容合并放到file3中
-d:后面接分隔字符。与-f一起使用
-f:依据-d的分隔字符将一段讯息分隔成为数段,用-f取出第几段
-c:以字符的单位取出固定字符区间
grep命令
grep命令是用来分析一行的信息的
grep [-acinv] '搜寻字符串' filename
-a:将binary档案以text档案的方式搜寻数据
-c:计算找到’搜寻字符串’的次数
-i:忽略大小写的不同
-n:顺便输出行号
-v:反向选择,即没有出现’搜寻字符串’内容的那一行
sort命令
sort [选项] [file or stdin]
选项:
-r:反向排序
-u:相同的数据仅出现一行
-t:分隔符
-k:在使用分隔符之后,一段数据就会被分割符分成多个区间,-k后面接一个数字就表示用这个数字区间的内容进行排序的意思
cat /etc/passwd | sort -t ':' -k 3
/* 表示用分隔符':' 分割数据之后,按第三个区间的内容进行排序 注意区间是从1开始计数的 */
uniq命令
去重
uniq [-ic]
-i:忽略大小写
-c:进行计数
wc命令
计数命令
wc [-lwm]
-l:仅列出行
-w:仅列出多少英文单词
-m:仅列出有多少字符
tee命令
可以使用tee命令来进行双重定向,一个是标准输入输出的重定向(例如可以使用>,<, 2>等进行标准输入输出与出错的重定向),一个是可以定向到指定file
tee [-a] file
-a:以累加的方式,将数据加入到file
last | tee last.last | cut -d ' ' -f 1
表示我们可以将last的输出保存到last.last中,并且随着标准输入传递给cut命令
tr命令
tr可以用来删除一段讯息中的文字,或者进行文字讯息的替换
tr [-ds] SET1
-d :删除讯息当中的SET1
-s:取代掉重复的字符!
例如:
last | tr '[a-z]' '[A-Z]' /* 将last输出的所有小写变为大写 */
cat /etc/passwd | tr -d ':' /* 将/etc/passwd输出的内容中的:删除 */
col命令
col [-xb]
-x:将tab键转成对等的空格
-b:在文字中有’/’,仅保留反斜杠最后接的那个字符
join命令
主要用来处理两个档案中,有相同数据的那一行,才将他们加在一起
join [-ti12] file1 file2
-t:join默认使用空格符作为分隔符,并且默认对比第一个区间的数据。如果两个档案对比结果一致,则将两个数据连成一行,且比对字段放在第一个。-t后面接的是定义的分隔符
-i:忽略大小写
-1:表示第一个档案要用哪个字段来分析,-1 后面接的数字表示使用分割符之后的区间号。
-2:表示第二个档案要用哪个字段来分析,类似于-1
join -t ':' -1 4 /etc/passwd -2 3 /etc/group
/* 表示的是使用分隔符':', 并且第一个文件需要比对的是分割之后的第4个区间的字符串 第二个文件需要比对的是分割之后的第3个区间的字符串, 进行比对的字符串放在第一个显示 */
需要注意的使用join之前最好使用sort,否则可能会忽略一些比对的项目,因为是一行一行来进行比对的
paste命令
将两行数据贴在一起,中间用tab来隔开
paste [-d] file1 file2
-d:后面可以接分隔符,预定义使用tab
-:如果file1写成-,表示来自standard input的资料的意思
expand命令
将tab转成空格
expand [-t] file
-t :后面接数字表示使用多少个空格代表一个tab
split命令
如果档案过大,可以使用split命令来将一个大档案转成小档案
split [-bl] file PREFIX
-b:后面可以接想要分割成的档案的大小,可以加单位,如b, k, m
-l:以行数来进行分割
PREFIX:代表前导符,可以作为分割档案的前导文字
split -b 300k /etc/tercap tercap
/* 表示我们将/etc/tercap文件按300k大小进行分割,并且每个分割之后的文件以tercap开头,会分割为xxxaa, xxxbb形式的文件 */
cat tercap* >> tercapback
/* 可以使用这个命令来将我们分割的文件重新组合为一个整体, >>表示的append形式的重定向 */
xargs命令
xargs可以读入stdin的数据,并且以空格符或者断行符作为分辨,将stdin的输出分割成为arguments。但是如果一些档案名或者一些有意义的名词内含有空格符时,xargs有可能会误判。
xargs [-0epn] command
-0:如果输入的stdin有特殊字符,-0表示把他们当做一般字符
-e:表示EOF,当xargs分析到这里时,就会停止工作
-p:在执行每个指令的command时都会询问
-n:后面接次数,每次command指令执行时,要使用几个参数的意思
在管线命令中,常常会使用到前一个命令的stdout作为这次的stdin,某些指令需要用到文件名来进行处理,该stdin与stdout就可以用’-‘来替代了。例如上面命令出现的’-‘。