学习啦>学习电脑>操作系统>Linux教程>

linux必须掌握的命令

时间: 佳洲1085 分享

  学习linux掌握必要的命令是最好进步的方式之一,下面由学习啦小编为大家整理了linux下必须掌握的命令的相关知识,希望大家喜欢!

  linux必须掌握的命令1.grep

  --------------------grep------------------------

  工作方式:在一个或多个文件中搜索字符串模板,若模板包括空格,则必须被引用

  模板后的所有字符串被看作文件名,不影响原文件内容

  常用参数:

  -a:将二进制文件以text文件的形式查找数据

  -c:计算找到的字符串模板的次数,不会输出与字符串模板符合的那一行内容,仅

  输出次数

  -i:忽略大小写

  -n:输出时将行号一起输出

  -v:反向选择,将没有字符串模板的那一行输出

  --color=auto:将搜索到的字符串模板部分加上颜色(一般为默认,无需设置)

  精确查找:

  在字符串模板后面加上"\>"就可以让字符串的查找更精确,如:

  要查找"546",如果还存在"5462"、"5468",那么执行命令grep "546"就会将"5462"和"5468"

  都找出来,但是我们只想要"546",这个时候就可以这样grep "546\>"。

  linux必须掌握的命令2.sed

  -----------------sed---------------------------

  工作方式:以行为单位,对数据的每一行进行替换、删除、新增、选取等操作,不

  能对单行进行操作

  常用参数:

  -n:安静模式,当要求把选取的特定行打印出来时,就会使用这个参数,保证不会

  重复输出特定行,如果不加这个参数,一般是将每行重复输出两次再输出下一特定

  行

  -f:直接将sed的动作写入一个文件内,加上-f filename时就可以执行filename中的

  sed动作,注意:filename中不能加单引号或双引号,如果动作本来是'2a Hello',则

  在filename中应该只写上2a Hello,什么都不要加

  -r:可以让sed的操作支持扩展正则表达式(sed默认是基础正则表达式)

  -i:直接修改读取的文件内容,不会由屏幕输出(危险!!!虽然貌似sed可以做vim的一些动作了)

  linux必须掌握的命令3.awk

  -----------------awk------------------------------

  工作方式:相比于sed处理一行一行的数据,awk处理的是一行中的各个字段的处理,

  它的每一个动作用"{}"包含,同样所有动作都要放在一对单引号中,这样的话它的动

  作里不允许再出现单引号,只能用双引号代替,它的默认字段分隔符为空格或制表键

  注意它与grep、sed的比较!!!

  常用功能:

  NF:每一行拥有的字段总数,可用print直接打印

  NR:当前处理的行号,也可用print直接打印

  FS:当前的分隔符,默认为空格或制表键,设置方法"BEGIN {FS=":"}",这样就可以以

  冒号为字段分隔符了,分为 class="main">

linux必须掌握的命令

时间: 佳洲1085 分享
  学习linux掌握必要的命令是最好进步的方式之一,下面由学习啦小编为大家整理了linux下必须掌握的命令的相关知识,希望大家喜欢!

  linux必须掌握的命令1.grep

  --------------------grep------------------------

  工作方式:在一个或多个文件中搜索字符串模板,若模板包括空格,则必须被引用

  模板后的所有字符串被看作文件名,不影响原文件内容

  常用参数:

  -a:将二进制文件以text文件的形式查找数据

  -c:计算找到的字符串模板的次数,不会输出与字符串模板符合的那一行内容,仅

  输出次数

  -i:忽略大小写

  -n:输出时将行号一起输出

  -v:反向选择,将没有字符串模板的那一行输出

  --color=auto:将搜索到的字符串模板部分加上颜色(一般为默认,无需设置)

  精确查找:

  在字符串模板后面加上"\>"就可以让字符串的查找更精确,如:

  要查找"546",如果还存在"5462"、"5468",那么执行命令grep "546"就会将"5462"和"5468"

  都找出来,但是我们只想要"546",这个时候就可以这样grep "546\>"。

  linux必须掌握的命令2.sed

  -----------------sed---------------------------

  工作方式:以行为单位,对数据的每一行进行替换、删除、新增、选取等操作,不

  能对单行进行操作

  常用参数:

  -n:安静模式,当要求把选取的特定行打印出来时,就会使用这个参数,保证不会

  重复输出特定行,如果不加这个参数,一般是将每行重复输出两次再输出下一特定

  行

  -f:直接将sed的动作写入一个文件内,加上-f filename时就可以执行filename中的

  sed动作,注意:filename中不能加单引号或双引号,如果动作本来是'2a Hello',则

  在filename中应该只写上2a Hello,什么都不要加

  -r:可以让sed的操作支持扩展正则表达式(sed默认是基础正则表达式)

  -i:直接修改读取的文件内容,不会由屏幕输出(危险!!!虽然貌似sed可以做vim的一些动作了)

  linux必须掌握的命令3.awk

  -----------------awk------------------------------

  工作方式:相比于sed处理一行一行的数据,awk处理的是一行中的各个字段的处理,

  它的每一个动作用"{}"包含,同样所有动作都要放在一对单引号中,这样的话它的动

  作里不允许再出现单引号,只能用双引号代替,它的默认字段分隔符为空格或制表键

  注意它与grep、sed的比较!!!

  常用功能:

  NF:每一行拥有的字段总数,可用print直接打印

  NR:当前处理的行号,也可用print直接打印

  FS:当前的分隔符,默认为空格或制表键,设置方法"BEGIN {FS=":"}",这样就可以以

  冒号为字段分隔符了,分为$1,$2,$3......,在/etc/passwd文件中比较有用

  awk支持条件判断

  linux必须掌握的命令4.sort

  -----------------sort------------------------

  工作方式:根据选定的排序方式对整个文件数据进行排序输出,可以字母、数字、

  一定区间内的排序输出,还可以反向输出

  常用参数:

  -f:忽视大小写(和grep的-i参数功能一样,为什么同样的功能,参数要整得不一样唉)

  -b:忽视每行开头的空格符,b可以记为blank,-b就减掉blank

  -M:以月份的名字来排序,在浏览文件的时候就可以用这个参数来按时间排序输出

  -n:以数字排序(默认为文字类型排序),n可以记为number

  -r:反序并输出,r可以记为reverse

  -u:uniq命令的功能,将重复行输出一行即可

  -t:分隔符(默认为tab键),修改方法-t ':',这样就可以改为以冒号来分隔了,在

  /etc/passwd有用,和awk的FS设置类似

  -k:以哪一个区间来进行排序,通常结合-t,当需要被排序的内容是以tab键来分隔的

  就不提了,若是想/etc/passwd以冒号分隔的话,就需要用-t来修改分隔符,然后-k再加

  要被作为排序标准的字段符

  linux必须掌握的命令5.wc

  -----------------wc-------------------------

  工作方式:将整个文件的字数、行数、字符数进行统计,当然也可以用grep或sed提出

  特定行来统计特定行的字数等

  常用参数:

  -l:仅列出行数,line

  -w:仅列出字数(单词数),word

  -m:仅列出字符数(是不是该用-c,和wc、characterize对应嘛。。。)

  如果只是执行wc而不加上任何参数,那么将会列出所有信息,依次为:行数、字数、

  字符数

  linux必须掌握的命令6.find

  ----------------find-----------------------

  工作方式:在整个磁盘中直接查找符合条件的文件,如果磁盘过大的话,会耗费很多

  时间,还有一种查找文件的命令:whereis,它会在系统提供的数据库中查找文件,

  速度很快,但是系统数据库一般是不会及时更新的,所以要查找最新的文件时,要先

  执行updatedb,否则将不会找到文件(不过更新数据库应该会很耗时吧。。。)

  常用参数:

  『

  -atime:按照文件被读取的时间来查找

  -mtime:按照文件内容被修改的时间来查找

  -ctime:按照文件权限和属性白修改的时间按来查找

  上面三个参数为时间参数,后面加上数字才行,如:

  -atime n:在n天之前“一天内”被读取过的文件,第n天前到第n+1天的一天的时间

  -atime -n:在n天之内(含n天)被读取过的文件,从现在到第n天前的所有时间

  -atime +n:在n天之前(不含n天)被读取过的文件,就是减去上面两个时间段的剩

  下的时间

  还有一个时间参数:

  -newer file:file为一个已存在的文件,顾名思义,查找比file要新的文件

  』

  『

  和用户/用户组有关的参数:

  -uid n:用户ID为n的文件

  -gid n:用户组ID为n的文件

  -user name:用户帐号为name的文件

  -group name:用户组帐号为name的文件

  -nouser:所有者不再/etc/passwd中的文件,可以找到一些异常文件

  -nogroup:所属用户组不存在的文件

  』

  『

  和文件权限及名称有关的参数:

  -name filename:名为filename的文件

  -size [+-]SIZE:查找比SIZE要大(+)或小(-)的文件,单位有c(字节)、k(1024

  字节)

  -type TYPE:查找TYPE类型的文件,类型就是表示权限的第一个字符,常见的有d,-,l...

  -perm [+-]mode:利用权限来查找,mode表示权限必须刚好相等,+mode表示包含任一

  (3个一组)权限即可,-mode表示必须全部包含mode的权限(貌似不怎么好记。。)

  』

  『

  扩展参数:

  -exec command:exec后面接命令,这个命令可以对find到的结果进行处理,听着有点

  儿类似于管道命令啊,但是它后面接的命令的形式比较固定,假如我们找到了名为file

  的文件,我们想要利用exec来浏览这个文件内容,这个时候必须这么写命令:

  [html] view plain copy print?

  $ find -name file -exec cat {} \;

  {}表示查找到的内容,\是用来消除;在命令中的特殊意义的,它代表exec执行到;结束

  -print:默认的操作,不用加上。。。

  』

  『

  等等,find还有一个特殊功能,就是通过inode号码查找文件,这个功能可以解决一个

  文件名里带来空格的文件的删除,如Hello World文件名,如果用rm的话,它会将这个文件

  误认为两个文件而不停的报错,这个时候就需要找到这个文件的inode号码,利用find的扩展

  参数来删除它,命令如下:

  [html] view plain copy print?

  $ ls -i | grep 'Hello World'

  假如查到inode为142542的话,进行下一个命令:

  [html] view plain copy print?

  $ find -inum 142542 -exec rm {} \;

  带有空格的文件名的文件就会被删除了。

  』

  linux必须掌握的命令7.tar

  ----------------------tar---------------------------

  工作方式:对文件或目录进行压缩,查看压缩包内容,对压缩包的一个或全部的文件进行

  解压,这个完全可以和winRAR对照理解。这只是一个最常用的压缩命令之一,通常,以这

  个命令进行压缩的文件命名为*.tar.bz2最好,利于区别于其他其他压缩命令产生的压缩包

  常用参数:

  -c:新建压缩文件

  -t:查看压缩文件中的文件名

  -x:解压文件,搭配-C在特定的目录中解压

  -j:通过bzip2进行压缩/解压,最好命名为*.tar.bz2

  -z:通过gzip进行压缩/解压,最好命名为*.tar.gz

  -v:压缩/解压中显示正在压缩的文件名

  -f filename:filename为要被处理的文件(每个tar命令都要加上这个参数才行的!!!)

  -C direction:前面提过,可在特定的direction中解压

  -p:允许备份数据中含有根目录(小写)

  -P:保留文件权限和属性(大写)

  注意:tar有三个功能:解压、压缩、查看压缩文件,这三个功能不能同时进行,也就是说

  -c、-t、-x不同一起出现在同一个命令参数中

  (利用这个删除命令可以将练习的压缩包、解压的目录等删除:rm -r filename,当然也可以

  删除目录,由于解压文件中含有目录时,可能用rmdir不好使,因为目录应该还会有东西)

  linux必须掌握的命令8.chmod

  --------------chmod----------------------------

  工作方式:修改文件或目录的权限(在Linux中极其重要滴!!)

  常用参数:

  -R:递归性的持续修改,当你想要把一个目录下的所有目录或文件一起修改权限时,这个

  参数就很有用了(这个参数在chown、chgrp中也有类似的功能,chmod与这两个在系统安全上很重要)

  具体修改权限的方法:

  (1)利用rwx直接修改:"u=rwx,g=rx,o=rx"或"a+x".......

  (2)利用数字修改:"777"或"644"等等

  linux必须掌握的命令9.netstat

  ---------------netstat--------------------

  工作方式:用于网络监控,输出网络和系统自己的进程两部分

  常用参数:

  -a:all的意思,也就是把所有的连接、监听、socket数据都列出来

  -t:列出tcp网络数据包的数据

  -u:列出udp网络数据包的数据

  -n:以端口号代替进程的服务名称显示

  -l:列出目前正在网络监听的服务

  -p:列出该网络服务的进程PID

  linux必须掌握的命令10.ln

  --------------ln----------------

  工作方式:建立与已有文件或目录的连接,分软连接和硬连接两种,软连接类似于Windows下

  的快捷方式,只保存一个源文件的指向,占用空间小,硬连接是通过文件系统的inode连接来

  产生新文件名,不会产生新文件,两个文件同步,权限、属性神马的全一样。

  常用参数:

  -s:创建软连接(默认为硬连接)

  -f:如果目标文件存在时,就主动将目标文件直接删除后再创建

  linux必须掌握的命令11.kill

  ----------------kill----------------

  工作方式:杀掉后台进程,先执行jobs命令,根据第一列显示的数字来杀掉进程,如:

  kill -9 %2,就会强制终止第二个进程。

  常用参数:

  -l:字母l,显示可以使用的信号,和下面的数字参数有关

  -2:与[ctrl+c]等效

  -9:立刻强制删除一个工作

  -15:以正常的程序方式终止一项工作,是正常终止,与-9不同滴

  linux必须掌握的命令12.ps

  ----------------ps-------------------

  工作方式:查询系统正在运行的进程,比jobs命令显示得更全面

  常用查询:

  ps -l:查看与自己相关的bash的进程

  ps aux:查看所有系统运行的程序

,......,在/etc/passwd文件中比较有用

  awk支持条件判断

  linux必须掌握的命令4.sort

  -----------------sort------------------------

  工作方式:根据选定的排序方式对整个文件数据进行排序输出,可以字母、数字、

  一定区间内的排序输出,还可以反向输出

  常用参数:

  -f:忽视大小写(和grep的-i参数功能一样,为什么同样的功能,参数要整得不一样唉)

  -b:忽视每行开头的空格符,b可以记为blank,-b就减掉blank

  -M:以月份的名字来排序,在浏览文件的时候就可以用这个参数来按时间排序输出

  -n:以数字排序(默认为文字类型排序),n可以记为number

  -r:反序并输出,r可以记为reverse

  -u:uniq命令的功能,将重复行输出一行即可

  -t:分隔符(默认为tab键),修改方法-t ':',这样就可以改为以冒号来分隔了,在

  /etc/passwd有用,和awk的FS设置类似

  -k:以哪一个区间来进行排序,通常结合-t,当需要被排序的内容是以tab键来分隔的

  就不提了,若是想/etc/passwd以冒号分隔的话,就需要用-t来修改分隔符,然后-k再加

  要被作为排序标准的字段符

  linux必须掌握的命令5.wc

  -----------------wc-------------------------

  工作方式:将整个文件的字数、行数、字符数进行统计,当然也可以用grep或sed提出

  特定行来统计特定行的字数等

  常用参数:

  -l:仅列出行数,line

  -w:仅列出字数(单词数),word

  -m:仅列出字符数(是不是该用-c,和wc、characterize对应嘛。。。)

  如果只是执行wc而不加上任何参数,那么将会列出所有信息,依次为:行数、字数、

  字符数

  linux必须掌握的命令6.find

  ----------------find-----------------------

  工作方式:在整个磁盘中直接查找符合条件的文件,如果磁盘过大的话,会耗费很多

  时间,还有一种查找文件的命令:whereis,它会在系统提供的数据库中查找文件,

  速度很快,但是系统数据库一般是不会及时更新的,所以要查找最新的文件时,要先

  执行updatedb,否则将不会找到文件(不过更新数据库应该会很耗时吧。。。)

  常用参数:

  『

  -atime:按照文件被读取的时间来查找

  -mtime:按照文件内容被修改的时间来查找

  -ctime:按照文件权限和属性白修改的时间按来查找

  上面三个参数为时间参数,后面加上数字才行,如:

  -atime n:在n天之前“一天内”被读取过的文件,第n天前到第n+1天的一天的时间

  -atime -n:在n天之内(含n天)被读取过的文件,从现在到第n天前的所有时间

  -atime +n:在n天之前(不含n天)被读取过的文件,就是减去上面两个时间段的剩

  下的时间

  还有一个时间参数:

  -newer file:file为一个已存在的文件,顾名思义,查找比file要新的文件

  』

  『

  和用户/用户组有关的参数:

  -uid n:用户ID为n的文件

  -gid n:用户组ID为n的文件

  -user name:用户帐号为name的文件

  -group name:用户组帐号为name的文件

  -nouser:所有者不再/etc/passwd中的文件,可以找到一些异常文件

  -nogroup:所属用户组不存在的文件

  』

  『

  和文件权限及名称有关的参数:

  -name filename:名为filename的文件

  -size [+-]SIZE:查找比SIZE要大(+)或小(-)的文件,单位有c(字节)、k(1024

  字节)

  -type TYPE:查找TYPE类型的文件,类型就是表示权限的第一个字符,常见的有d,-,l...

  -perm [+-]mode:利用权限来查找,mode表示权限必须刚好相等,+mode表示包含任一

  (3个一组)权限即可,-mode表示必须全部包含mode的权限(貌似不怎么好记。。)

  』

  『

  扩展参数:

  -exec command:exec后面接命令,这个命令可以对find到的结果进行处理,听着有点

  儿类似于管道命令啊,但是它后面接的命令的形式比较固定,假如我们找到了名为file

  的文件,我们想要利用exec来浏览这个文件内容,这个时候必须这么写命令:

  [html] view plain copy print?

  $ find -name file -exec cat {} \;

  {}表示查找到的内容,\是用来消除;在命令中的特殊意义的,它代表exec执行到;结束

  -print:默认的操作,不用加上。。。

  』

  『

  等等,find还有一个特殊功能,就是通过inode号码查找文件,这个功能可以解决一个

  文件名里带来空格的文件的删除,如Hello World文件名,如果用rm的话,它会将这个文件

  误认为两个文件而不停的报错,这个时候就需要找到这个文件的inode号码,利用find的扩展

  参数来删除它,命令如下:

  [html] view plain copy print?

  $ ls -i | grep 'Hello World'

  假如查到inode为142542的话,进行下一个命令:

  [html] view plain copy print?

  $ find -inum 142542 -exec rm {} \;

  带有空格的文件名的文件就会被删除了。

  』

  linux必须掌握的命令7.tar

  ----------------------tar---------------------------

  工作方式:对文件或目录进行压缩,查看压缩包内容,对压缩包的一个或全部的文件进行

  解压,这个完全可以和winRAR对照理解。这只是一个最常用的压缩命令之一,通常,以这

  个命令进行压缩的文件命名为*.tar.bz2最好,利于区别于其他其他压缩命令产生的压缩包

  常用参数:

  -c:新建压缩文件

  -t:查看压缩文件中的文件名

  -x:解压文件,搭配-C在特定的目录中解压

  -j:通过bzip2进行压缩/解压,最好命名为*.tar.bz2

  -z:通过gzip进行压缩/解压,最好命名为*.tar.gz

  -v:压缩/解压中显示正在压缩的文件名

  -f filename:filename为要被处理的文件(每个tar命令都要加上这个参数才行的!!!)

  -C direction:前面提过,可在特定的direction中解压

  -p:允许备份数据中含有根目录(小写)

  -P:保留文件权限和属性(大写)

  注意:tar有三个功能:解压、压缩、查看压缩文件,这三个功能不能同时进行,也就是说

  -c、-t、-x不同一起出现在同一个命令参数中

  (利用这个删除命令可以将练习的压缩包、解压的目录等删除:rm -r filename,当然也可以

  删除目录,由于解压文件中含有目录时,可能用rmdir不好使,因为目录应该还会有东西)

  linux必须掌握的命令8.chmod

  --------------chmod----------------------------

  工作方式:修改文件或目录的权限(在Linux中极其重要滴!!)

  常用参数:

  -R:递归性的持续修改,当你想要把一个目录下的所有目录或文件一起修改权限时,这个

  参数就很有用了(这个参数在chown、chgrp中也有类似的功能,chmod与这两个在系统安全上很重要)

  具体修改权限的方法:

  (1)利用rwx直接修改:"u=rwx,g=rx,o=rx"或"a+x".......

  (2)利用数字修改:"777"或"644"等等

  linux必须掌握的命令9.netstat

  ---------------netstat--------------------

  工作方式:用于网络监控,输出网络和系统自己的进程两部分

  常用参数:

  -a:all的意思,也就是把所有的连接、监听、socket数据都列出来

  -t:列出tcp网络数据包的数据

  -u:列出udp网络数据包的数据

  -n:以端口号代替进程的服务名称显示

  -l:列出目前正在网络监听的服务

  -p:列出该网络服务的进程PID

  linux必须掌握的命令10.ln

  --------------ln----------------

  工作方式:建立与已有文件或目录的连接,分软连接和硬连接两种,软连接类似于Windows下

  的快捷方式,只保存一个源文件的指向,占用空间小,硬连接是通过文件系统的inode连接来

  产生新文件名,不会产生新文件,两个文件同步,权限、属性神马的全一样。

  常用参数:

  -s:创建软连接(默认为硬连接)

  -f:如果目标文件存在时,就主动将目标文件直接删除后再创建

  linux必须掌握的命令11.kill

  ----------------kill----------------

  工作方式:杀掉后台进程,先执行jobs命令,根据第一列显示的数字来杀掉进程,如:

  kill -9 %2,就会强制终止第二个进程。

  常用参数:

  -l:字母l,显示可以使用的信号,和下面的数字参数有关

  -2:与[ctrl+c]等效

  -9:立刻强制删除一个工作

  -15:以正常的程序方式终止一项工作,是正常终止,与-9不同滴

  linux必须掌握的命令12.ps

  ----------------ps-------------------

  工作方式:查询系统正在运行的进程,比jobs命令显示得更全面

  常用查询:

  ps -l:查看与自己相关的bash的进程

  ps aux:查看所有系统运行的程序

linux必须掌握的命令

学习linux掌握必要的命令是最好进步的方式之一,下面由学习啦小编为大家整理了linux下必须掌握的命令的相关知识,希望大家喜欢! linux必须掌握的命令1.grep --------------------grep------------------------ 工作方式:在一个或多个文
推荐度:
点击下载文档文档为doc格式
3609963