• 第十天-linux命令及基础手把手实战


    总结技巧:

      1、可以通过案例来总结技术点

      2、可以通过画图,更佳形象理解记忆

    下面通过例题,对命令加深理解

    1、如何过滤出当前目录下的所有一级目录,不包括目录下的子目录

      分析:1、ls -l结果中以d 开头的就是目录

         2、通过给目录加标示,然后通过滤标示来过滤出目录

         3、通过find 直接查找指定文件类型的文件

    xiaorui@xiaorui:~$ ls -l |grep ^d         #^ 的意思是以什么开头的
    drwxrwxr-x  2 xiaorui xiaorui 4096 11月 11 23:11 script
    drwxrwxr-x  2 xiaorui xiaorui 4096 11月 16 22:46 test
    drwxrwxr-x  4 xiaorui xiaorui 4096 10月  9 19:33 VirtualBox VMs
    drwxrwxr-x  2 xiaorui xiaorui 4096 10月 10 19:38 镜像文件
    drwxrwxr-x  2 xiaorui xiaorui 4096 10月 15 20:25 软件包
    drwxr-xr-x 10 xiaorui xiaorui 4096 10月 22 21:40 文档
    drwxr-xr-x 10 xiaorui xiaorui 4096 11月 18 23:09 下载
    drwxr-xr-x  3 xiaorui xiaorui 4096 11月 20 21:08 桌面
    xiaorui@xiaorui:~$ ls -l|sed -n /^d/p       #-n 的意思是取消默认输出 p是打印
    drwxrwxr-x  2 xiaorui xiaorui 4096 11月 11 23:11 script
    drwxrwxr-x  2 xiaorui xiaorui 4096 11月 16 22:46 test
    drwxrwxr-x  4 xiaorui xiaorui 4096 10月  9 19:33 VirtualBox VMs
    drwxrwxr-x  2 xiaorui xiaorui 4096 10月 10 19:38 镜像文件
    drwxrwxr-x  2 xiaorui xiaorui 4096 10月 15 20:25 软件包
    drwxr-xr-x 10 xiaorui xiaorui 4096 10月 22 21:40 文档
    drwxr-xr-x 10 xiaorui xiaorui 4096 11月 18 23:09 下载
    drwxr-xr-x  3 xiaorui xiaorui 4096 11月 20 21:08 桌面
    xiaorui@xiaorui:~$ ls -ld */
    drwxrwxr-x  2 xiaorui xiaorui 4096 11月 11 23:11 script/
    drwxrwxr-x  2 xiaorui xiaorui 4096 11月 16 22:46 test/
    drwxrwxr-x  4 xiaorui xiaorui 4096 10月  9 19:33 VirtualBox VMs/
    drwxrwxr-x  2 xiaorui xiaorui 4096 10月 10 19:38 镜像文件/
    drwxrwxr-x  2 xiaorui xiaorui 4096 10月 15 20:25 软件包/
    drwxr-xr-x 10 xiaorui xiaorui 4096 10月 22 21:40 文档/
    drwxr-xr-x 10 xiaorui xiaorui 4096 11月 18 23:09 下载/
    drwxr-xr-x  3 xiaorui xiaorui 4096 11月 20 21:08 桌面/
    xiaorui@xiaorui:~$ ls -F|grep /$          #$  是以什么结尾的 -F append indicator (one of */=>@|) to entries
    script/
    test/
    VirtualBox VMs/
    镜像文件/
    软件包/
    文档/
    下载/
    桌面/
    xiaorui@xiaorui:~$ ls -p |grep /          #-p 是给目录添加标示 append / indicator to directories
    script/
    test/
    VirtualBox VMs/
    镜像文件/
    软件包/
    文档/
    下载/
    桌面/
    xiaorui@xiaorui:~$ ls -l|awk '/^d/'
    drwxrwxr-x  2 xiaorui xiaorui 4096 11月 11 23:11 script
    drwxrwxr-x  2 xiaorui xiaorui 4096 11月 16 22:46 test
    drwxrwxr-x  4 xiaorui xiaorui 4096 10月  9 19:33 VirtualBox VMs
    drwxrwxr-x  2 xiaorui xiaorui 4096 10月 10 19:38 镜像文件
    drwxrwxr-x  2 xiaorui xiaorui 4096 10月 15 20:25 软件包
    drwxr-xr-x 10 xiaorui xiaorui 4096 10月 22 21:40 文档
    drwxr-xr-x 10 xiaorui xiaorui 4096 11月 18 23:09 下载
    drwxr-xr-x  3 xiaorui xiaorui 4096 11月 20 21:08 桌面
    xiaorui@xiaorui:~$ find ./ -maxdepth 1 -type d   #-maxdepth 指定查找的深度
    xiaorui@xiaorui:~$ tree -Ld 1            #-L level Max display depth of the directory tree.
    .
    ├── script
    ├── test
    ├── VirtualBox VMs
    ├── 镜像文件
    ├── 软件包
    ├── 文档
    ├── 下载
    └── 桌面

    小结:linux三剑客grep、sed、awk,他们都有过滤的功能,grep最擅长过滤,awk擅长处理列,sed擅长删除、修改、替换、添加

    2、一个目录中有很多文件(ls 查看时有好多屏,)想最快速度查看最近更新的文件

    xiaorui@xiaorui:~$ ls -lrt /etc/          #执行这个命令之后最新的文件会显示在最下面

     #以长格式按照修改时间倒序排列文件和目录,这样最近创建或修改的文件或目录就在窗口最下面了

     #-r --reverse  当排序时,翻转排序

     #-t    sort by modification time, newest first

    3、软链接

    ln -s /application/apache2.2.7/   /application/apache

    4、删除3天前的日志

    find ./ -type f -name "*.log" -mtime +3|xargs rm -f      #方法一
    find ./ -type f -name "*.log" -mtime +3 -exec rm -f {} ;   #方法二
    find ./ -type f -name "*.log" -mtime +3 -delete        #方法三

    5、调试系统服务时,希望能够实时查看系统日志/var/log/message的更新

    tail -f /var/log/messages     #方法一
    tailf /var/og/messages     #方法二
    tail -F /var/log/messages   #方法三

    6、打印配置文件nginx.conf内容显示行号及内容(下面以/etc/passwd为例)

    方法一:
    xiaorui@xiaorui:~$ grep -n . /etc/passwd 1:root:x:0:0:root:/root:/bin/bash 2:daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin 3:bin:x:2:2:bin:/bin:/usr/sbin/nologin 4:sys:x:3:3:sys:/dev:/usr/sbin/nologin 5:sync:x:4:65534:sync:/bin:/bin/sync 6:games:x:5:60:games:/usr/games:/usr/sbin/nologin 7:man:x:6:12:man:/var/cache/man:/usr/sbin/nologin 8:lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin 方法二: xiaorui@xiaorui:~$ nl /etc/passwd 1 root:x:0:0:root:/root:/bin/bash 2 daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin 3 bin:x:2:2:bin:/bin:/usr/sbin/nologin 4 sys:x:3:3:sys:/dev:/usr/sbin/nologin 5 sync:x:4:65534:sync:/bin:/bin/sync 6 games:x:5:60:games:/usr/games:/usr/sbin/nologin 7 man:x:6:12:man:/var/cache/man:/usr/sbin/nologin 方法三: xiaorui@xiaorui:~$ cat -n /etc/passwd 1 root:x:0:0:root:/root:/bin/bash 2 daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin 3 bin:x:2:2:bin:/bin:/usr/sbin/nologin 4 sys:x:3:3:sys:/dev:/usr/sbin/nologin 5 sync:x:4:65534:sync:/bin:/bin/sync 6 games:x:5:60:games:/usr/games:/usr/sbin/nologin 7 man:x:6:12:man:/var/cache/man:/usr/sbin/nologin 方法四: xiaorui@xiaorui:~$ less -N /etc/passwd 1 root:x:0:0:root:/root:/bin/bash 2 daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin 3 bin:x:2:2:bin:/bin:/usr/sbin/nologin 4 sys:x:3:3:sys:/dev:/usr/sbin/nologin 5 sync:x:4:65534:sync:/bin:/bin/sync 6 games:x:5:60:games:/usr/games:/usr/sbin/nologin 7 man:x:6:12:man:/var/cache/man:/usr/sbin/nologin

    7、装完系统后,希望让网络文件共享服务NFS,仅在3级别上开机启动

      方法一:chkconfig  nfs off

               chkconfig  --level 3  nfs  on

      方法二:chkconfig  --level 245 nfs off

      方法三:rm -f /etc/rc.d/rc3.d/S55sshd

                         ln -s /etc/init.d/sshd   /etc/rc.d/rc3.d/K25sshd

    8、如何查看/etc/services文件有多少行?

    xiaorui@xiaorui:~/test$ wc -l /etc/services 
    612 /etc/services
    xiaorui@xiaorui:~/test$ cat -n /etc/services |tail -1
    612    # Local services
    xiaorui@xiaorui:~/test$ sed -n '$=' /etc/services 
    612
    xiaorui@xiaorui:~/test$ awk '{print NR}' /etc/services |tail -1
    612
    xiaorui@xiaorui:~/test$ grep -n $ /etc/services |tail -1
    612:# Local services

     9、取出一行中的两个字符串

    xiaorui@xiaorui:~/test$ cat xiaorui.txt 
    I am xiaorui myqq is 1126785053
    方法一: xiaorui@xiaorui:~/test$ awk '{print $3" "$6}' xiaorui.txt xiaorui 1126785053
    方法二: xiaorui@xiaorui:~/test$ cut -d" " -f3,6 xiaorui.txt xiaorui 1126785053 加强版: xiaorui@xiaorui:~/test$ cat xiaorui.txt I am xiaorui,myqq is 1126785053
    方法三:
    xiaorui@xiaorui:~/test$ sed 's#,# #g' xiaorui.txt |awk '{print $3" "$6}' xiaorui 1126785053 方法四: xiaorui@xiaorui:~/test$ cut -d" " -f3,6 xiaorui.txt  #-d指定分隔符 xiaorui 1126785053
    方法五:
    xiaorui@xiaorui:~/test$ cut -c 6-12,20- xiaorui.txt      #-c指定字符 xiaoruis 1126785053
    方法六: xiaorui@xiaorui:~/test$ awk -F '[ ,]' '{print $3" " $6}' xiaorui.txt    #-F []可以指定“空格和逗号”都为分隔符, xiaorui 1126785053

     10、去掉文件中的注释行和空行显示

    xiaorui@xiaorui:~$ grep -v ^# /etc/ssh/ssh_config |grep -v ^$
    Host *
        SendEnv LANG LC_*
        HashKnownHosts yes
        GSSAPIAuthentication yes
        GSSAPIDelegateCredentials no
    -----------------------------------------------------------------------------------------
    xiaorui@xiaorui:~$ grep -vE "^#|^$" /etc/ssh/ssh_config
    Host *
        SendEnv LANG LC_*
        HashKnownHosts yes
        GSSAPIAuthentication yes
        GSSAPIDelegateCredentials no
    -----------------------------------------------------------------------------------------
    xiaorui@xiaorui:~$ egrep -v "^#|^$" /etc/ssh/ssh_config
    Host *
        SendEnv LANG LC_*
        HashKnownHosts yes
        GSSAPIAuthentication yes
        GSSAPIDelegateCredentials no
  • 相关阅读:
    Android高级控件(四)——VideoView 实现引导页播放视频欢迎效果,超级简单却十分的炫酷
    Android源代码文件夹结构说明
    IOS-Storyboard控制器切换之TabBar(3)
    若干排序算法简单汇总(一)
    Linux地址ping不通情况怎么办?
    pve三种操作方式
    Office Add-in 设计规范与最佳实践
    编辑您的代码
    持续集成
    人工智能到底能给我们带来什么?
  • 原文地址:https://www.cnblogs.com/migongci0412/p/4984010.html
Copyright © 2020-2023  润新知