ls 命令常用选项及功能
ls命令的基本格式 ls [选项] 目录名称
选项 | 功能 |
---|---|
-a | 显示全部的文件,包括隐藏文件(开头为 . 的文件)也一起罗列出来,这是最常用的选项之一。 |
-A | 显示全部的文件,连同隐藏文件,但不包括 . 与 … 这两个目录。 |
-d | 仅列出目录本身,而不是列出目录内的文件数据。 |
-f | ls 默认会以文件名排序,使用 -f 选项会直接列出结果,而不进行排序。 |
-F | 在文件或目录名后加上文件类型的指示符号,例如,* 代表可运行文件,/ 代表目录,= 代表 socket 文件, |
-h | 以人们易读的方式显示文件或目录大小,如 1KB、234MB、2GB 等。 |
-i | 显示 inode 节点信息。 |
-l | 使用长格式列出文件和目录信息。 |
-n | 以 UID 和 GID 分别代替文件用户名和群组名显示出来。 |
-r | 将排序结果反向输出,比如,若原本文件名由小到大,反向则为由大到小。 |
-R | 连同子目录内容一起列出来,等於将该目录下的所有文件都显示出来。 |
-S | 以文件容量大小排序,而不是以文件名排序。 |
-t | 以时间排序,而不是以文件名排序。 |
–color=never | never 表示不依据文件特性给予颜色显示。 |
–color=always | always 表示显示颜色,ls 默认采用这种方式。 |
–color=auto | auto 表示让系统自行依据配置来判断是否给予颜色。 |
–full-time | 以完整时间模式 (包含年、月、日、时、分)输出 |
–time={atime,ctime} | 输出 access 时间或改变权限属性时间(ctime),而不是内容变更时间。 |
cd 命令的特殊符号
cd 命令的基本格式 cd [相对路径或绝对路径]
特殊符号 | 作 用 |
---|---|
~ | 代表当前登录用户的主目录 |
~ | 用户名 表示切换至指定用户的主目录 |
- | 代表上次所在目录 |
. | 代表当前目录 |
… | 代表上级目录 |
cp 命令参数介绍
cp 命令的基本格式 [选项] 源文件 目标文件
选项 | 功能 |
---|---|
-d | 如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接。 |
-i | 询问,如果目标文件已经存在,则会询问是否覆盖。 |
-l | 把目标文件建立为源文件的硬链接文件,而不是复制源文件。 |
-s | 把目标文件建立为源文件的软链接文件,而不是复制源文件。 |
-p | 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)。 |
-r | 递归复制,用于复制目录。 |
-u | 若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。 |
mkdir 命令参数介绍
mkdir 命令的基本格式 mkdir [-mp] 目录名
选项 | 功能 |
---|---|
-m | 选项用于手动配置所创建目录的权限,而不再使用默认权限 |
-p | 选项递归创建所有目录。 |
rm 命令参数介绍
rm 命令的基本格式 rm[选项] 文件或目录
选项 | 功能 |
---|---|
-f | 强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录 |
-i | 和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。 |
-r | 递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件 |
mv 命令参数介绍
mv 命令的基本格式 mv 【选项】 源文件 目标文件
选项 | 功能 |
---|---|
-f | 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖 |
-i | 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)。 |
-n | 如果目标文件已经存在,则不会覆盖移动,而且不询问用户 |
-v | 显示文件或目录的移动过程 |
-u | 若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级 |
cat 命令参数介绍
cat 命令的基本格式 cat [选项] 文件名 或者 cat 文件1 文件2 > 文件3
选项 | 含义 |
---|---|
-A | 相当于 -vET 选项的整合,用于列出所有隐藏符号; |
-E | 列出每行结尾的回车符 $; |
-n | 对输出的所有行进行编号; |
-b | 同 -n 不同,此选项表示只对非空行进行编号。 |
-T | 把 Tab 键 ^I 显示出来; |
-V | 列出特殊字符; |
-s | 当遇到有连续 2 行以上的空白行时,就替换为 1 行的空白行。 |
more 命令参数介绍
more 命令的基本格式 more [选项] 文件名
选项 | 含义 |
---|---|
-f | 计算行数时,以实际的行数,而不是自动换行过后的行数。 |
-p | 不以卷动的方式显示每一页,而是先清除屏幕后再显示内容。 |
-c | 跟 -p 选项相似,不同的是先显示内容再清除其他旧资料。 |
-s | 当遇到有连续两行以上的空白行时,就替换为一行的空白行。 |
-u | 不显示下引号(根据环境变量 TERM 指定的终端而有所不同)。 |
+n | 从第 n 行开始显示文件内容,n 代表数字。 |
-n | 一次显示的行数,n 代表数字。 |
head 命令参数介绍
head 命令的基本格式 head [选项] 文件名
选项 | 含义 |
---|---|
-n K | 这里的 K 表示行数,该选项用来显示文件前 K 行的内容;如果使用 “-K” 作为参数,则表示除了文件最后 K 行外,显示剩余的全部内容。 |
-c K | 这里的 K 表示字节数,该选项用来显示文件前 K 个字节的内容;如果使用 “-K” |
-v | 显示文件名; |
less 命令参数介绍
less 命令的基本格式 less [选项] 文件名
选项 | 选项含义 |
---|---|
-N | 显示每行的行号。 |
-S | 行过长时将超出部分舍弃。 |
-e | 当文件显示结束后,自动离开。 |
-g | 只标志最后搜索到的关键同。 |
-Q | 不使用警告音。 |
-i | 忽略搜索时的大小写。 |
-m | 显示类似 more 命令的百分比。 |
-f | 强迫打开特殊文件,比如外围设备代号、目录和二进制文件。 |
-s | 显示连续空行为一行。 |
-b | <缓冲区大小> 设置缓冲区的大小。 |
-o | <文件名> 将 less 输出的内容保存到指定文件中。 |
-x | <数字> 将【Tab】键显示为规定的数字空格。 |
tail 命令参数介绍
tail 命令的基本格式 tail [选项] 文件名
选项 | 含义 |
---|---|
-n K | 这里的 K 指的是行数,该选项表示输出最后 K 行,在此基础上,如果使用 -n +K,则表示从文件的第 K 行开始输出。 |
-c K | 这里的 K 指的是字节数,该选项表示输出文件最后 K 个字节的内容,在此基础上,使用 -c +K 则表示从文件第 K 个字节开始输出。 |
-f | 输出文件变化后新增加的数据。 |
Linux中的硬链接和软链接的概念、区别及用法
硬链接(hard link):
A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。
软链接(soft link):
A是B的软链接(A和B都是文件名),A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。
主要区别、限制:
硬链接:
a.不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环(目录创建时的"…"除外,这个系统可以识别出来),存在环的后果会导致例如文件遍历等操作的混乱(du,pwd等命令的运作原理就是基于文件硬链接,顺便一提,ls -l结果的第二列也是文件的硬链接数,即inode节点的链接数)
b:不能对不同的文件系统创建硬链接,即两个文件名要在相同的文件系统下。
c:不能对不存在的文件创建硬链接,由原理即可知原因。
软链接:
a.可以对目录创建软链接,遍历操作会忽略目录的软链接。
b:可以跨文件系统
c:可以对不存在的文件创建软链接,因为放的只是一个字符串,至于这个字符串是不是对于一个实际的文件,就是另外一回事了
ln 语法格式
硬链接:ln 源文件 链接名
软链接:ln -s 源文件 链接名
注意: 链接的源文件路径要写绝对路径)