目录
命令基本格式
命令 [选项] 参数
短选项:即短小选项,通常包含一个连字号和一个字母。类似的形式如 -s、-l等 长选项:通常包含两个连字号和多个字母。类似的形式如 --size、--help等
显示目录下内容:
语法:
ls [选项] 文件名或目录名
选项:
-a: 显示包括隐藏文件在内的所有文件 -d: 显示指定目录 -i: 显示指定目录下文件和目录的节点号 -l: 可以显示指定目录的总用量和目录下所有文件的详细信息;也可以单独对某一个文件使用,获得单个文件的详细信息 -r: 倒序显示指定目录下的文件和目录 -F: 列出文件或目录,目录会以/结尾
扩展:
-iR 将指定目录下的目录文件和子目录文件以树状图的形式输出 -lh 显示指定目录和目录下所有文件和目录的大小 ls [选项]/ls:直接显示当前目录的所有文件和目录 ls 目录名:显示指定目录下的所有文件和目录 ls 路径名:显示该路径下的所有文件和目录
目录切换命令:
语法:
cd [目录名称]
命令:
~ 跳转到用户目录 - 返回上一个所在的目录 . 当前目录 .. 上一级目录
扩展:
../.. 连续返回上层目录 目录名/目录名 跳转到指定的目录 空 跳转到用户目录
创建目录命令:
语法:
mkdir [选项] 目录名
选项:
-p: 递加创建目录 -m: 在创建目录时设置目录权限 -v: 显示创建目录的过程
扩展:
mkdir 目录名 目录名 :在当前目录下同时创建多个目录 mkdir -p 目录名 :可以输入已有的目录名而不报错,同时也不会对原有目录里的内容进行更改
删除目录命令:
语法:
rmdir [选项] 目录名
选项:
-p: 递加删除目录与子目录 -v: 显示删除目录的过程
扩展:
rmdir 目录名 目录名 :在当前目录下同时删除多个目录 如果要删除的目录里包含隐藏文件,可以先用 rm命令 先将目录中的文件删除,再删除目录,过程如下: rm -r 目录名/.* rmdir 目录名 注: rmdir只能删除空目录
创建文件命令:
语法:
touch [选项] 目录名
选项:
-a: 更改访问时间 -m: 更改修改时间 -d: 更改文件时间 -c: 如果文件不存在,则不会创建文件,如果存在,则修改文件时间
扩展:
--help 显示帮助信息并退出 --version 显示版本信息并退出
查看文件属性:
语法:
stat [选项] 文件名
选项:
-L: 显示指定文件的所有信息 -f: 显示指定文件所在文件系统的信息 -t: 以简洁的方式输出指定文件的信息
扩展:
-c:以特定格式输出文件的某些信息 %a 八进制表示的访问权限 %b 分配的块数 %d 十进制表示的设备号 %f 十六进制表示的 Raw 模式 %g 属主的组 ID %h 硬连接数 %i Inode 号 %n 文件名 %o I/O 块大小 %s 全部占用的字节大小 %t 十六进制的主设备号 %u 属主的用户 ID %x 最后访问时间 %y 最后修改时间 %z 最后改变时间 %A 可读格式表示的访问权限 %B %b参数显示的每个块的字节数 %D 十六进制表示的设备号 %F 文件类型 %G 属主的组名 %N 如果是符号链接,显示器所链接的文件名 %T 十六进制的副设备号 %U 属主的用户名 %X 最后访问时间,自 Epoch 开始的秒数 %Y 最后修改时间,自 Epoch 开始的秒数 %Z 最后改变时间,自 Epoch 开始的秒数
查看文件内容
语法:
cat [选项] 文件名
选项:
-n: 显示文件内容并显示行号 -b: 显示文件内容并显示行号,但不现实空行的行号 -s: 显示文件内容,连续的空行压缩成一个空行 -v: 显示非打印字符,完整显示文件内容
扩展:
-E 显示文件内容,并在每一行的末尾添加 $ 符号 -T 显示文件内容,并将制表符显示为 ^I -A 相当于 -vET 的组合选项 cat 文件名 文件名 可以将多个文件的内容合并输出
分页查询
语法:
more [选项] 文件名
选项:
-c: 尽可能地显示文本即使它涉及到换页符 -d: 每次显示页面之前先清除屏幕内容 -f: 强制显示文件名 -l: 不在任何包含换页的行之后暂停 -p: 不滚屏显示,仅显示一屏的内容 -s: 将多个空行压缩成一个空行 -u: 显示文件内容,并将文件中的下划线去掉
命令:
空格 下一页 b 上一页 回车 下一行 /字符串 搜索指定的字符串 q 退出
单独展示文件内容
语法:
less [选项] 文件名
选项:
-a: 在当前屏幕上显示最后一页 -b: 设置缓冲区,加快文件的加载速度 -c: 文件显示完之后自动退出 -f: 强制打开文件 -i: 显示出来的文件内容搜索不区分大小写 -s: 将多个空行压缩成一个空行 -N: 显示文件的行号 -S: 行过长时间将超出部分舍弃
命令:
/字符串 向下搜索指定字符串 ?字符串 向上搜索指定字符串 b 向后翻一页 d 向后翻半页 h 显示帮助界面 n 重复前一个搜索 q 退出
显示文件开头
语法:
head [选项] 文件名
选项:
-c: 显示前num个字符 -n: 显示前num行 -q: 显示指定文件内容 -v: 显示指定文件内容,并显示指定文件名
扩展:
--help 显示帮助信息并退出 --version 显示版本信息并退出
显示文件结尾
语法:
tail [选项] 文件名
选项:
-f: 循环读取指定文件内容 -n: 显示指定文件中的最后n行数据 -q: 合并显示多个指定文件的内容 -v: 合并显示多个指定文件的内容,并显示文件名
扩展:
tail -n +num 文件名 显示文件末尾到num行的数据 tail -c num 文件名 显示文件末尾num个字节的数据 tail -q -n num 文件名 文件名 合并显示多个文件,并从末尾向上显示num行
文件操作
删除文件命令
语法:
rm [选项] 文件或目录
选项:
-d: 删除空目录 -f: 强制删除文件 -i: 在删除前需要确认 -r: 递归删除,常用于删除带有文件的目录 -v: 显示删除的过程
扩展:
要删除第一个字符为"-"的文件 -ta ,需要使用下面所示方法之一 rm -- -ta rm ./-ta
复制文件命令
语法:
cp [选项] 源文件 目标文件
选项:
-a: 相当于-dpr选项的集合 -d: 如果源文件为软链接(对硬链接无效) ,则复制出的目标也为软链接 -i: 交互式复制。如果目标文件存在,会提示是否覆盖 -p: 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间) -r: 递归复制。递归复制目录1及其所有子目录和文件到目录2。如果目录2不存在,它会被创建 -v: 会显示复制过程
扩展:
-s: 这将不会复制文件1,而是为其创建一个名为文件2的符号链接 -u: 如果文件1的修改时间比文件2晚,执行上述命令后,文件1会被覆盖 -R: 复制目录,也可表示递归复制。将目录1复制为一个新的目录2
移动文件命令
语法:
mv [选项] 源文件 目标文件
选项:
-b: 当文件存在时,覆盖前为其创建一个备份 -f: 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖 -i: 交互。若存在同名文件,则向用户询问是否覆盖 -v: 显示详细信息 -u: 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作
扩展:
mv 文件1 文件2 将指定文件1重命名为指定文件2 mv 文件名 /目录名 将指定文件移动到指定目录中 mv /目录1 /目录2 将指定目录1移动到指定目录2中。如果指定目录2不存在,则指定目录1改名为指定目录2 mv /目录名/*. 将指定目录下的文件移动到当前目录下
文件链接
语法:
ln [选项] 源文件 目标文件 硬链接
选项:
-b: 为每个已存在的目标文件创建备份文件,但不接受任何参数 -d: 创建指向目录的硬链接(只适用于超级用户) -f: 强行删除任何已存在的目标文件 -i: 提示是否删除目的地 -n: 将链接名视为普通文件,它是指向目录的符号链接 -r: 创建相对于链接位置的符号链接 -t: 指定在其中创建链接的目录 -v: 打印每个链接文件的名称 -L: 解引用的目标是符号链接 -P: 将硬链接直接设置为符号链接 -S: 覆盖通常的备份后缀 -T: 始终将LINK_NAME视为普通文件
扩展:
ln -s 源文件绝对路径 目标文件 软链接
--help: 显示此帮助信息并退出
--version: 显示版本信息并退出