linux基礎命令之企業面試題
阿新 • • 發佈:2018-10-16
con test 不包含 模擬 cto for oca 顏色 mtime 1.如何過濾出已知當前目錄下linzhongniao中的所有一級目錄(提示:不包含linzhongniao目錄下面目錄的子目錄及隱藏目錄,即只能是一級目錄)
創建模擬數據:
創建模擬數據:
[root@linzhongniao ~]# mkdir linzhongniao [root@linzhongniao ~]# cd linzhongniao [root@linzhongniao linzhongniao]# ls [root@linzhongniao linzhongniao]# mkdir ext/linzhongniao test zhangsan lisi wanger -p [root@linzhongniao linzhongniao]# touch nishishei linzhongniao wodi.gz nimei.gz
分析過程:要完成此題,要先想如何區分目錄和文件?
方法:
(1)根據顏色區分文件和目錄
(2)ls –l輸出結果中以d(全拼directory)開頭的就是目錄。
(3)通過給目錄加標識,然後過濾帶標識的,就過濾出目錄(ls –F或ls -p)-F表示不同的文件加不同的標識,-p表示只給目錄加斜線。
linux基礎命令
(4) 通過find查找指定類型的文件(-d 就是目錄)
實戰:方法一:
[root@linzhongniao linzhongniao]# ls -l total 20 drwxr-xr-x. 3 root root 4096 Jul 3 15:29 ext -rw-r--r--. 1 root root0 Jul 3 15:31 linzhongniao drwxr-xr-x. 2 root root 4096 Jul 3 15:29 lisi -rw-r--r--. 1 root root0 Jul 3 15:31 nimei.gz -rw-r--r--. 1 root root0 Jul 3 15:31 nishishei drwxr-xr-x. 2 root root 4096 Jul 3 15:29 test drwxr-xr-x. 2 root root 4096 Jul 3 15:29 wanger -rw-r--r--. 1 root root0 Jul 3 15:31 wodi.gz drwxr-xr-x. 2 root root 4096 Jul 3 15:29 zhangsan [root@linzhongniao linzhongniao]# ls -l|grep "^d" 《==尖括號表示以什麽開頭 drwxr-xr-x. 3 root root 4096 Jul 3 15:29 ext drwxr-xr-x. 2 root root 4096 Jul 3 15:29 lisi drwxr-xr-x. 2 root root 4096 Jul 3 15:29 test drwxr-xr-x. 2 root root 4096 Jul 3 15:29 wanger drwxr-xr-x. 2 root root 4096 Jul 3 15:29 zhangsan
方法二:
[root@linzhongniao linzhongniao]# ls -F
ext/ lisi/ nishishei wanger/ zhangsan/
linzhongniao nimei.gz test/ wodi.gz
[root@linzhongniao linzhongniao]# ls -F|grep "/$" 《== “/$”以斜杠結尾
ext/
lisi/
test/
wanger/
zhangsan/
方法三:
-maxdepth 1深度為1,最底層目錄,因為第二層也會有目錄那麽不用這個參數有可能不準確,查找文件也是可以用的。
[root@linzhongniao linzhongniao]# find ./ -maxdepth 1 -type d ! -name "." ./ext ./wanger ./test ./zhangsan ./lisi
方法四:awk的過濾功能
[root@linzhongniao linzhongniao]# ls -l|awk ‘/^d/‘
drwxr-xr-x. 3 root root 4096 Jul 3 15:29 ext
drwxr-xr-x. 2 root root 4096 Jul 3 15:29 lisi
drwxr-xr-x. 2 root root 4096 Jul 3 15:29 test
drwxr-xr-x. 2 root root 4096 Jul 3 15:29 wanger
drwxr-xr-x. 2 root root 4096 Jul 3 15:29 zhangsan
方法五:
[root@linzhongniao linzhongniao]# ls -F|sed -n ‘/\/$/p‘
ext/
lisi/
test/
wanger/
zhangsan/
2.刪除apache日誌
已知apache服務的訪問日誌文件按天記錄在服務器本地目錄/app/logs下,由於磁盤緊張,現在要求只能保留最近7天的訪問日誌。請問如何解決?
模擬數據
[root@linzhongniao ~]# cat chuangjianrizhi.sh
for n in `seq 15`
do
date -s "2018/07/$n"
touch /app/logs/access_www_$(date +%F).log
done
date -s ‘2018/07/16‘
[root@linzhongniao ~]# ls -lrt /app/logs/
total 0
-rw-r--r--. 1 root root 0 Jul 1 00:00 access_www_2018-07-01.log
-rw-r--r--. 1 root root 0 Jul 2 00:00 access_www_2018-07-02.log
-rw-r--r--. 1 root root 0 Jul 3 00:00 access_www_2018-07-03.log
-rw-r--r--. 1 root root 0 Jul 4 00:00 access_www_2018-07-04.log
-rw-r--r--. 1 root root 0 Jul 5 00:00 access_www_2018-07-05.log
-rw-r--r--. 1 root root 0 Jul 6 00:00 access_www_2018-07-06.log
-rw-r--r--. 1 root root 0 Jul 7 00:00 access_www_2018-07-07.log
-rw-r--r--. 1 root root 0 Jul 8 00:00 access_www_2018-07-08.log
-rw-r--r--. 1 root root 0 Jul 9 00:00 access_www_2018-07-09.log
-rw-r--r--. 1 root root 0 Jul 10 00:00 access_www_2018-07-10.log
-rw-r--r--. 1 root root 0 Jul 11 00:00 access_www_2018-07-11.log
-rw-r--r--. 1 root root 0 Jul 12 00:00 access_www_2018-07-12.log
-rw-r--r--. 1 root root 0 Jul 13 00:00 access_www_2018-07-13.log
-rw-r--r--. 1 root root 0 Jul 14 00:00 access_www_2018-07-14.log
-rw-r--r--. 1 root root 0 Jul 15 00:00 access_www_2018-07-15.log
解答:刪除七天前的
先查看一下七天前的日誌文件
[root@linzhongniao ~]# find /app/logs/ -type f -mtime +7
/app/logs/access_www_2018-07-07.log
/app/logs/access_www_2018-07-05.log
/app/logs/access_www_2018-07-08.log
/app/logs/access_www_2018-07-02.log
/app/logs/access_www_2018-07-03.log
/app/logs/access_www_2018-07-01.log
/app/logs/access_www_2018-07-04.log
/app/logs/access_www_2018-07-06.log
刪除七天前的日誌文件
方法一:fine結合xargs
[root@linzhongniao ~]# find /app/logs/ -type f -mtime +7|xargs rm -f
[root@linzhongniao ~]# ls -lrt /app/logs/
total 0
-rw-r--r--. 1 root root 0 Jul 9 00:00 access_www_2018-07-09.log
-rw-r--r--. 1 root root 0 Jul 10 00:00 access_www_2018-07-10.log
-rw-r--r--. 1 root root 0 Jul 11 00:00 access_www_2018-07-11.log
-rw-r--r--. 1 root root 0 Jul 12 00:00 access_www_2018-07-12.log
-rw-r--r--. 1 root root 0 Jul 13 00:00 access_www_2018-07-13.log
-rw-r--r--. 1 root root 0 Jul 14 00:00 access_www_2018-07-14.log
-rw-r--r--. 1 root root 0 Jul 15 00:00 access_www_2018-07-15.log
方法二:find結合-exec
[root@linzhongniao ~]# find /app/logs/ -type f -mtime +7 -exec rm -f {} \;
[root@linzhongniao ~]# ls -lrt /app/logs/
total 0
-rw-r--r--. 1 root root 0 Jul 9 00:00 access_www_2018-07-09.log
-rw-r--r--. 1 root root 0 Jul 10 00:00 access_www_2018-07-10.log
-rw-r--r--. 1 root root 0 Jul 11 00:00 access_www_2018-07-11.log
-rw-r--r--. 1 root root 0 Jul 12 00:00 access_www_2018-07-12.log
-rw-r--r--. 1 root root 0 Jul 13 00:00 access_www_2018-07-13.log
-rw-r--r--. 1 root root 0 Jul 14 00:00 access_www_2018-07-14.log
-rw-r--r--. 1 root root 0 Jul 15 00:00 access_www_2018-07-15.log
方法三:先用find查找出來在用rm刪除
[root@linzhongniao ~]# rm -f `find /app/logs/ -type f -mtime +7`
[root@linzhongniao ~]# ls -lrt /app/logs/
total 0
-rw-r--r--. 1 root root 0 Jul 9 00:00 access_www_2018-07-09.log
-rw-r--r--. 1 root root 0 Jul 10 00:00 access_www_2018-07-10.log
-rw-r--r--. 1 root root 0 Jul 11 00:00 access_www_2018-07-11.log
-rw-r--r--. 1 root root 0 Jul 12 00:00 access_www_2018-07-12.log
-rw-r--r--. 1 root root 0 Jul 13 00:00 access_www_2018-07-13.log
-rw-r--r--. 1 root root 0 Jul 14 00:00 access_www_2018-07-14.log
-rw-r--r--. 1 root root 0 Jul 15 00:00 access_www_2018-07-15.log
3.裝完系統後,希望讓網絡文件NFS,僅在3級別上開機自啟動,該如何做?
第一種文件配置方法,可以把要重啟的服務器的命令放在/etc/rc.local裏。
解答:全部關掉然後開啟需要的級別的服務。
[root@linzhongniao ~]# chkconfig nfs on
[root@linzhongniao ~]# chkconfig --list nfs
nfs 0:off 1:off 2:on3:on4:on5:on6:off
[root@linzhongniao ~]# chkconfig nfs off
[root@linzhongniao ~]# chkconfig --list nfs
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@linzhongniao ~]# chkconfig --level 3 nfs on
[root@linzhongniao ~]# chkconfig --list nfs
nfs 0:off 1:off 2:off 3:on4:off 5:off 6:off
也可以將2345都開啟
[root@linzhongniao ~]# chkconfig --level 2345 nfs on
[root@linzhongniao ~]# chkconfig --list nfs
nfs 0:off 1:off 2:on3:on4:on5:on6:off
linux基礎命令之企業面試題