• LINUX常用命令


    系统常用工作命令

     1.echo命令

    echo命令用于在终端输出字符串或变量提取后的值,格式为“echo 【字符串|$变量】” 

     2.data命令

    date命令用于显示及设置系统的时间或日期,格式为”data【选项】【+指定的格式】”

     3.reboot命令

    用于重启系统

     4.poweroff命令

    用于关闭系统

     5.wget命令

    用于在终端下载网络文件

    6.ps命令

    用于查看系统中的进程状态

    7.top命令

    用于动态的监视进程活动与系统负载等信息

    8.kill命令

    用于终止某个指定pid的服务进程

    9.pidof命令

    用于查询某个指定服务进程的pid

    10.killall命令

    用于终止谋个指定名称的服务所对应的全部进程

    系统状态检测命令

    1.ifconfig

    用于获取网卡配置与网络状态等信息

    2.uname

    用于查看系统内核与系统版本信息,与参数-a一起使用:查看完整的内核名称、主机名、内核发行版本、节点名、系统时间、硬件平台等信息

    3.uptime

    用于查看系统的负载信息

    4.free

    用于显示当前系统内存的使用量信息,格式为“free 【-h】”。

    5.who

    用于查看当前登入主机的用户终端信息,格式为“who【参数】”。

    6.last

    查看所有系统的登录记录

    7.history

    查看历史执行过的命令

    8.sosreport

    用于收集系统配置及架构信息并输出诊断文档

    工作目录切换命令

    1.pwd

    显示当前用户所处的工作目录

    2.cd

    用于切换工作路径

    3.ls

    显示目录下的文件信息 -a查看所有文件(包括隐藏文件) -l显示文件的属性等信息  查看目录的详细信息要加上 -d

    文本文件编辑命令

    1.cat

    用于查看纯文本文件(内容较少的)

    2.more

    用于查看纯文本文件(内容较多的)

    3.head

    用于查看纯文本文件的前n行 参数-n

    4.tail

    用于查看纯文本文件的后n行或持续刷新内容 【 tail -f 文件名】实时的查看一个文件

    5.tr

    用于替换文本文件中的字符,格式为“tr 【原始字符】【目标字符】”

    6.wc

    用于统计指定文本的行数,字数,字节数  -l -w -c

    7.stat

    用于查看文件的具体储存信息和时间等信息

    8.cut

    用于按列提取文本字符

    -f设置需要看的列数

    -d设置间隔符号

    9.diff

    用于比较多个文件的差异

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

    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,否则为大SSGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属
        的基本组 
            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,20484096 -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,目录中原有的文件将会暂时隐***ount相关参数 
                -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:返回某个屏幕

    作者:牛客520863814号
    链接:https://www.nowcoder.com/discuss/358045?type=5
    来源:牛客网

    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,否则为大SSGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属
        的基本组 
            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,20484096 -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,目录中原有的文件将会暂时隐***ount相关参数 
                -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:返回某个屏幕
  • 相关阅读:
    Boost Started on Windows
    7-Zip
    代码的命名规则
    基础扫盲:YEAR关键字 IN操作符
    基础扫盲:INSERT INTO 和 SELECT 结合使用
    知识盲点:存在外键的的表,在插入数据时应该如何操作?
    SQL Identity函数
    SQL 中DateName()函数及DatePart()函数
    OS开发多线程篇—GCD介绍
    经典SQL语句大全
  • 原文地址:https://www.cnblogs.com/pttt/p/11969511.html
Copyright © 2020-2023  润新知