Linux和Unix系統一樣對文件有如下的解釋:一切皆為文件;若非文件,則為進程。 Linux將文件和目錄視如同物,因為目錄只是一個包含了其他文件名的文件而已。程式、服務、文本、圖片等等,都是文件。對於系統來說,輸入和輸出設備,基本上所有的設備,都被當做是文件。 如上圖所示,Linux系統的文件系統... ...
Linux和Unix系統一樣對文件有如下的解釋:一切皆為文件;若非文件,則為進程。
Linux將文件和目錄視如同物,因為目錄只是一個包含了其他文件名的文件而已。程式、服務、文本、圖片等等,都是文件。對於系統來說,輸入和輸出設備,基本上所有的設備,都被當做是文件。
如上圖所示,Linux系統的文件系統不像Windows系統有多個盤符組成,所有文件都在同一個文件系統下以樹型結構管理,樹的"根"是/
/為根目錄,它擁有一下基本文件夾:
/bin(binary)——存放在但用戶模式可用的必要二進位文件,所有用戶都可用,如cat、ls、cp等
/dev(device)——存放必要的設備文件
/home——用戶的主目錄,包括保存的文件,個人配置等等
/lib<架構位數>——備用格式的必要文件庫
/media——可移動的多媒體(如CD-ROMs,U盤)的掛載點
/mnt——臨時掛在的文件系統
/opt(add-on application software)——可選的應用程式軟體包
/root——根用戶的主目錄
/sys
/usr——二級層級存儲用戶的制度數據;包含(多)用戶主要的公共文件以及引用程式
/boot——存放引導載入程式文件,例如kernels、initrd等
/etc——存放主機特定的系統級配置文件
/lib——存放系統所需的資源庫
/lost+found——存儲的是系統崩潰時產生的損壞文件
Linux的文件類型
普通文件("-"):linux系統中基本的文件類型。
目錄("d"):由其他文件組成的文件。
特殊文件:用於輸入和輸出的途徑。大多數特殊文件都存儲在/dev中。
鏈接文件("l"):讓文件或者目錄出現在系統文件樹結構上多個地方的機制。相當於windows的快捷方式。
(域)套接字:特殊的文件類型,和TCP/IP協議中的套接字類似,提供進程間的通信機制,並受文件系統的訪問控制機制保護。
命名管道:提供一個進程間的通信機制,而不用網路套接字協議。
Linux文件命名規則
- 除了/之外,所有字元都合法。
- 像空格符、製表符、字元@#¥%()-等字元儘量不要使用。
- 避免使用"."作為普通文件名的第一個字元。
- Linux對文件名的大小寫嚴格區分。
Linux的許可權種類
r:可讀,用戶能打開讀取文件內容,許可權值為4。
w:可寫,用戶能對文件中的內容進行添加,修改和刪除,許可權值為2。
- x:可執行,用戶能執行文件,許可權值為1。
Linux的基本命令格式
命令格式:命令 -選項 參數
ex:ls -la /etc
說明:1)當有多個選項時,可以寫在一起。
2)兩個特殊的目錄.和..,分別代表 當前目錄和當前目錄的父目錄
文件處理命令
- ls
原意:list
命令路徑:/bin/ls
執行許可權:所有用戶
作用:顯示目錄文件
語法:ls 選項[-ald] [目錄或文件]
-a顯示所有文件,包括隱含文件。
-l 顯示詳細信息
-d 查看目錄屬性
例子:
[userLee@admin ~]$ ls -l
總用量 84
-rw-r--r--. 1 root root 246 4月 22 14:48 a.tar.gz
drwxr-xr-x. 2 userLee userLee 4096 4月 22 14:37 dir1
drwxr-xr-x. 4 root root 4096 4月 22 14:58 dir2
-rw-rw-r--. 1 userLee userLee 0 4月 19 03:55 hetc
-rw-r--r--. 3 root root 47 11月 27 2013 issue.hard
-rw-r--r--. 3 root root 47 11月 27 2013 issue.soft
第一個字元表示文件類型(-dl)
第二到第四個字元表示文件擁有者(owner)(一般指創造者)的許可權
第五到第七個字元表示用戶組(group)許可權
第八到第十個字元表示其他組(other)的許可權
- cd
原意:change directory
命令路徑:shell 內置命令
執行許可權:所有用戶
功能描述:切換目錄
語法:cd [目錄]
Ex: cd / 切換到根目錄
cd .. 回到上一級目錄
- pwd
命令原意:print working directory
命令路徑:/bin/pwd
執行許可權:所有用戶
功能描述:顯示當前所在的工作目錄
語法:pwd
結合cd命令查看和更改目錄:
[userLee@admin ~]$ pwd
/home/userLee
[userLee@admin ~]$ cd ./dir1/
[userLee@admin dir1]$ pwd
/home/userLee/dir1
- touch
命令路徑:/bin/touch
執行許可權:所有用戶
功能描述:創建空文件
語法:touch [文件名]
Ex: touch newfile
在Linux用戶目錄下創建newtest文件
[userLee@admin dir1]$ touch newtest
- mkdir
命令原意:make directories
命令路徑:/bin/mkdir
執行許可權:所有用戶
功能描述:創建新目錄
語法:mkdir [目錄名]
Ex: mkdir newdir
在dir1目錄下創建dir2目錄並查看
[userLee@admin dir1]$ mkdir dir2
[userLee@admin dir1]$ ls
dir2 file.gz nefile newfile.gz newtest
- cp
命令原意:copy
命令路徑:/bin/cp
執行許可權:所有用戶
功能描述:複製文件或目錄
語法:cp -r [源文件或目錄] [目的文件或目錄]
-r 複製目錄
註:可多個文件同時複製。
[root@admin userLee]# ls dir2/
dir1 dir_1.tar.gz dir_3
[root@admin userLee]# cp newfile2 newfile_1 dir2/
[root@admin userLee]# cp -r newdir/ dir2/
[root@admin userLee]# ls dir2/
dir1 dir_1.tar.gz dir_3 newdir newfile_1 newfile2
- mv
命令原意:move
命令路徑:/bin/mv
執行許可權:所有用戶
功能描述:移動文件、更名
語法:mv [文件或目錄名] [目的目錄]
Ex: mv file1 file2
將當前目錄下文件file1更名為file2
mv file2 dir2
將file2移動到目錄dir2下
[root@admin dir2]# ls
dir1 dir_1.tar.gz dir_3 newdir newfile_1 newfile2
[root@admin dir2]# ls dir1/
file.gz nefile newfile.gz
[root@admin dir2]# ls dir1/
file.gz nefile newfile1 newfile.gz
註意:如上所示,可以在移動到別的目錄時更改名字,如果移動別的目錄時目錄後不加更改後的文件名,預設與原來重名。
- rm
命令原意:remove
命令路徑:/bin/rm
執行許可權:所有用戶
功能描述:刪除文件
語法:rm -r [文件或目錄]
-d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄;
-f:強制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一併處理;
--preserve-root:不對根目錄進行遞歸操作;
-v:顯示指令的詳細執行過程。
Ex: rm file2
刪除文件file2
rm –r dir1
刪除目錄dir1
[root@admin dir2]# ls
dir1 dir_1.tar.gz dir_3 newdir newfile2
[root@admin dir2]# rm -r newfile2 newdir/
rm:是否刪除普通文件 "newfile2"?y
rm:是否刪除目錄"newdir"? y
- cat
命令原意:concatenate and display files
命令路徑:/bin/cat
執行許可權:所有用戶
功能描述:顯示文件內容
語法:cat [文件名]
Ex: cat /etc/issue
cat /etc/services
- more
命令路徑:/bin/more
執行許可權:所有用戶
功能描述:分頁顯示文件內容
語法:more [文件名]
(空格)或f 顯示下一頁
(enter) 顯示下一行
q或Q 退出
Ex: more /etc/services
- head
命令路徑:/bin/head
執行許可權:所有用戶
功能描述:查看文件的前幾行
語法:head -num [文件名]
-num 顯示文件的前num行
Ex: head -20 /etc/services
- tail
命令名稱:tail
命令路徑:/bin/tail
執行許可權:所有用戶
功能描述:查看文件的後幾行
語法:tail -num [文件名]
-num 顯示文件的後num行
-f 動態顯示文件內容
Ex: head -20 /etc/services
- ln
命令原意:link
命令路徑:/bin/ln
執行許可權:所有用戶
功能描述:產生連接文件
語法:ln -s [源文件] [目標文件]
-s 創建軟連接
Ex: ln –s /etc/issue /issue.soft
創建文件/etc/issue的軟連接/issue.soft
ln /etc/issue /issue.hard
創建文件/etc/issue的硬鏈接/issue.hard
- ls