15%

全场主机优惠15%

测试技能,享折扣

使用代码:

Skills
开始使用
30.10.2024
1 +1

Ubuntu 命令行:面向初学者和高级用户的基本 Bash 命令

Ubuntu 中的命令行——通常称为终端——是 Linux 用户可用的最强大工具之一。无论是管理文件、安装软件、配置系统设置,还是自动化重复性任务,终端都能让您直接、高效地控制操作系统。Ubuntu 终端的核心是 Bash,这是一个强大的命令行 shell,能够快速、精确地解释和执行您的命令。

本综合指南涵盖了 Ubuntu 中最重要、最常用的 Bash 命令,为您在终端中自信、高效地工作奠定坚实基础——无论您是完全的初学者,还是希望提升现有技能。

什么是 Bash?

Bash(*Bourne Again Shell* 的缩写)是 Ubuntu 及绝大多数 Linux 发行版的默认命令行 shell。它是一种基于文本的界面,允许用户直接向操作系统发出命令,完全绕过图形界面,从而实现更快速、更精确的控制。

Bash 功能极为强大,支持多种特性,包括:

  • Shell 脚本 — 自动化复杂的命令序列
  • 命令历史 — 调用并重复使用之前执行过的命令
  • 别名 — 为常用命令创建快捷方式
  • 管道与重定向 — 将命令串联起来实现高级工作流
  • 环境变量 — 动态配置系统和应用程序行为

如何在 Ubuntu 中打开终端

您可以通过以下两种方式打开 Ubuntu 终端:

  • 在键盘上按 Ctrl + Alt + T
  • 在应用程序菜单(活动或应用抽屉)中搜索 “Terminal”

终端打开后,您即可开始输入 Bash 命令。

> 专业提示:如果您正在管理远程服务器——例如 VPS 托管方案——通常需要通过 SSH 而非本地桌面界面访问终端。两种环境中使用的 Bash 命令完全相同。

基本导航命令

高效导航 Linux 文件系统是每位终端用户必须掌握的第一项技能。以下命令构成了 Ubuntu 目录导航的基础。

1. pwd — 打印工作目录

pwd 命令显示您当前所在目录的完整路径。当您深入嵌套目录结构并需要确认当前位置时,此命令尤为有用。

pwd

示例输出:

/home/username/documents/projects

2. ls — 列出目录内容

ls 命令列出当前工作目录中的所有文件和目录。它是 Linux 中使用频率最高的命令之一。

ls

您可以通过多个实用选项扩展其功能:

选项描述
ls -l长格式——显示文件权限、所有者、大小和修改日期
ls -a显示所有文件,包括隐藏文件(以 . 开头的文件)
ls -lh长格式,文件大小以人类可读格式显示(KB、MB、GB)
ls -lt按修改时间排序,最新的排在最前
ls -la结合长格式与隐藏文件显示

示例:

ls -lah /var/www/html

3. cd — 切换目录

cd 命令用于在目录之间导航。它可以说是任何 Linux 终端会话中使用最频繁的单个命令。

cd /path/to/directory

常用快捷方式:

cd          # Navigate to your home directory
cd ~        # Also navigates to your home directory
cd ..       # Move up one directory level
cd -        # Return to the previous directory
cd /        # Navigate to the root directory

4. mkdir — 创建目录

mkdir 命令在指定路径创建新目录。

mkdir new_directory

要在单个命令中创建嵌套目录,请使用 -p 标志:

mkdir -p /home/username/projects/website/assets

这将自动创建所有中间目录,即使它们尚不存在。

5. rmdir — 删除空目录

rmdir 命令用于删除目录。如果目录中包含文件或子目录,则会返回错误。

rmdir directory_name

要删除目录及其所有内容,请使用带有递归标志的 rm 命令(将在下一节介绍):

rm -r directory_name

> 警告:rm -r 命令会永久删除文件和目录。没有回收站或垃圾桶可供恢复。执行前请务必仔细核对路径。

文件管理命令

无论是在个人桌面还是生产环境的独立服务器上,管理文件都是使用任何 Linux 系统时的核心职责。以下命令涵盖了文件的创建、复制、移动和删除。

1. touch — 创建新文件

touch 命令创建一个新的空文件。如果文件已存在,它只会更新文件的访问和修改时间戳,而不会更改其内容。

touch file_name.txt

您可以同时创建多个文件:

touch file1.txt file2.txt file3.txt

2. cp — 复制文件和目录

cp 命令将文件或目录从一个位置复制到另一个位置。

cp source_file destination

实用选项:

选项描述
cp -r递归复制目录及其所有内容
cp -i覆盖现有文件前提示确认
cp -v详细模式——复制每个文件时显示文件名
cp -u仅复制比目标文件更新的文件

示例:

# Copy a single file
cp config.txt /etc/myapp/config.txt

# Copy an entire directory
cp -r /var/www/html /backup/html_backup

3. mv — 移动或重命名文件

mv 命令具有双重用途:将文件或目录移动到新位置,以及对其进行重命名。

将文件移动到新目录:

mv file_name.txt /new/directory/

重命名文件:

mv old_name.txt new_name.txt

同时移动并重命名:

mv /home/user/old_name.txt /var/www/html/new_name.txt

4. rm — 删除文件和目录

rm 命令从文件系统中永久删除文件和目录。

rm file_name.txt

常用选项:

选项描述
rm -r递归删除目录及其所有内容
rm -f强制删除,无需确认提示
rm -i删除每个文件前提示确认
rm -rf强制递归删除——请极度谨慎使用
# Delete a single file
rm old_log.txt

# Delete a directory and all its contents
rm -r /tmp/old_project/

> 重要警告:在错误路径上运行 rm -rf——尤其是以 root 用户身份——可能造成不可逆的系统损坏。按下回车键前请务必核实您的命令。

查看和编辑文件

Ubuntu 终端提供了多种强大的工具,可直接在终端中读取和编辑文本文件,无需打开任何图形文本编辑器。这些命令对于在共享虚拟主机环境或专用基础设施上管理配置文件的系统管理员来说至关重要。

1. cat — 查看文件内容

cat 命令(*concatenate* 的缩写)直接在终端中显示文件的完整内容。

cat file_name.txt

您也可以使用 cat 合并多个文件:

cat file1.txt file2.txt > combined.txt

以及在内容旁边显示行号:

cat -n file_name.txt

2. less — 逐页查看文件

less 命令非常适合阅读大型文件,它每次显示一屏内容,而不是一次性输出所有内容。

less file_name.txt

less 中的导航:

按键操作
Spacef向前翻一页
b向后翻一页
Arrow keys逐行滚动
/search_term向前搜索关键词
?search_term向后搜索关键词
q退出并返回终端

3. nano — 在终端中编辑文件

nano 命令直接在终端中打开 Nano 文本编辑器。它对初学者友好,屏幕底部会显示键盘快捷键。

nano file_name.txt

Nano 基本键盘快捷键:

快捷键操作
Ctrl + O保存(写出)文件
Ctrl + X退出 Nano
Ctrl + K剪切当前行
Ctrl + U粘贴剪切的行
Ctrl + W在文件中搜索

对于更高级的编辑,有经验的管理员通常更偏好 Vimvim file_name.txt)或 GNU Emacs,但 Nano 是推荐新用户的起点。

4. head — 查看文件开头

head 命令默认显示文件的前 10 行。这对于快速查看日志文件或配置文件的开头非常有用。

head file_name.txt

要指定自定义行数:

head -n 25 file_name.txt

5. tail — 查看文件末尾

tail 命令显示文件的最后 10 行。这对于实时监控日志文件特别有价值。

tail file_name.txt

要实时跟踪日志文件的更新(对服务器监控极为有用):

tail -f /var/log/syslog

要显示自定义行数:

tail -n 50 /var/log/auth.log

其他必备 Bash 命令

除了上述基础内容之外,以下命令对任何 Ubuntu 用户或系统管理员来说都是不可或缺的。

grep — 搜索文本模式

grep "search_term" file_name.txt
grep -r "error" /var/log/         # Recursive search through a directory
grep -i "warning" system.log      # Case-insensitive search

find — 查找文件和目录

find /home -name "*.txt"           # Find all .txt files in /home
find /var/www -type f -name "*.php" # Find all PHP files
find / -size +100M                 # Find files larger than 100MB

chmod — 更改文件权限

chmod 755 script.sh       # Owner: read/write/execute; Group/Others: read/execute
chmod +x deploy.sh        # Add execute permission for all users

chown — 更改文件所有权

chown username:groupname file.txt
chown -R www-data:www-data /var/www/html

sudo — 以超级用户身份执行命令

sudo apt update
sudo systemctl restart nginx

apt — 软件包管理

sudo apt update              # Refresh package lists
sudo apt upgrade             # Upgrade all installed packages
sudo apt install package_name  # Install a new package
sudo apt remove package_name   # Remove a package

man — 访问手册页

man ls        # View the manual for the ls command
man grep      # View the manual for grep

Bash 命令链接与重定向

Bash 最强大的特性之一是能够将命令串联起来并重定向输入/输出。

管道(|

管道运算符将一个命令的输出作为另一个命令的输入:

ls -la | grep ".txt"          # List only .txt files
cat access.log | grep "404"   # Find all 404 errors in a log
ps aux | grep nginx           # Check if nginx is running

输出重定向(>>>

echo "Hello World" > output.txt    # Write to file (overwrites)
echo "New line" >> output.txt      # Append to file
ls -la > directory_listing.txt     # Save directory listing to file

输入重定向(<

sort < unsorted_list.txt           # Sort contents of a file

实际应用场景:服务器管理中的 Bash 命令

掌握 Bash 命令不仅对本地桌面使用有益——对于管理远程服务器更是绝对必要。无论是配置 Web 服务器、部署应用程序,还是排查性能问题,终端都是您的主要工具。

以下是这些命令每天被实际应用的一些真实场景:

  • Web 服务器管理:使用 nano 编辑 Nginx 或 Apache 配置文件,使用 tail -f 查看错误日志,以及使用 cpmvrm 管理 Web 根目录
  • SSL 证书安装:导航到证书目录、使用 ls -l 验证文件权限,以及编辑配置文件——这些都是在服务器上配置 SSL 证书时的关键步骤
  • 数据库管理:使用 grep 搜索查询日志,使用 find 定位数据库文件,以及使用 chmod 保护敏感配置文件
  • 自动化备份:编写结合 cptarfind 的 Bash 脚本,为关键数据创建定时备份
  • 邮件服务器配置:使用 catlesstail 管理邮件托管配置文件并监控日志

快速参考:必备 Bash 命令速查表

命令用途示例
pwd打印当前目录pwd
ls列出目录内容ls -lah
cd切换目录cd /var/www
mkdir创建目录mkdir -p /new/dir
rmdir删除空目录rmdir old_dir
touch创建空文件touch index.html
cp复制文件/目录cp -r src/ dest/
mv移动或重命名mv old.txt new.txt
rm删除文件/目录rm -rf /tmp/cache
cat显示文件内容cat config.txt
less逐页浏览大型文件less access.log
nano在终端中编辑文件nano nginx.conf
head查看前 N 行head -n 20 log.txt
tail查看最后 N 行/实时跟踪tail -f syslog
grep搜索文本模式grep "error" log.txt
find定位文件find / -name "*.conf"
chmod更改权限chmod 755 script.sh
sudo以超级用户身份运行sudo apt update
man查看命令手册man grep

结论

掌握 Bash 命令是您作为 Linux 用户、开发者或系统管理员所能培养的最有价值的技能之一。本指南涵盖的命令——从使用 pwdlscd 进行基本导航,到使用 cpmvrm 进行文件管理,再到使用 catlessnanoheadtail 查看和编辑文件——构成了在 Ubuntu 终端中高效工作的基本工具集。

随着您对这些基础知识越来越熟悉,您将自然而然地进阶到更高级的主题,如 shell 脚本编写、进程管理、网络诊断和系统监控——所有这些都直接建立在此处奠定的基础之上。

如果您希望在真实的 Linux 环境中实践这些技能,AlexHost 提供高性能的 VPS 托管,具备完整的 root SSH 访问权限,让您从命令行完全掌控您的服务器。我们的基础设施专为可靠性、速度和灵活性而设计——无论您是托管个人项目、商业应用程序,还是复杂的多服务器架构。

立即开始探索 Ubuntu 命令行的强大功能——全面掌控您的 Linux 环境。

15%

全场主机优惠15%

测试技能,享折扣

使用代码:

Skills
开始使用