博客
关于我
linux系统常用命令
阅读量:444 次
发布时间:2019-03-06

本文共 12443 字,大约阅读时间需要 41 分钟。

第1章    系统命令

1.1   echo 命令

 echo  输出内容到屏幕或者文件中

                 >  输出重定向     先清空在写入

             >>  追加输出重定向 不清空追加到文件的底部

             -e  激活特殊的含义

             \t  tab

             \n  回车

      

[root@oldboyedu-lnb ~]# echo oldboyedu          oldboyedu          [root@oldboyedu-lnb ~]# echo oldboyedu > 1.txt          [root@oldboyedu-lnb ~]# cat 1.txt          oldboyedu          [root@oldboyedu-lnb ~]# echo oldboyedu >> 1.txt          [root@oldboyedu-lnb ~]#          [root@oldboyedu-lnb ~]# cat 1.txt          oldboyedu          oldboyedu          \n 回车换行          [root@oldboyedu-lnb ~]# echo -e "oldboy\nalex\nlidao" >> 1.txt          [root@oldboyedu-lnb ~]#          [root@oldboyedu-lnb ~]# cat 1.txt          oldboyedu          oldboyedu          oldboy alex lidao          oldboy          alex          lidao          \t  插入tab制表符          [root@oldboyedu-lnb ~]# echo -e "oldboy\talex\tlidao" >> 1.txt          [root@oldboyedu-lnb ~]# cat 1.txt          oldboyedu
oldboyedu          oldboy alex lidao          oldboynalexnlidao          oldboynalexnlidao          oldboy          alex          lidao          oldboy    alex    lidao

1.1.1  输出规范的数字 序列

   {}  序列       大部分的命令都可以直接调用序列

[root@oldboyedu-lnb ~]# echo {1..5}1 2 3 4 5 [root@oldboyedu-lnb ~]# echo {01..5}01 02 03 04 05

1.1.2   使用序列创建目录

[root@oldboyedu-lnb ~]# echo {1..3} 1 2 3[root@oldboyedu-lnb ~]# mkdir {1..3}[root@oldboyedu-lnb ~]# ll total 28drwxr-xr-x.  2 root root    6 Jul 30 08:22 1drwxr-xr-x.  2 root root    6 Jul 30 08:22 2drwxr-xr-x.  2 root root    6 Jul 30 08:22 3

1.1.3  序列中的逗号 输出不连续的数字或者字符串

[root@oldboyedu-lnb oldboy]# echo {a..z}  a b c d e f g h i j k l m n o p q r s t u v w x y z  [root@oldboyedu-lnb oldboy]# echo {A..Z}  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  [root@oldboyedu-lnb oldboy]# echo {a..e}  a b c d e
[root@oldboyedu-lnb oldboy]# echo {a,c,d}  a c d

1.1.4  使用字符串创建目录

[root@oldboyedu-lnb oldboy]# mkdir oldboyedu alexdsx ld [root@oldboyedu-lnb oldboy]# ll total 0 drwxr-xr-x. 2 root root 6 Jul 30 08:24 alexdsx drwxr-xr-x. 2 root root 6 Jul 30 08:24 ld drwxr-xr-x. 2 root root 6 Jul 30 08:24 oldboyedu [root@oldboyedu-lnb oldboy]# mkdir {oldboyedu,alexdsx,lidao} [root@oldboyedu-lnb oldboy]# ll total 0 drwxr-xr-x. 2 root root 6 Jul 30 08:26 alexdsx drwxr-xr-x. 2 root root 6 Jul 30 08:26 lidao drwxr-xr-x. 2 root root 6 Jul 30 08:26 oldboyedu -----------[root@oldboyedu-lnb oldboy]# ls -d {oldboyedu,alexdsx,lidao}alexdsx  lidao  oldboyedu

1.1.4  使用字符串+数字的方式来创建目录

           oldboy01 oldboy02 oldboy03

          组合方式: 序列外的字符串和序列中的每一个数字或字符进行拼接

        序列可以在字符串的前面 也可以在字符串的后面

     

[root@oldboyedu-lnb oldboy]# echo oldboy {01..3}     oldboy 01 02 03    [root@oldboyedu-lnb oldboy]# echo oldboy{01..3}     oldboy01 oldboy02 oldboy03    [root@oldboyedu-lnb oldboy]# #echo {01..3}oldboy    [root@oldboyedu-lnb oldboy]# echo 01oldboy 02oldboy 03oldboy    01oldboy 02oldboy 03oldboy    [root@oldboyedu-lnb oldboy]# echo {01..3}oldboy    01oldboy 02oldboy 03oldboy    [root@oldboyedu-lnb oldboy]# mkdir {01..3}oldboy    [root@oldboyedu-lnb oldboy]# ll    total 0    drwxr-xr-x. 2 root root 6 Jul 30 08:34 01oldboy    drwxr-xr-x. 2 root root 6 Jul 30 08:34 02oldboy    drwxr-xr-x. 2 root root 6 Jul 30 08:34 03oldboy

1.1.6  序列和目录相结合

    在/oldboy/alex/test01...test10

           结果

  /oldboy/alex/test01 /oldboy/alex/test02 ..../oldboy/alex/test10

        

[root@oldboyedu-lnb oldboy]# echo /oldboy/alex/test/oldboy/alex/test [root@oldboyedu-lnb oldboy]# #echo /oldboy/alex/test{01..2} [root@oldboyedu-lnb oldboy]# #1 /oldboy/alex/test01  /oldboy/alex/test02 [root@oldboyedu-lnb oldboy]# #mkdir /oldboy/alex/test01 /oldboy/alex/test02 [root@oldboyedu-lnb oldboy]# mkdir -p /oldboy/alex/test{01..2}

1.1.7   在目录下创建多个不同的字符串的目录

在/oldboy/www /oldboy/bbs  /oldboy/blog  [root@oldboyedu-lnb oldboy]# #在/oldboy/www /oldboy/bbs  /oldboy/blog  [root@oldboyedu-lnb oldboy]# #echo /oldboy/{www,bbs,blog}  [root@oldboyedu-lnb oldboy]# #mkdir /oldboy/www /oldboy/bbs /oldboy/blog  [root@oldboyedu-lnb oldboy]#  [root@oldboyedu-lnb oldboy]# echo /oldboy/{www,bbs,blog}   /oldboy/www /oldboy/bbs /oldboy/blog  [root@oldboyedu-lnb oldboy]# mkdir /oldboy/{www,bbs,blog}

1.1.8     序列和序列拼接

创建 www01 www02 bbs01 bbs02 blog01 blog02 

[root@oldboyedu-lnb oldboy]# #创建 www01 www02 bbs01 bbs02 blog01 blog02[root@oldboyedu-lnb oldboy]# echo {www,bbs,blog}{01..2}www01 www02 bbs01 bbs02 blog01 blog02

 在/oldboy/alex/下创建 stu01..10个目录 在每个目录下创建创建 www,bbs,blog目录

 使用tree命令查看结果

[root@oldboyedu-lnb ~]# echo /oldboy/alex/stu{01..2}/oldboy/alex/stu01 /oldboy/alex/stu02[root@oldboyedu-lnb ~]# echo /oldboy/alex/stu{01..2}/{www,bbs,blog}/oldboy/alex/stu01/www /oldboy/alex/stu01/bbs /oldboy/alex/stu01/blog /oldboy/alex/stu02/www /oldboy/alex/stu02/bbs /oldboy/alex/stu02/blog[root@oldboyedu-lnb ~]# echo {A,B}{01..02} A01 A02 B01 B02

1.1.9  使用序列的方式进行备份

[root@oldboyedu-lnb ~]# #cp passwd{,.bak}[root@oldboyedu-lnb ~]# echo passwd{,.bak}passwd passwd.bak[root@oldboyedu-lnb ~]# cp passwd{,.bak}
[root@oldboyedu-lnb ~]# echo {1..10..02}1 3 5 7 9[root@oldboyedu-lnb ~]# echo {1..10..1}1 2 3 4 5 6 7 8 9 10[root@oldboyedu-lnb ~]# echo {1..10..3}1 4 7 10[root@oldboyedu-lnb ~]# echo {1..10..4}1 5 9

1.2   seq  输出序列

           格式:

                seq num    # seq 100

                       -w      # 输出规范的序列

                       -s     # 指定分隔符

                seq 10       # 输出数字1-10

                seq -s +5    1+2+3+4+5

                seq -s -5    1-2-3-4-5

                seq -s \*100 |bc (乘法 *有特殊含义需要用\转义)

 1.3   cat  查看文件

               输出内容到屏幕中 类似于echo

                 -n 显示文件的行号

1.3.1   cat  <<EOF

[root@oldboyedu-lnb ~]# cat <
oldboyedu.com > EOF oldboyedu.com

1.3.2   1次查看多个文件的内容

[root@oldboyedu-lnb ~]# cat 1.sh for.sh passwd[root@oldboyedu-lnb oldboy]# lltotal 12-rw-r--r--. 1 root root 11 Jul 30 09:37 1.txt-rw-r--r--. 1 root root 10 Jul 30 09:37 2.txt-rw-r--r--. 1 root root 10 Jul 30 09:37 3.txt[root@oldboyedu-lnb oldboy]# cat {1..3}.txt1111111111222222222333333333[root@oldboyedu-lnb oldboy]# cat *.txt1111111111222222222333333333

     文件合并

[root@oldboyedu-lnb oldboy]# cat 1.txt 2.txt 3.txt > all.txt [root@oldboyedu-lnb oldboy]# cat all.txt 1111111111 222222222 333333333 [root@oldboyedu-lnb oldboy]# cat 1.txt 2.txt 3.txt > all.txt [root@oldboyedu-lnb oldboy]# cat all.txt 1111111111 222222222 333333333 [root@oldboyedu-lnb oldboy]# cat /etc/hosts > all.txt [root@oldboyedu-lnb oldboy]# cat all.txt  127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4       ::1        localhost localhost.localdomain localhost6 localhost6.localdomain6  [root@oldboyedu-lnb oldboy]# cat 1.txt 2.txt 3.txt > all.txt  [root@oldboyedu-lnb oldboy]# cat /etc/hosts >> all.txt  [root@oldboyedu-lnb oldboy]# cat all.txt  1111111111   222222222  333333333  127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4        ::1        localhost localhost.localdomain localhost6 localhost6.localdomain6  [root@oldboyedu-lnb ~]# cat >1.txt<
oldboy > alex > EOF [root@oldboyedu-lnb ~]# cat 1.txt oldboy alex

1.4   less  一页一页的查看文件内容 常用

   在工作中大的文件不使用cat和vim  vim需要把文件加载到内存中 速度较慢

         

f           # 往下翻页空格        # 往下翻页b           # 往上翻页-N          # 显示行号100g      # 快速移动光标到100行1g         # 快速移动光标到首行 G         # 文件的底部 v         # 进入到编辑模式:wq       # 保存并退出vim模式返回less模式 /         # 查找内容 
n     # 往下查找内容  N     # 往上查找内容  q     # 退出less模式

1.5  more  一页一页的查看文件内容 不常用

f     # 往下翻页b    # 往上翻页/    # 查找内容 不高亮显示

1.6   head  显示头部信息 默认显示文件的前10行  任何输出到屏幕上的内容都可以显示

 语法规范:

               1) head file.txt     # 默认显示file.txt的前10

               2) cat file.txt|head # seq 100|head 

               参数选项:

               -n  显示n行

               -c  显示文件的前n个字符 了解

1.6.1   head   默认显示文件的前10行

            [root@oldboyedu-lnb ~]# head /etc/services # 默认显示文件的前10行

           -n2 显示输出内容的前2行  简写-2

            [root@oldboyedu-lnb ~]# seq 100|head -n2

             1

             2

            [root@oldboyedu-lnb ~]# seq 100|head -2

             1

             2

1.6.2   head命令查看文件中的前2行  

[root@oldboyedu-lnb ~]# head -2 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin

1.6.3  -c  了解 显示文件的前2个字符

[root@oldboyedu-lnb ~]# head -c2 /etc/passwd ro

1.7   tail 尾巴 默认输出文件最后的10行

-n  显示尾巴最后的n行   -f  follow 实时显示文件的变化  简写 tailf   -F  实时显示文件的变化 监控文件是否存在 存在则正常监控 不存在则等待文件的出现

1.7.1  显示文件最后1行

[root@oldboyedu-lnb ~]# tail -n 1 1.txt10101010101010

1.7.2   tail -f 实时显示日志的最新日志

[root@oldboyedu-lnb ~]# tail -f /var/log/secure

 显示/etc/passwd的第11行   所有能显示到屏幕上的 都可以使用head和tail

[root@oldboyedu-lnb ~]# head -11 passwd          root:x:0:0:root:/root:/bin/bash          bin:x:1:1:bin:/bin:/sbin/nologin          daemon:x:2:2:daemon:/sbin:/sbin/nologin          adm:x:3:4:adm:/var/adm:/sbin/nologin          lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin          sync:x:5:0:sync:/sbin:/bin/sync          shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown          halt:x:7:0:halt:/sbin:/sbin/halt          mail:x:8:12:mail:/var/spool/mail:/sbin/nologin          operator:x:11:0:operator:/root:/sbin/nologin         games:x:12:100:games:/usr/games:/sbin/nologin         [root@oldboyedu-lnb ~]# head -11 passwd|tail -1         games:x:12:100:games:/usr/games:/sbin/nologin

1.8  grep   过滤字符串信息  三剑客老三

           语法:               

           grep '过滤的内容'  file                  # 双引号 单引号 不加引号 都有特殊含义

           cat file|grep '过滤的内容'            # grep 单引号的含义 所见即所得

           参数选项:

           -n   # 显示过滤到内容的行号

           -v   # 取反 排错搜索到的内容

           ^$   # 表示空行

PS:  grep 直接搜索文件 使用 grep '过滤的内容' 文件

PS: grep 和其他命令的输出结合使用 ls cat 的输出结果进行过滤  cat file.txt|grep xxx

1.8.1   过滤root的行  模糊匹配

[root@oldboyedu-lnb ~]# grep root passwdroot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin

1.8.2  模糊匹配root    

[root@oldboyedu-lnb ~]# cat passwd|grep rootroot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin[root@oldboyedu-lnb ~]# cat passwd|grep root

1.8.3  显示过滤到内容的行号 -n

[root@oldboyedu-lnb ~]# grep -n root passwd1:root:x:0:0:root:/root:/bin/bash10:operator:x:11:0:operator:/root:/sbin/nologin

1.8.4   -v 取反    

[root@oldboyedu-lnb ~]# cat 2.txtoldboyalexlidaotest[root@oldboyedu-lnb ~]# grep oldboy 2.txtoldboy[root@oldboyedu-lnb ~]# grep -v oldboy 2.txtalexlidaotest

1.8.5  过滤空行 和#号

[root@oldboyedu-lnb ~]# grep '^$' 2.txt[root@oldboyedu-lnb ~]#[root@oldboyedu-lnb ~]# grep '#' 2.txt #lidao #lidao #lidao

例: 把/etc/selinux/config中的空行和# 排除掉 只显示生效的行

 

[root@oldboyedu-lnb ~]# grep -v '^$' /etc/selinux/config |grep -v '#'SELINUX=disabledSELINUXTYPE=targeted           扩展:[root@oldboyedu-lnb ~]# egrep -v '^$|#' /etc/selinux/configSELINUX=disabledSELINUXTYPE=targeted

1.9   tr  1对1的替换   替换特殊的字符使用 不对字符串进行替换

           # @ / % & :      tr 无法直接读取文件

                    <              # 输入重定向

            语法格式:

                               tr "替换谁" "替换成什么" < file

                               cat file|tr "替换谁" "替换成什么"

1.9.1    临时替换:为#

[root@oldboyedu-lnb ~]# tr ":" "#" < all.txt    root#x#0#0#root#/root#/bin/bash    bin#x#1#1#bin#/bin#/sbin/nologin    把结果重定向到文件中   [root@oldboyedu-lnb ~]# tr ":" "#" < all.txt  > test.txt   root@oldboyedu-lnb ~]# cat test.txt   root#x#0#0#root#/root#/bin/bash   bin#x#1#1#bin#/bin#/sbin/nologin
[root@oldboyedu-lnb ~]# cat all.txt        root:x:0:0:root:/root:/bin/bash        bin:x:1:1:bin:/bin:/sbin/nologin       [root@oldboyedu-lnb ~]# cat all.txt |tr "/" ":"        root:x:0:0:root::root::bin:bash        bin:x:1:1:bin::bin::sbin:nologin         -----------------       [root@oldboyedu-lnb ~]# cat all.txt |tr ":" "\n"       root        x        0        0      [root@oldboyedu-lnb ~]# cat all.txt |tr ":" "\t"       root x   0   0   root    /root   /bin/bash       bin  x   1   1   bin /bin    /sbin/nologin

1.9.2   替换其他命令的输出

[root@oldboyedu-lnb ~]# cat all.txt |tr ":" "+" root+x+0+0+root+/root+/bin/bash bin+x+1+1+bin+/bin+/sbin/nologin

1.10  alias 别名 小名

 别名的作用: 系统命令安全   方便操作

               系统为了安全 给一些比较危险的命令起了个小名

               当执行危险的命令时 其他是执行的另外一个命令

               张三--->铁蛋

               李四--->二蛋

               rm ----> rm -i           # -i 和我们交互执行命令

               cp ----> cp -i

               mv ----> mv -i

1.10.1  如何查看系统的别名  alias

[root@oldboyedu-lnb ~]# aliasalias cp='cp -i'alias egrep='egrep --color=auto'alias fgrep='fgrep --color=auto'alias grep='grep --color=auto'alias l.='ls -d .* --color=auto'alias ll='ls -l --color=auto'alias ls='ls --color=auto'alias mv='mv -i'alias rm='rm -i'alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

1.10.2  临时取消别名使用\

[root@oldboyedu-lnb ~]# \grep root all.txt   root:x:0:0:root:/root:/bin/bash   [root@oldboyedu-lnb ~]# \grep root all.txt --color   root:x:0:0:root:/root:/bin/bash   [root@oldboyedu-lnb ~]# unalias rm   [root@oldboyedu-lnb ~]# rm -rf etc

1.10.3   定义别名  临时生效  alias 自己定义的名称

              语法格式:

              alias 自己定义的名称='可以执行的命令

[root@oldboyedu-lnb ~]# alias rm='echo command rm bny......'

1.10.4      永久生效 写入/etc/profile

[root@oldboyedu-lnb ~]# tail -1 /etc/profile  alias rm='echo command bny........'

1.10.5    作业 使用vimeth0 其实就是编辑的真实网卡的配置

vim  /etc/profilealias vimeth0='cat /etc/sysconfig/network-scripts/ifcfg-eth0' "/etc/profile" 78L, 2003C written                        [root@oldboyedu-lnb~]# source /etc/profile[root@oldboyedu-lnb~]# vimetho-bash: vimetho: command not found[root@oldboyedu-lnb~]# vimeth0TYPE=EthernetBOOTPROTO=staticNAME=eth0DEVICE=eth0ONBOOT=yesIPADDR=10.0.0.200PREFIX=24GATEWAY=10.0.0.2DNS1=223.5.5.5

 

 

转载地址:http://evafz.baihongyu.com/

你可能感兴趣的文章
《天风文章》V1.0.0使用说明
查看>>
许久没来了...
查看>>
javascript 实现页面上禁止选择(复制)
查看>>
[转]Best practices for creating websites in IIS 6.0
查看>>
发布一款小软件:和讯博客助手-新闻采集测试版- 0.1.0
查看>>
Angular入门到精通系列教程(10)- 指令(Directive)
查看>>
2021 Top 100 C#/.NET Interview Questions And Answers
查看>>
通过VS2010性能分析来查找代码中那些地方最损耗资源
查看>>
数值压缩存储方法Varint
查看>>
一个简单基于LRU连接检测实现
查看>>
dotnet core开源博客系统XBlog介绍
查看>>
.net core自定义高性能的Web API服务网关
查看>>
BeetleX服务网关之限流和缓存
查看>>
vue-autoui自匹配webapi的UI控件
查看>>
EFCore之SQL扩展组件BeetleX.EFCore.Extension
查看>>
vuejs集成echarts的一些问题
查看>>
BeetleX数据分析中间服务V3
查看>>
Http压力测试工具HttpTest4Net
查看>>
azure存储压测的问题(农码主观意识太强被坑了)
查看>>
Kafka实战-简单示例
查看>>