如何過濾出如下目錄的中的全部一級目錄mysql
[root@xcn ~]# llnginx
total 16web
-rw-r--r-- 1 root root 0 Jul 5 11:43 111sql
-rw-r--r-- 1 root root 0 Jul 5 11:43 222apache
-rw-r--r-- 1 root root 0 Jul 5 11:43 333bash
drwxr-xr-x 2 root root 4096 Jul 5 11:43 aaa服務器
drwxr-xr-x 2 root root 4096 Jul 5 11:43 bbb網絡
drwxr-xr-x 2 root root 4096 Jul 5 11:43 cccapp
drwxr-xr-x 2 root root 4096 Jul 5 11:43 dddless
方法1:ls -l結果中以d開頭的就是目錄
經過過濾以長格式輸出的開頭文件標識d [root@xcn ~]# ls -l |grep ^d drwxr-xr-x 2 root root 4096 Jul 5 11:43 aaa drwxr-xr-x 2 root root 4096 Jul 5 11:43 bbb drwxr-xr-x 2 root root 4096 Jul 5 11:43 ccc drwxr-xr-x 2 root root 4096 Jul 5 11:43 ddd 提示:^ :以...開頭
方法2:經過給目錄加標識,而後經過過濾標識,過濾出目錄
[root@xcn ~]# ls -F #把目錄結尾加上"/",便於區分和過濾出來,ls -p也可讓目錄帶上斜線 111 222 333 aaa/ bbb/ ccc/ ddd/ [root@xcn ~]# ls -F|grep /$ #把包含斜線"/"的過濾出來就是目錄 aaa/ bbb/ ccc/ ddd/
方法3:find的應用
[root@xcn ~]# find . -type d #.表明當前目錄 ./aaa ./ccc ./bbb ./ddd
方法4:tree
[root@xcn ~]# tree -dl . |-- aaa |-- bbb |-- ccc `-- ddd
過濾空行及#開頭的行
[root@xcn ~]# grep -Ev "^#|^$" /etc/init.d/sshd [root@xcn ~]# egrep -v "^#|^$" /etc/init.d/sshd 註釋: -E #egrep -v #過濾 ^# #井號開頭 ^$ #空行
方法5:sed
[root@xcn ~]# ls -l|sed -n /^d/p drwxr-xr-x 2 root root 4096 Jul 5 11:43 aaa drwxr-xr-x 2 root root 4096 Jul 5 11:43 bbb drwxr-xr-x 2 root root 4096 Jul 5 11:43 ccc drwxr-xr-x 2 root root 4096 Jul 5 11:43 ddd 註釋: -n #拒絕默認輸出 p #打印
方法6:awk
[root@xcn ~]#ls -l|awk '/^d/ {print $0}' drwxr-xr-x 2 root root 4096 Jul 5 11:43 aaa drwxr-xr-x 2 root root 4096 Jul 5 11:43 bbb drwxr-xr-x 2 root root 4096 Jul 5 11:43 ccc drwxr-xr-x 2 root root 4096 Jul 5 11:43 ddd
2.假如當前目錄是
[root@xcn ~]# pwd #這是打印當前目錄 /root
如今由於須要進入到了/tmp目錄下進行操做,執行的命令以下:
[root@xcn ~]# pwd /root [root@xcn ~]# cd /tmp/ [root@xcn tmp]# cd - /root [root@xcn ~]#
原理:
[root@xcn ~]# env|grep -i oldpwd #是這個變量記錄着上一次的目錄 OLDPWD=/tmp
3.一個目錄中有不少文件(ls查看時好多屏),想最快速度查看到最近更行的文件。若是看?
解答:
[root@xcn etc]# ls -lrt #執行這個命令後最新的文件會在最下面 #以長格式按照修改時間倒序文件和目錄,這樣最近建立或修改的文件或目錄 -t #按修改時間 -r #翻轉
4.在配置apache時,執行了./confiure --prefix=/application/apache2.2.17 來編譯apache在make installl完成後,但願用戶的訪問路徑更簡單,須要給/application/apache2.2.17目錄作一個軟連接/application/apache,使得內部開發或管理人員經過/application/apache就能夠訪問到/apache的安裝目錄/application/apache2.2.17下的內容,請你給出實現的命令(提示:apache爲一個http web服務)
[root@xcn ~]# ln -s /application/apache2.2.17 /application/apache #-s 參數表示爲建立軟連接
5.已知apache服務的訪問日誌按天記錄在服務器本地目錄/data/logs下,因爲磁盤空間緊張,如今要求只能保留最近7天訪問日誌!請問如何解決?請給出解決辦法或配置或處理命令。
-rw-r--r-- 1 root root 0 Jun 28 00:00 2017-06-29_00-00.backstage_access.log -rw-r--r-- 1 root root 0 Jun 28 00:00 2017-06-29_00-00.backstage_error.log -rw-r--r-- 1 root root 0 Jun 29 00:00 2017-06-30_00-00.backstage_access.log -rw-r--r-- 1 root root 0 Jun 29 00:00 2017-06-30_00-00.backstage_error.log -rw-r--r-- 1 root root 0 Jun 30 00:00 2017-07-01_00-00.backstage_access.log -rw-r--r-- 1 root root 0 Jun 30 00:00 2017-07-01_00-00.backstage_error.log -rw-r--r-- 1 root root 0 Jul 1 00:00 2017-07-02_00-00.backstage_access.log -rw-r--r-- 1 root root 0 Jul 1 00:00 2017-07-02_00-00.backstage_error.log -rw-r--r-- 1 root root 0 Jul 2 00:00 2017-07-03_00-00.backstage_access.log -rw-r--r-- 1 root root 0 Jul 2 00:00 2017-07-03_00-00.backstage_error.log -rw-r--r-- 1 root root 0 Jul 3 00:00 2017-07-04_00-00.backstage_access.log -rw-r--r-- 1 root root 0 Jul 3 00:00 2017-07-04_00-00.backstage_error.log -rw-r--r-- 1 root root 0 Jul 4 00:00 2017-07-05_00-00.backstage_access.log -rw-r--r-- 1 root root 0 Jul 4 00:00 2017-07-05_00-00.backstage_error.log -rw-r--r-- 1 root root 0 Jul 5 00:00 2017-07-06_00-00.backstage_access.log -rw-r--r-- 1 root root 0 Jul 5 00:00 2017-07-06_00-00.backstage_error.log [root@guaji01 ~]# find ./ -type f -name "*.log" -mtime +7|xarge rm -f #刪除7天
find 查找與時間有關參數:
-atime n #n爲數字,意義爲在n天以前的【一天以內】被access過的檔案;
-ctime n #n爲數字,意義爲在n天以前的【一天以內】內change過狀態的檔案
-mtime n #n 爲數字,意思爲在n天以前的【一天以內】被modification過的檔案
-newer file #file 爲一個存在的檔案,意思是說,只要檔案比file還要新,就會被列出來
find ./ type f -name "*.log" -mtime +7|xargs rm -f
6.調試系統服務時,但願能實時查看系統日誌/var/log/messages的更新,如何作?
法一:
[root@xcn ~]# tail -f /var/log/messages Jul 6 14:51:40 localhost yum[29341]: Installed: gnome-vfs2-devel-2.24.2-8.el6.x86_64 Jul 6 14:51:41 localhost yum[29341]: Installed: dmz-cursor-themes-0.4-4.el6.noarch Jul 6 14:51:41 localhost yum[29341]: Installed: system-gnome-theme-60.0.2-1.el6.noarch Jul 6 14:51:41 localhost yum[29341]: Installed: libgnome-2.28.0-11.el6.x86_64 Jul 6 14:51:41 localhost yum[29341]: Installed: libgnome-devel-2.28.0-11.el6.x86_64 Jul 6 14:51:41 localhost yum[29341]: Installed: libbonoboui-2.24.2-3.el6.x86_64 Jul 6 14:51:42 localhost yum[29341]: Installed: libbonoboui-devel-2.24.2-3.el6.x86_64 Jul 6 14:51:42 localhost yum[29341]: Installed: libgnomeui-2.24.1-4.el6.x86_64 Jul 6 14:51:42 localhost yum[29341]: Installed: libgnomeui-devel-2.24.1-4.el6.x86_64 Jul 6 14:51:43 localhost yum[29341]: Updated: glib2-2.28.8-9.el6.i686
法二:
[root@xcn ~]# tail -F /var/log/messages Jul 6 14:51:40 localhost yum[29341]: Installed: gnome-vfs2-devel-2.24.2-8.el6.x86_64 Jul 6 14:51:41 localhost yum[29341]: Installed: dmz-cursor-themes-0.4-4.el6.noarch Jul 6 14:51:41 localhost yum[29341]: Installed: system-gnome-theme-60.0.2-1.el6.noarch Jul 6 14:51:41 localhost yum[29341]: Installed: libgnome-2.28.0-11.el6.x86_64 Jul 6 14:51:41 localhost yum[29341]: Installed: libgnome-devel-2.28.0-11.el6.x86_64 Jul 6 14:51:41 localhost yum[29341]: Installed: libbonoboui-2.24.2-3.el6.x86_64 Jul 6 14:51:42 localhost yum[29341]: Installed: libbonoboui-devel-2.24.2-3.el6.x86_64 Jul 6 14:51:42 localhost yum[29341]: Installed: libgnomeui-2.24.1-4.el6.x86_64 Jul 6 14:51:42 localhost yum[29341]: Installed: libgnomeui-devel-2.24.1-4.el6.x86_64 Jul 6 14:51:43 localhost yum[29341]: Updated: glib2-2.28.8-9.el6.i68
法三:
[root@xcn ~]# tailf /var/log/messages Jul 6 14:51:40 localhost yum[29341]: Installed: gnome-vfs2-devel-2.24.2-8.el6.x86_64 Jul 6 14:51:41 localhost yum[29341]: Installed: dmz-cursor-themes-0.4-4.el6.noarch Jul 6 14:51:41 localhost yum[29341]: Installed: system-gnome-theme-60.0.2-1.el6.noarch Jul 6 14:51:41 localhost yum[29341]: Installed: libgnome-2.28.0-11.el6.x86_64 Jul 6 14:51:41 localhost yum[29341]: Installed: libgnome-devel-2.28.0-11.el6.x86_64 Jul 6 14:51:41 localhost yum[29341]: Installed: libbonoboui-2.24.2-3.el6.x86_64 Jul 6 14:51:42 localhost yum[29341]: Installed: libbonoboui-devel-2.24.2-3.el6.x86_64 Jul 6 14:51:42 localhost yum[29341]: Installed: libgnomeui-2.24.1-4.el6.x86_64 Jul 6 14:51:42 localhost yum[29341]: Installed: libgnomeui-devel-2.24.1-4.el6.x86_64 Jul 6 14:51:43 localhost yum[29341]: Updated: glib2-2.28.8-9.el6.i686
7.打印配置文件nginx.conf內容的行號及內容,該如何作?
法1:
[root@guaji01 conf]# nl nginx.conf 1 user nginx; 2 worker_processes 4; 3 4 #pid /var/run/nginx.pid; 5 6 events { 7 worker_connections 5000; 8 #use epoll; 9 } ....................
法2:
[root@guaji01 conf]# cat -n nginx.conf 1 user nginx; 2 worker_processes 4; 3 4 #pid /var/run/nginx.pid; 5 6 events { 7 worker_connections 5000; 8 #use epoll; 9 } 10 ........................
法3:
[root@guaji01 conf]# less -N nginx.conf 1 user nginx; 2 worker_processes 4; 3 4 #pid /var/run/nginx.pid; 5 6 events { 7 worker_connections 5000; 8 #use epoll; 9 } 10 11 http { 12 include mime.types; 13 default_type application/octet-stream; 14
法4:vi 文件 而後執行:set nu, :set nonu 爲取消行號
8.裝完系統後,但願讓網絡文件共享服務NFS,僅在3級別上開機自啓動,該如何作?
方法1:所有關掉而後開啓須要的級別的服務
[root@xcn ~]# chkconfig nfs off #默認2,3,4,5級別都是開啓狀態,全部須要先都關了。固然也能夠chkconfig --level 245 nfs off [root@xcn ~]# chkconfig --list nfs nfs 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 [root@xcn ~]# chkconfig --level 3 nfs on [root@xcn ~]# chkconfig --list nfs nfs 0:關閉 1:關閉 2:關閉 3:啓用 4:關閉 5:關閉 6:關閉
方法2:關閉不須要的級別的服務
[root@xcn ~]# chkconfig --list nfs nfs 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉 [root@xcn ~]# chkconfig --level 245 nfs off [root@xcn ~]# chkconfig --list nfs nfs 0:關閉 1:關閉 2:關閉 3:啓用 4:關閉 5:關閉 6:關閉
12./etc/目錄爲Linux系統的默認的配置文件及服務啓動命令的目錄
請用tar打包/etc整個目錄(打包及壓縮)
請用tar打包/etc整個目錄(打包及壓縮,但須要排除/etc/services文件)
請把a點命令的壓縮包,解壓到/tmp指定目錄下(最好只用tar 命令實現)
解答:
a:
[root@xcn /]# tar zcvf etc.tar.gz ./etc/ -rw-r--r-- 1 root root 9948783 9月 24 04:12 etc.tar.gz z:壓縮 c:建立 v:顯示輸出 f:文件ch
[root@xcn /]# tar tf etc.tar.gz #查看壓縮包裏的內容 etc/ etc/sysctl.conf etc/modprobe.d/ etc/modprobe.d/blacklist.conf etc/modprobe.d/dist.conf etc/modprobe.d/anaconda.conf etc/modprobe.d/openfwwf.conf etc/modprobe.d/dist-oss.conf etc/modprobe.d/dist-alsa.conf etc/gnupg/ etc/oddjobd.conf.d/ etc/oddjobd.conf.d/oddjobd-introspection.conf etc/oddjobd.conf.d/oddjobd-mkhomedir.conf etc/updatedb.conf etc/sudo.conf etc/mailcap etc/nanorc etc/fprintd.conf etc/printcap etc/rwtab
13.已知以下命令結果:
[root@xcn ~]# echo "I am xcn mysql is 995345781" >> xcn [root@xcn ~]# cat xcn I am xcn mysql is 995345781
如今須要從文件中過濾出"xcn"和"995345781"字符串,請給出命令
解答:
方法1:
[root@xcn ~]# awk '{print $3 $6}' xcn xcn995345781 [root@xcn ~]# awk '{print $3 " " $6}' xcn xcn 995345781
方法2:
[root@xcn ~]# cut -d" " -f3,6 xcn xcn 995345781 -d:指定分隔符
[root@xcn ~]# cut -c 6-8 xcn xcn
14.如何查看/etc/services文件的有多少行?
解答:
方法一:
[root@xcn ~]# wc -l /etc/services 10774 /etc/services
方法二:
[root@xcn ~]# cat -n /etc/services |tail -1 10774 iqobject 48619/udp # iqobje
方法三:
[root@xcn ~]# sed -n '$=' /etc/services 10774
方法四:
[root@xcn ~]# awk '{print NR}' /etc/services|tail -1 10774
方法五:
[root@xcn ~]# grep -n $ /etc/services|tail -1 10774:iqobject 48619/udp # iqobject
15.請執行命令取出Linux中eth1的IP地址
法1:
[root@xcn ~]# ifconfig eth1|grep "inet addr"|cut -d ":" -f 2|cut -d " " -f 1 172.16.1.2
法2:
[root@xcn ~]# ifconfig eth1|grep "inet addr:"|awk -F ":" '{print $2}'|awk '{print $1}' 172.16.1.2
法3:
[root@xcn ~]# ifconfig eth1|grep "inet addr"|awk -F "[: ]" '{print $13}' 172.16.1.2
法4:
[root@xcn ~]# ifconfig eth1|sed -n '/inet addr/p'|sed 's#^.*addr:##g'|sed 's#Bc.*$##g' 172.16.1.2
思路:
匹配須要的目標(獲取的字符串如上文的ip)前的字符串通常用以..開頭(^.*)來匹配開頭,匹配的結尾寫上實際的字符,如:"^.*addr:"表達式就匹配" inet addr:",而處理須要的目標後的內容通常在匹配的開頭寫上實際的字符,而結尾是用以...結尾(.*$)來匹配。如:Bcast:.*$部分表示匹配「Bcast:10.0.0.255 Mask:255.255.255.0」.
法5:
[root@xcn ~]# ifconfig eth1|sed -n 's#^.*addr:\(.*\) Bcast.*$#\1#gp' 172.16.1.2
sed小括號()分組功能
sed 's/■/▲/標籤' #斜線能夠被其餘字符替換
■部分能夠用正則,▲的部分不能用正則
()分組(group)再■部分使用()括起來的內容,再▲的位置能夠用使用\1調用前面括號內容
若是有多個括號,那麼一次\2,\3調用第二個第三個括號,以此類推
16.如何取得xcn文件的權限對於的數字內容,如-rw-r--r--爲644,要求使用命令取得644或0644這樣的數字
r read w write -沒有x執行
r 4
w 2
x 1
- 0
法1:
[root@xcn ~]# stat xcn|sed -n '4p'|awk -F "[/(]" '{print $2}' 0644
法2:
[root@xcn ~]# stat xcn|head -4|tail -1|awk -F "[/(]" '{print $2}' 0644
法3:
[root@xcn ~]# stat xcn|sed -n 's#^.*s: (\([0-9].*\)/-r.*$#\1#gp' 0644