一、Linux命令
1.1 Linux命令与Shell解释器
根据命令与Shell解释器的关系,Linux命令分为内部命令和外部命令。二者的运行机制、存储方式和执行效率存在本质区别,理解这些差异有助于更高效地使用Linux命令。
1.2 Shell的核心作用
Linux系统的架构分为内核和用户空间。内核是系统的核心,负责管理硬件资源、进程、文件系统等。普通用户无法直接操作内核,需要通过Shell解释器作为中间层,实现用户与内核之间的交互。
1.3 Shell的核心功能
1、接受用户输入的命令行指令
2、对命令进行解析和解释,将其转换为内核能识别的指令
3、将内核执行的结果反馈给用户(屏幕输出,文件写入等)
Shell是用户与Linux内核之间的命令解释器,相当于一个“翻译官”,能够将用户输入的命令翻译成内核可识别的指令。如果没有Shell,用户将无法向内核发送任何操作指令。
1.4 内部命令
Built-in命令:集成于Shell解释器内部的特殊指令,是Shell程序的一部分,无单独的系统文件。
查询方式:使用type命令名查询,若显示“命令名 is a shell builtin”,则为内部命令。
示例:pwd、cd、echo、help、history等命令均为内部命令。
1.5 外部命令
定义:独立于Shell解释器的可执行程序文件,每个外部命令对应系统中的一个单独文件,属于Shell之外的命令
存储位置:存储在硬盘的指定目录中,如/bin、usr/bin、/sbin、/usr/sbin等
查询方式:使用type命令名查询,显示命令的绝对路径即为外部命令。
示例:ls、cp、rm、mv、find等大部分命令均为外部命令
二、各命令组成部分解析
2.1 标准格式:命令字[选项][参数]
2.1 命令字:Command
2.2 选项:Option
2.3 参数:Parameter
2.2获得命令帮助
核心原理:Linux提供了三种核心的帮助获取方式,是它的的“内置手册”。
因为Linux拥有上千条命令,每个命令又有多个选项,无法全部记忆,所以掌握命令帮助的获取方法是学习Linux学习的核心能力,相当于拥有了Linux的“内置手册”,可以独立查询任何命令的使用方法。
命令 | 作用与注解 |
help内部命令名 | 查看Shell内部命令的帮助。例如help pwd。仅适用于cd、pwd、echo等内部命令。 |
外部命令字--help | 查看外部命令的快速帮助。例如ls --help。这是最常用的帮助方式,会输出命令的用法和常用选项。 |
man命令字/配置文件名 | 查看命令的完整权威手册。例如man ls或man 5 fstab。这是最全面的帮助体系,包含所有选项和详细说明。 |
man命令字\| col -b保存的文件名.txt | 将man手册页保存为文本文件。例如man ls \| col -b > ls_help.txt,方便离线查看。 |
2.3查看目录
命令类型:Shell内部命令
核心功能:Print Working Directory,显示用户当前所处的工作目录的绝对路径,明确当前操作位置,避免因路径错误导致操作失误。
使用格式:无选项、无参数,直接执行
命令 | 作用与注解 |
pwd -L | 默认选项,显示逻辑路径。若当前目录为符号链接,则显示其连接路径。 |
pwd -P | 显示物理路径。忽略符号链接,显示其实际的目录路径。 |
cd | 切换工作目录。省略路径时,默认切换到当前用户的家目录。 |
cd .. | 切换到上一级目录(父目录)。 |
cd ~ | 切换到当前用户的家目录。等同于直接输入cd。 |
cd - | 切换到上一次的工作目录,方便在两个目录间快速切换。 |
ls | 列出目录内容。这是Linux最常用的命令。 |
ls -l | 长格式显示。包含文件权限、属主、大小、修改时间等详细信息。 |
ls -a | 显示所有内容,包括以.开头的隐藏文件。 |
ls -A | 显示所有内容,但排除.(当前目录)和..(父目录)。 |
ls -d | 仅显示目录本身的属性,不显示目录内的内容。 |
ls -h | 人性化显示文件大小,单位为KB、MB、GB等(常与-l配合使用)。 |
ls -R | 递归显示指定目录及其所有子目录的内容。 |
ls --color=auto | 以颜色区分文件类型。如深蓝色代表目录,白色代表普通文件,绿色代表可执行文件。 |
du | 统计磁盘空间占用。 |
du -sh /var/log/ | 人性化统计指定目录的总大小。-s表示仅显示总计,-h表示人性化显示。 |
du -ah /boot/ | 统计目录中所有文件和子目录的大小。-a表示统计所有文件。 |
2.4创建目录和文件
命令类型:外部命令
核心功能:Make Directory,创建一个或多个新的空目录,支持批量创建和嵌套创建。
使用格式:mkdir[选项]目录名1[目录名2 目录名3...]
命令 | 作用与注解 |
mkdir目录名1 | 创建空目录。 |
mkdir -p /multimedia/movie/cartoon | 递归创建嵌套目录。如果上级目录不存在,会自动创建。 |
touch文件名1 | 创建空文件。如果文件已存在,则更新其时间戳。 |
ln源文件硬链接文件名 | 创建硬链接。硬链接与源文件指向同一数据块,删除源文件后链接仍可用。 |
ln -s源文件/目录软链接文件名 | 创建软链接(符号链接)。相当于Windows的快捷方式,删除源文件后链接会失效。 |
2.5复制、删除、移动目录和文件
数据迁移/完整备份时,必须使用-a选项,确保文件的所有属性和目录结构不变,适配openEuler24.03的文件系统权限规则。
命令 | 作用与注解 |
cp源文件目标文件/目录 | 复制文件或目录。 |
cp -r源目录目标目录 | 递归复制目录及其所有内容。 |
cp -a源文件目标文件 | 归档复制。保留文件的所有属性(权限、时间戳等),常用于备份。 |
rm文件/目录1 | 删除文件或目录。这是Linux中最危险的命令之一,需谨慎使用。 |
rm -i文件 | 交互式删除。删除前会弹出确认提示,输入y确认,n取消。 |
rm -r目录 | 递归删除目录及其所有内容。 |
rm -f文件 | 强制删除。不弹出任何确认提示。 |
rm -rf目录 | 强制递归删除。生产环境中最常用,但也是最危险的组合,绝对禁止用于系统根目录/。 |
mv源文件/目录目标位置 | 移动或重命名文件/目录。在同一目录下操作即为重命名,在不同目录下操作即为移动。 |
mv命令为外部命令
核心功能:Move拥有两个核心作用。移动文件/目录到指定位置、为文件/目录重命名,是Linux中最灵活的文件操作命令之一。
使用格式:mv[选项]源文件/目录1 源文件/目录2 ...目标位置
2.6查找目录和文件
openEuler 24.03系统中文件数量庞大,快速定位文件/命令的位置是运维必备技能。所以有两个核心的查找命令:1:which:快速查找命令程序。2:find:高级精准查找文件/目录。覆盖从简单到复杂的所有查找场景。
which:快速查找Linux命令程序对应的可执行文件位置,其搜索范围由openEuler 24.03的系统环境变量PATH决定,适合快速定位命令程序。
使用格式:which[选项]命令程序名1 命令程序名2 ...
命令 | 作用与注解 |
which命令程序名 | 查找命令程序的位置。其搜索范围由环境变量PATH决定。 |
which -a命令程序名 | 显示所有匹配的命令程序位置。当系统存在多个版本时,可查看所有路径。 |
find | 高级精准查找文件/目录。功能强大,支持按名称、类型、大小、属主、时间等多维度查找。 |
find /etc -name "resol*.conf" | 按名称查找。在/etc目录下查找以resol开头、.conf结尾的文件。 |
find /boot -type d | 按文件类型查找。d代表目录,f代表普通文件,l代表软链接。 |
find /root -type f -size +100k | 按文件大小查找。+100k表示大于100KB,-100k表示小于100KB。 |
find /home -user student | 按文件属主查找。查找属主为student用户的所有文件。 |
find /root/test -type f -mtime +7 -delete | 按修改时间查找并执行动作。查找/root/test下7天前修改的普通文件并删除。-mtime +7表示超过7天未修改。 |
find / -type f -size +1G -exec du -sh {} \; \| sort -rh | 查找大文件并排序。查找根目录下大于1G的文件,并按其大小降序排列。 |
find /etc -name "*.conf" -type f -exec cp {} /root/conf_backup/ \; | 查找并复制。将/etc目录下所有.conf配置文件复制到/root/conf_backup目录。 |
find / -maxdepth 2 -name "*.sh" | 限制递归深度查找。-maxdepth 2表示仅查找根目录和一级子目录,可提高查找速度。 |
find:Linux中功能最强大的查找命令,支持根据文件名、大小、类型、属主、修改时间、权限等多维度属性进行精准查找,采用递归搜索方式,可遍历指定目录的所有子目录,在openEuler 24.03中对大目录查找时,可结合-maxdepth提高效率,适合复杂的查找场景。
使用格式:find[查找范围][查找条件表达式][执行动作]
查找范围:指定要查找的目录路径(可多个),如/etc、/boot、.(当前目录),必选参数
查找条件表达式:指定查找的规则(如按名称,大小,类型),核心参数,可单个或多个组合。
执行动作:查找完成后对结果执行的操作(如打印,删除,复制),默认动作是-print(打印到屏幕),可选参数。