Linux初学(三)通配符&基础命令命令

一、通配符

1.1、简介

其实就是一些有特殊含义的符号,这些符号,统称为通配符

常见的通配符

>

>>

|

1.2、命令输出重定向

默认情况下,命令的输出位置是:终端

将命令的执行结果输出/显示到终端上,这种输出,称之为:标准输出

将本来要显示在终端上的输出结果,保存到一个文件中,这种操作称之为:输出重定向

输出重定向有两种

>        将文件中原有内容全部删除,然后进行写入

>>      在文件原有内容后,追加新的内容

使用格式

命令  >    文件

命令  >>  文件

1.3、echo命令

作用:打印输出一个信息

选项:

          -n:输出不换行

          -e:控制字符,让后面的特殊字符生效

                 \n:换行符

                 \t:水平制表符

                 \v:垂直制表符

          开头:\033[xxm,这里xx的值是不同的

                             31m:设置为红色

                             32m:设置为绿色

                             33m:设置为黄色

                             34m:设置为蓝色

                             35m:设置为紫色

                             5m:设置字体闪烁

          结尾:\033[0m

例如:

        echo -e      '\033[35m 35m alsifj \033[0m'

        echo   -e    "zhe \nshi \nzifuchuan"

        echo   -e    "abc \tdef \thaha"

        echo   -e    "abc \tdef \thaha"

        echo   -e    "abc \t \vdef \thaha"

案例:

1、将ls命令的执行结果,保存到/home/a.txt

        ls >/home/a.txt

2、ls命令的执行结果,保存到/home/a.txt,要求保留原有内容

        ls >>/home/a.txt

3、用echo在终端上输出一个123

        echo "123"

4、将文件/home/a.txt中的内容清空

        方法1:echo "" > /home/a.txt
         方法2:cat /dev/null >/home/a.txt

 特殊的文件:

/dev/null:这个文件是黑洞文件

 执行命令,执行结果有两种情况

1、 执行成功,执行成功的输出,标准正确输出

  •  >
  • >>

2、执行失败,执行失败的输出,标准错误输出

  • 2>
  • 2>>

补充:将命令的正确和错误输出结果都定向到一个文件中,写法有两种

写法1:ls /home/  >a.txt  2>a.txt

写法2:ls /home/ &>a.txt

                &表示即包括正确的,也包括错误的

1.4、管道符

管道符也就是键盘上的那个   |

作用:是用于链接两个或者多个命令,将前面命令的执行结果,传递给后面的命令,让后面的命令再处理一次

1.5、wc命令

Word Count【字符统计】

作用:用于统计一个文件中,有多少行,多少个单词、多少个字符

格式:wc   选项   文件名

选项:

          -l:  统计行数

          -w:统计单词数

          -c: 统计字符数 

二、基础命令进阶

2.1、grep

作用:就是对文件的内容进行逐行截取

格式:grep 【选项】 “过滤的目标”   文件名

选项:

          -v:反向显示(取反),显示不能匹配到的行

          -i:不区分大小写

          -E:支持扩展表达式

          -o:仅显示匹配到的字符串,不显示整行

          -n:显示匹配到的行号

案例:

1、a.txt中过滤出,包含ok的行

        grep "ok" a.txt

2、a.txt中过滤出,不包含ok的行

        grep -v "ok" a.txt

2.2、awk

作用:就是对文件的内容进行逐行截取
格式:awk -F "分隔符" '{print $数字}'  文件名
案例:
1、截取passwd文件的第一 四 最后一列 并且显示行号,以冒号为分隔符
        awk -F ":" '{print NR,$1,$4,$NF}' passwd
                NR 用来显示行号
                $NF 表示最后一行
2、查看当前CPU空闲率
        top -b -n 1 | grep Cpu | awk -F ',' '{print $4}' | awk '{print $1}'
                top是查看内存的使用率的
                -b:让top命令在批处理模式下运行
                -n:指定top命令执行的次数
3、查看当前内存使用率
        free -m | awk '/Mem:/{print int($3/$2*100)"%"}'
                free:查看内容的详细使用情况
                awk默认使用空格为分隔符、

4、截取passwd文件的第2行到最后一行的第一列,并且显示行号,以冒号为分隔符
        awk -F ":" 'NR>=2{print $1}' passwd

2.3 sed

sed是一个流文本处理器,默认情况会将用户操作的文件在内存中生成一个副本,默认不修改源文件只是修改副本中的内容。

作用:对文件的内容进行修改

格式:

          sed 'start,stop 选项'  文件名

          sed s/原始内容/替换内容/g 文件名

选项:
          -n:静默模式,不会输出源文件的数据
          -e:直接在命令行进行sed操作编辑
          - i:不仅修改副本中的内容,还将修改后的结果存储到源文件中
单行模式空间
          a:在行后插入
          i :在行前插入
          c:整行更改
          d:删除
          p:打印
          s:查找替换

 案例:

1、查看/etc/passwd前三行的内容
        sed ‘1,3p’ /etc/passwd -n
2、删除2-4行的内容
        sed ‘2,4d’  /etc/passwd
3、在文件的第5-7行后面追加一行内容 使用选项a 进行追加。append
        sed ‘5,7a  append’  /etc/passwd
4、将2-3行内容的sbin,替换为aaa
        sed '2,3s/sbin/aaa/g'  /etc/passwd
5、更改第5行内容为  xxx
        sed ‘5c  xxx’  /etc/passwd

6、修改文件中games为GAMES,并显示9-12行的内容
        sed -n -e 's/games/GAMES/g' -e '9,12p'  /etc/passwd

7、删除空白行和以#开头的行,并更改源文件中的内容
         sed -e '/^$/d' -e '/^#/d'  /etc/passwd -i

2.4 find

作用:查找Linux操作系统当中的文件

格式:find 在那个路径下查找   选项

选项:

          -name     文件名称:   查找指定的文件名

          -iname    文件名称:   查找指定的文件名,不区分大小写

          -path       路径:          查询某个文件或者目录的完整路径,不仅仅查询文件名

          -exec      命令:           对查找到的文件执行指定的命令

          -mtime    时间:           按照文件的修改时间查找

          -size        [+|-]:           基于文件大小查询文件

          -user        username: 根据文件的属主查询指定的文件

          -group     groupname:根据指定的属组名查询文件

          -perm      权限:           基于文件权限查找    

          -uid          userid:        查询指定 uid 的文件

          -gid          gid:             查询指定gid的文件

          -nouser:                     查找没有所有者的文件

          -nogroup:                   查找没有对应组的文件

          -print :                           输出执行结果

          -type     文件类型:      基于文件类型来查询文件

                        f:普通文件

                        d:目录文件

                        l:符号链接文件

                        s:套接字文件

根据文件的时间戳查找文件的内容

-mtime [+-]n:文件的创建(单位是天)

-ctime  [+-]n:文件修改时间(单位是天)

-atime  [+-]n:文件的访问时间(单位是天)

说明

        n:单位是天

          -mtime 5:表示5天之前的那一天所创建的文件

          -n:

          -mtime -5:表示5天之内所创建的文件

          -n:

         -mtime +5:表示5天之前所创建的文件

-mmin [+-]n:单位是分钟

-cmin  [+-]n:单位是分钟

-amin  [+-]n:单位是分钟

案例:

1、查询/tmp下面所有文件名位4个字符的文件

        find /tmp -name '????'

2、查询/tmp下 文件名为a.sh的文件,并且父目录为abc

        find /tep -path '*/abc/a.sh'

3、找到当前目录及其子目录下所有最近一周内被修改过的.txt文件

        find . -name "*.txt" -mtime -7

4、查询/tmp下 以a开头的目录文件

        find /tmp -type d -name "a*"

5、查询/tmp下大于1K的文件
        find /tmp -size +1K

6、查询/tmp下  属主是tom  属组是admin的文件
        find /tmp -user tom -group admin

7、查询/tmp下  文件权限是777的文件

        find /tmp -perm 777 

8、查询 属主不是root 也不是tom的文件

        find -not \( -user root -o -user tom\)

                -not 表示非

                -o 表示或

                -a 表示与


9、查询 777权限的文件  将权限改为644

        find -type f -perm 0777 -print -exec chmod 644 {} \;

                {} 表示前面执行的命令结果

10、查询txt结尾的文件,并将其全部删除

        find /tmp -name "*.txt" -exec rm -rf {} \;

2.5 ln

作用:创建文件或目录的链接

  • 硬链接:它允许多个文件名与同一文件关联,这些文件名可以位于同一文件系统中的任何位置。硬链接不能跨文件系统创建,且不允许目录有硬链接
  • 软链接:也称为符号链接,类似于Windows系统中的快捷方式,可以跨文件系统创建,并且可以链接到文件或目录。软链接实际上是一个特殊的文件,它包含了指向目标文件或目录的路径信息。

格式1:ln 【选项】 目标文件 链接文件

格式2:ln -s 【选项】目标文件 链接文件:这种形式创建一个软链接。

选项:

          -f:强制创建链接,即使链接文件已经存在

          -n:类似于 -f ,但如果链接文件是一个目录,则删除该目录及其内容

          -s:指定创建符号链接

          -v:显示每个链接创建的详细信息。

2.6 history

作用:查看历史命令        默认最多存储1000条

-c:清空历史命令

-d #:删除指定位置的命令

-w: 保存历史命令到一个文件当中

  • 22
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王依硕

你的鼓励将是我创作的最大动力你

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值