d76c1197-591a-4ace-ac4d-17ef6f4ce545.jpg

Linux 是一个强大的开源操作系统,其命令行界面(CLI)是其核心功能之一。通过命令行,你可以高效地管理系统、文件和进程。本教程针对初学者,介绍一些最常用的命令,按照类别组织。每个命令包括简要说明、语法示例和使用场景。

假设你已经在终端中操作(例如,通过 SSH 或本地终端)。命令通常以小写字母输入,按 Enter 执行。许多命令支持选项(如 -h 查看帮助)。

1. 导航和目录操作

这些命令用于浏览文件系统和管理系统目录。

  • pwd:显示当前工作目录的路径。

    • 示例:pwd
    • 输出:/home/user/documents
    • 场景:确认你当前的位置。
  • ls:列出当前目录的内容。

    • 示例:ls -l(详细列表,包括权限、大小和修改时间)
    • 示例:ls -a(显示隐藏文件)
    • 场景:查看文件夹中的文件。
  • cd:切换目录。

    • 示例:cd /path/to/directory(绝对路径)
    • 示例:cd ..(返回上级目录)
    • 示例:cd ~(返回用户主目录)
    • 场景:移动到不同的文件夹。
  • mkdir:创建新目录。

    • 示例:mkdir new_folder
    • 示例:mkdir -p parent/child(递归创建)
    • 场景:组织文件时新建文件夹。
  • rmdir:删除空目录。

    • 示例:rmdir empty_folder
    • 场景:清理无用目录(注意:目录必须为空)。

2. 文件操作

管理文件的创建、复制、移动和删除。

  • touch:创建空文件或更新文件时间戳。

    • 示例:touch newfile.txt
    • 场景:快速创建一个新文件。
  • cp:复制文件或目录。

    • 示例:cp file.txt /path/to/destination/(复制文件)
    • 示例:cp -r dir/ /path/to/destination/(递归复制目录)
    • 场景:备份文件。
  • mv:移动或重命名文件/目录。

    • 示例:mv oldname.txt newname.txt(重命名)
    • 示例:mv file.txt /path/to/new/location/(移动)
    • 场景:整理文件结构。
  • rm:删除文件或目录。

    • 示例:rm file.txt(删除文件)
    • 示例:rm -r dir/(递归删除目录)
    • 示例:rm -f file.txt(强制删除,无提示)
    • 警告:删除不可恢复,使用时谨慎!

3. 查看和编辑文件

阅读文件内容或进行简单编辑。

  • cat:显示文件内容。

    • 示例:cat file.txt
    • 示例:cat file1.txt file2.txt > combined.txt(合并文件)
    • 场景:快速查看小文件。
  • lessmore:分页查看文件(适合大文件)。

    • 示例:less largefile.log
    • 操作:空格翻页,q 退出。
    • 场景:浏览日志文件。
  • head:显示文件开头几行。

    • 示例:head -n 10 file.txt(前 10 行)
    • 场景:检查文件头部。
  • tail:显示文件结尾几行。

    • 示例:tail -n 10 file.txt(后 10 行)
    • 示例:tail -f logfile.log(实时监控)
    • 场景:跟踪日志更新。
  • nanovi/vim:文本编辑器。

    • 示例:nano file.txt(简单编辑器)
    • 示例:vi file.txt(高级编辑器,i 插入模式,:wq 保存退出)
    • 场景:修改配置文件。

4. 系统信息和监控

了解系统状态和资源使用。

  • uname:显示系统信息。

    • 示例:uname -a(所有信息,包括内核版本)
    • 场景:检查操作系统类型。
  • whoami:显示当前用户名。

    • 示例:whoami
    • 场景:确认用户身份。
  • df:显示磁盘空间使用情况。

    • 示例:df -h(人类可读格式,如 GB)
    • 场景:检查硬盘剩余空间。
  • du:显示目录或文件大小。

    • 示例:du -sh /path/to/dir/(总结大小)
    • 场景:找出占用空间的文件。
  • ps:显示当前进程。

    • 示例:ps aux(所有进程详情)
    • 场景:查看运行程序。
  • tophtop:实时监控进程(htop 需要安装)。

    • 示例:top(q 退出)
    • 场景:监控 CPU 和内存使用。
  • kill:终止进程。

    • 示例:kill PID(PID 从 ps 获取)
    • 示例:kill -9 PID(强制杀死)
    • 场景:停止挂起的程序。

5. 权限和所有权

管理文件访问权限。

  • chmod:更改文件权限。

    • 示例:chmod 755 script.sh(所有者可执行,其他人可读)
    • 示例:chmod +x file(添加执行权限)
    • 场景:使脚本可运行。
  • chown:更改文件所有者。

    • 示例:chown user:group file.txt(需要 sudo)
    • 场景:转移文件所有权。

6. 网络和下载

基本网络操作。

  • ping:测试网络连接。

    • 示例:ping google.com
    • 场景:检查互联网连通性。
  • ipifconfig:显示网络接口信息(ifconfig 可能需安装)。

    • 示例:ip addr show
    • 场景:查看 IP 地址。
  • wgetcurl:下载文件。

    • 示例:wget https://example.com/file.zip
    • 示例:curl -O https://example.com/file.zip
    • 场景:从 web 下载资源。

7. 包管理和更新

取决于你的 Linux 发行版(例如 Ubuntu 用 apt,CentOS 用 yum/dnf)。

  • apt(Debian/Ubuntu):

    • 示例:sudo apt update(更新包列表)
    • 示例:sudo apt install package-name(安装包)
    • 示例:sudo apt search keyword(搜索包)
  • yum/dnf(Red Hat/CentOS/Fedora):

    • 示例:sudo dnf update(更新系统)
    • 示例:sudo dnf install package-name
  • 场景:安装软件或保持系统更新。

高级提示

  • sudo:以超级用户权限运行命令(需密码)。

    • 示例:sudo command
    • 警告:小心使用,避免破坏系统。
  • man:查看命令手册。

    • 示例:man ls(q 退出)
    • 场景:学习命令细节。
  • grep:搜索文本。

    • 示例:grep "pattern" file.txt
    • 场景:过滤输出。
  • 管道(|)和重定向(>、>>)

    • 示例:ls | grep txt(过滤 ls 输出)
    • 示例:echo "text" > file.txt(写入文件)
  • alias:创建命令别名。

    • 示例:alias ll='ls -l'(在 ~/.bashrc 中永久化)