Linux基礎1 文件管理命令


一、linux文件管理

linux哲學思想裏面,一切皆文件,所有的硬件設備也是在系統中映射成文件,直接操作文件相當於操作使用了硬件設備。文件管理所涉及到的命令ls、type、file、stat、cp、mv、install、mkdir、rmdir


二、文件類型

#ls -l 

查看文件的詳情。

drwxr-xr-x  12 zhurudong  staff   408  1 10 20:58 eclipseworkspace

drwxr-xr-x:1位文件類型+9問權限

12:硬鏈接次數

zhurudong:文件所屬用戶

staff:文件所屬租

408: 文件大小,默認字節爲單位,即以byte爲單位


文件類型

d: 目錄文件(directory),目錄也是文件,只不過是一種特殊的文件

l: 鏈接文件,也是軟鏈接文件(link)

-: 普通文件(file)

s: 套接字文件(socket)

b: 塊設備文件(block)

c: 字符設備文件(character)


三、相關命令


# nano 

文本編輯器


# mkdir —> make directory

創建目錄

R: 遞歸創建目錄

命令行展開:

mkdir -R /var/tmp/{x,y}   該寫法會中tmp目錄下同時創建x,y兩個目錄

# rmdir —> remove directory

刪除空目錄

只能刪除目錄,不能刪除文件

p: 刪除父目錄。刪除目錄時,如果其父目錄這時爲空,也會刪除掉父目錄


# ls —> list

列出,列表

i:index,列出文件節點的索引號。#ls -i

l:list, 列表排列文件,包含文件類型、文件權限、所屬主、所屬組、時間戳、文件大小等等。#ls -l

h:結合-l使用,格式化列出文件大小,以K,M,G的形式顯示。#ls -lh

a:列出所有文件,包含以.開頭的隱藏文件,以及.和..

R:遞歸(recursive)列出文件


# type

查看命令類型

linux當中,命令有分 內置命令和外部命令

內置命令:linux sh當中內置的一些命令,這些命令中系統安裝時已經存在,提供最基本的功能而存在。比如cd、ls、cp等等. 內置命令當系統啓動時便會加載到內存當中,所以執行內部命令速度會快些。


外部命令:linux爲了擴展某些功能而安裝的命令,這寫命令可以稱爲軟件,這些命令通常要添加到環境變量當中,當直接執行命令時,從環境變量(.bash_profile、/etc/profile),找到PATH, 從而找到具體的命令絕對路徑執行命令。

當某些命令執行過後,會記錄在hash當中,以便下次執行的時候直接從改hash表當中找到命令的路徑,節省了從PATH遍歷查找路徑的時間,使得執行效率提升。


命令的一般執行過程:

hash——>內置命令——>PATH   命令的調用其實應該是這樣一個過程。


zhurudongdeMacBook:nodejs zhurudong$ type pwd

pwd is a shell builtin

zhurudongdeMacBook:nodejs zhurudong$ type cat

cat is /bin/cat

zhurudongdeMacBook:nodejs zhurudong$ 



# file —> determine file type

探測(查看)文件類型

參數:可以是多個文件,也可以使用bash通配符匹配多個文件. # file install.log


# stat

查看文件信息

通常該命令用於查看文件的訪問時間、修改時間、改變時間。

該命令的執行會顯示文件詳細信息,比如文件大小(size)、塊大小(block)、devices、links


# cp —> copy files

複製文件(s)

複製多個文件。可以複製多個文件,在參數爲多個既可,但最後一個是目標,只可以有一個,不能多個。

i:提示確認是否進行操作

R:遞歸複製,用於複製目錄時,遞歸複製其子目錄和文件

f:不提示確認操作,也就是強制進行操作

v:(verbose)顯示命令執行的過程

p:複製時,保留文件的原有屬性,即保留文件原有的權限、所屬主、所屬組以及時間戳等信息。

a:(arcive)歸檔複製,不改變文件的任何屬性進行的複製文件。常用於備份文件

cp情況分類:

1 #cp /tmp/test /var/tmp/abc

test爲目錄,abc爲文件時,執行命令時提示覆蓋,如果強行覆蓋,可以複製成功,但abc將會是一個鏈接類型的文件,內容是不正確的。

2 # cp /tmp/test.txt /tmp/install.log /var/tmp/xyz

該複製爲多個文件複製,dest爲最後一個參數xyz爲目標。必須爲目錄,否則複製失敗。 

3 # cp /tmp/test /var/tmp/abc

test爲目錄,abc爲目錄,複製失敗。因爲cp不能直接複製目錄,必須加上-R,遞歸複製才成功, 如果目錄abc不存在,則創建改目錄,將test所有的文件包括目錄遞歸複製到abc當中。#cp -Rf /tmp/test /var/tmp/abc


#mv —> move files

移動文件(s)

同cp一樣,可以移動多個文件,參數指定即可,最後一個爲目標文件,只可以有一個,不能多個。

但mv與cp不同的一點是,mv默認提供遞歸移動。

i:同cp一樣,提示確認是否進行操作

f:與i相反,不提示確認操作,強行執行命令

v:顯示命令的執行過程,常用於跟蹤命令的執行情況


mv情況分類:

1 #mv /tmp/test /var/tmp/abc

test爲目錄,abc存在,且爲文件。複製失敗,因爲不能將一個目錄去覆蓋一個文件。

2 #mv /tmp/test/ /var/tmp/abc/

test爲目錄,abc爲一個目錄,將/tmp下的test目錄移動到abc下,目錄名字仍然爲test

3 #mv /tmp/test/* /var/tmp/abc/

將test下的所有文件移動到abc下,而不移動test目錄,僅僅移動test目錄下的文件而已


# install —> copy files

複製文件

該命令可以用於複製文件,可以複製單個文件,也可以複製多個文件到一個目錄下。但該命令不能複製目錄,如果要複製目錄使用cp -R即可。但該命令可以用來創建目錄# install -d /tmp/{test1,test2}。

說明:使用該命令複製文件,複製之後該文件就會擁有執行權限。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章