运维工程师必备150个命令(连载中...)

150个

1.mkdir  make directory                          创建目录

                                                 例子:mkdir /data表示在根下创建data目录。

                                                 参数:-p 递归创建


2.cd    change directorys                        切换目录

                                                 例子:cd /表示进入根目录。


3.ls     list                                    列表目录

                                                 例子:ls /etc

                                                 参数:-l(long)长格式显示目录或文件属性。

                                                       -d(directory),表示查看目录


4.touch                                         创建文件或更改文件时间戳

                                                 例子:touch /data


5.pwd    print work dirtorys                     打印工作目录(路径)

                                                 例子:pwd


6.vi                                            记事本 (简单,功能少)


7.vim                                           编辑器 (复杂,功能比较多)


8.cat                                           查看文件内容(编辑、追加)

                                                 例子:cat oldboy.txt

                                                       cat >>/data/test.txt<<EOF

                                                       I am studying linux.

                                                       EOF


9.echo                                           是一个打印输出内容的东西

                                                 (printf 让数据显示更规范更,美观)

                                                 例子:echo 'I am study linux.'

                                                       echo '

                                                             1111

                                                             2222

                                                             3333

                                                        '>>test.txt

                                       echo -e 'I am study linux\nI am study linux' >>b.txt


10.cp          copy                              拷贝文件或目录(默认只能拷贝文件)

                                                 格式:cp  源  目的地   

                                                 例如: cp /data/test.txt /tmp

                                                 参数:-r  递归拷贝      

                                                       -a  拷贝全部(包括属性)  

                                                       -p  保持属性    

                                                       -d  复制链接文件

区别:

cp /data/ /tmp            理论上是目录下的内容,不包含目录data本身

cp /data   /tmp           理论上目录级下面的内容,包含目录data本身

实际上 cp 、mv 源/data/ 和 /data 一样,如果目标/tmp不存在,则把/data改为/tmp


11.mv        move                               移动文件或目录(也有改名的功能)

                                                格式:mv 源 目的地

                                                例如:mv /data/test.txt /tmp


12.rm       remove                              删除文件或目录

慎用,危险,初学者一定用mv,find代替rm,在linux中是没有回收站的,当空间不允许的时候想删,就先备份。

                                                格式:rm 文件、目录

                                                例如:rm /data/test.txt(默认只能删文件)

                                                参数:-f  强制删除   

                                                      -r递归删除(删目录)

                                   

13.rmdir                                        删除空目录,现在基本很少用


14.find                                         查找文件或某

                                                格式:find 范围 

                                                参数:-type 类型 

                                                      d(directory) 目录 

                                                      f (file)文件     

                                                      -name 名字         

                                                      -exec 行动    

                                                      -mtime 时间 +7、-7、=7

                                                      -o 或者 (并集) 

                                                      !取反           

                                                      -a 并且 (交集) 

例如:find / -type f -name "*.txt"    (在根目录下查找名字以txt结尾的文件)

      find / -type d -name "*"        (在根目录下查找所有目录)

      find / -type f -name "*.txt" -exec rm {} \;(在/下查找名字以txt结尾的文件,删除)

      find / -type f -name "*.txt" -mtime +7 -exec rm {} \;(在/下查找名字以txt结尾的文件修改时间为7天前的,删除)

      find / -type f -name "*.txt"  -exec cp {} /tmp \;(在根目录下查找名字以txt结尾的文件,拷贝到/tmp下)

      find / -type f -name "*.txt"  -exec cp {} /tmp \;     

      cp ‘find / -type f -name "*.txt"  -exec cp {} /tmp 这两条命令是等价的


15.xargs                                      从标准输入获取内容创建和执行命令

                                              参数:-n  分组     

                                                    -i 在 cp、mv、echo的时候用

例如:find /data -type f -name "*.txt"|xargs -n 6 (将查找到的文件分组)

      find /data -type f -name "*.txt"|xargs rm -f(删除查找到的文件)

      find /data -type f -name "*.txt"|xargs -i mv {} /tmp(移动查找到的文件到/tmp下)


16.grep                                       擅长过滤(筛子)linux三剑客的老三

                                              参数:-v  排除  

                                                    -A(after) 后n行         

                                                    -B (before)前n行       

                                                    -C (context)前n和后n行  

                                                    -i  不区分大小写

                                                    -E  支持多个筛选

                                              例如:grep“oldboy” test.txt

                                                    grep  -v“oldboy” test.txt

                                                    grep 20 -A 10 ett.txt

                                                    grep 30 -B 10 ett.txt

                                                    grep "25" -C 5 ett.txt


17.head                                      头,头部   显示文件的前n行内容,默认前10行

                                             参数:-n 后面接数字,表示第n行

                                             例如:head -2 /etc/passwd (n可以省略)


18.tail                                      尾,尾部   显示文件的后n行内容,默认后10行

                                             参数:-n 后面接数字,表示第n行

                                             例如:tail -2 /etc/passwd (n可以省略)


19.seq                                       序列

                                             参数:-s 指定分隔符   

                                                   -w 补全数位

                                             例如:seq 10(排列1-10)

                                                   seq 1 2 10(排列1-10,公差为2)


20.tree                                     查看目录结构

如果显示乱码,则LANG=en     调整字符集,en英文 zh中文


21.alias                                    查看和设置别名

                                            作用:给危险命令加保护参数

                                            格式:alias 命令="想修改的内容"

                                                 (可以是命令,也可以是字符串)

                                例如:alias rm='echo "this command does not allow to use."'

                             


22.unalias                                 取消别名

                                            格式:unalias + 命令

                                            例如:unalias rm


23.sed                                      擅长取行,替换,linux三剑客的老二

                                            参数:-n 取消默认输出    

                                                  -i 插入    

                                                  -e 多项编辑 

                                            功能: p 打印  

                                                   # 是分隔符     

                                                   g 全部替换      

                                                   s 查找并替换         

                                                   d 删除         

                                            例如:sed -n '20.30p' ett.txt

                                                  sed 's#oldgirl#gongli#g' a.txt

                                                  sed 's#oldgirl#gongli#1' a.txt

                                                  sed '/oldboy/p' ett.txt  过滤(查)

                                                  sed '/oldboy/d' ett.txt  删除(删)

                        sed  -i 's#oldgirl#oldboy#g' `find /oldboy -type f -name "*.sh"`

 find  . -type f -name "*.sh" | xargs sed -i.bak 's#oldboy#oldgirl#g' (先备份,再修改)


24.awk                                      擅长取列,linux三剑客的老大

                                            参数:NR 行号       

                                                  && 并且     

                                                  $0 整行内容    

                                                  \n 回车      

                                                  -F 指定分隔符

                                例如:awk '{if(NR<31 && NR>19)  printf $0"\n"}' ett.txt

                                      awk 'NR>19&&NR<31' ett.txt

                                      awk 'NR==20,NR==30' ett.txt


25.yum                                      软件包管理工具


26.useradd                                  添加用户

                                             例子:useradd test


27.passwd                                    设置和修改密码

                                             例如:passed test  

                                        如果直接输入passwd,修改当前用户密码

                   echo "123456"|passwd --stdin test  直接修改密码,非交互式


28.su                                        角色切换

                                             例如:su - test(一定要加-)

切换用户时出现以下情况:

-bash-4.1$         原因是,环境变量删了

解决方法:cp -a /etc/skel/.bash* .


29.whoami                                   查看当前用户


30.man                                      查看帮助

                                             例如:man cp


31.help                                     查看bash内置命令的帮助

                                             例如:help cd


32.uname                                     打印系统信息

                                             参数:-m 查看多少位        例如:uname -m

                                                   -r 查看内核版本信息  例如:uname -r 

                                                   -a 查看所有信息      例如:uname -a                                                        -n 查看主机名        例如:uname -n      


33.hostname                                 查看或设置主机名

                                             例如:hostname       显示oldboy 就是主机名

                                                   hostname = uname -n


34.id                                        打印用户和组的信息













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

相对路径和绝对路径

windows绝对路径:E:\2016-老男孩-常用运维工具,从头开始的路径。

linux绝对路径:cat /etc/sysconfig/network-scripts/ifcfg-eth0,从/开始的路径。


     相对路径:cat etc/sysconfig/network-scripts/ifcfg-eth0不从/开,不从头开始的路径。


特殊符号:

>  或  1>      输出重定向,把前面的东西输入到后面的文件中,会清除文件原有的内容。

>> 或  1>>     追加输出重定向,把前面的东西输入到后面的文件尾部,不会清除文件原有内容。

<  或  0<      输入重定向,      例子:xargs -n 2 <b.txt

<< 或  0<<     追加输入重定向,

2>             错误重定向,

2>>            错误追加重定向,

说明:

1.剪头的指向就是数据的流向。

2.数字说明:

            a.标准输入(stdin):代码0,使用<或<<数据流向从右向左

            b.正常输出(stdout):代码1,使用>或>>,数据流向从左向右。  

              echo oldboy >a.txt 2>&1 = echo oldboy >a.txt 2>&1

            c.错误输出(stderr):代码2,使用2>或2>>,数据流向从左向右。

              cho oldboy 2>a.txt 1>b.txt 


| 管道符 ,把前面的结果交给后面的命令处理,处理内容。


.. 当前工作目录的上一级目录。


~ 当前用户家目录


{} 1.序列    2.find,xargs 可以内容文件作为处理结果


1.调出最近操作命令     2.find,xargs中取反     3.vim中 例如:q! wq! 之类的是强制操作


- 上一次所在的目录(由oldpwd控制)


快捷键:

Tab键:命令补全

Ctrl+c:终止当前任务,命令或程序

Ctrl+d:退出当前用户环境

Ctrl+l:清屏(clear)

Ctrl+shift+c:在CRT里面复制命令

Ctrl+shift+v:在CRT里面粘贴命令(shift+Insert)

Ctrl+a:光标到开头

Ctrl+e:光标到结尾

Ctrl+u:清除当前光标前面的命令

Ctrl+k:清除当前光标后面的命令

Ctrl+w:清除光标前一个单词或字符串,以空格分割

Ctrl+r: 命令行查找


本文出自 “good cook” 博客,转载请与作者联系!

你可能感兴趣的:(命令,运维,必备)