目录
1.2Linux 命令行的格式--命令字 【选项】 【参数】
1.1: Linux 命令的分类
Linux 命令的执行必须依赖于 Shell 命令解释器。Shell 实际上是在 Linux 操作系统中运行的一种特殊程序,它位于操作系统内核与用户之间,负责接收用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行,Shell在用户和内核之间充当了“翻译官”的角色。当用户登录到 Linux 系统时,会自动加载一个 Shell 程序,以便给用户提供可以输入命令的操作系统。Bash 是 Linux 操作系统中默认使用的 Shell程序,文件位于/bin/bash。关于 Shell 程序的更多知识将在后续课程中进行讲解。根据 Linux 命令与 Shell 程序的关系,Linux 命令一般分为以下两种类型
- 内部命令:是指集成于 Shell 解释器程序(如 Bash)内部的一些特殊指令,也称为内建(Built-in)指令。内部命令属于Shell 的一部分,所以没有单独对应的系统文件,只要 Shell解释器被运行,内部指令也就自动载入内存了,用户可以直接使用。内部命令无须从硬盘中重新读取文件,因此执行效率较高。
- 外部命令:是指 Linux 操作系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应系统中的一个文件,是属于 Shell 解释器程序之外的命令,所以称为外部命令。
1.2Linux 命令行的格式--命令字 【选项】 【参数】
1.命令字
命令字即命令名称,是整条命令中最关键的一部分。在 Linux 的字符操作界面中,使用命令字唯一确定一条命令,因此在输入命令时一定要确保输入的命令字正确。并且,在 Linux 的命令环境中,无论是命令名还是文件名,对英文字符的处理是区分大小写的,操作时需要细心。
2.选项
选项的作用是调节命令的具体功能,决定这条命令如何执行。同一个命令字配合不同的选项使用时,可以获得相似但具有细微差别的功能。命令使用的选项有如下一些特性。
-
不同的命令字能够使用的选项也会不同(选项的个数和内容)
-
选项的数量可以是多个,也可以省略。同时使用多个选项时,选项之间使用空格分隔。若不使用选项,将执行命令字的默认功能。
-
使用单个字符的选项时,一般在选项前使用“-”符号(半角的减号符)引导,称为短格式选项,如“-l”。多个单字符选项可以组合在一起使用,如“-al”等同于“-a -l”
-
使用多个字符的选项时,一般在选项前使用“--”符号(两个半角的减号符)引导,称为长格式选项,如“--help”
有些命令字对于同一功能会同时提供长、短两种格式的选项。长格式的选项意义明确,容易记忆,而短格式的选项结构简单、输入快捷。两种格式可以混用。
3.参数
命令参数是命令字的处理对象,通常情况下命令参数可以是文件名、目录(路径)名或用户名等内容。根据所使用命令字的不同,命令参数的个数可以是零到多个。在输入一条 Linux 命令时,应根据该命令字具体的格式提供对应的命令参数,以确保命令的正常运行。
快捷键 | 功能描述 |
---|---|
Tab | 自动补全命令、文件或目录名(需唯一匹配,否则按两次显示列表) |
\ | 强制换行,下一行以 > 继续输入长命令(不影响命令执行) |
Ctrl+U | 删除当前光标之前的所有字符 |
Ctrl+K | 删除当前光标到行尾的所有字符 |
Ctrl+L | 清屏(保留当前命令提示符) |
Ctrl+C | 终止当前命令编辑,换到新行 |
1.3 获得命令帮助
1.help-查看各 Shell 内部命令的帮助信息。
2.--help-显示对应命令字的格式及选项等帮助信息。
3.man 手册页(Manual Page)是 Linux 操作系统中最为常用的一种在线帮助形式,绝大部分的外部软件在安装时为执行程序、配置文件提供了详细的帮助手册页。
- 管道:用竖杠符号“|”表示,用于将前面命令的屏幕输出结果作为后面命令的操作对象(输入)就好像一根管道一样,从这头塞入内容,从另一头出来。
- 重定向输出:用大于符号“>”表示,前面的命令成功执行以后,其屏幕输出结果将保存到“>”号后边指定的文件中,而不是直接输出到屏幕,因此称为重定向。
2.1查看目录
1.pwd 命令--查看当前的工作目录
2.cd 命令 --切换工作目录
3.ls 命令--列表显示目录内容
- -l:以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。不使用-l 选项时,ls 命令默认以短格式显示目录名或文件名信息。
- -a:显示所有(ALL)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件。
- -A:与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”
- -d:显示目录(Directory)本身的属性,而不是显示目录中的内容。
- -h:以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为 KB、MB 等单位。此选项需要结合-l 选项一起使用。
- -R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容。
- --color:在字符模式中以颜色区分不同的文件,如果使用“--color=tty”,则表示使用终端预定义的颜色方案。通常情况下,深蓝色表示目录,白色表示一般文件,绿色表示可执行的文件黄色表示设备文件,红色表示压缩文件。
4.du 命令--统计目录及文件的空间占用情况
-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。
h:以更人性化的方式(默认以 KB 计数,但不显示单位)显示出统计结果,使用-h 选项后将显示出 KB、MB 等单位。
-s:只统计每个参数所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小。
2.2 创建目录和文件
mkdir | 创建新的目录 |
touch | 创建空文件 |
ln | 创建链接文件 |
2.3复制、删除、移动目录和文件
1.cp--复制文件或目录
cp [选项].. 源文件或目录... 目标文件或目录
-f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制。
-i:覆盖目标同名文件或目录时提醒用户确认(Interactive,交互式)。
-p:复制时保持(Preserve)源文件的权限、属主及时间标记等属性不变
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
2.rm命令--删除文件或目录
-f:删除文件或目录时不进行提醒,而直接强制删除。
-i:删除文件或目录时提醒用户确认。
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
3. mv 命令--移动文件或目录
mv [选项]… 源文件或目录... 目标文件或目录
2.4查找目录和文件
1.which 命令--查找用户所执行的命令文件存放的目录
2.find 命令--查找文件或目录
3.1 Linux 目录结构
/boot:此目录是系统内核存放的目录,同时也是系统启动时所需文件的存放目录,如vmlinuz和 initrd.img。在安装 Linux 操作系统时,为 boot 目录创建一个分区,有利于对系统进行备份。
/bin:bin 是 binary 的缩写。这一目录存放了所有用户都可执行的且经常使用的命令,如 cp、1s 等。
/dev:此目录保存了接口设备文件,如/dev/hda1、/dev/cdrom等
/etc:系统主要的配置文件几乎都放置到这个目录内,例如人员的账号密码文件、各种服务的起始文件等。
/home:存放所有普通系统用户的默认工作文件夹(即宿主目录、家目录),如用户账号“teacher对应的宿主目录位于“/home/teacher/”。如果服务器需要提供给大量的普通用户使用,建议将“/home”目录也划分为独立的分区,以方便用户数据的备份。
/root:该目录是 Linux 操作系统管理员(超级用户)root 的宿主目录,默认情况下只有 root用户的宿主目录在根目录下而不是在“/home”目录下。
/sbin:存放 Linux 操作系统中最基本的管理命令,一般管理员用户才有权限执行。
/usr:存放其他的用户应用程序,通常还被划分成很多子目录,用于存放不同类型的应用程序。
/var:存放系统中经常需要变化的一些文件,如系统日志文件、用户邮箱目录等,在实际应用系统中,“/var”目录通常也被划分为独立的分区。
3.2 查看文件内容
cat 命令--显示并连接文件的内容
more 和less 命令-分页查看文件内容
head 和 tail 命令查看文件开头或末尾的部分内容
3.3. 统计和检索文件内容
1.wc 命令--统计文件内容中的单词数量、行数等信息
-l:统计文件内容中的行数。
-w:统计文件内容中的单词个数(以空格或制表位作为分隔)。
-c:统计文件内容中的字节数。
2.grep 命令--检索、过滤文件内容
-i:查找内容时忽略大小写(Ignore Case)。
-v:反转查找(Invert),即输出与查找条件不相符的行。
4.1 使用压缩和解压缩工具
1.gzip 和gunzip 命令
使用 gzip 制作的压缩文件默认的扩展名为“.gz”。制作压缩文件时,使用“-9”选项可以提高压缩的比率,但文件较大时会需要更多的时间。
当需要解压缩经 gzip 压缩的文件时,只需使用带“-d”选项的 gzip 命令即可,或者直接使用 gunzip命令。
2.bzip2和bunzip2命令
bzip2 和 bunzip2 命令的用法与 gzip、gunzip 命令基本相同,使用 bzip2 制作的压缩文件默认的扩展名为“.bz2”。
与 gzip、gunzip 命令相同,当需要解压缩经 bzip2 压缩的文件时,只需使用带“-d”选项的 bzip2命令即可,或者直接使用 bunzip2 命令。
4.2 使用 tar 归档和释放工具
tar 命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的 gzip 或 bzip2 命令),以节省磁盘空间。使用 tar 命令时,选项前的“-”号可以省略。常用的几个选项如下所述。
- -c:创建(Create).tar 格式的包文件。
- -C:解压时指定释放的目标文件夹。
- -f:表示使用归档文件。
- -j:调用 bzip2 程序进行压缩或解压。
- p:打包时保留文件及目录的权限。
- -P:打包时保留文件及目录的绝对路径。
- -t:列表查看包内的文件。
- -v:输出详细信息(Verbose)
- -x:解开.tar 格式的包文件。
- -z:调用 gzip 程序进行压缩或解压。
4.3使用 vi 文本编辑器
1.模式切换
- a:在当前光标位置之后插入内容。
- A:在光标所在行的末尾(行尾)插入内容。
- 1:在当前光标位置之前插入内容。
- I:在光标所在行的开头(行首)插入内容
- o:在光标所在行的后面插入一个新行。
- O:在光标所在行的前面插入一个新行。
2.复制、粘贴和删除
(1)删除
按 x键或 Delete 键删除光标处的单个字符。
使用按键命令 dd 删除当前光标所在行,使用#dd 的形式还可以删除从光标处开始的#行内容(其中“#”号用具体数字替换)
使用按键命令 d删除当前光标之前到行首的所有字符。
使用按键命令 d$删除当前光标处到行尾的所有字符。
(2)复制
使用按键命令 yy 复制当前行整行的内容到剪贴板,使用#yy 的形式还可以复制从光标处开始的#行内容(其中“#”号用具体数字替换)。复制的内容需要粘贴后才能使用。
(3)粘贴
在 vi 编辑器中,前一次被删除或复制的内容将会保存到剪切板缓冲区中,按p键即可将缓冲区中的内容粘贴到光标位置处之后,按P键则会粘贴到光标位置处之前。
3.查找文件内容
在命令模式中,按/键后可以输入指定的字符串,从当前光标处开始向后进行査找(按?键则向前査找)。
4.4末行模式中的基本操作
1.保存文件。对文件内容进行修改并确认以后,需要执行如下的“:w”命令进行保存。
2.退出编辑器。需要退出 vi 编辑器时,可以执行“:q”命令。若文件内容已经修改却没有保存,则仅使用“:q”命令将无法成功退出,这时需要使用如下的“:q!”命令强行退出(不保存即退出)。
3.保存并退出。既要保存文件又要退出 vi 编辑器可以使用一条末行命令“:wg”或“:x”实现,其效果与命令模式中的 2Z 命令相同,具体操作如下::wq或:x
4.替换文件内容
:[替换范围] sub /旧的内容/新的内容[/g]