歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux基礎題.1

Linux基礎題.1

日期:2017/3/3 13:59:06   编辑:Linux技術

1、創建目錄/data/oldboy,並且在該目錄下創建文件oldboy.txt,然後在文件oldboy.txt裡寫入內容“inet addr:192.168.8.10 Bcast:192.168.8.255 Mask:255.255.255.0”(不包含引號)。解答:

[root@oldboy ~]#mkdir -p /data/oldboy
[root@oldboy ~]# ls -d /data/oldboy/
/data/oldboy/
[root@oldboy ~]#touch /data/oldboy/oldboy.txt
[root@oldboy ~]# ls-l /data/oldboy/oldboy.txt 
-rw-r--r--. 1 rootroot 0 May  1 21:06/data/oldboy/oldboy.txt
[root@oldboy ~]#echo "inet addr:192.168.8.10 Bcast:192.168.8.255 Mask:255.255.255.0" >/data/oldboy/oldboy.txt 
[root@oldboy ~]#cat /data/oldboy/oldboy.txt 
inetaddr:192.168.8.10 Bcast:192.168.8.255 Mask:255.255.255.0
2、將題1中的oldboy.txt文件內容通過命令過濾只輸出如下內容: 192.168.8.10 192.168.8.255 255.255.255.0解答:awk方法
[root@oldboy ~]#awk -F '[ :]+' '{print $3" "$5" "$7}'/data/oldboy/oldboy.txt
192.168.8.10192.168.8.255 255.255.255.0
sed方法
[root@oldboy ~]# sed -n 's@^.*addr:\(.*\)Bcast:\(.*\) Mask:\(.*\)@\1 \2 \3@gp' /data/oldboy/oldboy.txt
192.168.8.10  192.168.8.255 255.255.255.0

3、將題1中的oldboy目錄移動到/tmp目錄下,並將/etc/passwd文件復制到/tmp/oldboy下。解答:

[root@oldboy ~]# cd/data/
[root@oldboy data]#cp -a oldboy /tmp
[root@oldboy data]#cp /etc/passwd /tmp/oldboy/
[root@oldboy data]#ls -l /tmp/oldboy/
total 8
-rw-r--r--. 1 rootroot   64 May  1 21:12 oldboy.txt
-rw-r--r--. 1 rootroot 1056 May  1 21:32 passwd
4、在題3的基礎上使用awk取passwd文件的第10行到20行的第三列重定向到/tmp/oldboy/test.txt文件裡。解答:
[root@oldboy data]#cd /tmp/oldboy/
[root@oldboyoldboy]# awk -F ":" 'NR>9&&NR<21{print $3}' passwd>test.txt
[root@oldboyoldboy]# cat -n test.txt 
     1 10
     2 11
     3 12
     4 13
     5 14
     6 99
     7 81
     8 69
     9 173
    10 68
    11 38

5、在題3的基礎上要求用命令rm刪除文件時提示如下禁止使用rm的提示,並使該效果永久生效。[root@oldboyoldboy]#rm –f passwdDo not userm command.解答:

[root@oldboy ~]#echo " alias rm='echo "Do not use rm command."' ">>/etc/profile
[root@oldboy ~]# 
[root@oldboy ~]# 
[root@oldboy ~]#tail -1 /etc/profile
 alias rm='echo Do not use rm command.' 
[root@oldboy ~]#source /etc/profile
[root@oldboy ~]# rm-f *
Do not use rmcommand. -f anaconda-ks.cfg install.log.syslog
6、在題3的基礎上,刪除/tmp/oldboy/下除passwd以外的其他文件。解答:
[root@oldboyoldboy]# ls
oldboy.txt  passwd test.txt
[root@oldboyoldboy]# rm oldboy.txt test.txt
 
[root@oldboyoldboy]# find  ./ -type f ! -namepasswd|xargs rm -f
[root@oldboyoldboy]# ls
passwd

7、在題3的基礎上,請打印/etc/passwd文件中的第2—5行(不低於三種方法)解答:法一

[root@oldboyoldboy]# head -5 passwd |tail -4
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
法二
[root@oldboyoldboy]# sed -n 2,5p passwd 
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

法三

[root@oldboyoldboy]# awk 'NR>1&&NR<6{print $0}' passwd 
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
8、在題3的基礎上,使用命令調換passwd文件裡root位置和/bin/bash位置?即將所有的第一列和最後一列位置調換?默認:root:x:0:0:root:/root:/bin/bash修改後:/bin/bash:x:0:0:root:/root:root
[root@oldboyoldboy]# head -1 passwd|sed -n's@\(.*\):x:0:0:root:/root:\(.*\)@\2:x:0:0:root:/root:\1@gp'
/bin/bash:x:0:0:root:/root:root

9、把/data目錄及子目錄下所以以擴展名.txt結尾的文件中包含oldgirl的字符串全部替換為oldboy。解答:模擬數據

[root@oldboy data]#echo oldboy >a.log
[root@oldboy data]#echo oldboy >b.log
[root@oldboy data]#echo old >c.log
替換
[root@oldboy data]#find ./ -type f -name "*.log"|xargs sed -i 's@oldboy@oldgirl@g'
[root@oldboy data]#cat a.log b.log c.log 
oldgirl
oldgirl
old
10、查找/data/oldboy下所有7天以臆以log結尾的大於1M的文件移動/tmp下

解答:模擬數據

[root@oldboy oldboy]# ls -lh 
total 5.3M
-rw-r--r--. 1 root root    0 Apr 20 00:00 2016-04-20-1.log
-rw-r--r--. 1 root root 1.8M Apr 20 00:04 2016-04-20.log
-rw-r--r--. 1 root root 1.8M Apr 28 00:00 2016-04-28.log
-rw-r--r--. 1 root root 1.8M May  3 16:58 2016-05-03.log
-rw-r--r--. 1 root root   64 May  1 21:12 oldboy.txt
操作

[root@oldboy oldboy]# find ./ -type f -mtime +7 -a -size +1M -exec mv '{}' /tmp \;
[root@oldboy oldboy]# ls
1M  2016-04-20-1.log  2016-04-28.log  2016-05-03.log  oldboy.txt
[root@oldboy oldboy]# ls -lh /tmp/
total 1.8M
-rw-r--r--. 1 root root 1.8M Apr 20 00:04 2016-04-20.log
11、什麼是linux的運行級別,請描述linux的運行級別不同數字的含義?(附加題)Linux運行級別

啟動系統的級別,類似於windows的安全模式,帶網絡的安全模式等等,有多種啟動模式0-6.

Linux0-6的啟動含義

運行級別0:關機

運行級別1:單用戶工作狀態,root權限,用於系統維護,禁止遠程登陸

運行級別2:多用戶狀態(沒有NFS)

運行級別3:完全的多用戶狀態(有NFS),登陸後進入控制台命令行模式(常用)

運行級別4:保留

運行級別5:X11控制台,登陸後進入圖形GUI模式

運行級別6:重啟

12、請描述buffer和cache的區別?(附加題)buffer是即將要被寫入磁盤的,而cache是被從磁盤中讀出來的。

13、請說出你知道的下列字符在linux裡可以代表的意義。(附加題)~ - . .. | > >> < << !

~ :家目錄

- :上次目錄

. :當前目錄

.. :上級目錄

| :管道

> :標准輸出重定向

>> :標准輸出追加重定向

< :標准輸入重定向

<< :標准輸入追加重定向

! :非

本文出自 “技術隨筆” 博客,請務必保留此出處http://ievan.blog.51cto.com/11177578/1769759

Copyright © Linux教程網 All Rights Reserved