Linux 2017年企業(yè)運維經(jīng)典面試題匯總(4)

2018-07-31 14:46 更新

1、如何過濾出已知當(dāng)前目錄下yangwen中的所有一級目錄(提示:不包含yangwen目錄下面目錄的子目錄及隱藏目錄,即只能是一級目錄)?

解答:

方法1:通過find直接查找指定類型的文件

[root@yangwen ~]# find ./yangwen -type d -maxdepth 1
./yangwen
./yangwen/xings
./yangwen/asgd
./yangwen/test
./yangwen/ext
./yangwen/yangwen

方法2:ls -l結(jié)果中以d開頭的就是目錄

[root@yangwen]#  ls -l|grep "^d"[root@yangwen ~]# ls -l ./yangwen | grep "^d"drwxr-xr-x 2 root root 4096 Apr  9 21:08 asgd
drwxr-xr-x 2 root root 4096 Apr  9 21:08 ext
drwxr-xr-x 2 root root 4096 Apr  9 21:08 yangwen
drwxr-xr-x 2 root root 4096 Apr  9 21:08 testdrwxr-xr-x 2 root root 4096 Apr  9 21:08 xings

方法3:過濾出非文件的內(nèi)容

[root@yangwen ~]# ls -l ./yangwen | grep -v "^-" total 20
drwxr-xr-x 2 root root 4096 Apr  9 21:08 asgd
drwxr-xr-x 2 root root 4096 Apr  9 21:08 ext
drwxr-xr-x 2 root root 4096 Apr  9 21:08 yangwen
drwxr-xr-x 2 root root 4096 Apr  9 21:08 testdrwxr-xr-x 2 root root 4096 Apr  9 21:08 xings

方法4:通過給目錄加標(biāo)識,然后通過過濾標(biāo)識,過濾出目錄

[root@yangwen ~]# ls -lF ./yangwen | grep "/$"drwxr-xr-x 2 root root 4096 Apr  9 21:08 asgd/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 ext/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 yangwen/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 test/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 xings/[root@yangwen ~]# ls -lF ./yangwen | grep "/"drwxr-xr-x 2 root root 4096 Apr  9 21:08 asgd/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 ext/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 yangwen/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 test/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 xings/

方法5:ls顯示長格式,然后再通過sed過濾出以dr開頭的行并打印出來

[root@yangwen ~]# ls -l ./yangwen | sed -n /^dr/p
drwxr-xr-x 2 root root 4096 Apr  9 21:08 asgd
drwxr-xr-x 2 root root 4096 Apr  9 21:08 ext
drwxr-xr-x 2 root root 4096 Apr  9 21:08 yangwen
drwxr-xr-x 2 root root 4096 Apr  9 21:08 testdrwxr-xr-x 2 root root 4096 Apr  9 21:08 xings[root@yangwen ~]# ls -lF ./yangwen | sed -n '/\/$/p'  ---> 過濾出以/結(jié)尾的
drwxr-xr-x 2 root root 4096 Apr  9 21:08 asgd/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 ext/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 yangwen/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 test/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 xings/

方法6:awk過濾方法

[root@yangwen ~]# ls -l ./yangwen | awk '/dr/'    ----->過濾出以dr開頭的
drwxr-xr-x 2 root root 4096 Apr  9 21:08 asgd
drwxr-xr-x 2 root root 4096 Apr  9 21:08 ext
drwxr-xr-x 2 root root 4096 Apr  9 21:08 yangwen
drwxr-xr-x 2 root root 4096 Apr  9 21:08 testdrwxr-xr-x 2 root root 4096 Apr  9 21:08 xings			
[root@ansheng ~]# ls -l ./ansheng | awk '/^d/'   ----->過濾出以d開頭的
drwxr-xr-x 2 root root 4096 Apr  9 21:08 asgd
drwxr-xr-x 2 root root 4096 Apr  9 21:08 ext
drwxr-xr-x 2 root root 4096 Apr  9 21:08 yangwen
drwxr-xr-x 2 root root 4096 Apr  9 21:08 testdrwxr-xr-x 2 root root 4096 Apr  9 21:08 xings[root@yangwen ~]# ls -lF ./yangwen | awk '/\/$/'  ----->過濾出以/結(jié)尾的
drwxr-xr-x 2 root root 4096 Apr  9 21:08 asgd/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 ext/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 yangwen/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 test/
drwxr-xr-x 2 root root 4096 Apr  9 21:08 xings/

2、假如當(dāng)前目錄是如下命令的結(jié)果:

[root@yangwen]# pwd #==>這是打印當(dāng)前目錄的,最菜的命令了,你該會的。/root/yangwen
現(xiàn)在因為需要進(jìn)入到了 /tmp 目錄下進(jìn)行操作,執(zhí)行的命令如下:[root@yangwen]# cd /tmp[root@yangwen tmp]# pwd/tmp

操作完畢后,希望快速返回上一次進(jìn)入的目錄,即/yangwen目錄,該如何做呢?(提示:不能用 cd /yangwen命令呦)

解答:

[root@yangwen]# pwd/root/yangwen[root@yangwen]# cd /tmp[root@yangwen tmp]# pwd/tmp[root@ansheng tmp]# cd -
/root/yangwen[root@yangwen]# pwd/root/yangwen

3、一個目錄中有很多文件( ls -l 查看時好多屏),想用一條命令最快速度查看到最近更新的文件。如何看?

解答:

[root@yangwen /]# cd /etc/[root@yangwen etc]# touch ansheng[root@yangwen etc]# ls -lrt
total 1668
-rw-r--r--.  1 root root   1112 Mar 30  2003 minicom.users
-rw-r--r--.  1 root root  10814 Feb 20  2006 ltrace.conf
-rw-r--r--.  1 root root    662 Aug 29  2007 logrotate.conf
-rw-r--r--.  1 root root    220 Oct 13  2008 quotagrpadmins
-rw-r--r--.  1 root root    148 May 14  2009 asound.conf
.....................................
-rw-r--r--.  2 root root     80 Jan 15 12:33 resolv.conf
-rw-r--r--.  1 root root      0 Jan 15 13:45 yangwen[root@yangwen etc]#

4、在配置apache時執(zhí)行了./configure –prefix=/application/apache2.2.17 來編譯 apche, 在 make install 完成后,希望用戶訪問 apache 路徑更簡單,需要給/application/apache2.2.17 目錄做一個軟鏈接/application/apache,使得內(nèi)部開發(fā)或管理人員通過/application/apache 就可以訪問到apache 的安裝目錄/application/apache2.2.17 下的內(nèi)容,請你給出實現(xiàn)的命令。(提示: apache為一個 web 服務(wù))

解答:

[root@yangwen /]# mkdir -p /application/apache2.2.17[root@ansheng /]# ln -s /application/apache2.2.17/ /application/apache[root@ansheng /]# touch /application/apache2.2.17/ansheng[root@ansheng /]# ls /application/apache
ansheng

5、已知 apache 服務(wù)的訪問日志按天記錄在服務(wù)器本地目錄/app/logs 下,由于磁盤空間緊張,現(xiàn)在要求只能保留最近 7 天的訪問日志!請問如何解決? 請給出解決辦法或配置或處理命令。 (提示:可以從 apache 服務(wù)配置上著手,也可以從生成出來的日志上著手。)

創(chuàng)建文件腳本:

#!/bin/bashfor n in `seq 14`do        date -s "11/0$n/14"
        touch access_www_`(date +%F)`.logdone

解決方法:

[root@yangwen logs]# pwd/application/logs[root@yangwen logs]# ll
total 0
-rw-r--r--. 1 root root 0 Jan  1 00:00 access_www_2015-01-01.log
-rw-r--r--. 1 root root 0 Jan  2 00:00 access_www_2015-01-02.log
-rw-r--r--. 1 root root 0 Jan  3 00:00 access_www_2015-01-03.log
-rw-r--r--. 1 root root 0 Jan  4 00:00 access_www_2015-01-04.log
-rw-r--r--. 1 root root 0 Jan  5 00:00 access_www_2015-01-05.log
-rw-r--r--. 1 root root 0 Jan  6 00:00 access_www_2015-01-06.log
-rw-r--r--. 1 root root 0 Jan  7 00:00 access_www_2015-01-07.log
-rw-r--r--. 1 root root 0 Jan  8 00:00 access_www_2015-01-08.log
-rw-r--r--. 1 root root 0 Jan  9 00:00 access_www_2015-01-09.log
-rw-r--r--. 1 root root 0 Jan 10 00:00 access_www_2015-01-10.log
-rw-r--r--. 1 root root 0 Jan 11 00:00 access_www_2015-01-11.log
-rw-r--r--. 1 root root 0 Jan 12 00:00 access_www_2015-01-12.log
-rw-r--r--. 1 root root 0 Jan 13 00:00 access_www_2015-01-13.log
-rw-r--r--. 1 root root 0 Jan 14 00:00 access_www_2015-01-14.log[root@yangwen logs]# find /application/logs/ -type f -mtime +7 -name "*.log"|xargs rm –f  ##也可以使用-exec rm -f {} \;進(jìn)行刪除[root@yangwen logs]# ll
total 0
-rw-r--r--. 1 root root 0 Jan  7 00:00 access_www_2015-01-07.log
-rw-r--r--. 1 root root 0 Jan  8 00:00 access_www_2015-01-08.log
-rw-r--r--. 1 root root 0 Jan  9 00:00 access_www_2015-01-09.log
-rw-r--r--. 1 root root 0 Jan 10 00:00 access_www_2015-01-10.log
-rw-r--r--. 1 root root 0 Jan 11 00:00 access_www_2015-01-11.log
-rw-r--r--. 1 root root 0 Jan 12 00:00 access_www_2015-01-12.log
-rw-r--r--. 1 root root 0 Jan 13 00:00 access_www_2015-01-13.log
-rw-r--r--. 1 root root 0 Jan 14 00:00 access_www_2015-01-14.log

6、調(diào)試系統(tǒng)服務(wù)時,希望能實時查看/var/log/messages 系統(tǒng)日志的更新,如何做?

解答:

[root@yangwen logs]# tail -f /var/log/messages
Jan 15 13:23:38 ansheng dhclient[869]: DHCPREQUEST on eth2 to 192.168.20.254 port 67 (xid=0x7a59bf0e)Jan 15 13:23:38 ansheng dhclient[869]: DHCPACK from 192.168.20.254 (xid=0x7a59bf0e)Jan 15 13:23:40 yangwen dhclient[869]: bound to 192.168.20.132 -- renewal in 776 seconds.
Jan 15 13:33:35 ansheng rz[1315]: [root] ansheng.tar.gz/ZMODEM: 425 Bytes, 22218 BPS
Jan 15 13:36:36 ansheng dhclient[869]: DHCPREQUEST on eth2 to 192.168.20.254 port 67 (xid=0x7a59bf0e)Jan 15 13:36:36 ansheng dhclient[869]: DHCPACK from 192.168.20.254 (xid=0x7a59bf0e)Jan 15 13:36:38 yangwen dhclient[869]: bound to 192.168.20.132 -- renewal in 686 seconds.
Jan 15 13:48:04 ansheng dhclient[869]: DHCPREQUEST on eth2 to 192.168.20.254 port 67 (xid=0x7a59bf0e)Jan 15 13:48:04 ansheng dhclient[869]: DHCPACK from 192.168.20.254 (xid=0x7a59bf0e)Jan 15 13:48:06 yangwen dhclient[869]: bound to 192.168.20.132 -- renewal in 790 seconds.

7、打印輕量級web服務(wù)的配置文件 nginx.conf內(nèi)容的行號及內(nèi)容,該如何做?

測試文件nginx.conf內(nèi)容

[root@yangwen tmp]# cat -n nginx.conf 
     1	nginx
     2	config
     3	yangwen
     4	test     5	centos
     6	yangwen

解決方法:

方法1:

[root@yangwen tmp]# cat -n nginx.conf
     1	nginx
     2	config
     3	yangwen
     4	test     5	centos
     6	ansheng

方法2:

[root@yangwen tmp]# vim nginx.conf>>:>>set nu

方法3:

[root@yangwen tmp]# nl nginx.conf 
     1	nginx
     2	config
     3	yangwen
     4	test
     5	centos
     6	ansheng

方法4:

[root@yangwen tmp]# grep -n . nginx.conf
1:nginx
2:config
3:yangwen
4:test
5:centos
6:ansheng

8、裝完Centos系統(tǒng)后,希望網(wǎng)絡(luò)文件共享服務(wù)NFS,僅在3級別上開機自啟動,該如何做

解答:

[root@yangwen /]# chkconfig --list nfs
nfs                 0:off     1:off     2:off     3:off     4:off     5:off     6:off[root@yangwen /]# chkconfig nfs on[root@yangwen /]# chkconfig --level 3 nfs on[root@yangwen /]# chkconfig --list nfs
nfs                 0:off     1:off     2:on 3:on 4:on 5:on 6:off

9、系統(tǒng)運行級別一般為 0-6,請分別寫出每個級別的含義。

解答:

  1. 0 關(guān)機

  2. 1 單用戶

  3. 2 多用戶,沒有nfs支持

  4. 3 完全多用戶,

  5. 4 保留

  6. 5 X Windows

  7. 6 重啟

10、yangwen 系統(tǒng)中查看中文亂碼,請問如何解決亂碼問題?

解答:

查看當(dāng)前語言

echo $LANG

查看已安裝語言包,如果沒有中文語言包就安裝中文語言包

locale -a|grep zh

修改當(dāng)前字符集

LANG="zh_CN.gb18030"

讓其生效

source /etc/sysconfig/i18n

修改字符集

vi /etc/sysconfig/i18n

讓其永久生效

source /etc/sysconfig/i18n

11、如何優(yōu)化 yangwen系統(tǒng)(可以不說太具體)?

解答:

  1. 不用root,添加普通用戶,通過sudo授權(quán)管理

  2. 更改默認(rèn)的遠(yuǎn)程連接SSH服務(wù)端口及禁止root用戶遠(yuǎn)程連接

  3. 定時自動更新服務(wù)器時間

  4. 配置國內(nèi)yum源

  5. 關(guān)閉seansheng及iptables(iptables工作場景如果有外網(wǎng)IP一定要打開,高并發(fā)除外)

  6. 調(diào)整文件描述符的數(shù)量

  7. 精簡開機啟動服務(wù)(crond rsyslog network sshd)

  8. yangwen內(nèi)核參數(shù)優(yōu)化(/etc/sysctl.conf)

  9. 更改字符集,支持中文,但建議還是用英文字符集,防止亂碼

  10. 鎖定關(guān)鍵系統(tǒng)文件

  11. 清空/etc/issue,去除系統(tǒng)及內(nèi)核版本登錄前的屏幕顯示

12、/etc/目錄為 ansheng 系統(tǒng)的默認(rèn)的配置文件及服務(wù)啟動命令的目錄

a.請用 tar 打包/etc 整個目錄(打包及壓縮)

b.請用 tar 打包/etc 整個目錄(打包及壓縮,但需要排除/etc/services 文件)

c.請把 a 點命令的壓縮包,解壓到/tmp 指定目錄下(最好只用 tar 命令實現(xiàn))

解答:

a.

打包:

[root@yangwen tmp]# tar zcfP  etc.tar /etc[root@yangwen tmp]# ll
total 9072
-rw-r--r--. 1 root root 9289256 Jan 14 00:21 etc.tar

壓縮:

[root@yangwen tmp]# tar zxvf etc.tar[root@yangwen tmp]# ll
total 9076
drwxr-xr-x. 83 root root    4096 Jan 14 00:15 etc
-rw-r--r--.  1 root root 9289256 Jan 14 00:21 etc.tar

b.

打包:

[root@yangwen /]# tar zcvf etc.tar.gz /etc --exclude=/etc/services[root@ansheng /]# ll etc.tar.gz 
-rw-r--r--. 1 root root 9161575 Jan 14 00:25 etc.tar.gz[root@yangwen /]# tar zxvf etc.tar

c.

[root@yangwen /]# tar zxvf etc.tar.gz -C /opt/[root@yangwen /]# ll /opt/
drwxr-xr-x. 83 root root     4096 Jan 14 00:15 etc

13.已知如下命令及結(jié)果:

[root@yangwen ~]$ echo "I am ansheng,myqq is 31333741">>yangwen.txt
[root@yangwen ~]$ cat ansheng.txt
I am yangwen, myqq is 1455328192

現(xiàn)在需要從文件中過濾出“yangwen” 和“ 31333741” 字符串,請給出命令.

解答:

沒有逗號:I am yangwen myqq is 1455328192

[root@yangwen tmp]# cat yangwen 
I am ansheng  myqq is 1455328192

方法1:

[root@yangwen ~]$ awk '{print $3" "$6}' yangwen
yangwen 1455328192

方法2:

[root@yangwen ~]$ cut -d" " -f3,6 yangwen
yangwen 1455328192

方法3:

[root@yangwen ~]$ cut -c 6-11,20- yangwen
yangwen 1455328192

有逗號:I am yangwen, myqq is 1455328192

[root@yangwen tmp]# cat yangwen
I am yangwen, myqq is 1455328192

方法1:

[root@yangwen ~]$ cut -c 6-11,20- yangwen
yangwen 1455328192

方法2:

[root@yangwen ~]$ cut -d" " -f3,6 yangwen|sed s#,#" "#yangwen 1455328192

方法3:

[root@yangwen ~]$ awk '{print $3" "$6}' yangwen|sed s/,/" "/g
yangwen 1455328192

方法4:

[root@yangwen ~]$ awk -F '[ ,]' '{print $3" "$6}' yangwen
yangwen 1455328192

方法5:

[root@yangwen ~]$ cut -d" " -f3,5 yangwen |tr ",myqq" " "yangwen 1455328192

14、如何查看/etc/services 文件內(nèi)容有多少行?

解答:

方法1:

[root@yangwen /]# wc -l /etc/services
10774 /etc/services

方法2:

[root@yangwen /]# cat -n /etc/services |tail -1
 10774	iqobject        48619/udp               # iqobject

方法3:

[root@yangwen /]# sed -n '$=' /etc/services
10774

方法4:

[root@yangwen /]# awk '{print NR}' /etc/services|tail -1
10774

方法5:

[root@yangwen /]# grep -n $ /etc/services|tail -1
10774:iqobject        48619/udp               # iqobject

15、過濾出/etc/services 文件包含 3306 或 1521 兩數(shù)據(jù)庫端口的行的內(nèi)容。

解答:

[root@yangwen /]# grep -E "3306|1521" /etc/services
mysql           3306/tcp                        # MySQLmysql           3306/udp                        # MySQLncube-lm        1521/tcp                # nCube License Managerncube-lm        1521/udp                # nCube License Manager


1、描述 linux 系統(tǒng)從開機到登陸界面的啟動過程

開機自檢,MBR引導(dǎo),讀取硬盤0柱面0磁道1扇區(qū)的前446字節(jié),加載grub菜單,在grub菜單里面加載kernel,啟動init進(jìn)程,init是Linux系統(tǒng)啟動時第一個啟動的進(jìn)程,init讀取inittab文件,先執(zhí)行/etc/rc.d/rc.sysinit初始化腳本(設(shè)置主機名,加載inittab,設(shè)置網(wǎng)卡和一些PCI設(shè)備),根據(jù)inittab設(shè)置的級別指向相對應(yīng)的腳本,如果是3模式則指向/etc/rc3.d下面的腳本以及程序,執(zhí)行rc.local,最后啟動mingetty進(jìn)程,進(jìn)入登陸界面。

2、描述 linux 下軟鏈接和硬鏈接的區(qū)別

在linux系統(tǒng)中,鏈接分兩種 :一種是硬鏈接(Hard Link),另一種被稱為符號鏈接或軟鏈接(Symbolic Link)。

  1. 默認(rèn)不帶參數(shù)情況下,ln命令創(chuàng)建的是硬鏈接。

  2. 硬鏈接文件與源文件的inode節(jié)點號相同,而軟鏈接文件的inode節(jié)點號與源文件不同。

  3. ln命令不能對目錄創(chuàng)建硬鏈接,但可以創(chuàng)建軟鏈接,對目錄的軟鏈接會經(jīng)常被用到。

  4. 刪除軟鏈接文件,對源文件及硬鏈接文件無任何影響;

  5. 刪除文件的硬鏈接文件,對源文件及軟鏈接文件無任何影響;

  6. 刪除鏈接文件的原文件,對硬鏈接文件無影響,會導(dǎo)致其軟鏈接失效(紅底白字閃爍狀);

  7. 同時刪除原文件及其硬鏈接文件,整個文件才會被真正的刪除。

  8. 很多硬件設(shè)備中的快照功能,使用的就類似硬鏈接的原理。

  9. 軟連接可以跨文件系統(tǒng),硬鏈接不可以跨文件系統(tǒng)。

3、描述 linux shell 中單引號、雙引號及不加引號的簡單區(qū)別

單引號:

即將單引號內(nèi)的內(nèi)容原樣輸出,或者描述為單引號里面看到的是什么就會輸出什么。

雙引號:

把雙引號內(nèi)的內(nèi)容輸出出來;如果內(nèi)容中有命令、變量等,會先把變量、命令解析出結(jié)果,然后在輸出最終內(nèi)容來。

不加引號:

不會將含有空格的字符串視為一個整體輸出, 如果內(nèi)容中有命令、變量等,會先把變量、命令解析出結(jié)果,然后在輸出最終內(nèi)容來,如果字符串中帶有空格等特殊字符,則不能完整的輸出,需要改加雙引號,一般連續(xù)的字符串,數(shù)字,路徑等可以用。

4、描述 linux 運行級別 0-6 的各自含義

  1. 0 關(guān)機

  2. 1 單用戶模式

  3. 2 多用戶沒有NFS網(wǎng)絡(luò)支持

  4. 3 完全多用戶模式(工作中常用)

  5. 4 保留

  6. 5 圖形化界面

  7. 6 重啟

5、描述 linux 下文件刪除的原理

當(dāng)一個文件的I_link=0且沒有進(jìn)程占用的時候,這個文件就被刪除了,還有一種情況就是被進(jìn)程占用的情況下,當(dāng)這個文件的I_link和I_count同時為0的時候這個文件才會被真正的刪除。

6、如何取得/ansheng 文件的權(quán)限對應(yīng)的數(shù)字內(nèi)容,如-rw-r–r– 為 644, 要求使用命令取得644 這樣的數(shù)字。

解答:

方法1:

[root@yangwen ~]# stat /yangwen
  File: `/ansheng'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 803h/2051d  Inode: 16          Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-01-11 05:42:44.762128948 -0500
Modify: 2015-01-11 05:42:44.762128948 -0500
Change: 2015-01-11 05:42:44.762128948 -0500
[root@yangwen ~]# stat /yangwen |sed -nr 's#^.*s: ((.*)/-r.*#\1#gp'0644

awk方法:

[root@yangwen ~]# stat /yangwen |awk -F "[(/]" 'NR==4{print $2}'0644

State方法:

[root@yangwen ~]# stat -c %a /yangwen
644
[root@yangwen]# ll /yangwen |cut -c2-10|tr rwx- 4210|awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}'644

7、linux下通過 mkdir 命令創(chuàng)建一個新目錄/yangwen/ett,它的硬鏈接數(shù)是多少,為什么?

解答:

[root@yangwen ~]# mkdir /ansheng/ett -p[root@yangwen ~]# ll -d /yangwen/ett/
drwxr-xr-x. 2 root root 4096 Jan 11 06:02 /yangwen/ett/

它的鏈接數(shù)是2,本身算一個鏈接,ett目錄下的.為ett目錄的又一個鏈接,所以鏈接數(shù)為2

[root@yangwen]# ll -i
total 4
1046536 drwxr-xr-x. 2 root root 4096 Jan 11 06:02 ett[root@yangwen]# ll -di ett/.
1046536 drwxr-xr-x. 2 root root 4096 Jan 11 06:02 ett/.

8、請執(zhí)行命令取出 linux 中 eth0 的 IP 地址(請用 cut,有能力者也可分別用 awk,sed 命令答)。

解答:

cut方法1:

[root@yangwen ~]# ifconfig eth0|sed -n '2p'|cut -d ":" -f2|cut -d " " -f1
192.168.20.130

awk方法2:

[root@yangwen ~]# ifconfig eth0|awk 'NR==2'|awk -F ":" '{print $2}'|awk '{print $1}'192.168.20.130

Awk多分隔符方法3:

[root@yangwen ~]# ifconfig eth0|awk 'NR==2'|awk -F "[: ]+" '{print $4}'192.168.20.130

Sed方法4:

[root@yangwen ~]# ifconfig eth0|sed -n '/inet addr/p'|sed -r 's#^.*ddr:(.*)Bc.*$#\1#g'192.168.20.130[root@ansheng ~]# ifconfig eth0|sed -n '/inet addr/p'|sed 's#^.*ddr:##g'|sed 's#B.*$##g'192.168.20.130

9、請給出默認(rèn)情況 eth0 網(wǎng)卡配置文件的路徑及客戶端 DNS 的路徑。

解答:

Eth0網(wǎng)卡配置路徑:/etc/sysconfig/network-scripts/ifcfg-eth0 客戶端DNS配置路徑:/etc/resolv.conf

10、查找當(dāng)前目錄下所有文件,并把文件中的 www.baidu.com 字符串替換成 www.abc.cc

解答:

[root@yangwen ~]# find ./ -type f|xargs sed -i 's#www\baidu\.com#www\.abc\.cc#g'

11、問題:如何賦予 yangwen 文件 -rw-r–r-x 權(quán)限屬性

解答:

[root@yangwen ~]# touch yangwen[root@yangwen ~]# ll
total 0
-rw-r--r--. 1 root root 0 Jan 11 06:33 yangwen[root@yangwen ~]# chmod 645 yangwen
[root@yangwen ~]# ll
total 0
-rw-r--r-x. 1 root root 0 Jan 11 06:33 yangwen

12、執(zhí)行下面命令時發(fā)現(xiàn)提示需要輸入密碼,請問提示輸入的密碼是哪個用戶的密碼。

[test@yangwen ~]$ sudo su - yangwen

解答:輸入的是執(zhí)行sudo命令的用戶密碼。

相關(guān)說明:

實際命令命令說明
su – / su – root該命令是真正用戶切換命令(默認(rèn)是切換到root),輸入的是root的密碼
sudo su –該命令是通過sudo權(quán)限進(jìn)行角色轉(zhuǎn)換(默認(rèn)是切換到root),輸入的是指向命令當(dāng)時賬號的密碼,而非root密碼
sudo su - ansheng該命令實際意思是通過sudo,以root的權(quán)限,進(jìn)行su – ansheng用戶切換,因此需要輸入的是指向命令當(dāng)時賬號的密碼,和sudo ls /root是一樣的

13、請問在一個命令上加什么參數(shù)可以實現(xiàn)下面命令的內(nèi)容在同一行輸出。

echo "yangwen";echo "yangwen"

解答:

[root@ansheng ~]# echo -n "yangwen";echo "yangwen"yangwen

14、請給出如下格式的 date 命令 例: 11-02-26。在給出實現(xiàn)按周輸出 比如:周六輸出為 6,請分別給出命令。

解答:

[root@yangwen ~]# date +%y-%m-%d
15-01-11

15、當(dāng)從 root 用戶切到普通用戶時,執(zhí)行 ifconfig 會提示。

[root@yangwen ~]$ ifconfig
-bash: ifconfig: command not found

提示: c58 會遇到, c64 沒有此問題。

請問這是為什么?如何解決,請給出詳細(xì)解決過程。

解答:沒有找到這個命令,ifconfig命令所在目錄沒有添加到PATH環(huán)境變量里面,解決步驟:

[root@yangwen ~]# /sbin/ifconfig

或者寫入PATH環(huán)境變量

16、擴展問題:打印三天前的日期格式如: 2011-02-26

解答:

[root@yangwen ~]# date +%F
2015-01-11[root@yangwen ~]# date +%F -d '3 day ago'2015-01-08[root@yangwen ~]# date +%F -d '-3 day'2015-01-08

17、已知/yangwen/test.txt 文件內(nèi)容為:

yangwen
xizi

xiaochao

請問如何把文件中的空格過濾掉(要求命令行實現(xiàn))。

解答:

grep方法1:

[root@yangwen ~]# grep -v "^$" test.txt 
yangwen
xizi
xiaochao

sed方法2:

[root@yangwen ~]# sed '/^$/d' test.txt 
yangwen
xizi
xiaochao

awk方法3:

[root@yangwen ~]# awk /^[^$]/ test.txt 
yangwen
xizi
xiaochao

18、已知/yangwen/ett.txt 文件內(nèi)容為:

yangwen
anshengme
test

請使用 grep 或 egrep 正則匹配的方式過濾出前兩行內(nèi)容

解答:

方法1:

[root@yangwen]# grep "ol" ett.txt 
yangwen

方法2:

[root@yangwen]# grep "oy" ett.txt 
yangwen

方法3:

[root@yangwen]# grep "ol.*oy" ett.txt 
yangwen

方法4:

[root@yangwen]# egrep "ol.+oy" ett.txt 
yangwen

19、如何快速查到 ifconfig 的全路徑(假如你不知道其路徑), 請給出命令。

解答:

whereis方法1:

[root@yangwen ~]# whereis -b ifconfig
ifconfig: /sbin/ifconfig

which方法2:

[root@yangwen ~]# which ifconfig
/sbin/ifconfig

20、請給出查看當(dāng)前哪些用戶在線的 linux 命令。

解答:

[root@yangwen /]# w
 07:51:32 up  3:04,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.20.1     04:48    0.00s  0.65s  0.00s w
[root@yangwen /]# who
root     pts/0        2015-01-11 04:48 (192.168.20.1)

21、請給出正確的關(guān)機和重起服務(wù)器的命令。

解答:

關(guān)機:

[root@yangwen /]# shutdown -h now   --->立刻關(guān)機(生產(chǎn)常用)
[root@yangwen /]# shutdown -h +1    --->1分鐘后關(guān)機
[root@yangwen /]# init 0[root@yangwen /]# halt          --->立即停止系統(tǒng),需要人工關(guān)閉i安源
[root@yangwen /]# halt -p[root@yangwen /]# poweroff      --->立即停止系統(tǒng),并且關(guān)閉電源

重啟:

[root@yangwen /]# reboot                --->生產(chǎn)常用
[root@yangwen /]# shutdown -r now       --->生產(chǎn)常用
[root@yangwen /]# shutdown -r +1        --->1分鐘后重啟[root@ansheng /]# init 6

注銷:

[root@yangwen /]# logout[root@yangwen /]# exit              --->生產(chǎn)常用
[root@yangwen /]# Ctrl+d            --->快捷鍵,生產(chǎn)常用

22、請寫出下面 linux SecureCRT 命令行快捷鍵命令的功能?

  1. Ctrl + a

  2. Ctrl + c

  3. Ctrl + d

  4. Ctrl + e

  5. Ctrl + l

  6. Ctrl + u

  7. Ctrl + k

  8. tab

  9. Ctrl+shift+c

  10. Ctrl+shift+v

解答:

  1. Ctrl + a —->光標(biāo)移動到行首

  2. Ctrl + e —->光標(biāo)移動到行尾

  3. Ctrl + c —->終止當(dāng)前程序

  4. Ctrl + d —->如果光標(biāo)前有字符則刪除,沒有則退出當(dāng)前中斷

  5. Ctrl + l —->清屏

  6. Ctrl + u —->剪切光標(biāo)以前的字符

  7. Ctrl + k —->剪切光標(biāo)以后的字符

  8. Ctrl + y —->復(fù)制u/k的內(nèi)容

  9. Ctrl + r —->查找最近用過的命令

  10. tab —->命令或路徑補全

  11. Ctrl+shift+c —->復(fù)制

  12. Ctrl+shift+v —->粘貼


1.每隔1分鐘,打印一個+號到 ansheng.log ,請給出 crontab 完整命令。

解答:

[root@yangwen ~]# crontab -e*/1 * * * * /bin/echo "+" >> /root/ansheng.log[root@yangwen ~]# /etc/init.d/crond restart
Stopping crond:                                            [  OK  ]Starting crond:                                            [  OK  ]

2.每隔 2 個小時將/etc/services 文件打包備份到/tmp 下(最好每次備份成不同的備份包)。

解答:

[root@yangwen ~]# crontab -e
00 */2 * * * /bin/tar zcvf /tmp/services-`date +%F-%H`tar.gz /etc/services[root@yangwen ~]# /etc/init.d/crond restart
Stopping crond:                                            [  OK  ]Starting crond:                                            [  OK  ]

3.每天晚上 12 點,打包站點目錄/var/www/html 備份到/data 目錄下(最好每次備份按時間生成不同的備份包)

解答:

[root@yangwen ~]# cat a.sh 
#/bin/bashcd /var/www/ && /bin/tar zcf /data/html-`date +%m-%d-%H`.tar.gz html/[root@ansheng ~]# crontab –e
00 00 * * * /bin/sh /root/a.sh

4.每周 六、日 上午 9:00 和下午 14: 00 來老男孩這里學(xué)習(xí) (執(zhí)行程序/server/script/ansheng.sh代替學(xué)習(xí) )。

解答:

[root@yangwen /]# crontab -e
00 09,14 * * 6,7 /bin/sh /server/script/ansheng.sh

5.請描述下列路徑的內(nèi)容是做什么的?

  1. /etc/sysctl.conf

  2. /etc/rc.local

  3. /etc/hosts

  4. /etc/fstab

  5. /var/log/secure

解答:

  1. /etc/sysctl.conf —–>內(nèi)核調(diào)優(yōu)的文件

  2. /etc/rc.local —–>開機自啟動命令的文件

  3. /etc/hosts —–>本機的域名解析文件

  4. /etc/fstab —–>開機設(shè)備自動掛載的文件

  5. /var/log/secure —–>系統(tǒng)登陸的安全日志

6.請說出下列 grep 正則表達(dá)式的含義


  1. $

  2. .(點號)

  3. \

  4. *

  5. {n,m}

  6. [^t]

  7. ^[^t]

解答:

  1. ^ —–>以什么什么開頭的

  2. $ —–>以什么什么結(jié)尾的

  3. .(點號) —–>代表任意一個字符

  4. \ —–>轉(zhuǎn)義符,讓有著特殊意義的字符變成沒有任何意義的字符


  • —–>重復(fù)前面的字符0次或多次

{n,m} —–>前面的字符重復(fù)N到M次[^t] —–>過濾出不包含t的^[^t] —–>過濾出不以t開頭的

8.授權(quán) yangwen 目錄及其子目錄 755 的權(quán)限,請給出命令。

解答:

[root@yangwen /]# ll -d ansheng/
drwxr-xr-x. 3 root root 4096 Jan 14 04:57 yangwen/[root@yangweng /]# ll yangwen/
total 4
drwxr-xr-x. 2 root root 4096 Jan 14 04:57 linux
-rw-r--r--. 1 root root    0 Jan 14 04:57 test[root@yangwen /]# chmod -R 755 /yangwen/[root@yangwen /]# ll ansheng/
total 4
drwxr-xr-x. 2 root root 4096 Jan 14 04:57 linux
-rwxr-xr-x. 1 root root    0 Jan 14 04:57 test[root@yangwen /]# ll -d yangwen/
drwxr-xr-x. 3 root root 4096 Jan 14 04:57 yangwen/

9.把 ansheng 目錄及其子目錄的屬主改為 ansheng,組改為 root,請給出命令。

解答:

[root@yangwen /]# ll yangwen/
total 4
drwxr-xr-x. 2 root root 4096 Jan 14 04:57 linux
-rwxr-xr-x. 1 root root    0 Jan 14 04:57 test[root@yangwen /]# ll -d yangwen/
drwxr-xr-x. 3 root root 4096 Jan 14 04:57 yangwen/[root@yangwen /]# chown -Ryangwen:root ansheng/[root@yangwen /]# ll yangwen/
total 4
drwxr-xr-x. 2 yangwen root 4096 Jan 14 04:57 linux
-rwxr-xr-x. 1 yangwen root    0 Jan 14 04:57 test[root@yangwen /]# ll -d yangwen/
drwxr-xr-x. 3 yangwen root 4096 Jan 14 04:57 yangwen/

10.描述下 umask 的作用,并舉例。

解答:

Umask是設(shè)置Linux創(chuàng)建文件或者創(chuàng)建目錄默認(rèn)權(quán)限的,默認(rèn)的權(quán)限文件是644,目錄是755,目錄計算方法:默認(rèn)最大權(quán)限 - umask權(quán)限 = 創(chuàng)建目錄默認(rèn)權(quán)限文件計算方法:偶數(shù):默認(rèn)最大權(quán)限-umask權(quán)限=創(chuàng)建文件默認(rèn)權(quán)限;奇數(shù):默認(rèn)最大權(quán)限-umask權(quán)限+(Umask奇數(shù)對應(yīng)權(quán)限位+1)=創(chuàng)建文件默認(rèn)權(quán)限

11.添加一個用戶 ansheng,并指定屬于 sa 組,要求組 ID 為 801, uid 為 808,并且不建立家目錄及禁止其登陸。

解答:

[root@yangwen /]# groupadd sa -g 801[root@yangwen /]# useradd yangwen -g sa -s /sbin/nologin -M[root@yangwen /]# id yangwenguid=500(yangwen) gid=801(sa) groups=801(sa)[root@ansheng /]# su - yangwen
This account is currently not available.[root@yangwen /]# ls /home/

12.如何查看用戶的 uid 及屬于的組信息。

解答:

[root@yangwen /]# id yangwenguid=500(yangwen) gid=801(sa) groups=801(sa)


本文出自 “一盞燭光” 博客,謝絕轉(zhuǎn)載!

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號