文件和目录的管理

linux命令的分类:
内部命令:指的是集成于Shell解释器程序内部的一些特殊指令,也成内键指令。
外部指令:指的是linux系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应了系统中的一个文件,是属于shell解释器程序以外的命令,所以称为外部命令。

linux命令行的格式:
命令字 [选项] [参数]

命令字:命令字即命令的名称,是整条命令中最关键的一部分,区分大小写。
选项:选项的作用是调节命令的具体功能,决定这条命令如何执行。使用单个字符选项时需要使用“-”引导,使用多个字符选项时需要使用“--”引导,一条命令可以使用多个选项,选项之间使用空格隔开。
参数:命令参数是命令字的处理对象,通常情况下命令参数可以是文件名、目录名(路径)或用户名等内容。

注意:命令可以是单个命令字、也可以是命令字加选项或者命令字加参数。

编辑命令的快捷键
Tab键:可以将输入不完整的命令字或文件、目录名自动补齐。
反斜杠“\”:可以强制将命令换行显示。
Ctrl+U:快速删除当前光标之前的字符内容。
Ctrl+K:快速删除当前光标之后的字符内容。
Ctrl+L:快速清空屏幕的显示内容。
Ctrl+C:取消当前执行的命令。

“|” :管道符,用于将前面命令的屏幕输出结果作为后面命令的操作对象。

“>”:重定向,前面的命令成功执行以后,其屏幕输出结果将保存到“>”号后面指定的文件中,而不是直接输出到屏幕。

列如:以下案列结合管道符“|”和重定向“>”将man手册生成文件格式。

10

注意:以下命令介绍中,红色标记部分是命令字,蓝色部分是选项。

帮助命令
help [命令字] :查看shell内部命令的帮助信息。
[命令字] --help :查看外部命令的帮助信息。
man [命令字] :在线查看命令的帮助手册,可以使用Page Up和Page Down翻页显示。(man比较常用)

查看及切换目录
pwd :查看当前的工作目录。
cd :切换工作目录,cd [目标目录或文件

ls : 查看文件或目录的内容。 ls  [选项] [目标文件或目录] 
-l : 以长格式显示文件或目录的内容,包括权限、大小、最后更新时间等详细信息。
-a : 显示所有子目录和文件的信息,包括以”.“开头的隐藏文件或目录。
-A : 显示所有的子目录和文件信息,不包括隐藏文件或目录。
-d : 显示目录本身的属性,而不是显示目录中的内容。
-h : 以跟人性化的方式显示出目录或文件的大小,使用K、M等单位。
-R : 以递归的方式显示出目录及子目录中的所有内容。

du : 统计目录及文件的空间占用的情况。du [选项] [目标目录或文件]
-a : 统计磁盘空间占用时包括所有的文件,而不是仅仅只统计目录。
-h : 以跟人性化的方式显示出目录或文件的大小,使用K、M等单位。
-s : 只统计每个参数所占用空间的总大小,而不是统计每个子目录文件的大小。

创建文件和目录
mkdir : 创建新的目录。mkdir [选项] [目录名称] 
-p : 一次性创建递归的多层目录。

touch: 创建空文件。touch [文件名称] (touch命令本来用于更新文件的时间标记,但在实际的使用中经常用于创建新的文件。)

ln : 创建链接文件。(默认创建的硬链接)ln [-s] [源文件或目录] [链接文件或目录]
-s : 创建软链接。
硬链接:删除原文件后硬链接仍旧可用,硬链接只能用于文件,并且必须与原始文件在同一个文件系统内。
软链接:删除原文件后软链接不可用,可以为文件或目录创建链接,也可位于不同的文件系统中。

复制、删除、移动文件或目录
cp :复制文件或目录。cp [选项] [源文件或目录] [目标文件或目录]  
-f :复制文件或目录时不提醒,直接强制复制。
-i :复制文件或目录时提醒用户确认。
-p :复制时保持源文件的权限、属主及时间标记等属性不变。
-r :复制目录时必须加此选项,表示递归复制所有文件子目录。

rm :删除文件或目录。rm [选项] [目标文件或目录] 
-f :删除文件或目录时不提醒用户,直接强制删除。
-i :删除文件或目录时提醒用户。
-r :删除目录时必须加此选项,表示递归删除所有的文件子目录。

mv :移动文件或目录。mv [源文件或目录] [目标文件或目录](如果目标位置与源位置相同,则效果相当于为文件或目录重命名)

查找目录和文件。
which :查找linux命令并显示所在的位置。which [命令字]

find :查找文件或目录。find [查找范围] [查找条件
-name :根据目标文件或目录的名称进行查找。
-size :根据目标文件或目录的大小进行查找。
-user :根据目标文件或目录的属主用户进行查找。
-type :根据目标文件或目录的类型进行查找,普通文件(f)、目录(d)、块设备(b)、字符设备文件(c)。
可以结合and(-a 表示而且,同时满足两个条件)和or(-o 表示或者,满足其中一个条件即可)综合查找。

查看文件内容。
cat :显示文件内容,可同时查看多个文件,文件之间使用空格隔开。cat [目标文件]

 
more :分页查看文件内容,使用空格键翻页显示,或回车键逐行显示。more [目标文件]


less :和more用法基本相同,可以使用上下方向键逐行显示。less [目标文件]

 
head :查看文件开头的部分内容,默认是十行内容,可使用-n(n为具体行数)指定显示的前n行内容。head [-n][目标文件] 

 
tail :查看文件结尾的部分内容,默认是十行内容,可使用-n(n为具体行数)指定显示的后n行内容。tail [-n] [目标文件] 
-f :可以跟踪文件尾部内容的动态更新。

统计和检索文件内容。
wc :统计文件内容中的单词数量,行数等信息,默认都统计。wc [选项] [目标文件] 
-c :统计文件内容中的字节数。
-l :统计文件内容中的行数。
-w :统计文件内容中的单个单词数。(以空格或制表位作为分隔)

grep :检索、过滤文件内容。 grep [选项] [查找条件] [目标文件] 
-i :查找内容是忽略大小写。
-v :反转查找,即输出与查找条件不相符。
^*” :以什么开头的行。(“*” 通配符)
*$” :以什么结尾的行。
^$” :表示空行。

在linux中还有很多基本命令,作者这里就不在详细述说了,这里列举的都是一些比较常用的。

谢谢大家关注!