鸟哥的linux私房菜简答题答案,《鸟哥的Linux私房菜》7章 Linux文件与目录管理 习题答案...
自己整理了一下,分享給大家,這些習題確實是非常經典的!
1.什么是絕對路徑與相對路徑?
絕對路徑是相對于/目錄的路徑的,比如/home/user;
相對路徑是相對于當前工作目錄的,比如你的系統上有個/home/user/test目錄,此時你在/home/user目錄下,那么./test就是相對路徑。
2.如何更改一個目錄的名稱?例如/home/test變為/home/test2。
mv?/home/test?/home/test2
3.PATH這個環境變量的意義是什么?
這里先看一下PATH:
[[email?protected]?~]#?echo?$PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
當你輸入一個命令時,系統就會按PATH設置的路徑一個一個地去查找這個命令,直到找到為止;如果多個路徑都有此命令,則以PATH設置路徑中找到的第一個為準。
4.umask有什么用處與優點?
用處:可以用來設置創建文件或目錄時,該文件或目錄的默認權限;
優點:在一些特殊的生產環境中,如果對創建文件或目錄的默認權限有需求時,就可以改變umask來達到我們的需求,從而可以更合理地控制文件與目錄。
5.當一個用戶的umask分別為033與044,他所建立的文件與目錄的權限是什么?
關于umask的設置以及文件與目錄默認權限的計算方法,可以參考我的另一篇博文:
《淺談linux中umask值及其對應的文件權限》
這里直接給出答案:
033
044
文件權限
-|rw-|r--|r--
-|rw-|-w-|-w-
目錄權限
-|rwx|r--|r--
-|rwx|-wx|-wx
6.什么是SUID?
SUID是特殊的文件權限,當文件擁有SUID權限時,其他用戶(非該文件屬主)如果對此文件有x權限(前提該文件還可以被執行,所以SUID一般是針對二進制命令文件),當執行該文件時,會暫時獲得該文件所有者的權限,再去執行該文件。
7.當我要查詢/usr/bin/passwd這個文件的傳統權限、文件類型與文件的隱藏屬性,可以使用什么命令來查詢?
查詢傳統權限:
[[email?protected]?~]#?ls?-l?/usr/bin/passwd
-rwsr-xr-x.?1?root?root?30768?2月??22?2012?/usr/bin/passwd
查詢文件類型:
[[email?protected]?~]#?file?/usr/bin/passwd
/usr/bin/passwd:?setuid?ELF?64-bit?LSB?shared?object,?x86-64,?version?1?(SYSV),?dynamically?linked?(uses?shared?libs),?for?GNU/Linux?2.6.18,?stripped
查詢隱藏屬性:
[[email?protected]?~]#?lsattr?/usr/bin/passwd
-------------e-?/usr/bin/passwd
8.嘗試用find找出目前Linux系統中所有具備SUID的文件有哪些。
[[email?protected]?~]#?find?/?-perm?+4000
輸出省略
注意下面三個符號的區別:
4755
查找的文件權限必須為:-|rws|r-x|r-x
-4755
查找的文件權限需要滿足:文件的權限至少要與4755即-|rws|r-x|r-x相同,或權限比其更多
+4755
查找的文件權限需要滿足:文件的權限最多只能與4755即-|rws|r-x|r-x相同,或權限比其更少
9.找出/etc下面,文件大小介于50KB到60KB之間的文件,并且將權限完整地列出(ls -l)。
這里我就找50KB到100KB的吧。
方法一:
[[email?protected]?~]#?find?/etc?-size?+50k?-size?-100k?-exec?ls?-l?{}?\;
-rw-r--r--.?1?root?root?88371?5月??11?22:24?/etc/termcap
-rw-r--r--.?1?root?root?65536?1月??13?2010?/etc/pki/nssdb/cert8.db
方法二:
[[email?protected]?~]#?find?/etc?-size?+50k?-a?-size?-100k?-exec?ls?-l?{}?\;
-rw-r--r--.?1?root?root?88371?5月??11?22:24?/etc/termcap
-rw-r--r--.?1?root?root?65536?1月??13?2010?/etc/pki/nssdb/cert8.db
方法三:
[[email?protected]?~]#?find?/etc?-size?+50k?-a?-size?-100k?|?xargs?ls?-l
-rw-r--r--.?1?root?root?65536?1月??13?2010?/etc/pki/nssdb/cert8.db
-rw-r--r--.?1?root?root?88371?5月??11?22:24?/etc/termcap
其實第一種方法和第二種方法是完全一樣的,參數-a是and的意思,即要同時滿足前后兩個參數所設立的條件,也就是50KB到60KB啦,其實默認就是-a的參數。那么不難理解,如果是-o,表示的是or即或的意思了,即-o前后兩個條件,隨便一個滿足或者同時兩個滿足都可以。因為題目說的是找文件,所以其實這里加上-type f會更好,不過理解就好了,我這里就不加了,下面的題目也是。
10.找出/etc下面,文件容量大于50KB且文件所有者不是root的文件名,且文件所有者不是root的文件名,且將權限完整地列出(ls -l)。
這里我就找文件所有者不是oldboy用戶的。
方法一:
[[email?protected]?~]#?find?/etc?-size?+50k?!?-user?oldboy?-exec?ls?-l?{}?\;
-rw-r--r--.?1?root?root?88371?5月??11?22:24?/etc/termcap
-rw-------.?1?root?root?125811?11月?23?2013?/etc/ssh/moduli
省略輸出
方法二:
[[email?protected]?~]#?find?/etc?-size?+50k?-not?-user?oldboy?-exec?ls?-l?{}?\;
-rw-r--r--.?1?root?root?88371?5月??11?22:24?/etc/termcap
-rw-------.?1?root?root?125811?11月?23?2013?/etc/ssh/moduli
省略輸出
看題目,“且”就是and的意思啦,所以加不加-a參數都可以。至于“!”,其實就是表示“非”的意思,跟-not是一樣的。
11.找出/etc下面,容量大于1500KB以及容量等于0的文件。
這是注意“以及”字眼,按照題目的意思去理解,應該是“或”的意思,否則不可能有既大于1500KB又等于0的文件吧?所以這里用-o參數就可以了。
[[email?protected]?~]#?find?/etc?-size?+1500k?-o?-size?0k
/etc/environment
/etc/selinux/targeted/modules/active/netfilter_contexts
/etc/selinux/targeted/modules/active/policy.kern
省略輸出
OK,就這些了,如果有什么問題的話,請跟我說一下,謝謝!
時間: 07-31
總結
以上是生活随笔為你收集整理的鸟哥的linux私房菜简答题答案,《鸟哥的Linux私房菜》7章 Linux文件与目录管理 习题答案...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis集群连接 java_Redis
- 下一篇: java向另一activity输入_Ac