ls 命令用来显示目标列表, 在 Linux 中是使用率较高的命令. ls 命令的输出信息可以进行彩色加亮显示, 以分区不同类型的文件.
语法
$ ls [选项] [目录]
选项 | 说明 |
---|---|
-a | 显示所有档案及目录(ls 内定将档案名或目录名称为 “.” 的视为影藏,不会列出) |
-A | 显示除影藏文件 “.” 和“..”以外的所有文件列表 |
-C | 多列显示输出结果。这是默认选项 |
-l | 与 “-C” 选项功能相反,所有输出信息用单列格式输出,不输出为多列 |
-F | 在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“ |
-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] | 使用不同的颜色高亮显示不同类型的。 |
注:
ll 命令显示所有文件和目录的详细信息 (包括. 和.. 和隐藏目录).
la 显示除. 和.. 外的所有目录与文件.
pwd 命令
显示当前目录
cd 命令
参数 | 说明 |
---|---|
- | 上一所在目录 |
~ | 当前用户 home |
例如
$ cd ~
新建目录
$ mkdir [文件名]
使用 -p 参数可以创建多级目录:
$ mkdir -p father/son/grandson
删除目录
rm -r [目录名]
-r 迭代删除子目录.
复制目录
$ cp -r [目录 1] [目录 2]
将目录1复制到目录2下.
注:-r 为迭代复制, 即将目录1下的子目录一同复制到目录2下, 如果目录1存在子目录而不加 - r 会报错.
移动目录
$ mv [源目录] [目的目录]
重命名文件
单一重命名可以用mv实现
$ mv [文件1] [文件2]
将文件1从命名为文件2.
批量重命名
- # 使用通配符批量创建 5 个文件:
- $ touch file{1..5}.txt
- # 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:
- $ rename 's/\.txt/\.c/' *.txt
- # 批量将这 5 个文件, 文件名和后缀改为大写:
- $ rename 'y/a-z/A-Z/' *.c
rename 第一个参数提供的正则表达式将匹配的这些文件的 .txt 后缀替换为 .c, 第二个参数的通配符匹配所有后缀为 .txt 的文件.
Shell 常用通配符
字符 | 含义 |
---|---|
* | 匹配 0 或多个字符 |
? | 匹配任意一个字符 |
[list] | 匹配 list 中的任意单一字符 |
[!list] | 匹配 除 list 中的任意单一字符以外的字符 |
[c1-c2] | 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] |
{string1,string2,...} | 匹配 string1 或 string2 (或更多) 其一字符串 |
{c1..c2} | 匹配 c1-c2 中全部字符 如 {1..10} |
来源: http://www.bubuko.com/infodetail-2659766.html