Linux运维常用命令详解

Stella981
• 阅读 725

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表示显示从1到3的字段 

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     RANDOM:0-32768直接的随机数     echo $RANDOM:生成随机数 


  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:把新的分区同步到内核上去。 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 
          tar zxvf libmcrypt-2.5.8.tar.gz
  tar xvf libvpx-v1.3.0.tar.bz2 
------------------------------------------------------------------------------------------- 
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、wathc 
      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:指定属性显示

ps -aux | grep bmgctl
ps aux | grep bmgctl
ps -ef | grep bmgctl    (推荐使用)

--------------------------------------------------------------------------------------------
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 
常用SIGNAL:1:hup 2:INT 9:KILL 15:TERM 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:返回某个屏幕

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这