Linux常用命令

ls 命令常用选项及功能

ls命令的基本格式 ls [选项] 目录名称

  • -a 显示全部的文件,包括隐藏文件(开头为 . 的文件)也一起罗列出来,这是最常用的选项之一。
  • -A 显示全部的文件,连同隐藏文件,但不包括 . 与 … 这两个目录。
  • -d 仅列出目录本身,而不是列出目录内的文件数据。
  • -f ls 默认会以文件名排序,使用 -f 选项会直接列出结果,而不进行排序
  • -F 在文件或目录名后加上文件类型的指示符号,例如,* 代表可运行文件,/ 代表目录,= 代表 socket 文件,| 代表 FIFO 文件。
  • -h 以人们易读的方式显示文件或目录大小,如 1KB、234MB、2GB 等。
  • -i 显示 inode 节点信息。
  • -l 使用长格式列出文件和目录信息。
  • -n 以 UID 和 GID 分别代替文件用户名和群组名显示出来。
  • -r 将排序结果反向输出,比如,若原本文件名由小到大,反向则为由大到小。
  • -R 连同子目录内容一起列出来,等於将该目录下的所有文件都显示出来。
  • -S 以文件容量大小排序,而不是以文件名排序。
  • -t 以时间排序,而不是以文件名排序。

–color=never

–color=always
–color=auto never 表示不依据文件特性给予颜色显示。 always 表示显示颜色,ls 默认采用这种方式。 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”,则表示除了文件最后 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 源文件 链接名

注意: 链接的源文件路径要写绝对路径)

你可能感兴趣的:(Linux常用命令)