目录
1.1.pwd命令——查看当前的工作目录(Print Working Directory)
1.2.cd 命令——切换工作目录(Change Directory)
1.4.du 命令——统计目录及文件的空间占用情况(Disk Usage)
2.1.mkdir 命令——创建新的目录(Make Directory)
4.1.which 命令--查找用户所执行的命令文件存放的目录
1.1.cat 命令——显示并连接(Concatenate)文件的内容
1.3.head 和 tail 命令——查看文件开头或末尾的部分内容
2.1.wc命今——统计文件内容中的单词数量(WordCount)、行数等信息
一.Linux命令概述
1.linux命令分类
Linux 命令的执行必须依赖于Shell命令解释器。Shell是在Linux操作系统中运行的一种特殊程序,位于操作系统内核与用户之间,负责接收输入的命令并进行解释,将需要执行的操作传递给系统内核执行。Bash是Linux操作系统中默认使用的Shell程序,文件位于/bin/bash。
根据Linux命令与Shell程序的关系,Linux 命令一般分为两种类型。
- 内部命令:是指集成于Shell解释器程序(如Bash)内部的一些特殊指令,也称为内建(Built-in)指令。内部命令属于Shell的一部分,所以没有单独对应的系统文件,只要Shell解释器被运行,内部指令也就自动载入内存了,用户可以直接使用。内部命令无须从硬盘中重新读取文件,因此执行效率较高。
- 外部命令:是指Linux操作系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应系统中的一个文件,是属于Shell解释器程序之外的命令,所以称为外部命令。Linux操作系统必须知道外部命令对应的文件位置,才能够由Shell加载并执行。
2.Linux命令行的格式
在使用命令时,参照一个通用的命令行使用格式,可方便理解 Linux 命令的作用和工作方式。
命令字 [选项] [参数]
1.命令字
命令字即命令名称,是整条命令中最关键的一部分。在Linux的字符操作界面中,使用命令字唯一确定一条命令,因此在输入命令时一定要确保输入的命令字正确。并且,在Linux的命令环境中,无论是命令名还是文件名,对英文字符的处理是区分大小写的,操作时需细心。
2.选项
选项的作用是调节命令的具体功能,决定这条命令如何执行。同一个命令字配合不同的选项使用时,可以获得相似但具有细微差别的功能。
3.参数
命令参数是命令字的处理对象,通常情况下命令参数可以是文件名、目录(路径)名或用户名等内容。根据所使用命令字的不同,命令参数的个数可以是零到多个。在输入一条Linux命令时,应根据该命令字具体的格式提供对应的命令参数,以确保命令的正常运行。
注意:在实际使用Linux命令行的过程中,“选项”和“参数”的称谓经常混淆,甚至前后顺序也允许颠倒,但一般不会影响命令的执行效果,所以很多时候并不做严格区分。
3.获得命令帮助
1.使用help命令
help命令本身是Linux Shell中的一个内建指令,其用途是査看各Shell内部命令的帮助信息。使用help命令时,只需要添加内部命令的名称作为参数即可。例如,执行“help pwd”命令可以査看 Shell内部命令pwd的帮助信息(pwd 命令用于显示当前用户所在的工作目录),具体操作如下:
2.使用“--help”选项
对于大多数Linux外部命令,可以使用一个通用的命令选项“--help”来显示对应命令字的格式及选项等帮助信息。若该命令字没有“--help”选项,一般只会提示简单的命令格式。列:
3.使用man手册
man手册页是 Linux 操作系统中最为常用的一种在线帮助形式,绝大部分的外部软件在安装时为执行程序、配置文件提供了详细的帮助手册页。这些手册页中的信息按照特定的格式进行组织,通过统一的手册页浏览程序man进行阅读。
在阅读man手册页时将以全屏的文本方式显示,并且提供了交互式的操作环境。按↑、↓方向键可以向上、向下滚动一行文本内容;按Page Up键和Page Down键可以向上、向下翻页显示;按Q 键或q键可以随时退出手册页的阅读环境;按/键后可以对手册内容进行査找,如输入“/-v”可以査找到“-v”选项的帮助信息,若找到的结果有多个,还可以按n键或N键分别向下、向上进行定位选择。
如果需要将man手册页的内容保存成文本文件以便在其他系统中査看,可以结合col命令去除手册页中的格式控制字符,并将显示结果保存为新的文件。例:
在此例中,col是一个命令程序,用于过滤文本中的一些特殊控制字符;另外还使用了“|”和“>”符号,这是 Shell环境中的两种特殊功能应用,分别称为管道、重定向输出。其含义及作用如下所述:
- 管道:用竖杠符号“|”表示,用于将前面命令的屏幕输出结果作为后面命令的操作对象(输入)。就好像一根管道一样,从这头塞入内容,从另一头出来。
- 重定向输出:用大于符号“>”表示,前面的命令成功执行以后,其屏幕输出结果将保存到“>”号后边指定的文件中,而不是直接输出到屏幕,因此称为重定向。
二.目录和文件基本操作
1.查看目录
Linux中查看目录常用的pwd、cd、ls和du命令,这些命令都是对文件目录 进行操作,但各自实现的功能各部相同。
1.1.pwd命令——查看当前的工作目录(Print Working Directory)
pwd 命令用于显示用户当前所在的工作目录位置,工作目录是用户操作文件或其他子目录的默认位置起点。使用 pwd 命令可以不添加任何选项或参数。例如:
1.2.cd 命令——切换工作目录(Change Directory)
cd 命令用于将用户的工作目录更改到其他位置,通常使用需要切换到的目标位置(文件夹路径)作为参数。若不指定目标位置,默认将切换到当前用户的宿主目录(家目录),宿主目录是 Linux 用户登录系统后默认的工作目录。列如:
在 Linux 操作系统中表示某个目录(或文件)的位置时,根据其参照的起始目录不同,可以使用两种不同的形式,分别称为绝对路径和相对路径。
- 绝对路径:这种方式以根目录“/”作为起点,如“/boot/grub”表示根目录下 boot 子目录中的 grub目录。若要确切表明 grub 是一个目录(而不是一个文件),可以在最后也加上一个目录分隔符,如表示为“/boot/grub/”。因为 Linux 操作系统中的根目录只有一个,所以不管当前处于哪个目录中使用绝对路径都可以非常准确地表示一个目录(或文件)所在的位置。但是如果路径较长,输入的时候会比较烦琐。
- 相对路径:这种方式一般以当前工作目录作为起点,在开头不使用“/”符号,因此使用的时候更加简短、便捷。
相比较而言,使用相对路径表示目录(文件)的路径形式灵活多变,通常用于表示当前目录“附近”的目录(文件)位置;而绝对路径常用来表示Linux 操作系统中目录结构相对稳定(不经常改变)的目录(文件)位置。因此在使用相对路径或绝对路径时,应根据实际情况进行选择。
1.3.ls命令——列表(List)显示目录内容
ls命令主要用于显示目录中的内容,包括子目录和文件的相关属性信息等。使用的参数可以是目录名,也可以是文件名,允许在同一条命令中同时使用多个参数。
ls 命令可以使用的选项种类非常多,这里只列出几个最常用的选项以供参考。
- -l:以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。不使用-l选项时,ls命令默认以短格式显示目录名或文件名信息。
- -a:显示所有(A11)子目录和文件的信息,包括名称以点号“,”开头的隐藏目录和隐藏文件。
- -A:与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”
- -d:显示目录(Directory)本身的属性,而不是显示目录中的内容
- -h:以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h2选项后将显示为KB、MB 等单位。此选项需要结合-1选项一起使用。
- -R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容。
执行不带任何选项、参数的 1s 命令,可显示当前目录中包含的子目录、文件列表信息(不包括隐藏目录、文件),列:
执行“ls -ld”命令可以只显示当前目录的详情信息,而不显示目录下的内容,列:
1.4.du 命令——统计目录及文件的空间占用情况(Disk Usage)
du 命令可用于统计指定目录(或文件)所占用磁盘空间的大小,使用目录或文件的名称作为参数。常用选项如下:
- -a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。
- -h:以更人性化的方式(默认以 KB 计数,但不显示单位)显示出统计结果,使用 -h 选项后将显示出 KB、MB 等单位。
- -s:只统计每个参数所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小。
2.创建目录和文件
Linux中,mkdir、touch、ln命令分别用于创建目录和文件。
2.1.mkdir 命令——创建新的目录(Make Directory)
mkdir 命令用于创建新的空目录,使用要创建的目录位置作为参数(可以有多个)。列:
如果需要一次性创建嵌套的多层目录,必须结合“-p”选项:
2.2.touch ——创建空文件
touch命令本来用于更新文件的时间标记,但在实际使用中经常用于创建新的测试文件。该命令使用文件名作为参数,可以同时创建多个文件。当目标文件已存在时,将更新该文件的时间标记,否则将创建指定名称的空文件。列:
2.3.ln命令——创建链接(Link)文件
ln命令用于为文件或目录建立链接文件(类似于 Windows 系统中的快捷方式),提高用户定位文件或定位目录的效率。链接文件包括软链接和硬链接两种类型,其中软链接又称为符号链接。无论是访问软链接还是硬链接,与直接访问原始文件的效果基本相同。
软链接与硬链接的区别主要在于,删除原始文件后,软链接将失效,但硬链接仍然可用;软链接适用于文件或目录,但硬链接只可用于文件,不能为目录建立硬链接;软链接与原始文件可以位于不同的文件系统中,但硬链接必须与原始文件在同一个文件系统(如一个Linux 分区)内。
3.复制、删除、移动目录和文件
cp、rm、mv命令可以复制、删除和移动Linux目录和文件。
3.1.cp——复制(Copy)文件或目录
cp 命令用于复制文件或目录,将需要复制的文件或目录(源)重建一份并保存为新的文件或目录(可保存到其他目录中)。
需要复制多个文件或目录时,目标位置必须是目录,且目标目录必须已经存在。cp 命令较常用选项如下:
- -f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制。》-i:覆盖目标同名文件或目录时提醒用户确认(Interactive,交互式)
- -p:复制时保持(Preserve)源文件的权限、属主及时间标记等属性不变
- -r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。
列:
3.2.rm 命令——删除(Remove)文件或目录
rm 命令用于删除指定的文件或目录,rm命令使用要删除的文件或目录名作为参数,常用的几个选项如下(与cp 命令的对应选项含义基本相似)所述。
- -f:删除文件或目录时不进行提醒,而直接强制删除。
- -i:删除文件或目录时提醒用户确认。
- -r:删除目录时必须使用此选项,表示递归删除整个目录树
3.3.mv 命令--移动(Move)文件或目录
mv 命令用于将指定的文件或目录转移位置,如果目标位置与源位置相同,则效果相当于为文件或目录改名。基本使用格式如下:
mv [选项] .... 源文件或目录 .... 目标文件或目录
需要移动多个文件或目录时,目标位置必须是目录,且目标目录必须已经存在。
4.查找目录和文件
4.1.which 命令--查找用户所执行的命令文件存放的目录
which 命令用于査找Linux命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变PATH决定(可以执行“echo SPATH”命令查看),这个范围也是 Linux 操作系统在执行命令或程序时的
默认搜索路径。
which 命令使用要査找的命令或程序名作为参数,默认当找到第一个目标后即不再继续查找,若希望在所有搜索路径中查找,可以加“-a”选项。列:
4.2.find命令——查找文件或目录
find 命令是 Linux 操作系统中功能非常强大的査找命令,可以根据目标的名称、类型、大小等不同属性进行精细査找。find 命令在查找时采用递归的方式,其使用形式相当灵活,也可以相当复杂。find命令的基本使用格式如下:
find [查找范围] [查找条件表达式]
查找范围对应的是在其中查找文件或子目录的目录位置(可以有多个),而查找条件则决定了find 命令根据哪些属性、特征进行查找。较常用的几种查找条件类型如下所述。
- 按名称査找:关键字为“-name”,根据目标文件的名称进行査找,允许使用“*”及“?”通配符。
- 按文件大小查找:关键字为“-size”,根据目标文件的大小进行查找,一般使用“+”和“_”号设置超过或小于指定的大小作为查找条件。常用的容量单位包括 kB(注意k 是小写)、MB、GB。
- 按文件属主查找:关键字为“-user”根据文件是否属于目标用户进行查找。
- 按文件类型查找:关键字为“-type”,根据文件的类型进行查找,这里的类型指的是普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等。块设备指的是成块读取数据的设备(如硬盘、内存等),而字符设备指的是按单个字符读取数据的设备(如键盘、鼠标等)
列:
三.查看及检索文件
1.查看文件内容
1.1.cat 命令——显示并连接(Concatenate)文件的内容
cat 命令是应用最为广泛的文件内容査看命令。使用该命令时,只需要把要査看的文件路径作为参数即可。列查询网卡:
1. 2.more 和 less 命令——分页查看文件内容
more 和 less和cat命令类似,但是more 和 less 命令通过采用全屏的方式分页显示文件。
more 命令是较早出现的分页显示命令,less 命令是较晚出现的分页显示命令,提供了比早期 more 命令更多的一些扩展功能。两个命令的用法基本相同。
使用 more 命令査看超过一屏的文件内容时,将进行分屏显示,并在左下角显示当前内容在整个文件中的百分比。在阅读界面中,可以按 Enter 键向下逐行滚动査看,按 Space 键可以向下翻一屏,按 b 键向上翻一屏,按 q键退出并返回原来的命令环境。
1.3.head 和 tail 命令——查看文件开头或末尾的部分内容
head 和 tail 是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。可以使用“-n”选项(n 为具体的行数)指定需要显示多少行的内容,若不指定行数,默认只显示十行。
tail命令则正好相反,用于査看文件末尾的内容。tail 命令通常用于查看系统日志(因为较新的日志记录总是添加到文件最后),以便观察网络访问、服务调试等相关信息。配合“-f”选项使用时,还可以跟踪文件尾部内容的动态更新,便于实时监控文件内容的变化。例如,以下操作可以查看系统公共日志文件/var/log/messages 的最后十行内容,并在末尾跟踪显示该文件中新记录的内容(按 Ctrl+C 组合键终止)。
2.统计和检索文件内容
2.1.wc命今——统计文件内容中的单词数量(WordCount)、行数等信息
wc 命令用于统计文件内容中包含的行数、单词数、字节数等信息,使用文件名作为参数,可以同时统计多个文件。较常用的选项如下所述。
- -l:统计文件内容中的行数。
- -w:统计文件内容中的单词个数(以空格或制表位作为分隔)
- -c:统计文件内容中的字节数。
列:
2.2.grep——命令检索、过滤文件内容
grep 命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为査找条件,也可以使用复杂的条件表达式(例如,“word”表示以 word 开头,“word$”表示以 word 结尾,“$”表示空行)。grep 命令格式如下:
grep [选项] .... 查找条件 目标文件
3.压缩与解压缩
3.1.gzip和gunzip命令
使用 gzip 制作的压缩文件默认的扩展名为“.g2”。制作压缩文件时,使用“-9”选项可以提高压缩的比率,但文件较大时会需要更多的时间。
当需要解压缩经 gzip 压缩的文件时,只需使用带“-d”选项的 gzip 命令即可,或者直接使用 gunzip
命令。
3.2.bzip2 和 bunzip2 命令
bzip2 和 bunzip2 命令的用法与 gzip、gunzip 命令基本相同,使用 bzip2 制作的压缩文件默认的扩展名为“.bz2”。
与 gzip、gunzip 命令相同,当需要解压缩经 bzip2 压缩的文件时,只需使用带“-d”选项的 bzip2命令即可,或者直接使用 bunzip2 命令。
4.使用tar归档和释放工具
tar 命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的 gzip 或 bzip2 命令),以节省磁盘空间。使用 tar 命令时,选项前的“-’号可以省略。常用的几个选项如下所述。
- -c:创建.tar 格式的包文件
- -C:解压时指定释放的目标文件夹。
- -f:表示使用归档文件。
- -j:调用 bzip2 程序进行压缩或解压,
- -P:打包时保留文件及目录的权限。,
- -P:打包时保留文件及目录的绝对路径。
- -t:列表查看包内的文件。
- -v:输出详细信息。
- -x:解开.tar 格式的包文件。
- -z:调用 gzip 程序进行压缩或解压。
4.1.制作归档备份文件
制作归档及压缩包(备份)文件时,tar 命令的基本格式如下:
tar [选项] … 归档及压缩文件名 需要归档的源文件或目录...
4.2.从归档文件中恢复数据
解压并释放(恢复)归档压缩包文件时,tar 命令的基本格式如下:
tar [选项] … 归档及压缩文件名 [-C 目标目录]
类似地,当从“.tar.gz”格式的归档压缩包恢复数据时,需要结合“-z”选项来自动调用压缩工具,而对于“.tar.bz2”格式的归档压缩包,对应的是“-j”选项。
四.vi编辑器
vi/vim编辑器有三种编辑模式,分别是
- 命令模式
- 输入模式
- 末行模式
编辑模式 | 作用 |
---|---|
命令模式 | 用户执行命令,比如复制行、粘贴行等等 |
输入模式 | 用于输入文本、修改文本等等 |
末行模式 | 用于查找文本、保存修改等等 |
4.1.基本操作
光标方向的移动。直接按⬆、⬇、⬅、➡四个方向键完成相应的光标移动。
按 Page Down 键或 Ctrl+F 组合键向下翻动一整页内容
按 Page Up 键或 Ctrl+B 组合键向上翻动一整页内容。
按 Delete 键删除光标处的单个字符。
使用按键命令 dd 删除当前光标所在行,使用#dd 的形式还可以删除从光标处开始的#行内容(其中“#”号用具体数字替换)
复制操作。使用按键命令 yy 复制当前行整行的内容到剪贴板,使用#yy 的形式还可以复制从光标处开始的#行内容(其中“#”号用具体数字替换)。复制的内容需要粘贴后才能使用。
粘贴操作。在 vi 编辑器中,前一次被删除或复制的内容将会保存到剪切板缓冲区中,按 p键即可将缓冲区中的内容粘贴到光标位置处之后,按P键则会粘贴到光标位置处之前
在命令模式中,按/键后可以输入指定的字符串,从当前光标处开始向后进行査找(按?键则向前査找)。完成査找后可以按 n、N 键在不同的査找结果中进行选择。
末行模式
- 保存文件 :w 只保存不退出
- 不保存退出 :q!不保存退出
- 保存退出 :wq保存退出
- 替换内容 :n,ms/原内容/目标内容 替换内容