在Linux和类Unix系统中,`ls`命令用于列出目录中的文件和子目录。以下是一些常用的`ls`命令选项及其用法:
基本用法
`ls`:列出当前目录下的所有文件和目录。
`ls <文件名>`:列出指定文件的内容。
长格式输出
`ls -l`:以长格式列出文件和目录的详细信息,包括权限、所有者、大小和最后修改时间。
示例输出:
```
-rw-r--r-- 1 user group 1234 Jan 1 12:00 document.txt
-rw-r--r-- 1 user group 2048 Jan 1 12:05 picture.jpg
-rwxr-xr-x 1 user group 1024 Jan 1 12:10 video.mp4
```
显示隐藏文件
`ls -a`:列出所有文件,包括以点(.)开头的隐藏文件。
示例输出:
```
.
..
.document.txt
.hiddenfile
picture.jpg
video.mp4
```
人类可读的文件大小
`ls -lh`:与`-l`一起使用时,以KB、MB、GB等人类可读的格式显示文件大小。
示例输出:
```
-rw-r--r-- 1 user group 1.2K Jan 1 12:00 document.txt
-rw-r--r-- 1 user group 2.0K Jan 1 12:05 picture.jpg
-rwxr-xr-x 1 user group 1.0M Jan 1 12:10 video.mp4
```
按文件修改时间排序
`ls -t`:按文件修改时间从新到旧排序。
示例输出:
```
-rw-r--r-- 1 user group 1.0M Jan 1 12:10 video.mp4
-rw-r--r-- 1 user group 2.0K Jan 1 12:05 picture.jpg
-rw-r--r-- 1 user group 1.2K Jan 1 12:00 document.txt
```
反向排序结果
`ls -r`:按文件修改时间从旧到新排序。
示例输出:
```
-rw-r--r-- 1 user group 1.2K Jan 1 12:00 document.txt
-rw-r--r-- 1 user group 2.0K Jan 1 12:05 picture.jpg
-rwxr-xr-x 1 user group 1.0M Jan 1 12:10 video.mp4
```
递归列出所有子目录
`ls -R`:递归列出所有子目录的内容。
示例输出:
```
directory/
├── file1.txt
├── file2.txt
└── subdir/
├── file3.txt
└── file4.txt
```
仅列出目录本身
`ls -d`:仅列出目录本身,而不是目录的内容。
示例输出:
```
directory/
```
显示每个文件的inode号
`ls -i`:显示每个文件的inode号。
示例输出:
```
123456 -rw-r--r-- 1 user group 1.2K Jan 1 12:00 document.txt
789012 -rw-r--r-- 1 user group 2.0K Jan 1 12:05 picture.jpg
456789 -rwxr-xr-x 1 user group 1.0M Jan 1 12:10 video.mp4
```
这些选项可以组合使用,例如:
`ls -la`:列出所有文件(包括隐藏文件)以及它们的详细信息。
`ls -lhrt`:按