上一節已經給大家講了Linux的目錄結構,相信大家已經對Linux的整個目錄結構有所瞭解 現實中,伺服器(包含Linux,Unix,windows server)一般都擺放在機房裡,因為一個機房擺放了很多Linux機器,所有機器都運轉起來,整個室內溫度也是非常高的,所以作為一個要操作Linux的開發 ...
上一節已經給大家講了Linux的目錄結構,相信大家已經對Linux的整個目錄結構有所瞭解
現實中,伺服器(包含Linux,Unix,windows server)一般都擺放在機房裡,因為一個機房擺放了很多Linux機器,所有機器都運轉起來,整個室內溫度也是非常高的,所以作為一個要操作Linux的開發人員,它們通常都是通過ssh遠程連接操作Linux的,而ssh只有命令行界面,所以我們操作Linux只能通過一個個的命令去運作。
所以,如果想熟練操作Linux,只能通過學習一個個Linux的命令來提高自己的系統操作能力
首先我們要學到的就是Linux的目錄文件的操作命令
cd 切換用戶當前工作目錄
cd (選項) (參數)
cd命令用來切換用戶工作目錄到一個指定的目錄下,這個指定的目錄你可以使用絕對路徑或者是相對路徑,(絕對路徑代表從根目錄開始,相對路徑代表以當前目錄為起點)
如果直接用 cd 命令而不加任何參數,則會切換到登錄用戶的主目錄
比如我一開始是用root用戶登錄的,那麼他已進入命令行就會進入到 /root/ 目錄,使用cd 切換到其他目錄後,直接cd(不加任何參數)那麼他會切換回到/root/ 目錄
cd 切換目錄時要註意的幾點
" ~ "
表示為home directory(家目錄或者叫用戶目錄)的意思- " . " 表示目前所在的目錄
- " .. " 表示目前目錄位置的上一層目錄。
實例
cd 進入用戶主目錄; cd ~ 進入用戶主目錄; cd - 返回進入此目錄之前所在的目錄; cd .. 返回上級目錄(若當前目錄為“/“,則執行完後還在“/";".."為上級目錄的意思); cd ../.. 返回上兩級目錄; cd !$ 把上個命令的參數作為cd參數使用。
pwd 顯示用戶當前工作目錄
pwd(選項)
pwd是用來顯示用戶當前的工作路徑的 ,他是以絕對路徑的形式呈現的
例如以下例子
[root@localhost susmote]# cd /root [root@localhost ~]# pwd /root [root@localhost ~]# cd /home/susmote/ [root@localhost susmote]# pwd /home/susmote
ls 顯示目標列表(之前在講目錄結構的時候使用過的)
ls(選項)(參數)
參數可以為一個目錄,如果什麼都不加,代表當前目錄
ls目錄在我看來算是Linux中使用頻率最高的命令了
在windows下,打開文件資源管理器,進入一個目錄,裡面的文件目錄,都是直接顯示的
而在Linux下,進入一個目錄,想查看一個目錄裡面的文件,或文件夾就必須用到ls命令了
ls命令的選項如下
-a:顯示所有檔案及目錄(ls內定將檔案名或目錄名稱為“.”的視為影藏,不會列出); -A:顯示除影藏文件“.”和“..”以外的所有文件列表; -C:多列顯示輸出結果。這是預設選項; -l:與“-C”選項功能相反,所有輸出信息用單列格式輸出,不輸出為多列; -F:在每個輸出項後追加文件的類型標識符,具體含義:“*”表示具有可執行許可權的普通文件,“/”表示目錄,“@”表示符號鏈接,“|”表示命令管道FIFO,“=”表示sockets套接字。當文件為普通文件時,
不輸出任何標識符; -b:將文件中的不可輸出的字元以反斜線“”加字元編碼的方式輸出; -c:與“-lt”選項連用時,按照文件狀態時間排序輸出目錄內容,排序的依據是文件的索引節點中的ctime欄位。與“-l”選項連用時,則排序的一句是文件的狀態改變時間; -d:僅顯示目錄名,而不顯示目錄下的內容列表。顯示符號鏈接文件本身,而不顯示其所指向的目錄列表; -f:此參數的效果和同時指定“aU”參數相同,並關閉“lst”參數的效果; -i:顯示文件索引節點號(inode)。一個索引節點代表一個文件; --file-type:與“-F”選項的功能相同,但是不顯示“*”; -k:以KB(千位元組)為單位顯示文件大小; -l:以長格式顯示目錄下的內容列表。輸出的信息從左到右依次包括文件名,文件類型、許可權模式、硬連接數、所有者、組、文件大小和文件的最後修改時間等; -m:用“,”號區隔每個文件和目錄的名稱; -n:以用戶識別碼和群組識別碼替代其名稱; -r:以文件名反序排列並輸出目錄內容列表; -s:顯示文件和目錄的大小,以區塊為單位; -t:用文件和目錄的更改時間排序; -L:如果遇到性質為符號鏈接的文件或目錄,直接列出該鏈接所指向的原始文件或目錄; -R:遞歸處理,將指定目錄下的所有文件及子目錄一併處理; --full-time:列出完整的日期與時間; --color[=WHEN]:使用不同的顏色高亮顯示不同類型的。
之前跟大家講過每種顏色分別代表什麼樣的顏色,在這你也可以通過 --color 自己指定不同類型顯示那種不同的顏色
下麵是簡單的演示
[root@localhost ~]# ls #預設顯示當前目錄下的文件 1.txt 2.txt 3.txt a b c [root@localhost ~]# ls -a #顯示當前目錄下所有的文件,包含"."開頭的隱藏文件 . 1.txt 3.txt b .bash_logout .bashrc c .cshrc .python_history .viminfo .. 2.txt a .bash_history .bash_profile .bashrc-anaconda3.bak .cache .ipython .tcshrc .vimrc [root@localhost ~]# ls -l #顯示當前目錄下文件的詳細信息,如許可權,文件大小,修改時間 total 12 -rw-r--r--. 1 root root 0 Apr 5 10:29 1.txt -rw-r--r--. 1 root root 0 Apr 5 10:29 2.txt -rw-r--r--. 1 root root 0 Apr 5 10:29 3.txt drwxr-xr-x. 2 root root 4096 Apr 5 10:29 a drwxr-xr-x. 2 root root 4096 Apr 5 10:29 b drwxr-xr-x. 2 root root 4096 Apr 5 10:29 c [root@localhost ~]# ll #等同與ls -l 命令,顯示文件詳細信息 total 12 -rw-r--r--. 1 root root 0 Apr 5 10:29 1.txt -rw-r--r--. 1 root root 0 Apr 5 10:29 2.txt -rw-r--r--. 1 root root 0 Apr 5 10:29 3.txt drwxr-xr-x. 2 root root 4096 Apr 5 10:29 a drwxr-xr-x. 2 root root 4096 Apr 5 10:29 b drwxr-xr-x. 2 root root 4096 Apr 5 10:29 c [root@localhost ~]# ls -al #組合選項 相當於 ls -a -l 顯示當前目錄下所有文件或目錄的詳細信息 total 68 dr-xr-x---. 7 root root 4096 Apr 5 10:29 . dr-xr-xr-x. 22 root root 4096 Apr 5 09:27 .. -rw-r--r--. 1 root root 0 Apr 5 10:29 1.txt -rw-r--r--. 1 root root 0 Apr 5 10:29 2.txt -rw-r--r--. 1 root root 0 Apr 5 10:29 3.txt drwxr-xr-x. 2 root root 4096 Apr 5 10:29 a drwxr-xr-x. 2 root root 4096 Apr 5 10:29 b -rw-------. 1 root root 4083 Apr 4 18:03 .bash_history -rw-r--r--. 1 root root 18 May 20 2009 .bash_logout -rw-r--r--. 1 root root 176 May 20 2009 .bash_profile -rw-r--r--. 1 root root 247 Mar 12 05:07 .bashrc -rw-r--r--. 1 root root 176 Mar 11 06:12 .bashrc-anaconda3.bak drwxr-xr-x. 2 root root 4096 Apr 5 10:29 c drwxr-xr-x. 3 root root 4096 Apr 1 05:19 .cache -rw-r--r--. 1 root root 100 Sep 22 2004 .cshrc drwxr-xr-x. 5 root root 4096 Mar 12 05:10 .ipython -rw-------. 1 root root 32 Mar 31 17:16 .python_history -rw-r--r--. 1 root root 129 Dec 3 2004 .tcshrc -rw-------. 1 root root 4016 Apr 2 04:35 .viminfo -rw-r--r--. 1 root root 25 Mar 12 05:10 .vimrc
其他選項可以自己動手去試,由於篇幅問題,我就不一一演示了
mv 移動文件目錄命令
mv(選項)(參數)
mv命令可以用來移動一個文件或是一個目錄,同時也可以用來作為改名的命令
他一般需要兩個參數 ,source(源文件或源目錄),target(目標文件或目標目錄)
註意,如果目標路徑中存在相同的文件,那麼將會覆蓋原先的文件,如果只是移動到當前目錄下,而且與原先文件目錄名不同,那麼這隻是一個改名的操作
mv的選項如下
--backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份; -b:當文件存在時,覆蓋前,為其創建一個備份; -f:若目標文件或目錄與現有的文件或目錄重覆,則直接覆蓋現有的文件或目錄; -i:互動式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入”y”,表示將覆蓋目標文件;輸入”n”,表示取消對源文件的移動。這樣可
以避免誤將文件覆蓋。 --strip-trailing-slashes:刪除源文件中的斜杠“/”; -S<尾碼>:為備份文件指定尾碼,而不使用預設的尾碼; --target-directory=<目錄>:指定源文件要移動到目標目錄; -u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。
一般我們再使用mv命令時是用不到選項的,所以只是列舉選項以供參考
mv的應用
[root@localhost susmote]# ls a.py a.sh [root@localhost susmote]# mv a.py b.py #只是改名了 [root@localhost susmote]# ls a.sh b.py
[root@localhost susmote]# ls /root/a/ 1.py 2.py 3.py 4.py 5.py [root@localhost susmote]# pwd /home/susmote [root@localhost susmote]# mv /root/a/* . #移動a目錄下所有文件到當前目錄(*代表的是通配符,.代表的是當前目錄) [root@localhost susmote]# ls 1.py 2.py 3.py 4.py 5.py a.sh b.py