初識linux

1、用戶的登錄、註銷與關機

摁下電源開關,屏幕上刷刷閃過一串串啓動內容的文字提示,是不是感覺有點興奮?如果這是你的linux第一次啓動,那麼在服務啓動的一串綠色的"[OK]",突然出現一個紅色的false,仔細一看好象是一個叫httpd的服務。不要害怕,這個問題我們在以後的學習中會得到解決。最後,系統顯示:
linux login:
作爲系統管理員,第一次進入系統當然要以超級用戶的身份進入,和NT中Administrators身份對應的linux帳號是root(這也是一般類UNIX系統中常見的系統管理員身份)。在login:後面輸入“root”,然後回車,系統提示:
Password:
輸入當初在安裝的時候選擇的系統管理員密碼。你也許會奇怪,系統爲什麼不顯示“*”號來提示你已經輸入,好象什麼也沒有輸入,光標還在原處閃爍。其實,你已經輸入了你的密碼,之所以採用這種不回顯的技術,也是出於安全考慮——減少周圍的人知道您密碼位數的概率,而降低您密碼被很快破解的可能性。按照你心裏想的輸入密碼,然後直接回車,OK,成功登錄,系統提示:
[root@linux /root]#
符號“@”前面的自然是你的帳號身份,之後的是主機名,可能根據你的主機的名稱不同而不同。/root是你的主目錄,它既是你的個人配置文件所在的地方,也是你每次登錄後所在的目錄,是你受到系統保護的私人領地——當然,前提是隻有你自己擁有root權限:)。
和NT不同的是,作爲多用戶多任務操作系統,linux在同一臺主機的本地就提供了6個虛擬控制檯,分別爲tty1至tty6。虛擬控制提供了linux在字符模式下同時運行幾個程序的方法,實現了多任務處理。這六個虛擬控制檯可以通過組合鍵Alt+F1,Alt+F2,……,Alt+F6來進行切換。每一個控制檯都可以看作一個完全和獨立的工作站。系統啓動的缺省控制檯爲tty1。從一個控制檯切換到新的虛擬控制檯以後,linux也會先顯示登錄提示符,就象第一次登錄一樣。在裝入另一個命令解釋器之前,也會詢問用戶名和口令。所以,我們可以在不同的控制檯以不同的用戶身份登錄,更方便了用特定的身份執行特定的操作。當用戶從一個虛擬控制檯切換到一個新的虛擬控制檯以後,在原來那個控制檯運行的程序將繼續運行。
我們可以來做個小小的實驗,在第一個登錄的控制檯(tty1)輸入命令ping 127.0.0.1,這時可以看見類似windows下ping本地的輸出,緊接着Alt+F2切換到第二個虛擬控制檯,登錄以後,使用命令ps aux|grep ping(關於這個命令,將在第五個專題的進程管理中詳細說明,它的功能是顯示運行中的程序中包含ping串的部分),我們可以看見兩行輸出,一行表示ping在運行中,一行表示你的這個查詢在查詢的時候也在運行:)。然後我們再用Alt+F1切換到第一個虛擬控制檯,可以看見ping命令還在不停的輸出——在你離開這一會,它都已經刷了好幾屏了,用Ctrl+D來結束它吧。非常清楚,ping命令在我們離開控制檯一的時候也並沒有被掛起,而一直在執行中。
在同一個控制檯中,我們不用先註銷也是可以改變我們的系統身份的,這可以用命令su實現。使用方法是:
[root@linux /root]#su username
命令行中的username是你給su的參數,例如你想改變自己的身份爲bluewind(前提是您已經添加了這個系統用戶,操作方法可以參考《搞清linux的用戶和組-基礎篇》),那麼你可以使用su bluewind命令。如果你是從root身份su的話,不用輸入password。而從其它身份則系統會提示輸入密碼的。簡單的敲入su不帶任何參數的話,缺省的認爲你想成爲root用戶身份。
用戶退出登錄有兩種方法,一種是exit命令——這個命令一般的系統都會提供,一種是logout——有些系統如果提供了exit就不再提供這個命令了,例如redhat 7.0。執行的結果是回到上次轉換身份前的用戶狀態。例如,你先用root登錄,再su爲bluewind,然後你執行exit,就回到了root身份,再執行exit,連root也退出了,回到登錄提示符的狀態。
通過telnet登錄系統和通過本地虛擬控制檯登錄很相似,只是出於安全性考慮,系統不允許直接用root身份通過telnet登錄,你可以先用一個普通身份登錄以後再su成root——如果有必要的話。

linux提供了三種關掉系統的方式:shutdown、halt和reboot。這三個命令在一般情況下只有系統的超級用戶(一般都是指root,但不全是)纔可以執行。輸入沒有參數的shutdown命令,2分鐘之後即可關閉系統。在這段時間,linux將提示所有已經登錄系統的用戶。如果需要設定等待的時間,可以使用如下的選項:
○now:立即。
○+mins:在指定的分鐘之後
○hh:ss:在指定的時間。
在關掉系統之前,系統會自動產生一個/etc/nologin文件,用於說明系統即將關閉,用戶不能登錄進入。在這段時間中,只有系統管理員可以進入。如果你需要獲得有關shutdown命令的更詳細的幫助,可以使用man shutdown命令。
halt命令相當於shutdown -h now ,表示立刻關機。
reboot命令相當於shutown -r now ,表示立刻重起。

2、Shell的使用

如果你熟悉DOS的話,你可以用dos中的command.com程序來幫助理解shell。它可以被認爲是一種簡化的shell。shell是用戶和linux之間的接口,用戶輸入的每個命令都是由shell先解釋,然後再傳給linux內核的。有些命令是shell內建的,就好象dos的內部命令,例如顯示當前工作路徑命令pwd就是bash內部的;其它命令如同dos的外部命令是自己單獨的程序。
shell的另外一個重要特性就是,它自身就是一個解釋型程序設計語言。shell程序設計支持在高級語言裏能夠見到的絕大多數程序控制結構,關於這個,能夠單獨寫一本書^_^。我們還是回到正題,不過我們可以知道,shell命令完全可以完成在dos中象bat程序一樣的功能,而且更強、更方便、更隨和——隨便寫一個命令列表的文本文件,指定一個shell執行它或者把它的屬性改爲可執行後直接運行就可以了。
shell在用戶成功的登錄系統後啓動,並始終作爲與系統內核交互的手段,直至退出系統。

◆常用的shell

在linux系統裏,可以使用多種不同類型的shell。一般來說,在/etc目錄下會有個shells文件,該文件是目前系統中可用的shell類型列表。一般包括如下幾行:
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
而最常用的主要是Bourne shell(sh),C shell(csh)和Bourne Again Shell(bash)三種。
sh是UNIX最初使用的shell,並且在每一種UNIX上都可以使用。它在編程方面非常優秀,但和用戶的交互卻比較遜。
csh更多的考慮了界面的友好性,但普遍的認爲C Shell的編程接口不如sh。由於它的編程語法和c比較相近,所以它還是被許多C程序員所使用。
bash是sh的擴展,並與sh完全兼容,並在吸取c和kon shell的優點的基礎上對sh增加了和增強了很多特性。它是大多數linux系統中默認的shell。下面我們將主要介紹bash的簡單使用。

bash的環境變量的設置主要是在/etc/profile文件裏,每個用戶還可以在自己的主目錄(剛登錄系統後的當前路徑)中的.bash_profile文件中定義自己的個人環境變量。注意,以點“.”開頭的文件在linux中是隱藏文件,使用ls的-a參數才能看見它們的存在。
我們比較關心的可能是這樣的一行
PATH="$PATH:/usr/X11R6/bin:/usr/sbin/:./"
通過下邊的export語句,這一句就象dos中設置path路徑一樣,所不同的主要有以下三點:
a、形式上用冒號分隔各個路徑單元,不象dos是用分號分隔;
b、內容上可以使用$PATH代替這個賦值等式前的路徑設置(注意,linux是區分大小寫的);
c、效果上這個路徑決定了bash查找的絕對範圍,不要認爲bash會象dos自動先查找當前路徑,除非你在PATH中進行了設置。
你可以使用echo $PATH來顯示自己的當前PATH設置。
關於bash更詳細的幫助可以通過man bash命令獲得。

修改用戶缺省shell設置可以參考 《搞清linux的用戶和組-基礎篇》 的有關內容。

3、文件系統與目錄樹
在dos-windows體系中,每個磁盤或硬盤分區有獨立的根目錄,並且用唯一的驅動器標識符表示,如A:,C:等。
而linux的文件系統則不一樣,它採用了一種虛擬文件系統技術,使不同的磁盤和分區組合成一個整體。單個磁盤或硬盤分區構成單獨的文件系統(可以是fat、NTFS等等格式的),有其各自的目錄樹結構。但是,在操作系統能夠使用這些文件系統之前,必須通過稱爲“掛裝”的操作將單獨的文件系統附加到虛擬文件系統的某一個子目錄上——也就是說這個子目錄就是實際文件系統的根,通過訪問這個子目錄來訪問該分區或磁盤。如此操作,最終可使所有的文件系統結合成一個無縫的統一整體,組織到一個大的樹型目錄結構中。該目錄樹的頂部是一個單獨的根目錄,名爲root,用/表示。根目錄下是一些標準的子目錄和文件。
在文件系統模型中,仍然體現了linux的設計哲學,即將不同的文件系統組合成一個有機的整體,進而爲用戶提供一致的文件系統結構。
對大多數Linux發行版本而言,文件系統的目錄樹佈局遵循FSSTND標準,這有利於編寫或移植軟件,同時也有利於進行系統管理和維護。
完整的目錄樹可劃分爲小的部分,這些小部分又可以單獨的存放在自己的磁盤或者分區上。這樣相對穩定的部分和經常變化的部分可以單獨放在不同的分區裏,從而方便了備份和系統管理。目錄樹的主要部分有root(/)、/usr、/var、/home等等。下面是一個典型的linux目錄結構如下:
/ 根目錄
/bin 存放必要的命令
/boot 存放內核以及啓動所需的文件等
/dev 存放設備文件
/etc 存放系統的配置文件
/home 用戶文件的主目錄,用戶數據存放在其主目錄中
/lib 存放必要的運行庫
/mnt 存放臨時的映射文件系統,我們常把軟驅和光驅掛裝在這裏的floppy和cdrom子目錄下。
/proc 存放存儲進程和系統信息
/root 超級用戶的主目錄
/sbin 存放系統管理程序
/tmp 存放臨時文件的目錄
/usr 包含了一般不需要修改的應用程序,命令程序文件、程序庫、手冊和其它文檔。
/var 包含系統產生的經常變化的文件,例如打印機、郵件、新聞等假脫機目錄、日誌文件、格式化後的手冊頁以及一些應用程序的數據文件等等。建議單獨的放在一個分區。
典型的/usr目錄如下:
/X11R6 存放X window系統
/bin 存放增加的用戶程序
/dict 存放字典
/doc 存放追加的文檔
/etc 存放設置文件
/games 存放遊戲和教學文件
/include 存放C開發工具的頭文件
/info 存放GNU信息文件
/lib 存放庫文件
/local 存放本地產生的增加的應用程序
/man 存放在線幫助文件
/sbin 存放增加的管理程序
/share 存放結構獨立的數據
/src 存放程序的源代碼
由於/usr中的文件不和特定的計算機相關,也不會在通常使用中修改,因此可以通過網絡共享這個目錄(文件系統),這樣,當管理員安裝了新的軟件之後,所有共享這一文件系統的計算機均可以使用新的軟件。

4、目錄操作和文件操作

在介紹文件的操作之前,我們先了解一下文件的類型。目錄樹包括以下文件類型:
a、普通文件:包括文檔文件、數據文件、程序、shell腳本等我們常接觸到的文件。
b、目錄文件:目錄文件包含着一個該目錄下的文件和本身以及上一級的鏈表。這是由操作系統維護的文件。它至少包括兩個記錄,一個是它自身(“.”),一個是它的上一級目錄(“..”)。注意,根目錄的上一級目錄還是它自身。
c、設備文件:和所有UNIX一樣,linux把所有設備都作爲一個文件來處理,包括IO設備。
d、進程通信文件:即所謂的先進先出文件,主要是爲進程間通信用的。

我們一般登入系統後,當前的工作目錄都是自己的主目錄,想看看主目錄裏有什麼東東?你可以使用ls命令試試。輸出就如同dir /w一樣^_^。要查看隱含文件使用命令行:
ls -a
可以看見多了不少以點(“.”)開頭的隱藏文件。如果還想進一步查看文件的詳細信息,那就查看長格式的輸出吧,使用
ls -l
當然,我們完全可以組合使用多參數,有兩種方法:
ls -a -l 或者 ls -al
都可以得到該目錄下所有文件的詳細列表,比dos下dir的輸出還詳細——只不過文件的名卻在右邊。如果文件太多,一屏顯示不下怎麼辦呢?ls命令並沒有提供dir的/p開關的功能,不過按照UNIX系統設計的積木原則,我們可以用命令的組合獲得我們需要的任何功能。象這次我們可以使用輸出重定向,使用通道,對於下面這個命令,你應該不會覺得彆扭吧?
la -l | more
這和dos下的管道一模一樣嘛:),還不只這個,連改變當前目錄的cd命令,也是和dos中的用法一樣,看來dos還是沒有完全拋棄UNIX的影響。
cd命令的用法和dos中相似,不同的是cd和後邊的目錄(包括代表上一級目錄的..)之間必須有空格隔開。多出幾次錯誤信息你就會記得這一點了,呵呵。記住:
cd.. ------wrong
cd .. or cd / ------right
查看當前的路徑的命令是pwd,如前所說的,它是bash的內部命令,cd也是。它存在價值在於你不用時刻面對着一個可能非常長的路徑,當然你覺得有必要,也可以通過對bash的適當配置使得它的提示符類似於dos模式。
建立和刪除的目錄命令也很容易從字面上理解,建立目錄使用mkdir,刪除空目錄用rmdir。注意,你建立目錄、刪除目錄的操作,都需要相應的權限。
要想做到dos下的deltree的功能,需要使用文件的刪除命令rm的遞歸刪除參數-r或-R。這個命令的基本格式是
rm [-option] filename
例如要刪除/tmp/newtemp所有文件和子目錄,可以使用如下命令:
rm -r /tmp/newtemp
這樣的話,系統會一個一個文件問你是否需要刪除,如果你可以確信這個目錄下的所有東西都沒有保留的價值的話,你可以加上一個-f的參數,表示強制刪除,不再詢問,如:
rm -rf /tmp/newtemp (還記得我們使用多個參數的兩種方法麼?)
注意,在linux中沒有類似undelete的命令,不要隨意使用帶-f、-r、-R參數的rm命令哦:)
文件的拷貝使用cp命令,使用的格式如下:
cp [-option] soursefile targetfile
注意,和dos中的copy不同的是:
· soursefile和targetfile不能相同;
· cp需要使用遞歸選項-r來完成帶文件的目錄的拷貝;
· cp可以使用-u開關來保留文檔的最新版本。當使用-u選項時,如果目標文件存在且最後修改時間比源文件晚,則不覆蓋。
我們常用的還有重命名操作命令,或者說移動文件命令,mv,格式如下:
mv [-option] source target
mv有個非常有用的選項 -b,表示給被覆蓋的文件產生一個備份。

cat命令用於把所給的文件以所給順序在標準輸出上輸出。格式如下:
cat [-ption] [file]
如果沒有設置參數file,則把從標準輸入中讀入的文件從標準輸出上輸出。如果file以一個減號來代替,則cat仍然從標準輸入上讀入數據。例如:
cat - file1 - >file2
這個命令表示先從標準輸入讀入數據,直到輸入結束字符Ctrl+d,接下來從文件file1中輸入,接着又從鍵盤輸入直到輸入結束字符,把這些結構都輸出到file2文件中。實際上做了個在file1前後均加了一段文字然後存成了file2文件的操作。
用這個命令還可以把多個文件連接在一起。例如:
cat *.txt > outall.txt
表示把所有的txt後綴的文件按照字母順序連接起來,然後再寫到outall.txt文件裏。
如果[file]選項是二進制文件,而又不是把它輸出到一個文件而是標準輸出的話,由於終端可能要對不可打印字符進行處理,可能會出現亂碼。可以使用-v選項來解決這個問題。這個選項把不可打印字符(從ASCII碼的000到037的字符)用^和ASCII碼從100到137的字符組合來表示。
還有三個用來顯示文件的命令,它們分別是head、tail、more。
head [-option] [file] 是用來顯示文件的前面一部分的。可以使用-num選項來顯示前num行,也可以使用選項-c num使head輸出前num個字節。其它的使用和cat相似。
tail [-option] [file] 是和head對應的顯示文件後一部分的命令。選項和head命令一樣。
more命令就是前面我們曾經藉助它進行分頁顯示的命令,它也可以直接用來分頁顯示文本文檔。命令格式和前面幾個命令一樣。在顯示完一頁後,more會提示用戶輸入:如果輸入空格鍵或是f,則顯示下一頁;如果輸出n加空格鍵,則用來顯示後面的n 行;回車鍵用來顯示下一行。
這幾個命令都是網絡管理比較常用的查看日誌文件的工具,可以用man命令獲得它們更詳細的幫助。
還有幾個顯示二進制文件的命令,例如od、mn和strings,你也可以通過man獲得幫助。

在linux中還可以爲文件增加鏈接。例如目錄的兩個鏈接“.”和“..”。在目錄中,每一對文件名與索引節點號稱爲一個鏈接(link)。同一個索引節點可以和多個文件名創建鏈接。實際上這種硬鏈接是直接創建了與文件(在這是目錄文件)的索引節點(i-node)號相聯繫的鏈接。我們也可以爲文件創造多個鏈接,這使用命令:
ln [-option] sourse [target]
如果不使用target參數的話,則在當前目錄中是創建一個同名的鏈接文件;如果用ln產生幾個文件的連接,則target必須爲一個目錄。只有超級用戶才能產生目錄間的硬鏈接。
這一個功能非常有用。除了我們可以在主目錄方便訪問我們經常訪問的文件,而且我們可以爲重要的文件或目錄建立多個鏈接,提供“防刪除”的功能,避免以爲刪除造成嚴重後果。這樣做的原理是,如果一個文件(或目錄)的索引節點有一個以上的鏈接,刪除操作只能破壞其一,索引節點本身的其他鏈接仍然不受影響。當然,如果對只有一個鏈接的文件發出刪除命令,索引節點、文件數據塊與目錄的連接都會被釋放,文件也真正刪除。
上面的鏈接說的都是硬鏈接,和索引節點號直接相關的鏈接。我們知道,每一個文件系統(如一個硬盤分區)都有自己的索引節點數組,因此索引節點號只有在同一個文件系統中才是唯一的,這意味着,固定鏈接只能用在一個文件系統的內部。
而符號鏈接(symbolic link,又常被稱爲軟鏈接)則沒有這個限制,它和windows系統中的快捷方式非常相似,它可以用在不同的文件系統之中。因此,在兩個文件之間建立鏈接,如果要求保證可移植性,應儘量使用符號鏈接。可以使用 ln -s 來產生符號鏈接。

· 文件、目錄的屬性

涉及到文件的屬性,就不可避免的關聯到用戶管理,關於這個內容,請先參考專題五中的用戶管理部分,再來閱讀這一部分。linux下,每一個文件、每一個目錄都必須有一個屬主,並針對擁有文件的用戶自己、用戶所在組、其它所有帳號(組)分別設定讀、寫、執行三種權限。例如,我(假定是usergroup組的username帳戶的擁有者)使用如下命令建立一個新的文件
touch mytestfile
然後我們使用ls -l mytestfile這一命令來查看這個文件的權限狀態(關於ls命令,可以前面已有錯誤,可以查閱本站的命令查詢),可以得到如下的屏幕輸出顯示:
-rw-rw-r-- 1 username usergroup 0 Feb 6 21:37 mytestfile
輸出分爲7個部分,分別表示文件權限屬性、硬連接個數、文件所有者帳戶、文件所屬組、文件大小、文件創建時間、文件名稱。
· 使用chown命令修改文件的主人
當你新建立一個文件的時候,文件的所有者當然就是你了。這一事實只有超級用戶(比如說root)纔可以通過chown命令改變(例如 chown otheruser mytestfile,把mytestfile文件的屬主改爲otheruser)。普通用戶不能把自己的文件“送”給別人,不然你把有特殊目的的程序給了root怎麼辦?:)
chown命令的用法比較簡單。這裏我先假設你現在擁有超級用戶權限,那麼你就可以使用如下命令將一個文件“送給”username用戶了:
chown username /home/username/thefileisrootcreate.txt (假定該文件是由root創建的)
修改一個目錄的所有者也是類似的:
chown username /home/newboat
當然,如果這個目錄還有子目錄及文件需要同時送給username,chown也是支持-R參數的:
chown -R username /home/newboat
如果你同時想修改文件/目錄所屬的組的話,你可以使用以下命令方便的達到目的:
chown -R username.othergroup /home/newboat
這樣,不但文件主人得到了修改,文件所屬的組也變成了othergroup
· 修改文件的組屬性
文件所屬組你倒是可以改變,前提是:
1、你的超級用戶。
2、你同時屬於兩個或兩個以上的組。
兩個條件你至少具備一個,你才能夠把文件所屬舊組變爲新組。使用如下的命令將當前目錄下所有html文件所屬的組改爲httpd:
chgrp httpd *.html
和chown命令一樣,chgrp也可以使用-R參數對一個目錄內的所有文件和子目錄進行遞歸的修改組屬性。
<提示>:你可以使用不帶參數的groups命令查看自己屬於哪個組。

文件權限的設定是我們這一小節討論的核心,我們主要介紹chmod命令的兩種用法。

· 使用訪問字符串設置文件目錄權限
每一個文件、目錄都針對用戶自己、用戶所在組、其它所有帳號(組)分別有讀、寫、執行三種權限及其組合。ls -l查看文件屬性的第一個字段所示。總共十位字符“-rw-rw-r--”,第一位是目錄區分標誌,如果是d的話,表示這是一個目錄。第二到四位分別表示文件所有者的讀(r:read)、寫(w:write)、執行(x:execute)屬性,第五到七位是文件所屬組的讀、寫、執行權限,第八到第十位則是其它用戶的讀、寫、執行權限。如果對應的位是相應的字母,就是有這相應權限,否則爲“-”,表示沒有獲得這個許可。象剛纔例子中的文件就是自己可讀寫,本組可讀寫,其它用戶可讀,所有的用戶(包括自己)都不能執行它。
我們的用u、g、o分別來指代用戶(user)、組(group)、其它帳戶(other),就可以方便的設置文件和目錄的權限了。當然,我們也可以用a來表示所有的這三項。
例如,我們要對所有perl的腳本文件設定權限,對所有用戶都可以讀和執行,文件所有者還允許寫許可,那麼我們可以使用如下命令:
chmod a+rx,u+w *.pl
注意:如果要使用多個訪問字符串,它們之間要用逗號隔開,各個許可字符串之間不允許有空格。正如上例所示。
如果要修改目錄中所有文件和子目錄的權限屬性,可以使用chmod提供的-R參數來遞歸修改。例如,下列命令將/www/site1目錄及其下面的子目錄的權限屬性設定爲所有者和組可讀、寫、執行,其它用戶不可訪問:
chmod -R a+rwx,o-rwd /www/site1
注意,不要輕易使用-R選項,這可能會帶來安全隱患。
使用字符串方便了理解,單輸入那麼多字母還是有點累,如果你對8進制有些概念的話,可以使用下面介紹的方法來做權限設置。

· 使用八進制數設置文件目錄權限
我們知道,在ls -l的輸出中,文件權限表示爲“-rw-rw-r--”,前一位只和是否爲目錄或連接有關,其它九位正好可以分成三段,每段三位,“rw-”、“rw-”和“r--”,“-”代表無效“0”,其它字符代表有效“1”,那麼這個文件的權限就是“110”、“110”、“100”,把這個2進制串轉換成對應的8進制數就是6、6、4,也就是說該文件的權限爲664(三位八進制數)。我們也可以使用類似這種三位八進制數來設定文件授權,如上邊兩個例子,就也可以寫爲:
chmod 755 *.pl
chmod -R 770 /www/site1
是不是很簡潔?關鍵在於你能根據你需要設定的權限正確的選擇八進制數(利用八進制數的二進制表示可以非常輕易的做到這一點)。

· 讀、寫、執行的權限說明
1、所謂寫的權限,也就是對文件修改和刪除的權限。如果目錄的寫權限也對你開放了,則可以創建、刪除或修改該目錄下的任何文件或自目錄——即使該文件和子目錄並不屬於你。
2、對目錄有隻讀許可的用戶,不能用cd命令進入該目錄;還必須同時有執行許可纔可以進入該目錄。
3、必須同時擁有讀和執行權限纔可以使用ls這樣的程序列出目錄內容清單。
4、只對目錄有執行權限的用戶,想訪問該目錄下的文件有讀權限的文件,必須知道該文件名纔可以訪問
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章