天天看點

【Linux常用指令】檔案和目錄操作(一)

ls指令

ls指令用來顯示目标清單,在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]:使用不同的顔色高亮顯示不同類型的。      

參數

目錄:指定要顯示清單的目錄,也可以是具體的檔案。

執行個體

顯示目前目錄下非影藏檔案與目錄

[root@localhost ~]# ls      
anaconda-ks.cfg  install.log  install.log.syslog  satools      

顯示目前目錄下包括影藏檔案在内的所有檔案清單

[root@localhost ~]# ls -a      
.   anaconda-ks.cfg  .bash_logout   .bashrc  install.log         .mysql_history  satools  .tcshrc   .vimrc      
..  .bash_history    .bash_profile  .cshrc   install.log.syslog  .rnd            .ssh     .viminfo      

輸出長格式清單

[root@localhost ~]# ls -1      
anaconda-ks.cfg      
install.log      
install.log.syslog      
satools      

顯示檔案的inode資訊

索引節點(index inode簡稱為“inode”)是Linux中一個特殊的概念,具有相同的索引節點号的兩個文本本質上是同一個檔案(除檔案名不同外)。

[root@localhost ~]# ls -i -l anaconda-ks.cfg install.log      
2345481 -rw------- 1 root root   859 Jun 11 22:49 anaconda-ks.cfg      
2345474 -rw-r--r-- 1 root root 13837 Jun 11 22:49 install.log      

水準輸出檔案清單

[root@localhost /]# ls -m      
bin, boot, data, dev, etc, home, lib, lost+found, media, misc, mnt, opt, proc, root, sbin, selinux, srv, sys, tmp, usr, var      

顯示遞歸檔案

[root@localhost ~]# ls -R      
.:      
anaconda-ks.cfg  install.log  install.log.syslog  satools      
./satools:      
black.txt  freemem.sh  iptables.sh  lnmp.sh  mysql  php502_check.sh  ssh_safe.sh      

列印檔案的UID和GID

[root@localhost /]# ls -n      
total 254      
drwxr-xr-x   2 0 0  4096 Jun 12 04:03 bin      
drwxr-xr-x   4 0 0  1024 Jun 15 14:45 boot      
drwxr-xr-x   6 0 0  4096 Jun 12 10:26 data      
drwxr-xr-x  10 0 0  3520 Sep 26 15:38 dev      
drwxr-xr-x  75 0 0  4096 Oct 16 04:02 etc      
drwxr-xr-x   4 0 0  4096 Jun 12 10:26 home      
drwxr-xr-x  14 0 0 12288 Jun 16 04:02 lib      
drwx------   2 0 0 16384 Jun 11 22:46 lost+found      
drwxr-xr-x   2 0 0  4096 May 11  2011 media      
drwxr-xr-x   2 0 0  4096 Nov  8  2010 misc      
drwxr-xr-x   2 0 0  4096 May 11  2011 mnt      
drwxr-xr-x   2 0 0  4096 May 11  2011 opt      
dr-xr-xr-x 232 0 0     0 Jun 15 11:04 proc      
drwxr-x---   4 0 0  4096 Oct 15 14:43 root      
drwxr-xr-x   2 0 0 12288 Jun 12 04:03 sbin      
drwxr-xr-x   2 0 0  4096 May 11  2011 selinux      
drwxr-xr-x   2 0 0  4096 May 11  2011 srv      
drwxr-xr-x  11 0 0     0 Jun 15 11:04 sys      
drwxrwxrwt   3 0 0 98304 Oct 16 08:45 tmp      
drwxr-xr-x  13 0 0  4096 Jun 11 23:38 usr      
drwxr-xr-x  19 0 0  4096 Jun 11 23:38 var      

列出檔案和檔案夾的詳細資訊

[root@localhost /]# ls -l      
total 254      
drwxr-xr-x   2 root root  4096 Jun 12 04:03 bin      
drwxr-xr-x   4 root root  1024 Jun 15 14:45 boot      
drwxr-xr-x   6 root root  4096 Jun 12 10:26 data      
drwxr-xr-x  10 root root  3520 Sep 26 15:38 dev      
drwxr-xr-x  75 root root  4096 Oct 16 04:02 etc      
drwxr-xr-x   4 root root  4096 Jun 12 10:26 home      
drwxr-xr-x  14 root root 12288 Jun 16 04:02 lib      
drwx------   2 root root 16384 Jun 11 22:46 lost+found      
drwxr-xr-x   2 root root  4096 May 11  2011 media      
drwxr-xr-x   2 root root  4096 Nov  8  2010 misc      
drwxr-xr-x   2 root root  4096 May 11  2011 mnt      
drwxr-xr-x   2 root root  4096 May 11  2011 opt      
dr-xr-xr-x 232 root root     0 Jun 15 11:04 proc      
drwxr-x---   4 root root  4096 Oct 15 14:43 root      
drwxr-xr-x   2 root root 12288 Jun 12 04:03 sbin      
drwxr-xr-x   2 root root  4096 May 11  2011 selinux      
drwxr-xr-x   2 root root  4096 May 11  2011 srv      
drwxr-xr-x  11 root root     0 Jun 15 11:04 sys      
drwxrwxrwt   3 root root 98304 Oct 16 08:48 tmp      
drwxr-xr-x  13 root root  4096 Jun 11 23:38 usr      
drwxr-xr-x  19 root root  4096 Jun 11 23:38 var      

列出可讀檔案和檔案夾詳細資訊

[root@localhost /]# ls -lh      
total 254K      
drwxr-xr-x   2 root root 4.0K Jun 12 04:03 bin      
drwxr-xr-x   4 root root 1.0K Jun 15 14:45 boot      
drwxr-xr-x   6 root root 4.0K Jun 12 10:26 data      
drwxr-xr-x  10 root root 3.5K Sep 26 15:38 dev      
drwxr-xr-x  75 root root 4.0K Oct 16 04:02 etc      
drwxr-xr-x   4 root root 4.0K Jun 12 10:26 home      
drwxr-xr-x  14 root root  12K Jun 16 04:02 lib      
drwx------   2 root root  16K Jun 11 22:46 lost+found      
drwxr-xr-x   2 root root 4.0K May 11  2011 media      
drwxr-xr-x   2 root root 4.0K Nov  8  2010 misc      
drwxr-xr-x   2 root root 4.0K May 11  2011 mnt      
drwxr-xr-x   2 root root 4.0K May 11  2011 opt      
dr-xr-xr-x 235 root root    0 Jun 15 11:04 proc      
drwxr-x---   4 root root 4.0K Oct 15 14:43 root      
drwxr-xr-x   2 root root  12K Jun 12 04:03 sbin      
drwxr-xr-x   2 root root 4.0K May 11  2011 selinux      
drwxr-xr-x   2 root root 4.0K May 11  2011 srv      
drwxr-xr-x  11 root root    0 Jun 15 11:04 sys      
drwxrwxrwt   3 root root  96K Oct 16 08:49 tmp      
drwxr-xr-x  13 root root 4.0K Jun 11 23:38 usr      
drwxr-xr-x  19 root root 4.0K Jun 11 23:38 var      

顯示檔案夾資訊

[root@localhost /]# ls -ld /etc/      
drwxr-xr-x 75 root root 4096 Oct 16 04:02 /etc/      

按時間列出檔案和檔案夾詳細資訊

[root@localhost /]# ls -lt      
total 254      
drwxrwxrwt   3 root root 98304 Oct 16 08:53 tmp      
drwxr-xr-x  75 root root  4096 Oct 16 04:02 etc      
drwxr-x---   4 root root  4096 Oct 15 14:43 root      
drwxr-xr-x  10 root root  3520 Sep 26 15:38 dev      
drwxr-xr-x  14 root root 12288 Jun 16 04:02 lib      
drwxr-xr-x   4 root root  1024 Jun 15 14:45 boot      
drwxr-xr-x  11 root root     0 Jun 15 11:04 sys      
dr-xr-xr-x 232 root root     0 Jun 15 11:04 proc      
drwxr-xr-x   6 root root  4096 Jun 12 10:26 data      
drwxr-xr-x   4 root root  4096 Jun 12 10:26 home      
drwxr-xr-x   2 root root  4096 Jun 12 04:03 bin      
drwxr-xr-x   2 root root 12288 Jun 12 04:03 sbin      
drwxr-xr-x  13 root root  4096 Jun 11 23:38 usr      
drwxr-xr-x  19 root root  4096 Jun 11 23:38 var      
drwx------   2 root root 16384 Jun 11 22:46 lost+found      
drwxr-xr-x   2 root root  4096 May 11  2011 media      
drwxr-xr-x   2 root root  4096 May 11  2011 mnt      
drwxr-xr-x   2 root root  4096 May 11  2011 opt      
drwxr-xr-x   2 root root  4096 May 11  2011 selinux      
drwxr-xr-x   2 root root  4096 May 11  2011 srv      
drwxr-xr-x   2 root root  4096 Nov  8  2010 misc      

按修改時間列出檔案和檔案夾詳細資訊

[root@localhost /]# ls -ltr      
total 254      
drwxr-xr-x   2 root root  4096 Nov  8  2010 misc      
drwxr-xr-x   2 root root  4096 May 11  2011 srv      
drwxr-xr-x   2 root root  4096 May 11  2011 selinux      
drwxr-xr-x   2 root root  4096 May 11  2011 opt      
drwxr-xr-x   2 root root  4096 May 11  2011 mnt      
drwxr-xr-x   2 root root  4096 May 11  2011 media      
drwx------   2 root root 16384 Jun 11 22:46 lost+found      
drwxr-xr-x  19 root root  4096 Jun 11 23:38 var      
drwxr-xr-x  13 root root  4096 Jun 11 23:38 usr      
drwxr-xr-x   2 root root 12288 Jun 12 04:03 sbin      
drwxr-xr-x   2 root root  4096 Jun 12 04:03 bin      
drwxr-xr-x   4 root root  4096 Jun 12 10:26 home      
drwxr-xr-x   6 root root  4096 Jun 12 10:26 data      
dr-xr-xr-x 232 root root     0 Jun 15 11:04 proc      
drwxr-xr-x  11 root root     0 Jun 15 11:04 sys      
drwxr-xr-x   4 root root  1024 Jun 15 14:45 boot      
drwxr-xr-x  14 root root 12288 Jun 16 04:02 lib      
drwxr-xr-x  10 root root  3520 Sep 26 15:38 dev      
drwxr-x---   4 root root  4096 Oct 15 14:43 root      
drwxr-xr-x  75 root root  4096 Oct 16 04:02 etc      
drwxrwxrwt   3 root root 98304 Oct 16 08:54 tmp      

按照特殊字元對檔案進行分類

[root@localhost nginx-1.2.1]# ls -F      
auto/  CHANGES  CHANGES.ru  conf/  configure*  contrib/  html/  LICENSE  Makefile  man/  objs/  README  src/      

列出檔案并标記顔色分類

[root@localhost nginx-1.2.1]# ls --color=auto      
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src      

 cd指令

cd (選項) (參數)      

-p 如果要切換到的目标目錄是一個符号連接配接,直接切換到符号連接配接指向的目标目錄      
-L 如果要切換的目标目錄是一個符号的連接配接,直接切換到字元連接配接名代表的目錄,而非符号連接配接所指向的目标目錄。      
- 當僅實用"-"一個選項時,目前工作目錄将被切換到環境變量"OLDPWD"所表示的目錄。      

cd    進入使用者主目錄;      
cd ~  進入使用者主目錄;      
cd -  傳回進入此目錄之前所在的目錄;      
cd ..  傳回上級目錄(若目前目錄為“/“,則執行完後還在“/";".."為上級目錄的意思);      
cd ../..  傳回上兩級目錄;      
cd !$  把上個指令的參數作為cd參數使用。      

pwd指令

pwd(選項)      

--help:顯示幫助資訊;      
--version:顯示版本資訊。      

[root@localhost ~]# pwd      
/root      

繼續閱讀