Linux学习 - 命令

OrzMiku / 2023-08-20 / 原文

目录操作命令

ls 命令

Linux ls(英文全拼:list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

语法

 ls [-alrtAFR] [--color] [路径]

参数

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r 将文件以相反次序显示(原定依英文字母次序)
  • -t 将文件依建立时间之先后次序列出
  • -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
  • -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
  • -R 若目录下有文件,则以下之文件亦皆依序列出
  • --color:在显示文件名时使用不同的颜色指示不同类型的文件

键入ls -l 命令以表格格式列出目录的内容,其列包括:

  • 内容权限
  • 内容链接数
  • 内容的所有者
  • 内容组的所有者
  • 内容大小(以字节为单位)
  • 内容的最后修改日期/时间
  • 文件或目录名称
zhaoxl@ubuntu:~/2022$ ls -l
-rwxr-xr-x 1 zhaoxl student 8720 9月  14 21:31 p10
-rw-r--r-- 1 zhaoxl student  322 9月  14 21:31 p10.c
-rwxr-xr-x 1 zhaoxl student 8752 9月  14 21:47 p11
-rw-r--r-- 1 zhaoxl student  399 9月  14 21:46 p11.c

pwd 命令

Linux pwd(英文全拼:print work directory) 命令用于显示工作目录。

执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称。

语法

pwd [--help][--version]

参数说明:

  • --help 在线帮助。
  • --version 显示版本信息。

cd 命令

/tmp:临时目录,用于临时存放文件的地方,任何用户都可以在该目录中存放文件,但只能删除自己存放的文件

语法

cd [dirName]
  • dirName:要切换的目标目录。

mkdir 命令

Linux mkdir(英文全拼:make directory)命令用于创建目录。

语法

mkdir [-p] dirName

参数说明

  • -p 确保目录名称存在,不存在的就建一个。

文件操作命令

touch 命令

Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

语法

touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
  • 参数说明
  • a 改变档案的读取时间记录。
  • m 改变档案的修改时间记录。
  • c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
  • f 不使用,是为了与其他 unix 系统的相容性而保留。
  • r 使用参考档的时间记录,与 --file 的效果一样。
  • d 设定时间与日期,可以使用各种不同的格式。
  • t 设定档案的时间记录,格式与 date 指令相同。
  • --no-create 不会建立新档案。
  • --help 列出指令格式。
  • --version 列出版本讯息。

cp 命令

Linux cp(英文全拼:copy file)命令主要用于复制文件或目录。

语法

cp [options] source dest

cp [options] source... directory

参数说明

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件。

mv命令

Linux mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。

语法

mv [options] source dest #更名
mv [options] source... directory #移动

参数说明

  • -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
  • -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
  • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
  • -n: 不要覆盖任何已存在的文件或目录。
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

mv 参数设置与运行结果

命令格式 运行结果
mv source_file(文件) dest_file(文件) 将源文件名 source_file 改为目标文件名 dest_file
mv source_file(文件) dest_directory(目录) 将文件 source_file 移动到目标目录 dest_directory 中
mv source_directory(目录) dest_directory(目录) 目录名 dest_directory 已存在,将 source_directory 移动到目录名 dest_directory 中;目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory
mv source_directory(目录) dest_file(文件) 出错

显示文件内容及搜索

文件内容显示

下面四个命令针对文本文件,想知道文件是否为文本文件,可以使用file命令检测文件类型

file 文件名

  • cat 文件列表(会把内容直接全部显示)

  • less 文件列表(会从头开始显示,可以翻页,搜索等)

  • tail 文件列表(默认只显示尾部的10行文字,可以设置显示行数)

  • head 文件列表(默认只显示首位的10行文字,可以设置显示行数)

tail -数字 (显示尾部【数字】行)

head -数字(显示首位【数字】行)

如:tail -8 如:head -20

文件内容筛选(grep)

语法

grep “正则表达式” 文件名列表

按照指定的正则表达式在指定的文件中搜索匹配到的行,并输出。

image-20220917151902904

统计命令(wc)

Linux wc命令用于计算字数。

利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。

语法

wc [-clw][--help][--version][文件...]

参数

  • -c或--bytes或--chars 只显示Bytes数。
  • -l或--lines 显示行数。
  • -w或--words 只显示字数。
  • --help 在线帮助。
  • --version 显示版本信息。

管道和输出重定向

管道

  • 命令1 | 命令2 [| 命令3 ......]
  • 功能:将前一个命令的输出结果交给后一个命令

输出重定向

  • 命令 >/>> 文件名
  • 将命令的输出保存到文件中,而不是显示在屏幕上

错误重定向

  • 命令 2>/2>> 文件名

0 标准输出 1 标准输入 2 标准错误

文件归档与压缩

压缩文件

gzip/bzip2 文件列表 对指定文件近压缩

gunzip/bunzip2 压缩文件列表 对指定压缩文件进行解压

归档

文件进行归档或抽取归档中的文件。默认tar不能对文件进行压缩。

语法

tar [z/j][c/x/t/u][v]f 归档文件 [待归档文件列表]

参数

  • z 通过gzip进行压缩

  • j 通过bzip2进行压缩

  • c 创建一个归档

  • x 抽取归档中的文件

  • t 打印归档中的文件列表

  • u 更新归档包中的文件

  • v 输出冗余信息

  • f 指定归档文件

符号链接

符号链接也称为软连接,是一个特殊文件。其文件内容保存的是指向目标文件的路径,对其的很多操作将直接作用于目标文件。符号连接通过ln命令创建

注:符号连接可以对任何文件创建,甚至不存在的文件。符号链接文件中保存的路径便是命令中书写的源路径。

语法

ln -s 源路径 符号链接文件