Linux系统常用命令大全

简介: Linux操作系统常用命令大全

1、ls

文件属性:

      -:普通文件

      d:目录文件

      b:块设备

      c:字符设备文件

      l:符号连接文件

      p:命令管道

      s:套接字文件

     

    文件权限:

      9位数字,每3位一组

      文件硬链接次数

      文件所属主(owner)

      文件的属组(group)

      文件大小(size),单位默认是字节

     

    ls常用选项:

      -l:显示文件属性,ls -l=ll

      -h:做相应的单位转换显示

      -a:显示所有文件

      -A:显示...以为的所有文件

      -d:显示目录自身属性

      -i:显示文件的缩影接点号码(index node ,inode)

      -r:逆序显示文件列表

      -R:递归显示文件

2、cd

 cd:change directory

    cd:回到用户的家目录

    cd ~username:进入指定用户的家目录

    cd - :在当前目录和前一次所在的目录来回切换

    cd ..:切换至其父目录

3、printenv:

 

显示当前环境变量信息

 

4、时间管理

date:显示系统时间

    clock:显示硬件时间

    hwclock -W:把系统时间同步到硬件时间

    hwclock -s:把硬件时间同步到系统时间

    cal:显示日历

5、命令帮助

内部命令帮助:help COMMAND 

    外部命令帮助:man  COMMAND 

    命令手册:manual

    whatis COMMAND:显示此命令在man帮助的哪个章节内。

    ============================================================

    man的操作命令:

    空格:向后翻一屏

    b:向前翻一屏

    ENTER:向后翻一行

    k:向前翻一行

    ============================================================

    关键字查找

    /KEYWORD:向后查找关键字

    ?KEYWORK:向前查找关键字

    n:下一个关键字位置

    N:前一个关键字

    q:退出man帮助 

6、file
    

file:用于查看普通文件和系统文件的类型

 

7、mkdir
    

mkdir:创建目录

    rmdir:删除目录

       -p:递归创建

       -V:显示创建信息

8、rm
    

rm:删除文件

      -i:交互式删除

      -f:暴力删除

      -r:递归删除

      命令可以组合利用

9、touch
    

touch:创建文件

    -c:文件存在的时候不在创建

    -a:只改变文件的访问时间

    -m:只改变文件的修改时间

    -t:自己设定文件的时间戳(年月日时分.秒),与a、m配合使用

10、cp    
    

cp:文件复制,规则:只有最后一个为目标。复制一个文件到一个文件  或者 多个文件

    到一个目录!

      cp /etc/passwd /tmp/   复制到目录下并保存原文件名

      cp /etc/passwd /tmp/test 看test是文件还是目录,目录:负责到目录内,

      文件则替换!

    ============================================================== 

      -r:递归复制目录

      -i:交互式显示复制

      -f:强制复制,覆盖

      -p:保留源文件的属性,时间戳

      -a:保留源文件的所有属性

      -P:复制链接文件时保存为链接(默认是复制链接所指向的文件)

      -d:复制时保持链接

      -a:归档复制,常用与备份

11、mv
    

mv:移动或重命名文件

    mv SRC(源) DEST(目标)

    在统一目录下可以利用mv进行重命名: mv abc bcd 或者 mv -t 目标 源

12、cat
   

  

    cat:连接并显示文件的信息,是全部显示文件内的信息

      -n:在显示的时候可以显示行号,这个行号只是显示出来,跟文件内容没有  关系

      -E:显示每一行的行结束符,所以linux中文本文件的行结束符是$符

      -T:可以显示制表符

      -v:显示其他的非打印字符

      -A:显示所有的符号

13、more
   

 more:more的作用同cat是相同的,只不过这时我们可以通过手动来翻屏,更加方便

    ,more:只支持向后翻,翻到最后

    就直接退出了

    less:显示文件信息,默认不退出显示,q即可退出

      空格:向后翻一屏

      b:向前翻一屏

      ENTER:向后翻一行

      k:向前翻一行

    关键字查找

      /KEYWORD:查找关键字

14、head、tail
    

head:显示文件的前几行,默认是10

      -NUM:显示前多少行

    tail

    tail:显示文件的后几行,默认是10

      -NUM:显示后多少行

      -f:查看文件尾部,而且不退出,等待显示后续追加的新内容;

15、cut
   

 cut:用于剪切数据的内容

      -d:指定字段分隔符,默认的是空格  cut -d: -f7 空格符 cut -d'' 

      -f:指定要剪切显示的字段

      -f 1  表示显示第一个字段  cut  -f1

      -f 1,3表示显示第一个和第3个字段

      -f 1-3表示显示从13的字段

 

16、sort 、uniq、wc
   

 sort:文本排序,仅仅是对显示文件的排序,而不影响源文件的顺序,是根据ASSII

    的字符升序来排列的。

      -n:安装数值大小从小到大排列

      -r:降序排列

      -t:指定字段分隔符

      -k:从哪个字符开始,就是指定关键字排列

      -u:相同的行只显示一次

      -f:忽略字符大小写

    ================================================================

    uniq:报告或者忽悠重复行

      -d:只显示重复行

      -c:显示某一行的重复次数

    ================================================================

    wc:文本统计,可以统计文件中一共有多少行数,多少个单词数,多少个字节数   -l:只显示行数   -w:只显示单词数   -c:只显示字节数   -L:显示最长的一行包含多少个字符

17、tr
   

 tr:转换或删除字符

     tr [OPTION]...SET1 [SET2] 

      例如# tr ab AB   把小写ab都换位大写AB 

      -d:可以实现删除出现在字符集中的所有字符

18、aliase
    

  aliase:定义shell命令的别名

      alias CMDALIAS=COMMAND 

      unalias CMDALIAS是撤销命令别名

    ===========================================================================================

19、权限

 

      权限: r 、w 、x

      文件:

      r:可读,可利用类似 cat等命令查看文件内容

      w:可写,可以编辑或删除此文件

      x:可执行,可以再命令提示符下当做命令提交给内核运行。

      目录:

      r:可以对此目录执行LS以列出内部的所有文件

      w:可以在此目录中创建文件

      x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的的详细信息。

    ===========================================================================================

20、useradd 

      useradd NAME:增加用户

        -u UID:指定用户所属主ID 

        -g GID:指定基本组ID或者组名(此组必须首先存在才能用)

        -G GID:定额外组(附加组),可以指定多个,彼此之间用逗号隔开即可(此附加

    组必须首先存在才能用)

        -c "COMMENT"指定注释信息

        -d /path/to/somedirectory指定用户的家目录,不用的时候默认在home下面

    建立一个和用户同名的目录。

        -s 指定shell,路径最后是etc/shells文件内规定的shell路径。

        -M 不给用户创建家目录

        -r 创建一个系统用户,共系统调用,并不建立家目录

    userdel USERNAME:删除用户 

                (不加参数时,默认不删除用户的家目录) 

        -r :删除用户的同时也删除家目录

    ===========================================================================================

21、id
      

id命令:查看当前用户的id信息

        -g USERNAME:查看用户的gid

        -u USERNAME:查看用户的uid

        -G USERNAME:查看用户的所有组

        -un:显示当前用户的用户名

       -gn:显示当前用户的组名

    ===========================================================================================


22、finger 


     

 finger命令:查看用户账户信息

        finger USERNAME 

    ===========================================================================================

     
24、用户账户属性管理 


    

  usermod:修改账户的属性

      usermod [option] USERNAME 

        -u:修改UID 

        -g:修改GID 

        -G:修改附加组

        -a -G:增加附加组,不覆盖之前的附加组

        -c:修改用户的注释信息

        -d:为用户知道新的家目录

        -d -m :指定信家目录并移动此前家目录的文件至新的家目录内

        -s:修改用户的默认shell

        -l:修改用户名

        -L:锁定用户账户

        -U:解锁账户

    ==========================================================================================

     
25、用户密码管理 


      

 passwd USERNAME 

         -l:锁定账户

         -U:解锁账户

         -d:删除用户密码

         -n:用户密码最短时间

         -x:用户密码最长使用时间

       pwck:检查用户账户完整性

    ==========================================================================================

     
26、组管理 

     groupadd:新建组

     groupadd [option] GROUPNAME 

        -g :GID指定GID 

        -r :添加为系统组

     groupmod:组属性

     groupmod [option] GROUPNAME 

       -g GID:修改gid

       -n NAME:修改组名

     gpasswd:修改组密码

     gpasswd GROUPNAME 

    ===========================================================================================


27、chage 


    

 chage:更改用户账户信息

       -d:最后一次修改时间

       -E:过期时间

       -I:非活动时间

       -m:最短期限

       -M:最长期限

       -W:警告时间

    ===========================================================================================


28、chown 


    

 chown:改变文件属主、属组,只有管理员是也此命令

     chown USERNAME file....(只改变目录本身)

        -R 递归修改(修改目录及其内部文件的属主)

        --reference=/path/to/somefile file... 把file的属主设定为与

    somefile的属主一样(不需要指定属主)

       chown USERNAME:GRPNAME fiel... 同时改变属主和属组

       chown USERNAME,GRPNAME fiel... 同时改变属主和属组

       chown :GROUPNAME fiel....   修改属组

    ===========================================================================================


29、chgrp 

     chgrp:修改文件属组

     chgrp GROUPNAME file....(只改变目录本身)

        -R 递归修改(修改 目录及其内部文件的属组)

         --reference=/path/to/somefile file... 把file的属主设定为与

    somefile的属组一样(不需要指定属组)    

    ===========================================================================================

30、chmod 

 chmod:修改文件的用户权限

     chmod MODE file... 

        -R:递归修改

        --reference=/path/to/somefile file... 

        chmod 755 file... 

     修改某类用户的某些权限

      u:属主

      g:属组

      o:其他

      a:所有

        chmod 用户类别=MODE fiel.. 

        chmod u=wr,g=w /fiel.. 

        chmod uo=wr /file.. 

     修改某类的用户某位或某些位权限

        chmod 用户类别[-/+]MODE fiel..

31、echo 

     

 echo:输出信息

      echo "abc" 

      echo "字符串" | passwd --stdin USERNAME:利用管道修改用户密码

     
32、输入、输出重定向 
         

 输出重定向:> 覆盖输出(会覆盖原文件内的内容)

        : >> 追加输出(不覆盖原文件的内容)

        set -C :禁止对已经存在文件使用覆盖重定向

        set +c :关闭上述功能

        2>:重定向错误输出,不能输出正确信息

        2>>:追加方式实现错误输出

        &>:重定向标准输出或错误输出至同一个文件。 时覆盖方式

        输入重定向:<  

        <<:此处生成文档

        cat << END :输入信息,直至输入END时结束。(EOF或者END代表文档输入结束)

        cat >> /tmp/myfile.txt << END

    ===========================================================================================


33、grep 
          

grep:根据模式,搜索文本,并将符合模式的文本行显示出来

       -i 忽略大小写

       --colour(color)颜色显示

       -v 反向查找,显示没有被模式匹配的行

       -O 只显示被模式匹配的字符串

    ===========================================================================================

34、sed 

    

 sed:流编辑器,把文本中的某一行读取到内存中进行处理,此内存空间称为模式空间。

    默认不编辑原文件,只对模式空间内的数据进行处理,处理结束后,将没模式空间打印至

    屏幕

       sed 'AddressCommand'  file... 

        -n :静默模式,不在显示模式空间中的内容

        -i :直接修改原文件

        -e :-e SCRIPT -e SCRIPT) 可以同时执行多个脚本

        -f /PATH/TO/SED_SCRIPT: sed -f /path/to/sed_script file 

    :执行脚本文件

        -r :使用扩展的正则表达式

        d:删除符合条件的行

         fg:/etc/inittab    删除1-2

         sed '/root/d' /etc/fastab 删除包含root的行

        p:显示符合条件的行。

         fg:sed '/^\//d' /etc/fastb 删除以/开头的行

         sed '/^\//p' /etc/fastb 显示以/开通的行

        a \string:在指定的行后追加新的行,内容为string

        i \string:在指定的行前面添加新行,内容为string

        r FILE :将指定的文件的内容添加至符合条件的行处

        w FILE :将地址指定范围内的内容另存至指定的文件中

        s/pattern/string/ :查找并替换(默认只替换每行中第一次被pattern匹配

    到的字符串)  把pattern匹配的字符换为string

        修饰符:g 全局替换   s/pattern/string/g

        i 忽略字符大小写 s/pattern/string/i

        s///=s###=s@@@ 在找/时就不用转意了。

        &:后向引用,引用模式匹配的整个串

    ===========================================================================================

        fg:sed练习:

        1、删除/etc/grub.conf文件中行首的空白符;

          sed -r 's/^[[:space:]]+//g' /etc/grub.conf

        2、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5

         sed 's/id:3:initdefault/id:5:initdefault/g' /etc/inittab

         sed 's@\(id:\)[0-9]\(:initedefault)@\15\2@g' /etc/inittab

        3、删除/etc/inittab文件中的空白行;

         sed '/^$/d' /etc/inittab

        4、删除/etc/inittab文件中开头的#号;  

         sed 's/^#//g' /etc/inittab

        5、删除某文件中开头的#号及后面的空白字符,但要求#号后面必须有空白字符;

        sed 's/^#[[:space:]]\{1,\}//g' /etc/inittab 或者

        sed  -r 's/^#[[:space:]]+//g' /etc/inittab

        6、删除某文件中以空白字符后面跟#类的行中的开头的空白字符及#

          sed -r 's/^[[:space:]]+#//' 1 

         7、取出一个文件路径的父目录名称; 

           echo "/etc/rc.d" | sed -r 's@^(/.*/)[^/]+/?@\1@g'  

          以/.*/开头,[^\]指非斜杠,\1引用左边第一个括号内的内容一次。

           echo "/etc/rc.d" | sed -r 's@^/.*/([^/]+)/?@\1@g' 

          提取本文件

    ===========================================================================================

35、vim 

        vim:文本编辑器,全屏、模式化的编辑器

       vim模式:

            编辑模式(命令模式):默认

            输入模式

            末行模式

    ------------------------------------------------------------------------------------------

        vim模式转换:

        1、从编辑模式-->输入模式

          i:在当前光标所在字符的前面,转为输入模式

          a:在当前光标所在字符的后面,转为输入模式

          o:在当前光标所在行的下方新建一行,并转为输入模式

          I:在当前光标所在行的行首,转为输入模式

          A:在当前光标所在行的行尾,转为输入模式

          O:在当前光标所在行的上方新建一行,并转为输入模式

    ---------------------------------------------------------------------------------------

         2、从输入模式-->编辑模式

           键入esc键。

         3、末行模式:必须从编辑模式进入末行模式

           键入:即可。

         4、末行模式-->编辑模式

           敲esc键,一次或者多次。

    -------------------------------------------------------------

     vim退出文件:

        1、末行模式下关闭文件

           w:保存文件

           q:退出

           wq:保存并退出

           q!:不保存并退出

           w!:强制保存

           wq=x 保存退出

        2、编辑模式下退出

          大写ZZ:保存退出

    ------------------------------------------------------------------------------------------

     vim下移动光标(编辑模式):  

     1、逐字符移动:

         h:向左

         l:向右

         j:向下

         K:向上

         #h:移动#(数字)个字符

       2、以单词为单位移动

         w:移动下一个单词的词首

         e:移动到当前单词的词尾或者下一个单词的词尾

         b:移动到当前单词的词首或者上一个单词的词首

         #w:一次跳#个单词。

       3、行内跳转

         0:跳到行首(绝对行首)

         ^:跳到第一个非空白字符的行首

         $:绝对行尾

        4、行间跳转

         #G:直接跳转至第#行上。

         G:直接跳转至最后一行

     末行模式下跳转:直接给出行号,回车即可。

    -------------------------------------------------------------------------------------------

       vim翻屏:

         ctrl+f:向下翻一屏

         ctrl+b:向上翻一屏

         ctrl+d:向下翻半屏

         ctrl+u:向上翻半屏

    -------------------------------------------------------------------------------------------

       vim删除字符:

         x:删除光标所在处的单个字符

         #x:删除光标所在处及向后的共#个字符

       vim删除命令:d

         d命令与跳转命令结合使用

         d$:删除到行尾。

         #d跳转符:删除跳转符指定的#个字符

         dd:删除当前光标所在行

         #dd:删除包括光标所在行之内的#行

       末行模式下可以使用:

          startADD,ednADDd

          1,10d:删除第一行到第十行

          .,100:删除当前行到100行。

          .表示当前行

           $:最后一行

           +#:向下的#行

           $-10:倒数第10

           vim删除的内容为保存在缓冲中,最后一次删除的内容可以粘贴。

    -------------------------------------------------------------------------------------------

       vim粘贴命令:p

         p(小写):如果删除的或复制的为正行内容,则粘贴至光标所在含行的下方,如果

    复制或删除的内容为非整行,则粘贴至光标所在字符的后面     

         P(大写):如果删除的或复制的为正行内容,则粘贴至光标所在含行的上方,如果

    复制或删除的内容为非整行,则粘贴至光标所在字符的前面

         vim复制命令:y

          y的用法同d

          yy:复制一行

          vim先删除内容,再转换为输入模式:c

        c的用法同d命令

          cc:删除一行,并进入输入模式。

          c$:删除到行尾,并进入输入模式

    -------------------------------------------------------------------------------------------

        vim下撤销编辑操作命令:u

            u:撤销上一次操作,连续u命令可以撤销此前的n次操作

            #u:直接撤销最近#次编辑操作

    -------------------------------------------------------------------------------------------

        vim超找替换

          /PATTERN:从行首向下查找PATTERN匹配的选项

          ?PATTERN:从行尾向上查找PATTERN匹配的选项

        vim查找并替换:s

         在末行模式下使用s命令

         用法与sed一样

         ADDR1,ADDR2s@PATTERN@string@gi

         g:全局 i:忽略大小写

         .,$-1 :当前行到倒数第一行

         1,$表示全文

        vim下shell交互

         :COMMAND 回车查看,查看完以后再回车,进入vim编辑模式。

    -------------------------------------------------------------------------------------------

     vim高级话题

         1、显示或取消显示行号

            :set nu

            :set nonu

         2、设定忽略或区分大小写

           :set ignorecase  

           :set ic 忽略

           :set noic

         3、设定自动缩进

           :set autoindent

           :set ai 缩进

           :set noai

         4、查找到的文本高亮显示或取消高亮显示

           :set hlsearch 高亮显示

           :set nohlserch 取消

        5、语法高亮

           :syntax on 开启

           :syntax off 关闭

     
36、let 
         

 let:相当于一个小的计算器

         let SUM+=$I ;sum等于sum+I

         let I+=1:让I等于I加1

         let I++:让I等于I加1

         let I-=相当于let I--:I等于I减1

     
37、locate 
        

   locate:查找文件,非实时的、模糊匹配,全系统文件数据库的查找命令

     updatedb:手动生成文件数据库,新安装的系统没有数据库的,速度快

     
38、find 
         

  find:实时查找、精确、遍历指定目录中的所有文件完成查找,速度慢、支持众多

    查找标准

        格式:find 查找路径 查找标准 查找到以后的处理运作

        查找路径:默认为当前目录

        查找标准:默认为指定路径下的所有文件

        处理运作:默认为显示到屏幕

    -------------------------------------------------------------------------------------------

    匹配标准

        -name 'FILENAME':对文件名进行精确匹配

              还支持文件名通配符:*:任意长度的任意字符

        -iname 'FILENAME':文件名匹配不区分大小写

        -regex PATTERN:基于正则表达式进行文件名匹配

        -user USERNAME:基于文件所属主进行匹配查找

        -group GROUPNAME:基于文件的属组进行查找

        -uid UID:基于文件的uid,用户被删了以后id号会保存下来

        -gid GID:文件组

        -nouser:查找没有属主的文件

        -nogroup:查找没有属组的文件

        -type :根据文件的类型来查找

           f:普通文件

           d:目录

           p:管道

           s:套接字

           l:链接

           -size:指定文件的大小

          [+|-]#K:大于或者小于#k的文件

    -------------------------------------------------------------------------------------------

    时间戳查找

           单位为天

           -mtime :修改时间

           -atime :访问时间

           -ctime:改变时间

           支持[+|-]#: 

              5:五天那一天访问

              -5:五天之内

              +5:至少五  天之外

          单位为分钟

          -amin:访问时间

          -cmin:修改时间

          -tmin:改变时间

           文件的权限查找

             -perm mode(755):精确查找

                  fg:find 路径 -pern 755 

             -perm /mode : 三位匹配一位就可以              

          -perm -mode:文件权限能完全包含此mode才可以显示

           执行动作:

          -print:默认的,显示

            -ls:类似ls -l的形式显示匹配到的每个文件的详细信息

            -ok COMMAND {} \;每个操作需要用户确认 执行命令,必须以\;结尾。

    {}代表匹配到的文件。          

            -exec COMMAND {} \;不需要确认,执行命令,必须以\;结尾。{}代表

    匹配到的文件。

    =========================================================================================


39、SUID 
          

 suid:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者所属主

           添加文件的SUID:chmod u+s FILE 

                       chmod u-s FILE 

         如果FILE本来原来就有执行权限,则SUID显示为s,否则为大S

        SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属

    的基本组

        chmod g+s  FILE 

        chmod g-s  FILE 

        fg:一个团队,三个用户:hadoop、hbase、hive,一个开发目录

        /tmp/project,要求这三个用户可以同时修改同一个文件。查看、编辑、等权限

         三个用户同属一个基本组,并要求基本组具有查看、编辑权限。。

          groupadd devdeop

          chown -R :develop /tmp/projest

          usermod -a -G develop hadoop

          chmod g+s /tmp/project

          然后就可以进行创建、修改、删除同一个文件了。

    ===========================================================================================

40、sticky 

        sticky:规定在一个公共目录,每个人都可以创建文件、删除自己的文件,但不

       能删除别人的文件。

         chmod o+t DIR:对目录增加sticky权限

         chmod o-t DIR:去掉目录的sticky权限

         chmod 1755 /backup/test 表示文件具有sticky权限

     
41、facl 

        facl:利用文件扩展保持额外的访问权限

        setfacl:设置某文件的控制权限

             -m:增加facl

             u:设定用户的时候,后面加上u:UID:perm  

             fg:setfact -m u:UID:rw file

             g:设置组

            -x:取消facl

        getfacl:查看文件的facl权限

     
42、whoami    

   whoami:显示当前用户是谁,su半切换的时候显示的是切换之前的那个用户

     
43、who 
  

      

    who:查看当前登录系统的用户以及他所登录的终端

          -r:显示当前运行级别

          -H:第一回列表显示各列名称

        w:显示比who更详细的信息

     
44、last 

        last:显示当前系统上的登录日志(/var/log/wtmp文件),包括系统用户和

    重启信息

       last -n 数字:只显示最近几次的登录信息 


45、lastb 
          
     

   lastb:显示用户错误的登录常识

        lastb -n 数字:只显示最近几次错误的登录信息。 
     
46、lastlog 

        lastlog:显示每个用户最近一次成功登录的信息

        lastlog -u USERNAME:显示指定用户最近一次的登录信息

47、basename 
       

                   basename:显示一个目录的基名           basename /etc/abc/me 直接显示me           $0:命令名称或者脚本本身的路径。           basename $0:直接调用脚本本身路径     ==========================================================================================

48、mail    

   mail:邮件查看,可以查看邮件,查看以后就会放到用户的家目录内mbox文件夹内。

         -s主题

         mail -s "How are you " root   

         cat /etc/fast | mail   -s "How are you "   root

49、hostname 

        hostname:显示当前主机的名称

        hostname 主机名:更改主机名

           fg:如当前主机的名字为空,或者(none)或者为(localhost),就将其

    改为www

          [ -z` hostname` -o `hostname` == "(null)" -o `hostname` 

           == "localhost" ] && host www. 

           -z:表示是否为空

     
50、RANDOM 
         

 RANDOM0-32768直接的随机数

        echo $RANDOM:生成随机数

       
51、ln

  

  ln:创建链接文件

      ln SRC DEST:创建硬链接

        -s:创建软连接

        -i:显示文件的inode号

        -v:显示执行结果

       硬件连接:

       1、只能对文件创建,不能应用于目录,文件的硬链接次数为2 

       2、不能夸文件系统

       3、创建硬链接会增加文件被连接的次数

       符号连接:

       1、可应用于目录

       2、可以跨文件系统

       3、不会增加被连接文件的连接次数

       4、其大小为指定的路径所包含的字符个数

    ===========================================================================================


52、du 
         

 du:显示目录下的所有文件的大小           

  -s:显示目录大小            

  -sh:单位换算后显示    

  ================================================================

53、df 
         

 df:显示整个磁盘分区的使用情况

            -h:显示空间大小

    ===========================================================================================


54、fdisk 

     

fdisk:磁盘分区

        fdisk /dev/sda

        p:显示当前磁盘上的分区

        n:创建一个新的分区

            e:扩展分区

            p:主分区

        d:删除一个分区

        w:保存退出

        q:不保存退出

        t:修改分区类型

        l:显示所有支出的分区类型

    ===========================================================================================

55、partprobe:

      

 更新分区表,常用于5.x的RedHat|Centos系列

     6.x上常使用partx指令


56、mkfs 

     

   mmkfs:创建文件系统

        mkfs -t FSTYPE 指定分区

        -t可以实现多种系统的格式化    如mkfs -t ext2 /dev/sda5

     
57、mke2fs  

     

 mke2fs:专门管理ext系列的文件的命令,不跟任何参数,指的是创建ext2

           -j:指的是创建ext3类型文件系统

           -b BLOCK_SIZE:指定块大小,默认为4096;可用取值为1024,2048

           4096 

           -L LABEL: 指定分区卷标;例如 mke2fs -L MYYY /etc/sda5

           -m #:明确指定预留给超级管理员用的快熟百分比 mke2fs -m 3 

           /dev/sda5

     

           -i #:指定为多少个字节的空间创建一个inode , 默认为8192;这里给出的

    数值应该为块大小的2^n被  mke2fs -i 4096  表示4096个字节创建一个inode

          -F:强行创建文件系统;

          -E:用于指定额外的文件系统属性;

          -N#:指定inode个数;

58、blkid 

      

  blikd:查询或查看块设备的属性,其中有包含文件系统的信息

     
59、e2lable 
        

  e2lable:专门用于查看或定义卷标

        查看卷标  e2label /dev/sda5  

        设定卷标  e2label 设备文件 卷标   :即实现设定卷标   e2label

        /dev/sad6 YYY 

               (这里的设备文件即/dev/sda5)

60、tune2fs  

      

 tune2fs:调整文件系统的相关属性

            -j:不损坏原有数据,将ext2升级为ext3,但是不能降级

            -L LABLE:设定或修改卷标

            -m #:调整预留百分比

            -r #:预留块数

            -o:设置默认挂载选项,其中有一个是acl,acl是一个功能,但需要挂载才能

    使用,否则是不能用的  

             -c #:指定挂在次数达到#次之后进行自检,指定0-1表示关闭此功能,不自

    检;

           -i #:可以指定每挂载使用多少天后进行自检:0-1表示关闭此功能;

           -l:显示超级块内容

    ===========================================================================================


61、dumpe2fs

     

   dumpe2fs:以显示文件系统中超级块信息或文件的属性信息,

   同上面的tun2fs -l    选项类似,都是很重要的命令,

   其中也显示超级块的信息,FREE是空闲的意思         

   -h:表示只显示超级块中的信息

62、fsck 

     

 fsck:检查并修复Linux文件系统

           -t TYPE:指定文件系统类型

           -a:自动修复

63、e2fsck 

        e2fsck:专门用来检查修复ext2或ext3的命令              

        -a或-p:自动修复;              

        -f :强行修复;

64、mount       

 mount:挂载文件系统

        mount 设备 挂载点

        设备

       设备文件:/dev/**

       卷标:LABLE=""

       UUID:UUID=""

        挂载点:挂载点就是个目录

           1,此目录没有被其他进程使用;

           2,目录的首先存在;

           3,目录中原有的文件将会暂时隐藏;

    ----------------------------------------------------------------

        mount相关参数

            -a:表示挂载/etc/fstab文件中指定的所有的文件系统

            -n:默认情况下,mount每挂载一个设备,都会把挂载的设备信息保存至

    /etc/mtab文件;使用-n选项意味着挂载设备时,不把信息写入此文件;

            -t FSTYPE:指定正在挂载设备上的文件系统的类型;不使用此选项时,

    mount会调用blkid命令获取对应文件系统的类型;

            -r:只读挂载,挂载光盘时常用此选项

            -w:读写挂载

            -o:指定而外的文件系统挂载选项,即指定文件系统启用的属性

                async:表示异步写入

                atime:表示更新时间戳

            noatime:关闭更新时间

            auto:表示这个磁盘设备能被使用-a选项自动挂载

            remount:重新挂载当前系统

            dev:允许其他磁盘设备

                ro:挂载为只读           

            rw:读写挂载

            ower:允许普通用户挂载

            sync:同步启用

            loop:挂载本地回环设备

     ==========================================================================================


65、umount 

        umount:卸载

        umount 设备

        umount 挂载点

            上面两个都可以,卸载时只要指定一个就可以了

66、free 

        free:查看系统上的物理内存和交换内存的使用情况,默认字节

            -m:以M为单位显示

            buffers是缓冲 cached是缓存:的目的是重复使用,避免过慢的设备遭

67、mkswap 

    

  mkswap:创建交换分区

        swapon /dev/sd*:启用交换分区

            -a:表示启用/etc/fstab内的所有交换设备

        swapoff /edv/** :关闭交换分区

    ===========================================================================================


68、dd 

      

  dd:转换和复制文件,复制的是最底层的数据流

        格式:dd if=数据来源 of=数据存储目标 bs=#多大为一个单位 count=# 复制

    这样的数据几次

        例如dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1

    可以用来备份MBR   

        创建回环文件

        dd if=/dev/zero of=/var/swapfile bs=1M count=1024这个命令就能

    创造出一个大小为1G的镜像文件,而这个镜像文件能够直接mkswap并且启动起来都是

    可以的

        /dev/zero是泡泡设备,能一直向外吐零

    ===========================================================================================


69、fuser  

     

 fuser:验证进行正在使用的文件或套接字

            -v:查看某文件上正在使用的进程

            -k:把正在访问的进程给kill了

            -km:把挂载点上的进程都关闭掉

    ===========================================================================================

70、gzip    

  

  gzip:压缩,压缩完成后会删除源文件             

  -d:解压             

  -#:1-9个压缩级别,默认为6         

  gunzip:解压         

  zcat:不解压的情况,查看文本GZ文件的内容

71、bzip2 

    

   bzip2 /path/to/somefile             

  -d:解压             

  -K:压缩后不删除原文件         

  bzcat:不解压的情况,查看文本bz2文件的内容

72、zip       

zip:压缩目录,即归档又压缩的工具

        压缩后不删除原文件

        unzip:解压


73、tar     

 tar:能够实现归档的工具,只归档,不压缩。

            -c:创建归档文件

            -f file.tar:操作的归档文件,所以-f后面必须跟参数,后跟.tar

            -x:展开归档文件,原归档文件不删除

            --xattrs:表示在归档的同时,保留文件的扩展属性信息

            -t:不展开归档,查看归档了哪些文件

            -zcf:归档并调用gzip压缩

            -zxf:调用gzip解压缩并展开归档,-z选项可以省略

            -jcf:调用bzip2并归档

            -jxf:调用bzip2并展开归档

            -Jcf:调用xz

            -JXF:调用xz

    -------------------------------------------------------------------------------------------


74、cpio:制作归档或展开归档文件


75、read   

 read:shell脚本内可以实现交互式的操作      

 read -p “提示”       

 -t:时间限制

76、mdadm

 mdadm:制作RAID卷的命令

       -C:创建RAID

          -l:级别

          -n:设备数

          -a:自动为其创建设备文件,后跟yes|no       

          -c:指定chunk大小,默认64k       

          -x:指定空闲盘格式,提供冗余    

          -F:监控RAID      

          -G:增加RAID    

          -A:装配RAID    

         -D:显示RAID信息   

         -S:停止RAID   

         mdadm -D --scan > /etc/mdadm.conf,将当前RAID信息保存至配置

    文件,一便以后进行装配


 77、watch      

 watch:周期性的执行指定命令,并以全屏方式显示结果

          格式: watch -n # 'COMMAND' 

          -n #:指定周期,单位为妙,默认2


78、逻辑卷 LV 

    pvcreate:创建

    pvmove:挪动数据

    pvremove:擦除pv卷

    pvdisplay:显示物理卷

    pvscan:扫描系统上有几个pv

    pvs:查看pv信息

    ------------------------------------------------------------------

    卷组

    vgcreate:创建

         -s #:指定pe大小,默认为4m

    vgreduce:删除vg

    vgmove:移除

    vgextend:把一个物理卷加入此卷组

    vgs:查看系统上的组卷信息

    ------------------------------------------------------------------

    逻辑卷:

    lvcreate:创建

          -L #:指定大小

          -n NAME:指定名字

    lvreduce:模拟损坏

    lvremove:移除lv,后加路径

    lvextend:扩展

    lvdisplay:查看lv相关信息

    lvs:查看lv信息

    fg:lvcreate -L 50M -n testlv myvg

    -----------------------------------------------------------------------

    LVM扩展:先扩展物理卷边界,再扩展逻辑卷

    lvextend -L [+]# /PATH/TO/LV :扩展物理边界

    resize2fs:扩展逻辑边界

    resize2fs /PATH/TO/LV 5G:扩展逻辑边界到5G

    resize2fs -p /PATH/TO/LV:有多大扩展到多大

    mount -a:挂载/etc/fstab文件内的所有设备

    

    LVM缩减:先缩减逻辑边界resize2fs /PV 3G,再缩减物理卷边界、  

    1、不能在线缩减,得先卸载

    2、确保缩减后的空间大小能储存原来所有文件

    3、在缩减之前应该强行检查文件,以确保文件系统处于一致性状态

    e2fsck -f:强行检查文件

    df -lh:检查利用率

    umount

    e2fsck -f:强行检查文件

    resize2fs /PATH/TO/lV  5G:缩减逻辑卷到5G

    lvreduce -L [-]#G /PATH/TO/LV:缩减物理卷边界

    ================================================================


78、lvcreate

   lvcreate:创建快照卷

    -s :指定类型为块照

    -p r|w:表示指定权限

    -n:名字

    -L #:指定大小

79、ping

   

 ping IP

    -c:次数

    -w:超时时长,单位为秒

80、awk
  

awk:从文件中筛选符合条件的内容

    格式:awk 'PATTERN{ACTION}' file

    -F:指定分隔符

    print $1:显示第一段

    print $0:显示一行中的所有字段

    print $NF:显示最后一行

    awk '空格{print $1,$3}' 第一和第三字段

    awk -F'{print $1,$2}'

    fdisk -l 2>/dev/null :把错误信息输入到null内不显示

    ===========================================================================================

81、ifconfig
  

ifconfig:查看和配置系统的网络信息

    [ethX]:显示某个网卡信息

    -a:显示所有的网卡信息

    ifconfig ethx IP/MASK :配置网卡地址(子网掩码必须指定)

    ifconfig ethx [up|down]:开启或者禁用网卡

    配置Ip地址是立即生效,但重启网络服务或重启主机,都失效

    ------------------------------------------------------------------------------------------

82、route
   

route:查看本机的路由信息

    -n:以数字的方式显示主机信息

    route add:添加路由

    -host:主机路由

    -net:网络路由

    格式:route add -net|host DEST gw NEXTHOP

    route add  default gw NEXTHOP

    route del:删除路由

    -host

    -net

    route del -net 10.0.0.0/8

    route del -net 0.0.0.0

    route del default

    以上所做的改动重启网络服务或重启主机,都失效。

    -------------------------------------------------------------------------------------------

83、ip
  

ip:功能比较强大的网络命令

    ip link:配置网络接口属性

    show:显示所有网络接口信息

    ip -s link show:查看所有统计信息

    ip link set ethx {up|down|arp {on|off}}:设定网络接口的工作属性

    ip addr:协议地址

    show:网络信息

    ip addr add IP  dev eth1 添加ip,在ifconfig下看不到的,利用

    ip addr show

    ip addr add 192.168.0.1/24 dev eth1

    ip addr add IP  dev eth1 label ethx:x 添加ip以后增加别名,

    在ifconfig下可以查看到

    ip addr add IP  dev eth1  

    ip addr show dev ethx to 前缀:查看ethx 上的以前缀开头的信息

    ip addr flush eth1 to 10/8 :删除eth1上所有的以10开头的ip地址。

    ip route:路由

    ip route change|replace :修改路由信息

    ip route add to 目的网段 dev ethx via IP(下一跳IP)

    =========================================================================================

84、shutdown
   

shutdown [-akrhHPfnc] [-t secs] time [warning message]

    shutdown:关机的命令

     -r now:立即重启

     -t sec:几秒之后

     -h now:立即关机

85、uname
 

 uname -r:查看系统内核版本

     uname -a:系统版本信息

86、lftp    

 lftp IP:进入ftp服务器

     get 下载单个文件到本地

     mget 下载多个文件到本地

    bye 退出ftp

    ===========================================================================================

87、rpm
  

rpm:安装rpm包的工具

    rpm安装命令

    -i rpm:安装软件

    -h:以#显示安装进度

    -v:显示安装信息

    -vv:显示更详细的安装信息

    -ivh:组合使用,常用命令安装软件

    --nodeps:忽略依赖关系

    --replacepkgs:重新安装、替换原来安装。

    -ivh --oldpackage:降级安装

    -ivh --force:强制安装,可以实现重装或降级

    --test:测试有没有依赖关系

    -------------------------------------------------------------------------------------------

    rpm查询命令

    -q rpm:查询指定包是否安装

    -qa:经安装的所有包

    -qi:查询指定包的说明信息

    -ql:查询指定包安装后生成的目录列表

    -qc:查询指定包的配置文件

    -qd:查询指定包的帮助文件

    -q --scripts:查询指定包内包含的脚本

    -qf:查询指定的文件是有哪个rpm包安装

    -------------------------------------------------------------------------------------------

    rpm软件升级命令

    -Uvh:如果装有老版本的,则升级;否则,则安装

    -Fvh:如果装有老版本的,则升级;否则,则退出

    -Uvh --oldpackage:降级

    -------------------------------------------------------------------------------------------

    rpm卸载命令

    -e:卸载

    -e --nodeps:忽略依赖关系卸载

    -----------------------------------------------------------------------------------------

    rpm校验命令:

    -V:无输出信息就是正常

    rpm数据库重建

    rpm --rebuilddb:重建数据库,一定会重新建立。

    rpm --initdb:初始化数据库,没有才建立,有就不用建立。

    ==========================================================================================

88、yum
    

yum:安装软件命令,可以自动解决软件包直接的依赖关系。

    list:显示yum仓库内的软件

    list available:仓库中有但尚未安装的包

    list installed:显示已经安装的

    list updates :可以的升级

    ------------------------------------------------------------------------------------------

    yum clean:清楚缓存

    yum clean {packages | headers | metadata | dbcache | all}

    yum repolist:显示repo列表及简要信息

    yum repolist {all|enabled|disabled}

    ---------------------------------------------------------------

    yum安装软件命令

    install:安装软件包

    -y install:自动安装

    install --nogpgcheck:不做校验

    ------------------------------------------------------------------------------------------

    yum升级软件命令

    yum update :升级

    yum   update_to:升级到指定版本、

    -----------------------------------------------------------------------------------------

    yum卸载软件命令

    yum remove|erase PACKAGE_NAME

    yum info PACEAGE_NAME:查看软件包信息

    ------------------------------------------------------------------------------------------

    yum 开发组安装命令

    groupinstall 组名:安装组中包含的包  

    groupinfo 组名:显示组包含包信息(如果组名中间有空格,使用”“

    grouplist 列出组    

    groupupdate

    -------------------------------------------------------------------------------------------

    yum 安装本地RPM包命令

    yum localinstall rpmfile1 :安装本地包并从yum库内解决依赖关系

    yum --nogpgcheck localinstall rpmfile1:不校验安装

    ===================================================

89、源码程序安装命令
 

 tar xf ....:解压源码包

    ./configure;配置

    make:编译

    make install:安装


90、netstat

netstat:查看系统信息

  -r:显示路由信息

  -rn:以数字的方式显示

  -t:显示tcp链接

  -u:显示udp链接

  -l:显示端口监听状态

  -p:显示监听指定套接字的进行的进程号及进程名

  -tunlp:常用组合,数字显示tcp、udp的链接情况

91、ps

ps:查看进程信息

 BSD风格常用选项:

  a:显示所有与终端有关的进程 ?:表示与终端无关

  x:显示所有与终端无关的进程

  u:显示进行信息

  aux:组合使用

SysV风格常用选项:

  -elF:查看所有进行信息(e:所有进程)

  -elf:没F详细

  -o PROPERTY:指定属性显示

--------------------------------------------------------------------------------------------

92、pstree
  

pstree:以树的形式显示ps信息。

93、pgrep:

 

 以grep的风格查看符合某种特性的进程

94、top

top:动态显示进程信息

支持交互,交互命令

  M: 根据驻留内存大小进行排序

  P:根据CPU使用百分比进行排序

  T: 根据累计时间进行排序

  l: 是否显示平均负载和启动时间

  t: 是否显示进行和CPU状态相关信息

  m: 是否显示内存相关信息

  c: 是否显示完整的命令行信息

  q: 退出top

  k: 终止某个进程

常用选项:

  -d 1 :几秒刷新一次

  -b: 批模式显示  

  -n #:在批模式下,共显示多少批

95、前台和后台作业

前台作业:占据了命令提示符

 后台作业:启动之后,释放了命令提示符,后续的操作在后台完成

 前台-->后台:

 ctrl+z键:正在前台的作业送到后台

 bg:让后台停止的作业继续运行

 bg [%JOBID]:%可以省

 fg:将前台的作业送到后台

 fg [%JOBID]%可以省

96、jobs

jobs:查看后天的所有作业

97、chkconfig

 chkconfig:查看服务启动项

 --list:查看所有独立服务的启动设定

 --list SERVICE_NAME:某个服务的启动设定

 chkconfig --add SERVICE_NAME(脚本名称):增加S链接和K链接

 chkconfig --del SERVICE_NAME(脚本名称):删除S链接和K链接

 chkconfig --level 24 服务名 off|on:指定在级别24内为on或off。

98、mktemp

mktemp:创建临时文件

 mktemp /tmp/file.XX(XX代表系统自动生成的文件)生成临时文件

 mktemp -d /tmp/file.xx :生成临时目录


99、kill

kill -SIGNAL PID

常用SIGNAL1:hup 2INT 9KILL 15TERM ctrl+c:是信号2,结束


100、trap命令:可以实现捕捉信号

trap ‘COMMAND’ 信号列表

fg:trap 'echo "you cannot kill me"' INT


101、at

at:指定在未来的某个时间点执行一次某任务

时间格式    

绝对时间:HH:MM DD::MM:YY MM/DD/YY

相对时间:now+#(minutes,hours,days,weeks)

模糊时间:noon,midnight,teatime

at -l:显示自己的作业列表

 at -d 作业号:删除作业


102、batch

batch:和at用法相似,只是执行是在系统空闲的时候执行计划任务。


103、cron

cron:不间断允许的服务

系统cron定义格式:

分钟 小时 天 月 周 用户 任务

用户cron任务定义格式

定义文件/var/spool/cron/USERNAME

格式:分钟 小时 天 月 周  任务


104、ssh

ssh:远程连接命令

ssh 172.....:直接以当前客户端上登陆的用户登陆远程主机

ssh USERNAME@172....:以某个用户登陆

ssh -l USERNAME 172....:以某个用户登陆

ssh USERNAME@HOST

`COMMAND`

:以某个用户不登陆远程主机执行COMMAND命令

105、scp

scp:远程复制文件的命令

scp SRC DEST:复制文件(与cp命令用法相似)

 -r

 -a                      

fg: scp USERNAME@HOST:/PATH/TO/SOMEFILE /path/to/local

scp /path/to/local USERNAME@HOST:/PATH/TO/SOMEFILE

106、dig

dig:测试域解析的命令

-t NS . :获取DNS根域信息

-t NS chris.com @IP:直接去某个IP查找DNS服务器。

-t A  chris.com:查看域的A记录

-t CNAME:查看别名记录

-X IP:根据IP查找主机名,反向解析信息


107、nslookup

nslookup:交互式的查看主机域名信息,使用与linux和windows上。

108、screen

screen:模拟多个窗口,窗口关闭后还可以调出来,常用于需要执行很长时间的时候,如内核编译

screen -ls:显示已经建立的屏幕

screen:打开一个新的屏幕

exit:退出当前屏幕

screen -r ID:返回某个屏幕

目录
相关文章
|
4天前
|
IDE Linux 开发工具
Linux 系统上安装
在Linux和Mac上安装Lua 5.3.0只需下载源码,解压,编译和安装。Windows用户可选择SciTE IDE或通过LuaForWindows在Github或Google Code下载安装。创建 HelloWorld.lua,使用`lua HelloWorld.lua`运行显示&quot;Hello World!&quot;。另可参考LuaDist官方推荐方式安装。
|
4天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
206 2
|
4天前
|
Ubuntu Linux 编译器
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
|
1天前
|
NoSQL Linux Shell
Linux MongoDB重启命令
【5月更文挑战第8天】
|
2天前
|
运维 Linux
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
|
3天前
|
存储 Linux Shell
YUM管理器的命令列表-Linux
YUM管理器的命令列表-Linux
8 0
|
3天前
|
监控 JavaScript Linux
Linux系统之部署Homepage个人导航页
【5月更文挑战第13天】Linux系统之部署Homepage个人导航页
21 1
|
4天前
|
监控 JavaScript 网络协议
Linux系统之安装uptime-kuma服务器监控面板
【5月更文挑战第12天】Linux系统之安装uptime-kuma服务器监控面板
15 0
|
4天前
|
Linux 程序员 计算机视觉
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
16 0
|
4天前
|
Linux
Linux的find命令使用
【5月更文挑战第11天】Linux的find命令使用
15 3
http://www.vxiaotou.com