从 0 开始学 Linux:Bash Shell 快速入门
写在最前
本教程将介绍一些基本的 Bash 命令行操作,包括目录操作、文件操作、文件处理等。
文中出现的命令块中的 [Content] 表示可选内容,即可以省略。<Content> 表示必填内容,不可省略。
命令块示例:
1 | sudo apt install <软件包> [-y] |
其中的 <软件包> 表示必填,[-y] 表示可选。
准备之前
在阅读本文教程之前,如果还未安装 Linux 环境,请先在下方按钮中选择任一方式以进行安装:
Bash 命令行
Bash 是一种交互式命令行解释器,它提供命令行界面,让用户可以执行命令、查看文件、创建目录、删除文件等操作。
命令组成
Bash 命令由命令名和参数组成。
命令名:命令的名称,如 ls、cd、mkdir、rm 等。
参数:命令的附加信息,通常以 -o 或者 --option 形式出现。参数可以混合使用。
命令组成示例:
1 | ls -l -h -a |
输入命令
-
直接在命令行中输入完整的命令,并按下
Enter键。 -
在命令行中输入命令的前缀或输入文件路径时,按下
Tab键,Bash 会自动补全命令。 -
使用历史命令:
- 输入
history命令,可以查看历史命令。 - 在命令行中输入
!<命令编号>,可以执行历史命令。
- 输入
-
命令回溯:
- 使用方向键
↑和↓可以回溯历史命令。 - 使用快捷键
Ctrl+R,可以快速执行之前的命令。
- 使用方向键
-
编辑命令:
- 使用
Ctrl+A定位到命令行首。 - 使用
Ctrl+E定位到命令行尾。 - 使用
Ctrl+K删除光标到命令行尾的内容。 - 使用
Ctrl+U删除光标到命令行首的内容。
- 使用
退出命令行
退出命令行有两种方式:
-
直接按下
Ctrl+D键。 -
输入
exit命令。
常用命令
以下是一些常用的命令,包括目录操作、文件操作、文件处理等。
若需要了解更多命令,请直接查询 Linux Shell 基础命令速查表(非完整版)。
Linux Shell 基础命令速查表管理软件包
你可以利用命令行实现安装、卸载、更新软件包等操作。
不同的 Linux 发行版,所对应的包管理器有所不同。 请根据自己所用的发行版系统对号入座。
- 安装软件包:
1 | sudo apt install <软件包名> [-y] |
其中的 -y 参数可选,表示跳过确认并直接安装。
- 更新软件包:
1 | sudo apt update |
- 卸载软件包:
1 | sudo apt remove <软件包名> [-y] |
或者,直接执行 sudo apt purge <软件包名> [-y] 即可。
- 搜索软件包:
1 | apt search <软件包名> [--full-name-only | --names-only] |
--full-name-only: 参数可选,仅显示完整的软件包名称;
--names-only: 参数可选,仅显示软件包名称。
注意:
若你的 Red Hat 版本低于 8.0(不包括 8.0),请将 dnf 替换为 yum。
如果你不确定当前是否可以使用 dnf,请直接执行 which dnf 即可。
- 安装软件包:
1 | sudo dnf install <软件包名> [-y] |
其中的 -y 参数可选,表示跳过确认并直接安装。
- 更新软件包:
1 | sudo dnf upgrade [-y] |
- 卸载软件包:
1 | sudo dnf remove <软件包名> [-y] |
或者,直接执行 sudo dnf erase <软件包名> [-y] 即可。
- 搜索软件包:
1 | dnf search <软件包名> |
- 安装软件包:
1 | sudo pacman -S <软件包名> [--noconfirm] |
--noconfirm: 参数可选,表示跳过确认并直接安装。
- 更新软件包:
1 | sudo pacman -Syu |
- 卸载软件包:
1 | sudo pacman -R <软件包名> [--noconfirm] |
或者,直接执行 sudo pacman -Rs <软件包名> [--noconfirm] 即可。
- 搜索软件包:
1 | pacman -Ss <软件包名> |
- 安装软件包:
1 | sudo zypper install <软件包名> [-y] |
其中的 -y 参数可选,表示跳过确认并直接安装。
- 更新软件包:
1 | sudo zypper refresh |
- 卸载软件包:
1 | sudo zypper remove <软件包名> [-y] |
或者,直接执行 sudo zypper rm <软件包名> [-y] 即可。
- 搜索软件包:
1 | zypper search <软件包名> |
文件管理
你可以利用命令行实现文件管理操作,如创建、删除、移动、复制文件或目录。
目录操作
- 切换工作目录:
1 | cd <目录路径> |
特别的目录路径有:
~表示当前用户的主目录。-表示回到上一次所在的目录。.表示当前目录。..表示上级目录。
- 创建目录:
1 | mkdir [-p] <目录路径> |
其中的 -p 参数可选,表示创建父目录。
- 删除目录:
1 | rm -r <目录路径> |
其中的 -r 参数可选,表示递归删除目录及其内容。
- 复制目录:
1 | cp -r <源目录路径> <目标目录路径> |
或者,直接执行 cp -r <源目录路径>/* <目标目录路径> 即可。
- 移动目录:
1 | mv <源目录路径> <目标目录路径> |
mv 命令既可以实现文件或目录的移动,同时也可以重命名。
比如:mv file1.txt file2.txt 可以将 file1.txt 重命名为 file2.txt。
- 查看目录内容:
1 | ls [目录路径] [参数] |
直接输入 ls 将显示当前目录的内容。
其中,ls 常用的参数有:
-a: 显示所有文件,包括隐藏文件。-l: 显示详细信息,包括文件权限、所有者、大小、修改时间等。-h: 以人类可读的方式显示文件大小。-R: 递归显示目录下的所有文件。
文件操作
- 创建文件:
1 | touch <文件路径> |
- 删除文件:
1 | rm <文件路径> |
- 复制文件:
1 | cp <源文件路径> <目标文件路径> |
- 移动文件:
1 | mv <源文件路径> <目标文件路径> |
- 查看文件内容:
1 | cat <文件路径> |
- 查看文件属性:
1 | file <文件路径> |
- 查看文件大小:
1 | du -sh <文件路径> |
文件处理
你可以通过命令行实现文件处理操作。
写入文件
写入文件有多种方式,以下介绍几种常用方法:
方法一:使用 echo 可以将内容写入文件。
1 | echo <内容> > <文件路径> |
-
>表示写入文件,若文件内容存在,则覆盖原有内容; -
>>表示追加内容到文件末尾。
方法二:使用 tee 命令可以将内容写入文件,并同时输出到屏幕。
1 | tee [-a] <文件路径> |
执行此命令后,你可以输入内容并按下回车,内容将同时写入文件和屏幕。若要结束输入,请按下快捷键: Ctrl + D 或 Ctrl + C。
其中的 -a 参数可选,表示追加内容到文件末尾。
方法三:使用 cat 命令将内容写入文件。
1 | cat > <文件路径> |
执行此命令后,你可以输入内容并按下回车,内容将写入文件。若要结束输入,请按下快捷键: Ctrl + D 或 Ctrl + C。
读取文件
方法一:使用 cat 命令读取文件内容。
1 | cat <文件路径> |
方法二:使用 less 命令分页显示文件内容。
1 | less <文件路径> |
方法三:使用 head 命令显示文件开头内容。
1 | head [-n <行数>] <文件路径> |
方法四:使用 tail 命令显示文件末尾内容。
1 | tail [-n <行数>] <文件路径> |
方法五:使用 grep 命令搜索文件内容。
1 | grep <搜索内容> <文件路径> |
或者你可以利用 cat、 grep 以及管道符 | 组合命令以搭配使用。
1 | cat <文件路径> | grep <搜索内容> |
搜索文件
方法一:使用 find 命令搜索文件。
1 | find <目录路径> [选项] |
其中,find 命令常用的参数有:
-name: 指定文件名。-type: 指定文件类型。f: 显示普通文件。d: 显示目录。l: 显示符号链接。
-iname: 指定文件名,不区分大小写。-size: 指定文件大小。+n: 大于n字节的文件。-n: 小于n字节的文件。n: 等于n字节的文件。
-mtime: 指定文件最后修改时间。+n: 距离现在n天以内的文件。-n: 距离现在n天以前的文件。n: 距离现在n天的文件。
-exec: 执行命令。
1 | find <目录路径> -name <文件名> -exec <命令> {} \; |
其中的 {} 表示搜索结果中的每一个文件名。
方法二:使用 locate 命令搜索文件。
1 | locate <文件名> |
写在最后
以上仅介绍了一些基本的 Bash 命令行操作,若需要了解更多命令,请直接查询 Linux Shell 基础命令速查表(非完整版)。
Linux Shell 基础命令速查表若在学习过程中遇到问题,欢迎在评论区留言。
跳转提示
若你需要学习 Bash 脚本,请点击下方按钮:
- 标题: 从 0 开始学 Linux:Bash Shell 快速入门
- 作者: CatIsNotFound
- 创建于 : 2024-06-09 13:10:00
- 更新于 : 2025-01-16 13:37:45
- 链接: https://catisnotfound.github.io/2024/06/从-0-开始学-Linux-Bash-Shell-快速入门/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。