目錄管理類命令:
cd,, ls,mkdir, rmdir, tree
cd
cd命令用來切換工作目錄至dirname。其中dirName表示法可爲絕對路徑或相對路徑。
命令格式:cd [目錄名]
命令選項:
-p 如果要切換到的目標目錄是一個符號連接,直接切換到符號連接指向的目標目錄
-L 如果要切換的目標目錄是一個符號的連接,直接切換到字符連接名代表的目錄,而非符號連接所指向的目標目錄。
- 當僅實用"-"一個選項時,當前工作目錄將被切換到環境變量"OLDPWD"所表示的目錄。
常用格式:
cd 進入用戶主目錄;
cd ~ 進入用戶主目錄;
cd - 返回進入此目錄之前所在的目錄;
cd .. 返回上級目錄(若當前目錄爲“/“,則執行完後還在“/";".."爲上級目錄的意思);
cd ../.. 返回上兩級目錄; cd !$ 把上個命令的參數作爲cd參數使用
示例:
使用cd命令進入/opt/rh 目錄
[root@localhost opt]# cd /opt/rh
[root@localhost rh]# pwd
/opt/rh
使用cd ..返回上級目錄
[root@localhost rh]# pwd
/opt/rh
[root@localhost rh]# cd ..
[root@localhost opt]# pwd
/opt
使用cd ../..返回上兩級目錄
[root@localhost rh]# pwd
/opt/rh
[root@localhost rh]# cd ../..
[root@localhost /]# pwd
/
ls
ls命令是linux下最常用的命令。ls命令就是list的縮寫,缺省下ls用來打印出當前目錄的清單,如果ls指定其他目錄,那麼就會顯示指定目錄裏的文件及文件夾清單。
通過ls 命令不僅可以查看linux文件夾包含的文件而且可以查看文件權限(包括目錄、文件夾、文件權限)查看目錄信息等等。
命令格式:ls [選項] [目錄名]
命令選項:
-a, –all 列出目錄下的所有文件,包括以 . 開頭的隱含文件
-A 同-a,但不列出“.”(表示當前目錄)和“..”(表示當前目錄的父目錄)。
-c 配合 -lt:根據 ctime 排序及顯示 ctime (文件狀態最後更改的時間)配合
-l:顯示 ctime 但根據名稱排序否則:根據 ctime 排序
-C 每欄由上至下列出項目
–color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto'其中之一
-d, –directory 將目錄象文件一樣顯示,而不是顯示其下的文件。
-D, –dired 產生適合 Emacs 的 dired 模式使用的結果
-f 對輸出的文件不進行排序,-aU 選項生效,-lst 選項失效
-g 類似 -l,但不列出所有者
-G, –no-group 不列出任何有關組的信息
-h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
–si 類似 -h,但文件大小取 1000 的次方而不是 1024
-H, –dereference-command-line 使用命令列中的符號鏈接指示的真正目的地
–indicator-style=方式 指定在每個項目名稱後加上指示符號<方式>:none (默認),classify (-F),file-type (-p)
-i, –inode 印出每個文件的 inode 號
-I, –ignore=樣式 不印出任何符合 shell 萬用字符<樣式>的項目
-k 即 –block-size=1K,以 k 字節的形式表示文件的大小。
-l 除了文件名之外,還將文件的權限、所有者、文件大小等信息詳細列出來。
-L, –dereference 當顯示符號鏈接的文件信息時,顯示符號鏈接所指示的對象而並非符號鏈接本身的信息
-m 所有項目以逗號分隔,並填滿整行行寬
-o 類似 -l,顯示文件的除組信息外的詳細信息。
-r, –reverse 依相反次序排列
-R, –recursive 同時列出所有子目錄層
-s, –size 以塊大小爲單位列出所有文件的大小
-S 根據文件大小排序
–sort=WORD 以下是可選用的 WORD 和它們代表的相應選項:
extension -X status -c
none -U time -t
size -S atime -u
time -t access -u
version -v use -u
-t 以文件修改時間排序
-u 配合 -lt:顯示訪問時間而且依訪問時間排序
配合 -l:顯示訪問時間但根據名稱排序
否則:根據訪問時間排序
-U 不進行排序;依文件系統原有的次序列出項目
-v 根據版本進行排序
-w, –width=COLS 自行指定屏幕寬度而不使用目前的數值
-x 逐行列出項目而不是逐欄列出
-X 根據擴展名排序
-1 每行只列出一個文件
–help 顯示此幫助信息並離開
–version 顯示版本信息並離開
命令參數:目錄:指定要顯示列表的目錄,也可以是具體的文件。
示例:
顯示當前目錄下非影藏文件與目錄
[root@localhost /]# cd /boot
[root@localhost boot]# ls
config-3.10.0-327.el7.x86_64
grub
grub2
initramfs-0-rescue-80b038a43aa0449c844ba01e218186d5.img
initramfs-3.10.0-327.el7.x86_64.img
initramfs-3.10.0-327.el7.x86_64kdump.img
initrd-plymouth.img
symvers-3.10.0-327.el7.x86_64.gz
System.map-3.10.0-327.el7.x86_64
vmlinuz-0-rescue-80b038a43aa0449c844ba01e218186d5
vmlinuz-3.10.0-327.el7.x86_64
顯示當前目錄下包括影藏文件在內的所有文件列表
[root@localhost boot]# ls -a
.
..
config-3.10.0-327.el7.x86_64
grub
grub2
initramfs-0-rescue-80b038a43aa0449c844ba01e218186d5.img
initramfs-3.10.0-327.el7.x86_64.img
initramfs-3.10.0-327.el7.x86_64kdump.img
initrd-plymouth.img
symvers-3.10.0-327.el7.x86_64.gz
System.map-3.10.0-327.el7.x86_64
vmlinuz-0-rescue-80b038a43aa0449c844ba01e218186d5
vmlinuz-3.10.0-327.el7.x86_64
.vmlinuz-3.10.0-327.el7.x86_64.hmac
輸出長格式列表
[root@localhost boot]# ls -1
config-3.10.0-327.el7.x86_64
grub
grub2
initramfs-0-rescue-80b038a43aa0449c844ba01e218186d5.img
initramfs-3.10.0-327.el7.x86_64.img
initramfs-3.10.0-327.el7.x86_64kdump.img
initrd-plymouth.img
symvers-3.10.0-327.el7.x86_64.gz
System.map-3.10.0-327.el7.x86_64
vmlinuz-0-rescue-80b038a43aa0449c844ba01e218186d5
vmlinuz-3.10.0-327.el7.x86_64
水平輸出文件列表
[root@localhost boot]# ls -m
config-3.10.0-327.el7.x86_64, grub, grub2,
initramfs-0-rescue-80b038a43aa0449c844ba01e218186d5.img,
initramfs-3.10.0-327.el7.x86_64.img,initramfs-3.10.0-327.el7.x86_64kdump.img,
initrd-plymouth.img, symvers-3.10.0-327.el7.x86_64.gz,System.map-3.10.0-327.el7.x86_64,
vmlinuz-0-rescue-80b038a43aa0449c844ba01e218186d5,vmlinuz-3.10.0-327.el7.x86_64
列出文件和文件夾的詳細信息
[root@localhost boot]# ls -l
總用量 94804
-rw-r--r--. 1 root root 126426 11月 202015 config-3.10.0-327.el7.x86_64
drwxr-xr-x. 2 root root 26 12月 1000:21 grub
drwx------. 6 root root 104 12月 1000:24 grub2
-rw-r--r--. 1 root root 45390555 12月 10 00:23initramfs-0-rescue-80b038a43aa0449c844ba01e218186d5.img
-rw-------. 1 root root 19744484 12月 10 00:24initramfs-3.10.0-327.el7.x86_64.img
-rw-------. 1 root root 17671172 12月 10 00:26initramfs-3.10.0-327.el7.x86_64kdump.img
-rw-r--r--. 1 root root 602601 12月 1000:22 initrd-plymouth.img
-rw-r--r--. 1 root root 252612 11月 202015 symvers-3.10.0-327.el7.x86_64.gz
-rw-------. 1 root root 2963044 11月 202015 System.map-3.10.0-327.el7.x86_64
-rwxr-xr-x. 1 root root 5156528 12月 1000:24 vmlinuz-0-rescue-80b038a43aa0449c844ba01e218186d5
-rwxr-xr-x. 1 root root 5156528 11月 202015 vmlinuz-3.10.0-327.el7.x86_64
[root@localhost boot]#
按時間列出文件和文件夾詳細信息
[root@localhost boot]# ls -lt
總用量 94804
-rw-------. 1 root root 17671172 12月 10 00:26initramfs-3.10.0-327.el7.x86_64kdump.img
drwx------. 6 root root 104 12月 1000:24 grub2
-rw-------. 1 root root 19744484 12月 10 00:24initramfs-3.10.0-327.el7.x86_64.img
-rwxr-xr-x. 1 root root 5156528 12月 1000:24 vmlinuz-0-rescue-80b038a43aa0449c844ba01e218186d5
-rw-r--r--. 1 root root 45390555 12月 10 00:23initramfs-0-rescue-80b038a43aa0449c844ba01e218186d5.img
-rw-r--r--. 1 root root 602601 12月 1000:22 initrd-plymouth.img
drwxr-xr-x. 2 root root 26 12月 1000:21 grub
-rw-r--r--. 1 root root 252612 11月 202015 symvers-3.10.0-327.el7.x86_64.gz
-rwxr-xr-x. 1 root root 5156528 11月 202015 vmlinuz-3.10.0-327.el7.x86_64
-rw-r--r--. 1 root root 126426 11月 202015 config-3.10.0-327.el7.x86_64
-rw-------. 1 root root 2963044 11月 202015 System.map-3.10.0-327.el7.x86_64
[root@localhost boot]#
顯示文件夾信息
[root@localhost boot]# ls -ld /root
dr-xr-x---. 14 root root 4096 12月 11 17:14 /root
mkdir
mkdir 命令用來創建指定的名稱的目錄,要求創建目錄的用戶在當前目錄中具有寫權限,並且指定的目錄名不能是當前目錄中已有的目錄。
命令格式:mkdir [選項] 目錄...
命令選項:
-Z:設置安全上下文,當使用SELinux時有效;
-m<目標屬性>或--mode<目標屬性>建立目錄的同時設置目錄的權限;
-p或--parents若所要建立目錄的上層目錄目前尚未建立,則會一併建立上層目錄;
--version 顯示版本信息。
命令參數:目錄:指定要創建的目錄列表,多個目錄之間用空格隔開。
示例:
創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@localhost tmp]# mkdir -v {a,b}_{c,d}
mkdir: 已創建目錄 "a_c"
mkdir: 已創建目錄 "a_d"
mkdir: 已創建目錄 "b_c"
mkdir: 已創建目錄 "b_d"
(2)、創建/tmp/mylinux目錄下的:
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
[root@localhost tmp]# mkdir -vpmylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local{bin,sbin},var,lock,lock,log,run}
mkdir: 已創建目錄 "mylinux/bin"
mkdir: 已創建目錄 "mylinux/boot"
mkdir: 已創建目錄 "mylinux/boot/grub"
mkdir: 已創建目錄 "mylinux/dev"
mkdir: 已創建目錄 "mylinux/etc"
mkdir: 已創建目錄 "mylinux/etc/rc.d"
mkdir: 已創建目錄 "mylinux/etc/rc.d/init.d"
mkdir: 已創建目錄 "mylinux/etc/sysconfig"
mkdir: 已創建目錄 "mylinux/etc/sysconfig/network-scripts"
mkdir: 已創建目錄 "mylinux/lib"
mkdir: 已創建目錄 "mylinux/lib/modules"
mkdir: 已創建目錄 "mylinux/lib64"
mkdir: 已創建目錄 "mylinux/proc"
mkdir: 已創建目錄 "mylinux/sbin"
mkdir: 已創建目錄 "mylinux/sys"
mkdir: 已創建目錄 "mylinux/tmp"
mkdir: 已創建目錄 "mylinux/usr"
mkdir: 已創建目錄 "mylinux/usr/localbin"
mkdir: 已創建目錄 "mylinux/usr/localsbin"
mkdir: 已創建目錄 "mylinux/var"
mkdir: 已創建目錄 "mylinux/lock"
mkdir: 已創建目錄 "mylinux/log"
mkdir: 已創建目錄 "mylinux/run"
[root@localhost tmp]# tree mylinux/
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── lock
├── log
├── proc
├── run
├── sbin
├── sys
├── tmp
├── usr
│ ├── localbin
│ └── localsbin
└── var
23 directories, 0 files
rmdir
rmdir命令用來刪除空目錄。當目錄不再被使用時,或者磁盤空間已到達使用限定值,就需要刪除失去使用價值的目錄。注意:子目錄被刪除之前應該是空目錄。就是說,該目錄中的所有文件必須用rm命令全部,另外,當前工作目錄必須在被刪除目錄之上,不能是被刪除目錄本身,也不能是被刪除目錄的子目錄。
命令格式:rmdir [選項]... 目錄..
命令選項:
-p或--parents:刪除指定目錄後,若該目錄的上層目錄已變成空目錄,則將其一併刪除;
--ignore-fail-on-non-empty:此選項使rmdir命令忽略由於刪除非空目錄時導致的錯誤信息;
-v或-verboes:顯示命令的詳細執行過程;
--help:顯示命令的幫助信息;
--version:顯示命令的版本信息。
命令參數:
目錄列表:要刪除的空目錄列表。當刪除多個空目錄時,目錄名之間使用空格隔開。
示例:
刪除test2下的子目錄test3
[root@localhost tmp]# tree test2/
test2/
└── test3
1 directory, 0 files
[root@localhost tmp]# cd test2
[root@localhost test2]# rmdir test3
[root@localhost test2]# cd ..
[root@localhost tmp]# tree test2
test2
0 directories, 0 files
刪除子目錄test2和其父目錄test1
[root@localhost tmp]# tree test/
test/
└── test1
└── test2
2 directories, 0 files
[root@localhost tmp]# cd test
[root@localhost test]# rmdir -p test1/test2
[root@localhost test]# cd..
[root@localhost tmp]# tree test/
test/
0 directories, 0 files
tree
tree命令以樹狀圖列出目錄的內容。
命令格式:
tree[選項]... 目錄
命令選項:
-a:顯示所有文件和目錄;
-A:使用ASNI繪圖字符顯示樹狀圖而非以ASCII字符組合;
-C:在文件和目錄清單加上色彩,便於區分各種類型;
-d:先是目錄名稱而非內容;
-D:列出文件或目錄的更改時間;
-f:在每個文件或目錄之前,顯示完整的相對路徑名稱;
-F:在執行文件,目錄,Socket,符號連接,管道名稱名稱,各自加上"*","/","@","|"號;
-g:列出文件或目錄的所屬羣組名稱,沒有對應的名稱時,則顯示羣組識別碼;
-i:不以階梯狀列出文件和目錄名稱;
-l:<範本樣式> 不顯示符號範本樣式的文件或目錄名稱;
-l:如遇到性質爲符號連接的目錄,直接列出該連接所指向的原始目錄;
-n:不在文件和目錄清單加上色彩;
-N:直接列出文件和目錄名稱,包括控制字符;
-p:列出權限標示;
-P:<範本樣式> 只顯示符合範本樣式的文件和目錄名稱;
-q:用“?”號取代控制字符,列出文件和目錄名稱;
-s:列出文件和目錄大小;
-t:用文件和目錄的更改時間排序;
-u:列出文件或目錄的擁有者名稱,沒有對應的名稱時,則顯示用戶識別碼;
-x:將範圍侷限在現行的文件系統中,若指定目錄下的某些子目錄,其存放於另一個文件系統上,則將該目錄予以排除在尋找範圍外。
命令參數:
目錄:執行tree指令,它會列出指定目錄下的所有文件,包括子目錄裏的文件。
示例:
查看mylinux目錄下的所有文件
[root@localhost tmp]# tree mylinux/
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── lock
├── log
├── proc
├── run
├── sbin
├── sys
├── tmp
├── usr
│ ├── localbin
│ └── localsbin
└── var
23 directories, 0 files
備註:如果系統中沒有安裝tree命令,可以通過yum在線安裝tree包,
命令:# yum install tree -y
文本文件查看類命令:
cat, tac,more, less, tail,head
cat
命令格式:cat [選項] [文件]...
命令選項:
-n或-number:有1開始對所有輸出的行數編號;
-b或--number-nonblank:和-n相似,只不過對於空白行不編號;
-s或--squeeze-blank:當遇到有連續兩行以上的空白行,就代換爲一行的空白行;
-A:顯示不可打印字符,行尾顯示“$”;
-e:等價於"-vE"選項;
-t:等價於"-vT"選項;
命令參數:
文件列表:指定要連接的文件列表。
tac (反向列示)
tac 是將cat反寫過來,所以他的功能就跟cat相反,cat是由第一行到最後一行連續顯示在螢幕上,而tac則是由最後一行到第一行反向在螢幕上顯示出來!
命令格式:tac [選項] [文件]...
命令選項:
-a或——append:將內容追加到文件的末尾;
-i或——ignore-interrupts:忽略中斷信號。
命令參數:
文件列表:指定要保存內容的文件列表。
more
命令格式:more [選項] [文件]...
命令選項:
-<數字>:指定每屏顯示的行數;
-d:顯示“[pressspace to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
-c:不進行滾屏操作。每次刷新這個屏幕;
-s:將多個空行壓縮成一行顯示;
-u:禁止下劃線;
+<數字>:從指定數字的行開始顯示。
命令參數:
文件:指定分頁顯示內容的文件。
less
less命令的作用與more十分相似,都可以用來瀏覽文字檔案的內容,不同的是less命令允許用戶向前或向後瀏覽文件,而more命令只能向前瀏覽。用less命令顯示文件時,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程序,應按Q鍵。
命令格式:less [選項] [文件]...
命令選項:
-e:文件內容顯示完畢後,自動退出;
-f:強制顯示文件;
-g:不加亮顯示搜索到的所有關鍵詞,僅顯示當前顯示的關鍵字,以提高顯示速度;
-l:搜索時忽略大小寫的差異;
-N:每一行行首顯示行號;
-s:將連續多個空行壓縮成一行顯示;
-S:在單行顯示較長的內容,而不換行顯示;
-x<數字>:將TAB字符顯示爲指定個數的空格字符。
命令參數:
文件:指定要分屏顯示內容的文件。
tail
用於輸入文件中的尾部內容。tail命令默認在屏幕上顯示指定文件的末尾10行。如果給定的文件不止一個,則在顯示的每個文件前面加一個文件名標題。如果沒有指定文件或者文件名爲“-”,則讀取標準輸入。
注意:如果表示字節或行數的N值之前有一個”+”號,則從文件開頭的第N項開始顯示,而不是顯示文件的最後N項。N值後面可以有後綴:b表示512,k表示1024,m表示1048576(1M)。
命令格式:tail[選項] [文件]...
命令選項:
--retry:即是在tail命令啓動時,文件不可訪問或者文件稍後變得不可訪問,都始終嘗試打開文件。使用此選項時需要與選項“——follow=name”連用;
-c或——bytes=:輸出文件尾部的N(N爲整數)個字節內容;
-f或;--follow:顯示文件最新追加的內容。“name”表示以文件名的方式監視文件的變化。“-f”與“-fdescriptor”等效; -F:與選項“-follow=name”和“--retry"連用時功能相同;
-n或——line=:輸出文件的尾部N(N位數字)行內容。
--pid=<進程號>:與“-f”選項連用,當指定的進程號的進程終止後,自動退出tail命令;
-q或——quiet或——silent:當有多個文件參數時,不輸出各個文件名;
-s<秒數>或——sleep-interal=<秒數>:與“-f”選項連用,指定監視文件變化時間隔的秒數;
-v或——verbose:當有多個文件參數時,總是輸出各個文件名;
--help:顯示指令的幫助信息;
--version:顯示指令的版本信息。
命令參數:
文件列表:指定要顯示尾部內容的文件列表。
head
head命令用於顯示文件的開頭的內容。在默認情況下,head命令顯示文件的頭10行內容。
命令格式:head[選項] [文件]...
命令選項:
-n<數字>:指定顯示頭部內容的行數;
-c<字符數>:指定顯示頭部內容的字符數;
-v:總是顯示文件名的頭信息;
-q:不顯示文件名的頭信息。
命令參數:
文件列表:指定顯示頭部內容的文件列表。