Linux命令学习之路

来源:互联网 发布:最完美网络架构图 编辑:程序博客网 时间:2024/05/21 23:50

Linux命令大全

1.磁盘相关命令

1. df [选项]

 **功能:**用于指定磁盘文件的可用空间。 **参数:** -a:包含全部的文件系统 -i:显示inode的信息 -l:仅显示本地文件系统 -t:仅显示指定文件系统类型(例如ext2)的磁盘信息 -T:显示文件系统的类型

2. du [选项] [文件]

 **功能:**查看文件和目录的磁盘空间的使用情况 **参数:** -a 显示目录中个别文件的大小 -b 显示目录或文件大小时,以byte为单位

2.管线命令

管线中每个命令都是必须可以接受标准输入作为数据的才可以。例如less,more等都可以接受standard input,而ls ,cp就不可以。
注意点:

  • 管线命令仅会处理standard output,对于standard error output会予以忽略
  • 管线命令必须能够接受来自前一个指令的数据成为standard input继续处理才可以

1.截取命令

所谓截取命令就是经过数据分析之后取出我们想要的命令
cut命令

cut -d'分隔字符' -f fieldscut -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:反向选择,即没有出现’搜寻字符串’内容的那一行

2.排序命令

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:仅列出有多少字符

3.双重定向

tee命令
可以使用tee命令来进行双重定向,一个是标准输入输出的重定向(例如可以使用>,<, 2>等进行标准输入输出与出错的重定向),一个是可以定向到指定file

tee [-a] file

-a:以累加的方式,将数据加入到file

last | tee last.last | cut -d ' ' -f 1

表示我们可以将last的输出保存到last.last中,并且随着标准输入传递给cut命令

4.字符转换命令

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

5.分割命令

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形式的重定向 */

6.参数替换

xargs命令
xargs可以读入stdin的数据,并且以空格符或者断行符作为分辨,将stdin的输出分割成为arguments。但是如果一些档案名或者一些有意义的名词内含有空格符时,xargs有可能会误判。

xargs [-0epn] command

-0:如果输入的stdin有特殊字符,-0表示把他们当做一般字符
-e:表示EOF,当xargs分析到这里时,就会停止工作
-p:在执行每个指令的command时都会询问
-n:后面接次数,每次command指令执行时,要使用几个参数的意思

-(减号)的用途

在管线命令中,常常会使用到前一个命令的stdout作为这次的stdin,某些指令需要用到文件名来进行处理,该stdin与stdout就可以用’-‘来替代了。例如上面命令出现的’-‘。

0 0
原创粉丝点击