一:Linux命令概述
1:Linux命令分类
(1)内部命令
是指集成于Shell 解释器程序(如 Bash ) 内部的一些特殊指令,也称 为内建 (Built-in) 指令。内部命令属于 Shell的一部分,所以没有单独对应的系统 文件,只要 Shell 解释器被运行,内部指令也就自动载入内存了,用户可以直接使用。内部命令无须从硬盘中重新读取文件,因此执行效率较高。
(2)外部命令
是指 Linux操作系统中能够完成特定功能的脚本文件或二进制程序,每 个外部命令对应系统中的一个文件,是属于Shell 解释器程序之外的命令,所以称 为外部命令。Linux操作系统必须知道外部命令对应的文件位置,才能够由 Shell加载并执行。
Linux 操作系统默认会将存放外部命令、程序的目录(如/bin 、/usr/bin 、/usr/local/bin 等)添加到用户的“搜索路径”中,当使用位于这些目录中的外部命令时,用户不需要指定具 体的位置。因此在大多数情况下,不用刻意去分辨内部命令和外部命令,其使用方法是基本类似的。
(3)查看Linux命令类型
[root@localhost ~]# ls
[root@localhost ~]# hash
命中1 命令 /usr/bin/ls
[root@localhost ~]# type ls
ls 是 `ls --color=auto' 的别名
[root@localhost ~]# type cd
cd 是 shell 内嵌
[root@localhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
2:Linux 命令行的格式
(1)命令字
命令字即命令名称,是整条命令中最关键的一部分。在 Linux 的字符操作界面中,使用 命令字唯一确定一条命令,因此在输入命令时一定要确保输入的命令字正确。并且,在 Linux 的命令环境中,无论是命令名还是文件名,对英文字符的处理是区分大小写的,操作时需要细心。
(2)选项
选项的作用是调节命令的具体功能,决定这条命令如何执行。同一个命令字配合不同的选项使用时,可以获得相似但具有细微差别的功能。
(3)参数
命令参数是命令字的处理对象,通常情况下命令参数可以是文件名、目录(路径)名 或用户名等内容。根据所使用命令字的不同,命令参数的个数可以是零到多个。在输 入一条Linux命令时,应根据该命令字具体的格式提供对应的命令参数,以确保命令的正常运行。
辅助
Tab 键:可以将输入的不完整命令字或文件、目录名自动补齐Ø
反斜杠“\”:如“\”符号强制换行,在下一行出现的“>”提示符后可以继续输入内容
Ctrl+U 组合键:快速删除当前光标处之前的所有字符内容。
Ctrl+K 组合键:快速删除从当前光标处到行尾的所有字符内容。
Ctrl+L 组合键:快速清空当前屏幕中的显示内容,只在左上角显示命令提示符。
Ctrl+C 组合键:取消当前命令行的编辑,并切换为新的一行命令提示符。
3:获得命令帮助
(1)使用 help 命令
help 命令本身是 Linux Shell中的一个内建指令,其用途是查看各 Shell 内部命令的帮助 信息。使用help 命令时,只需要添加内部命令的名称作为参数即可。例如,执行“help pwd” 命令可以查看 Shell 内部命令 pwd 的帮助信息
(2)使用“--help”选项
对于大多数 Linux 外部命令,可以使用一个通用的命令选项“ -help”来显示对应命令字 的格式及选项等帮助信息。若该命令字没有“--help” 选项, 一般只会提示简单的命令格式。 例如,执行“Is--help” 命令可以查看 Is 命令的帮助信息
(3)使用 man 手册页
man 手 册 页( Manual Page) 是 Linux 操作系统中最为常用的一种在线帮助形式,绝大 部分的外部软件在安装时为执行程序、配置文件提供了详细的帮助手册页。这些手册页中 的信息按照特定的格式进行组织,通过统 一 的手册页浏览程序 man 进行阅读。例如,执 行 “man file”命令可以查看file 命令的手册页信息
二:目录和文件基本操作
1:查看目录
(1)pwd 命令 ——查看当前的工作目录(Print Working Directory)
(2)cd 命令 —— 切换工作目录(Change Directory)
(3)ls 命令——列表(List)显示目录内容
- -l:以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。不使用-l 选项时,ls 命令默认以短格式显示目录名或文件名信息。
- -a:显示所有(All)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件。
- -A:与-a 选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”。
- -d:显示目录(Directory)本身的属性,而不是显示目录中的内容。
- -h:以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h 选项后将显示为 KB、MB 等单位。此选项需要结合-l 选项一起使用。
- -R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容。
(4)du 命令——统计目录及文件的空间占用情况(Disk Usage)
- -a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
- -h:以更人性化的方式(默认以 KB 计数,但不显示单位)显示出统计结果,使用-h 选项后将显示出 KB、MB 等单位。
- -s:只统计每个参数所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小。
2:创建目录和文件
(1)mkdir 命令——创建新的目录(Make Directory)-p选项
(2)touch ——创建空文件
(3)ln 命令——创建链接(Link)文件
3:复制、删除、移动目录和文件
(1)cp——复制(Copy)文件或目录
-f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制。
-i:覆盖目标同名文件或目录时提醒用户确认(Interactive,交互式)。
-p:复制时保持(Preserve)源文件的权限、属主及时间标记等属性不变。
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。
(2)rm 命令——删除(Remove)文件或目录
-f:删除文件或目录时不进行提醒,而直接强制删除。
-i:删除文件或目录时提醒用户确认。
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
(3)mv 命令——移动(Move)文件或目录
4:查找目录和文件
(1)which 命令——查找用户所执行的命令文件存放的目录
[root@localhost ~]# which ls
(2)find 命令——查找文件或目录
[root@localhost ~]# find /etc -name "resol*.conf"
[root@localhost ~]# find /boot -type d
[root@localhost ~]# find /boot -size +1024k -a -name "vmlinuz*"
[root@localhost ~]# find /boot -size +1024k -o -name "vmlinuz*"