您的位置:首页 > 运维架构 > Linux

linux命令之----ls命令查询文件的所有者、权限、时间、大小等信息

2017-03-23 16:35 417 查看
1、ls命令作用

ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)

2、ls命令结构



drwxr-xr-x  2 root root 4.0K  3月  23  2017  etc



d”  
表示文件的类型为目录

“[b][b]rwx[/b]”
表示文件所有者的权限:r是读,w是写,x是执行[/b]

[b]“[b]r-x”  
表示文件所有者所在同一个组的用户所具有的权限[/b][/b]

[b][b][b][b]“[b]r-x”  
表示文件其他用户所具有的权限[/b][/b][/b][/b]
[/b]

2”是纯数字
,表示 文件链接个数  

第一个“root” 表示文件的所有者   

第二个“root
表示为文件的所在群组   

4.0K”,表示为文件长度(大小)
 

3月 
23  2017
”,表示文件最后更新(修改)时间  

etc
表示文件的名称

3、语法

ls [-alrtAFR] [name...]

-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出
4、实例



1. 不带参数运行ls
不带参数运行ls会只列出文件或者目录。看不到其他信息输出(译注:有时候你发现无参数的ls命令和这里描述的不同,那有可能是你的ls命令实际上带参数的ls别名)。

$ ls





2. 使用长清单模式
使用-l字符(小写L字符),会显示当前目录内容的长列表。在接下来的例子中,我们会结合-l参数(这个参数经常使用)来得到更好的结果。

$ ls -l





这里是如何读取输出 :

第1列

第一个字母 d 意味着内容是目录或者文件。在上面的截图中,Desktop、 Documents、 Downloads 和 lynis-1.3.8是目录。如果是'-'(减号 ),这意味着它的内容是文件。当它是l(
小写l字符 ),意味这内容是链接文件。 下面的9个字符是关于文件权限。前3个rwx 字符是文件的拥有者的权限,
第二组3rwx 是文件的所有组的权限, 最后的rwx 是对其他人访问文件的权限。
第2列 这行告诉我们有多少链接指向这个文件。

第3列 这行告诉我们谁是这个文件/文件夹的所有者。

第4列 这行告诉我们谁是这个文件/文件夹的所有组。

第5列 这行告诉我们这个文件/文件夹的以字节为单位的大小。 目录的大小总是4096字节。

第6列 这告诉我们文件最后的修改时间。

第7列 这告诉我们文件名或者目录名。

3. 显示文件大小
以字节为单位看大小可能会不方便。6.5M读起来比6727680字节更简单。要这么做,我们可以使用-h与-l 结合的参数。-h参数意味着便于人识别

$ ls -lh





另外一个可以这么做的参数是 --si 。这个参数和-h参数类似,但是-si以1000为单位,而-h以1024为单位

$ ls -si





4. 排序文件大小
在我们可以显示文件大小之后,我们希望以文件大小排序。我们可以使用-S参数来这么做。这列表会从大到校排序。

$ ls -lhS





5. 测量大小
ls可以通过使用 -block-size=SIZE 改单位大小。这里的SIZE是:

K = KilobyteM = MegabyteG = GigabyteT = TerabyteP = PetabyteE = ExabyteZ = ZettabyteY = Yottabyte

比如,我们希望使用MB作为单位大小。所以语法就会像这样:

$ ls -l --block-size=M



6. 显示隐藏文件
在Linux中,以"."( 点号 )开头的文件是隐藏文件。为了在ls命令中显示它,我们可以使用-a 选项。

$ ls -a



7. 只列出目录条目
如果我们希望只列出目录,我们可以使用 -d 选项。

$ ls -d */



8. 不打印所有者信息
要这么做,我们使用 -g 选项。

$ ls -g



9. 不打印组信息
-g隐藏了拥有者信息, —G 会隐藏组信息。

$ ls -lG



10. 打印UID和GID
如果你想以数字方式列出项的所有者和所有组(即UID和GID),我们可以带-n 选项使用ls命令。这里是个例子。

$ ls -n



从上面的例子中,我们知道 用户pungki的UID 是100,GID是1000 ,而
root组的GID是0

11. 不带颜色打印
一些Linux发行版已经对ls命令启用彩色。这会使ls以各种颜色打印列表。如果你不想要这样,你可以使用--color=never 参数。

$ ls --color=never



12. 打印每个文件的索引号
为了打印索引或者大家俗称的inode号,我们可以使用-i选项。索引号会显示在第一列。

$ ls -li



13. 增加 / (斜线) 标记目录
要这么做,使用 -p选项

$ ls -p



14. 排序时反转顺序
你或许需要在列出条目时反转顺序。要这么做,你可以使用
-r 选项。

$ ls -r



15. 递归列出子目录
-R 参数后,你可以列出包含它子目录的目录。

$ ls -R



16. 扩展名排序
你可以使用-X参数或者--sort=extension来通过扩展名来排序(译注:这样对于筛选不同类型的文件很有用)。

$ ls -lX





17. 通过修改时间列出
使用-t选项会按修改时间排序,新的文件在前。

$ ls -lt



18. 列出你的主目录
要列出你的主目录,你可以用"~"( 波浪号 )来代表它。这样你就不必输入完整的目录名。让我们假设家文件名为/home/pungki ,那么
波浪号 就对/home/pungki有意义了。

$ ls ~



19. 列出父目录
无论你在那个目录,你可以列出父目录而不必输入完整路径。这是个例子。

$ ls ../

这回列出 1 层之上的目录内容。

$ ls ../../

这回列出 2 层之上的目录内容(译注:可不支持“...”来代表2层之上)。



20. 打印ls命令版本
使用--version参数打印它。

$ ls --version

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: