总结技巧:

  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/passwd1    root:x:0:0:root:/root:/bin/bash2    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin3    bin:x:2:2:bin:/bin:/usr/sbin/nologin4    sys:x:3:3:sys:/dev:/usr/sbin/nologin5    sync:x:4:65534:sync:/bin:/bin/sync6    games:x:5:60:games:/usr/games:/usr/sbin/nologin7    man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
方法三:
xiaorui@xiaorui:~$ cat -n /etc/passwd1    root:x:0:0:root:/root:/bin/bash2    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin3    bin:x:2:2:bin:/bin:/usr/sbin/nologin4    sys:x:3:3:sys:/dev:/usr/sbin/nologin5    sync:x:4:65534:sync:/bin:/bin/sync6    games:x:5:60:games:/usr/games:/usr/sbin/nologin7    man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
方法四:
xiaorui@xiaorui:~$ less -N /etc/passwd1    root:x:0:0:root:/root:/bin/bash2    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin3    bin:x:2:2:bin:/bin:/usr/sbin/nologin4    sys:x:3:3:sys:/dev:/usr/sbin/nologin5    sync:x:4:65534:sync:/bin:/bin/sync6    games:x:5:60:games:/usr/games:/usr/sbin/nologin7    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 yesGSSAPIAuthentication yesGSSAPIDelegateCredentials no
-----------------------------------------------------------------------------------------
xiaorui@xiaorui:~$ grep -vE "^#|^$" /etc/ssh/ssh_config
Host *SendEnv LANG LC_*HashKnownHosts yesGSSAPIAuthentication yesGSSAPIDelegateCredentials no
-----------------------------------------------------------------------------------------
xiaorui@xiaorui:~$ egrep -v "^#|^$" /etc/ssh/ssh_config
Host *SendEnv LANG LC_*HashKnownHosts yesGSSAPIAuthentication yesGSSAPIDelegateCredentials no

转载于:https://www.cnblogs.com/migongci0412/p/4984010.html

第十天-linux命令及基础手把手实战相关推荐

  1. L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

    for n in `seq 512` ;do echo 1 >>a.log;done:写一个1K的文件,如下图: for n in `seq 100000` ;do /bin/cp a.l ...

  2. L010 linux命令及基础手把手实战总结

    一转眼都快两周没更新了,最近实在太忙了,这两周的时间断断续续的把L010学完了,短短的15节课,确是把前10节的课程全部的运用一遍,从笔记到整理,再到重新理解,最后发布到微博,也确实提升了一些综合性能 ...

  3. Linux命令(基础)

    2019独角兽企业重金招聘Python工程师标准>>> 基本命令 ###关机 poweroff shutdown -h nowreboot shutdown -r now #重启 查 ...

  4. linux命令行 基础,Linux命令行基础,关于Bash需要知道的一些常识

    介绍 Linux越来越重要,对于开发者来说学习必要的bash技术必不可少,对运维来说更是如此.学习shell可以参考很多学习材料和图书,比如ChinaUnix论坛网中人大哥总结的<Shell十三 ...

  5. Linux命令工具基础02 文件及目录管理

    文件及目录管理 文件管理不外乎文件或目录的创建.删除.查询.移动,有mkdir/rm/mv 文件查询是重点,用find来进行查询:find的参数丰富,也非常强大: 查看文件内容是个大的话题,文本的处理 ...

  6. ❤️十万字Linux命令大全cp详细教程(2)❤️

    文章目录 cp命令 – 复制文件或目录 cp命令 – 复制文件或目录 接着上一篇讲,我的文章是按照循序进行的:cat命令详细讲解教程 语法格式: cp [参数] [文件] 参数: -f 若目标文件已存 ...

  7. 【Linux】Docker 基础与实战,看这一篇就够了

    Docker 基础 什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Uni ...

  8. 第三十一天 Linux介绍和基础命令

    目录 1.前言 1.1 什么是Linux 1.2 为什么要学Linux 1.3 学完Linux能干什么 2.Linux简介 2.1 主流操作系统 2.2 Linux发展历史 3. Linux安装 3. ...

  9. git、linux、redis基础及常用命令

    Git 分布式版本控制工具 课程内容 Git概述 Git代码托管服务 Git常用命令 在IDEA中使用Git 1. 前言 1.1 什么是Git Git是一个分布式版本控制工具,主要用于管理开发过程中的 ...

最新文章

  1. C++语言标准库functional中的函数对象,绝对是装B神器~
  2. CentOS7密码忘记解决方法GRUB菜单加密
  3. C++中auto的用法,说明的是变量的寿命
  4. 专业音频如何把电平转换成dbu_这是我见过最细致的音频系统增益设置指南,跟着学起来!...
  5. 07.es_thread_pool使用
  6. springboot entity date_SpringBoot+JWT实战(附源码)
  7. [css] css如何消除字体的锯齿?
  8. twisted mysql_Twisted MySQL adbapi返回字典
  9. 前端基础-html-标题标签
  10. UNIX 环境高级编程(七)—— 进程标识
  11. c++之指针常量和常量指针
  12. 线程安全的单例模式C++实现
  13. 基于BC95之AT命令的学习
  14. Chrome支持的MP4编解码器有限
  15. abbot_release
  16. could not resolve xxx.jar
  17. 微处理器 微型计算机 单片机之间有何区别,微处理器,微计算机,微处理机,CPU,单片机,它们之间有何区别...
  18. 【docker】win10系统下docker容器安装及使用(二):docker通过commit及dockerfile进行创建
  19. c++win32项目 如何显示后再删除一个绘图_Golden Software Surfer(三维绘图软件) 中文版分享...
  20. 清水居士与数名志愿者大年三十慰问夏家河村周边贫困家庭

热门文章

  1. php 使用table方式导出excel文件
  2. python中的enumerate函数
  3. winform界面闪退
  4. MySQL原生HA方案 – Fabric体验之旅
  5. C#-修改图书借阅管理系统-错误与SQL server 2008错误、复制数据库
  6. 源码梳理——Jedis中的集合JedisByteHashMap
  7. 健忘族的大爱,机器人管家Watch Bot提醒你不要丢三落四
  8. 企业安全建设之浅谈数据防泄露
  9. vsftpd配置文件丢失
  10. elasticsearch7.9.2 安装配置