文章作者:Tyan
博客:noahsnail.com ?|? CSDN ?|? 簡書
在Linux系統(tǒng)中,要想知道系統(tǒng)中有哪些文件,可以使用列表命令——ls。下面是ls命令的一些用法。
1. ls
ls命令的最基本形式會(huì)顯示當(dāng)前目錄下的文件和目錄查库,ls命令輸出的列表是按字母排序的,并且是按列排序而不是行排序黄琼。
# 命令形式:ls
# 例子
$ ls
01_intro.pdf Effective Java 第二版 中文版.pdf HTTP權(quán)威指南.pdf spring-boot-reference-guide-zh.pdf spring-framework-reference.pdf
DeepLearningBook.pdf Effective_Java_2nd_Edition.pdf code-complete-2nd-edition-v413hav.pdf spring-boot-reference.pdf
2. ls -F
帶-F
參數(shù)的ls命令可以區(qū)分文件和目錄樊销,-F
參數(shù)在目錄后面加了/
,以便區(qū)分文件和目錄脏款,在可執(zhí)行文件后面加了*
围苫,以便區(qū)分系統(tǒng)中可以運(yùn)行的文件。
# 命令形式:ls -F
# 例子
$ ls -F
pom.xml src/ target/
3. ls -a
Linux經(jīng)常使用隱藏文件來保存配置信息撤师,隱藏文件的文件名通常以.
開頭剂府。ls命令默認(rèn)情況下是不顯示隱藏文件的,-a
參數(shù)就是將隱藏文件一起顯示出來剃盾。
# 命令形式:ls -a
# 例子
$ ls -a
. .. .DS_Store pom.xml src target
4. ls -R
-R
參數(shù)叫做遞歸選項(xiàng)腺占,它會(huì)列出當(dāng)前目錄下包含的子目錄中的文件。
# 命令形式:ls -R
# 例子
$ ls -R
pom.xml src target
./src:
main
./src/main:
java
./src/main/java:
Example.java
./target:
classes maven-archiver myproject-0.0.1-SNAPSHOT.jar
generated-sources maven-status myproject-0.0.1-SNAPSHOT.jar.original
./target/classes:
Example.class
./target/generated-sources:
annotations
./target/generated-sources/annotations:
./target/maven-archiver:
pom.properties
./target/maven-status:
maven-compiler-plugin
./target/maven-status/maven-compiler-plugin:
compile
./target/maven-status/maven-compiler-plugin/compile:
default-compile
./target/maven-status/maven-compiler-plugin/compile/default-compile:
createdFiles.lst inputFiles.lst
備注: ls命令的參數(shù)可以分開輸入痒谴,例如ls -R -F
衰伯,也可以合并,例如ls -FR
积蔚。
5. ls -l
-l
參數(shù)是在顯示文件的同時(shí)意鲸,加上文件的附加信息。每行是一個(gè)文件及其相關(guān)信息
# 命令形式:ls -l
# 例子
$ ls -l
total 8
-rw-r--r-- 1 *** staff 1837 10 14 20:26 pom.xml
drwxr-xr-x 4 *** staff 136 10 14 13:07 src
drwxr-xr-x 9 *** staff 306 10 14 20:33 target
每行信息解釋尽爆,按順序怎顾,以第一行為例:
文件類型,目錄為
d
漱贱,文件為-
槐雾,字符型文件為c
,塊設(shè)備為b
饱亿。第一行為-
。文件的權(quán)限,讀寫可執(zhí)行等權(quán)限彪笼。第一行為
rw-r--r--
钻注。文件的硬盤鏈接綜述。第一行為
1
配猫。文件屬主(屬于誰)的用戶名幅恋。第一行為
***
。文件屬組(屬于哪個(gè)組)的組名泵肄。第一行為
staff
捆交。文件的大小,以字節(jié)為單位腐巢。第一行為
1837
品追。文件的最后一次修改時(shí)間。第一行為
10 14 20:26
冯丙。文件名或目錄名肉瓦。第一行為
pom.xml
。
6. ls文件過濾
ls還支持定義過濾器胃惜。通過過濾器可以決定顯示哪些文件或目錄泞莉。過濾器就是一個(gè)簡單的文本匹配字符串。過濾器支持通配符船殉,?
代表一個(gè)字符鲫趁,*
代表零個(gè)或多個(gè)字符。當(dāng)匹配目錄是會(huì)顯示目錄下的內(nèi)容利虫。
除了? *
之外挨厚,還支持[ ]
。
# 命令形式:ls 過濾器
# 例子
$ ls *om.xml
pom.xml
$ ls ?om.xml
pom.xml
# 匹配字符a,p
$ ls [ap]om.xml
pom.xml
# 匹配字符a-p列吼,即a,b,...,p
$ ls [a-p]om.xml
pom.xml
# 匹配非p開頭的文件
$ ls [!p]om.xml
ls: [!p]om.xml: No such file or directory
# 匹配非a開頭的文件
$ ls [!a]om.xml
pom.xml
參考文獻(xiàn):
- Linux命令行與shell腳本編程大全(第三版)