第十天-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/apache4、刪除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命令及基础手把手实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ELK日志管理之——kibana部署
- 下一篇: Linux中的SELinux详解--16