## ls命令
[TOC]
>[info] ls命令用來顯示目標列表,在Linux中是使用率較高的命令。
ls命令的輸出信息可以進行彩色加亮顯示,以分區不同類型的文件。
### 語法
`ls (選項) (參數)`
### 選項
>[success] -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:顯示文件和目錄的大小,以區塊為單位;
-S?根據文件大小排序
–sort=WORD?以下是可選用的?WORD?和它們代表的相應選項;
-u?配合?
-lt:顯示訪問時間而且依訪問時間排序
配合?
-l:顯示訪問時間但根據名稱排序,否則:根據訪問時間排序
-U?不進行排序;依文件系統原有的次序列出項目
-v?根據版本進行排序
-w,?–width=COLS?自行指定屏幕寬度而不使用目前的數值
-x?逐行列出項目而不是逐欄列出
-X?根據擴展名排序
-t:用文件和目錄的更改時間排序;
-L:如果遇到性質為符號鏈接的文件或目錄,直接列出該鏈接所指向的原始文件或目錄;
-R:遞歸處理,將指定目錄下的所有文件及子目錄一并處理;
--full-time:列出完整的日期與時間;
--color[=WHEN]:使用不同的顏色高亮顯示不同類型的。
### 參數
目錄:指定要顯示列表的目錄,也可以是具體的文件。
## 實例
### 顯示當前目錄下非隱藏文件與目錄
命令:`ls`
輸出:
~~~
[root@localhost ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog
~~~
### 顯示當前目錄下包括影藏文件在內的所有文件列表
~~~
[root@localhost ~]# ls -a
. .chewing .gnome install.log.syslog .tcshrc
.. .cshrc .gnome2 .metacity .thumbnails
anaconda-ks.cfg Desktop .gnome2_private .mozilla .Trash
.bash_history .dmrc .gstreamer-0.10 .mysql_history .viminfo
~~~
### 輸出長格式列表
命令:`ls -l`
輸出:
~~~
[root@localhost ~]# ls -l
總計 56
-rw------- 1 root root 1150 07-08 20:30 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 07-08 12:35 Desktop
-rw-r--r-- 1 root root 26609 07-08 20:29 install.log
-rw-r--r-- 1 root root 4257 07-08 20:28 install.log.syslog
~~~
### 水平輸出文件列表
命令:`ls -m`
輸出:
~~~
[root@localhost /]# ls -m
bin, boot, data, dev, etc, home, lib, lost+found, media, misc, mnt, net, opt,
proc, root, sbin, selinux, srv, sys, test, tmp, usr, var
~~~
### 最近修改的文件顯示在最上面
命令:`ls -t`
輸出:
~~~
[root@localhost /]# ls -t
tmp dev misc sys data bin mnt opt var usr lost+found srv
test net etc proc root lib sbin home boot selinux media
~~~
### 遞歸顯示文件
命令:`ls -R`
輸出:
~~~
[root@localhost ~]# ls -R
.:
anaconda-ks.cfg Desktop install.log install.log.syslog
./Desktop:
~~~
### 打印文件列表的UID和GID信息
命令:`ls -n`
輸出:
~~~
[root@localhost /]# ls -n
總計 154
drwxr-xr-x 2 0 0 4096 09-10 16:30 bin
drwxr-xr-x 4 0 0 1024 07-08 20:25 boot
drwxr-xr-x 2 0 0 4096 09-12 18:17 data
drwxr-xr-x 10 0 0 3820 09-14 09:10 dev
drwxr-xr-x 99 0 0 12288 09-14 09:10 etc
drwxr-xr-x 4 0 0 4096 08-01 10:46 home
drwxr-xr-x 13 0 0 4096 09-10 16:30 lib
drwx------ 2 0 0 16384 07-08 20:22 lost+found
drwxr-xr-x 2 0 0 4096 2010-01-27 media
...
~~~
### 列出文件的文件和文件夾詳細信息
命令:`ls -lh`
輸出:
~~~
[root@localhost /]# ls -lh
總計 154K
drwxr-xr-x 2 root root 4.0K 09-10 16:30 bin
drwxr-xr-x 4 root root 1.0K 07-08 20:25 boot
drwxr-xr-x 2 root root 4.0K 09-12 18:17 data
drwxr-xr-x 10 root root 3.8K 09-14 09:10 dev
...
~~~
### 顯示文件夾信息
命令: `ls -ld 目錄名`
輸出:
~~~
[root@localhost /]# ls -ld /etc/
drwxr-xr-x 99 root root 12288 09-14 13:37 /etc/
~~~
### 按時間列出文件和文件夾詳細信息
命令:`ls -lt`
輸出:
~~~
[root@localhost /]# ls -lt
總計 154
drwxr-xr-x 99 root root 12288 09-14 13:37 etc
drwxrwxrwt 4 root root 4096 09-14 10:15 tmp
drwxr-xr-x 2 root root 4096 09-14 09:49 test
drwxr-xr-x 10 root root 3820 09-14 09:10 dev
drwxr-xr-x 2 root root 0 09-14 09:10 net
drwxr-xr-x 2 root root 0 09-14 09:10 misc
drwxr-xr-x 11 root root 0 09-14 09:09 sys
dr-xr-xr-x 116 root root 0 09-14 09:09 proc
drwxr-xr-x 2 root root 4096 09-12 18:17 data
drwxr-x--- 18 root root 4096 09-11 15:41 root
drwxr-xr-x 2 root root 4096 09-10 16:30 bin
~~~
### 按修改時間列出文件和文件夾詳細信息
命令:`ls -lrv`
輸出:
~~~
[root@localhost /]# ls -lrv
總計 154
drwxr-xr-x 21 root root 4096 07-08 20:28 var
drwxr-xr-x 14 root root 4096 07-08 20:23 usr
drwxrwxrwt 4 root root 4096 09-14 10:15 tmp
drwxr-xr-x 2 root root 4096 09-14 09:49 test
drwxr-xr-x 11 root root 0 09-14 09:09 sys
drwxr-xr-x 2 root root 4096 2010-01-27 srv
drwxr-xr-x 2 root root 4096 07-08 20:22 selinux
~~~
### 按照特殊字符進行分類
命令:`ls -F`
輸出:
~~~
[root@localhost nginx-1.2.9]# ls -F
auto/ CHANGES.ru configure* html/ Makefile objs/ src/
CHANGES conf/ contrib/ LICENSE man/ README
~~~
### 列出文件并標記顏色分類
命令:`ls --color=auto`
輸出:
~~~
[root@localhost nginx-1.2.9]# ls --color=auto
auto CHANGES.ru configure html Makefile objs src
CHANGES conf contrib LICENSE man README
~~~
## 命令擴展
### 顯示彩色目錄列表
打開/etc/bashrc,?加入如下一行:
`alias ls="ls --color"`
下次啟動bash時就可以像在Slackware里那樣顯示彩色的目錄列表了,?其中顏色的含義如下:
>[success] 1. 藍色-->目錄
> 2. 綠色-->可執行文件
> 3. 紅色-->壓縮文件
> 4. 淺藍色-->鏈接文件
> 5. 灰色-->其他文件
- Linux的安裝
- Linux的軟件安裝管理
- Linux零碎的命令
- 了解ssh
- 系統調優及安全設置
- Linux系統中的硬鏈接和軟連接
- Linux文件和目錄的屬性及權限
- 命令總結
- 文件目錄管理命令
- cat
- cd
- cp
- ls
- mkdir
- mv
- rm
- touch
- vi
- 硬件檢測內核shell命令
- echo
- alias
- dd
- diff
- date
- grep(重要)
- head
- rpm
- sed(重要)
- tree
- unalias
- yum
- seq
- su
- less
- more
- tail
- awk(重要)
- pwd
- history
- whoami
- find(重要)
- which
- vimdiff
- sudo
- wget
- ln
- chmod
- chown
- vim常用技巧
- scp
- 工作場景應用總結
- 自動刪除n天前日志
- 刪除一個目錄下的所有文件但保留一個文件
- Linux軟件安裝
- php安裝(apache版本)
- vsftpd安裝
- git安裝
- python安裝
- LNMP安裝
- LAMP安裝I
- LAMP安裝II
- svn安裝
- svn在Linux下的命令操作
- svn鉤子簡介
- svn代碼上傳流程
- Crond介紹
- sersync應用指南
- 其他
- 小結一
- 系統調優重新整理tmp
- linux禁止root用戶直接登錄sshd并修改默認端口