pwd
用于查看当前所在目录,即工作目录(working directory)
格式如下
pwd [选项]
选项如下
选项 | 说明 |
---|---|
-L, --logical | 显示当前的逻辑位置,如果是软链接就是软链接本身的位置,是默认的选项 |
-P, --physical | 显示当前的物理位置,如果是软链接就是软链接指向的位置 |
cd
切换到指定目录下,如果不指定默认为用户家目录。 当目录为字符“-”,表示切换到上次进入的目录,这个很有用
格式如下
cd [选项] [目录]
选项如下
选项 | 说明 |
---|---|
-L | 进入到指定目录的逻辑位置,如果是软链接就是软链接本身的位置,是默认的选项 |
-P | 进入到指定目录的物理位置,如果是软链接就是软链接指向的位置 |
L -> Logical | P -> Physical
ls
输出指定目录下的文件和目录,如果不指定默认为当前目录
格式如下
ls [选项] [文件或目录...]
选项如下
选项 | 说明 |
---|---|
-a, --all | 包含隐藏文件和目录 |
-A, --almost-all | 输出除了名为.和..的目录以外的文件和目录 |
--block-size=SIZE | 指定区块大小 |
-C | 每行输出多列,当输出是终端时这个是默认启用的 |
-d, --directory | 输出目录本身,不会输出子目录和文件 |
-F | 目录的后面多一个斜杠(/) |
-h, --human-readable | 以K,M,G为单位,更加易读 |
--si | 与-h参数相同,但是K,M,G是以1000为换算单位 |
-i, --inodes | 显示inode信息,而不是大小 |
-I, --ignore=PATTERN | 过滤掉指定正则的文件和目录 |
-L, --dereference | 输出软链接对应的源文件的信息q |
-l | 以长格式的形式输出 |
-m | 用逗号分割输出 |
-r, --reverse | 反向排序输出 |
-R, --recursive | 递归输出 |
-s, --size | 按块为单位输出文件的大小 |
-S | 按文件的大小降序输出 |
-t | 按文件的修改时间降序输出 |
-1 | 强制每一项输出内容都用一行,当输出不是终端时这个是默认启用的 |
C -> column | l -> long
mv
移动文件或者目录,或者移动和重命名源文件
- 如果目的是目录,则是移动
- 如果目的是文件,并且目的文件所在的目录和源文件相同,则是重命名
- 如果目的是文件(此时源不能是目录),并且目的文件所在的目录和源文件不同,则是移动和重命名
格式如下
mv [选项] <源文件或目录> <目的文件或目录>
选项如下
选项 | 说明 |
---|---|
-f, --force | 如果文件或目录已经存在,则强制执行 |
-i, --interactive | 如果文件或目录已经存在,则提示用户选择 |
-n, --no-clobber | 如果文件或目录已经存在,则放弃执行 |
注意:-f,-i,-n 中后指定选项的会覆盖先指定的
cp
复制文件或者目录
格式如下
cp [选项] <源文件或目录> <目的文件或目录>
选项如下
选项 | 说明 |
---|---|
-a, --archive | 使用归档模式,类似-dR --preserve |
-d | 类似--no-dereference --preserve |
-f, --force | 如果文件或目录已经存在,则强制执行 |
-i, --interactive | 如果文件或目录已经存在,则提示用户选择 |
-l, --link | 建立硬连接而不是拷贝 |
-L, --dereference | 拷贝软链接文件对应的源文件 |
-p | 保留模式、所属、和时间 |
-P, --no-dereference | 拷贝软链接文件本身 |
-n, --no-clobber | 如果文件或目录已经存在,则放弃执行 |
-r, -R, --recursive | 递归拷贝目录 |
-s, --symbolic-link | 建立软连接而不是拷贝 |
-u, --update | 只拷贝更新的文件 |
注意:-f,-i,-n 中后指定选项的会覆盖先指定的
scp
拷贝文件到远程主机
scp [选项] [[用户@]主机:]<文件1> ... [[用户@]主机:]<文件n>
选项如下
选项 | 说明 |
---|---|
-p | 保留模式、所属、和时间 |
-q | 不显示复制进度 |
-r | 递归处理目录 |
touch
修改文件的时间,如果文件不存在则创建一个空文件
格式如下
touch [选项] <文件>
选项如下
选项 | 说明 |
---|---|
-a | 改变文件的访问时间 |
-m | 改变文件的修改时间 |
-d, --date=STRING | 使用指定的字符串改变访问时间和修改时间 |
-t TIMESTAMP | 使用指定的时间戳改变访问时间和修改时间 |
a -> access | m -> modify | t -> timestamp
rm
删除文件或者目录
格式如下
rm [选项] <文件或目录>
选项如下
选项 | 说明 |
---|---|
-f, --force | 如果文件或目录已经存在,则强制执行 |
-i | 如果文件或目录已经存在,则提示用户选择,每次都提示 |
-I | 如果文件或目录已经存在,则提示用户选择,只提示一次 |
--interactive[=WHEN] | never(从不), once (等同于-I), always (等同于-i,默认选项) |
-r, -R, --recursive | 递归删除目录,删除目录时必须的选项 |
-d, --dir | 删除空目录 |
注意:-f,-i 中后指定选项的会覆盖先指定的
mkdir
创建目录
格式如下
mkdir [选项] <目录>
选项如下
选项 | 说明 |
---|---|
-p, --parents | 如果父目录不存在,则创建父目录 |
rmdir
删除目录
格式如下
rmdir [选项] <目录>
选项如下
选项 | 说明 |
---|---|
-p, --parents | 删除该目录和所有的祖先目录,危险选项,容易删除根目录 |
tree
tree命令可以用树的形式显示文件结构
格式如下
tree [选项] [目录]
选项如下
选项 | 说明 |
---|---|
-a | 显示所有文件,包括隐藏文件 |
-d | 只显示目录 |
-f | 显示全路径 |
-L level | 指定书的最大显示深度 |
-l | 如果文件为符号链接,列出符号链接的源文件 |
-P PATTERN | 显示符合glob匹配的文件 |
-I PATTERN | 不显示符合glob匹配的文件 |
-p | 输出文件类型和权限 |
-u | 输出文件的用户名或uid |
-g | 输出文件的组名或gid |
-s | 输出文件的大小,以字节为单位 |
-h | 以K,M,G为单位,更加易读 |
--si | 与-h参数相同,但是K,M,G是以1000为换算单位 |
--du | 统计目录下子文件和目录的大小 |
-F | 目录的后面多一个斜杠(/) |
-r | 输出按相反的顺序输出 |
-t | 按文件的修改时间排序 |
-c | 按文件的状态时间排序 |
--dirsfirst | 目录在文件的前面 |
stat
显示文件的状态信息
格式如下
stat [选项] <文件...>
file
探测给定文件的类型
格式如下
file [选项] <文件>
选项如下
选项 | 说明 |
---|---|
-b, --brief | 列出辨识结果时,不显示文件名称 |
-c | 显示详细的执行过程,便于排错或分析程序的执行 |
-f, --files-from FILENAME | 从指定文件中获取文件名,短横杠则从标准输入中获取 |
-i, --mime | 显示MIME类型 |
-h, --no-dereference | 显示软链接本身的文件类型 |
-L, --dereference | 显示软链接源文件的文件类型 |
-m MAGIC_FILES | 指定魔法数字文件 |
-v | 显示版本信息 |
-z | 尝试去解读压缩文件的内容 |
dirname
去除文件名中的非目录部分,仅显示目录部分
格式如下
dirname [选项] <名称字符串...>
basename
去除文件名中的非文件名部分,仅显示文件名部分
格式如下
basename [选项] <名称字符串...>
选项如下
选项 | 说明 |
---|---|
-a, --multiple | 所有的参数都视为名称,否则第二个参数为后缀 |
-s, --suffix=SUFFIX | 取出指定后缀名 |
readlink
如果文件是软链接,查看文件对应的源文件
格式如下
readlink [选项] <文件>
选项如下
选项 | 说明 |
---|---|
-f, --canonicalize | 递归查找源文件,最后一个源文件必须存在 |
-e, --canonicalize-existing | 递归查找源文件,所有的源文件都必须存在 |
-m, --canonicalize-missing | 递归查找源文件,源文件不一定要真实存在 |