核心概念:Linux 命令的基本结构

大多数 Linux 命令遵循以下结构:

1
command [options] [arguments]
  • command: 你要执行的命令的名称(例如,lscdmkdir)。
  • options: 修改命令行为的选项(通常以 - 或 -- 开头,例如,-l-a--help)。
  • arguments: 命令操作的对象(例如,文件名、目录名)。

一、文件和目录操作命令

  1. ls (list): 列出目录内容

    • 功能: 显示当前目录或指定目录中的文件和子目录。
    • 常用选项:
      • -l: 长列表格式,显示详细信息(权限、所有者、大小、修改时间)。(ls -l可简写为ll)
      • -a: 显示所有文件,包括隐藏文件(以 . 开头的文件)。
      • -h: 以人类可读的方式显示文件大小(如 K, M, G)。
      • -t: 按修改时间排序。
      • -r: 反向排序。
    • 示例:
      1
      2
      3
      4
      5
      ls       # 列出当前目录的内容
      ls -l # 列出当前目录的详细信息
      ls -la # 列出所有文件和目录,包括隐藏文件
      ls -lh /home # 列出 /home 目录的内容,并以人类可读方式显示文件大小
      ls -ltr # 列出文件,长列表格式,按修改时间倒序排序
  2. cd (change directory): 切换目录

    • 功能: 更改当前工作目录。
    • 常用参数:
      • ~: 用户的 home 目录。cd
      • . : 当前目录。
      • ..: 返回上级目录。
      • /path/to/directory: 绝对路径。
      • directory_name: 相对于当前目录的路径。
    • 示例:
      1
      2
      3
      4
      5
      cd /home/user    # 切换到 /home/user 目录
      cd .. # 返回上级目录
      cd ~ # 切换到用户的 home 目录
      cd # 切换到用户的 home 目录 (没有参数时默认切换到 home 目录)
      cd ./mydir # 切换到当前目录下的 mydir 目录
  3. pwd (print working directory): 显示当前目录

    • 功能: 显示当前工作目录的绝对路径。
    • 示例:
      1
      pwd
  4. mkdir (make directory): 创建目录

    • 功能: 创建一个新的目录。
    • 常用选项:
      • -p: 创建多层目录 (如果父目录不存在也一同创建)。
    • 示例:
      1
      2
      mkdir mydir      # 在当前目录下创建一个名为 mydir 的目录
      mkdir -p /home/user/new/mydir # 创建多级目录 /home/user/new/mydir
  5. rmdir (remove directory): 删除空目录

  • 功能: 删除一个空的目录。
  • 示例:
    1
    rmdir mydir       # 删除名为 mydir 的空目录
  1. rm (remove): 删除文件或目录

    • 功能: 删除文件或目录。
    • 常用选项:
      • -r-R: 递归删除目录及其所有内容(谨慎使用)。
      • -f: 强制删除,不提示确认 (也谨慎使用)。
    • 示例:
      1
      2
      3
      rm myfile.txt        # 删除名为 myfile.txt 的文件
      rm -r mydir # 删除名为 mydir 的目录及其所有内容
      rm -rf mydir # 强制删除名为 mydir 的目录及其所有内容 (非常危险)
      重要提示: rm -rf 命令非常强大,但也很危险,使用时一定要小心,避免误删重要文件或目录。
  2. touch : 创建文件或者更新文件时间戳

    • 功能: 创建一个空文件,也可以更新文件最后修改时间
    • 示例:
      1
      2
      touch myfile.txt    #创建一个名为 myfile.txt 的空文件
      touch myfile.txt #如果myfile.txt已存在,则会更新最后修改时间
  3. cp (copy): 复制文件或目录

  • 功能: 复制文件或目录。
  • 常用选项:
    • -r-R: 递归复制目录及其所有内容。
  • 示例:
    1
    2
    3
    cp file1 file2      # 将 file1 复制为 file2
    cp file1 /home/user # 将 file1 复制到 /home/user 目录下
    cp -r dir1 dir2 # 将 dir1 目录及其所有内容复制到 dir2 目录下
  1. mv (move): 移动文件或目录,或重命名文件/目录
    • 功能: 移动文件或目录,也可以用于重命名文件或目录
    • 示例:
      1
      2
      3
      mv file1 /home/user   # 将 file1 移动到 /home/user 目录下
      mv file1 file2 # 将 file1 重命名为 file2
      mv dir1 dir2 # 将目录 dir1 重命名为 dir2

二、文件内容查看和编辑命令

  1. cat (concatenate): 显示文件内容

    • 功能: 将文件内容输出到终端。
    • 示例:
      1
      cat myfile.txt   # 显示 myfile.txt 的内容
  2. lessmore : 分页显示文件内容

    • 功能: 用于分页显示较长的文件内容,方便查看。
    • 常用操作:
      • 空格键: 向下翻页。
      • q: 退出 less/more。
    • 示例:
      1
      2
      less myfile.txt    # 使用 less 分页显示 myfile.txt 的内容
      more myfile.txt # 使用 more 分页显示 myfile.txt 的内容
  3. head : 显示文件开头部分内容

    • 功能: 显示文件开头部分的内容,默认显示前10行
    • 常用选项:
      • -n:指定显示多少行
    • 示例:
      1
      2
      head myfile.txt   #显示myfile.txt文件的前10行
      head -n 20 myfile.txt #显示myfile.txt文件的前20行
  4. tail : 显示文件结尾部分内容(常用!记得加-f)

    • 功能: 显示文件结尾部分的内容,默认显示后10行
    • 常用选项:
      • -n:指定显示多少行
      • -f: 动态跟踪文件内容,常用于查看日志文件
    • 示例:
      1
      2
      3
      tail myfile.txt   #显示myfile.txt文件的后10行
      tail -n 20 myfile.txt #显示myfile.txt文件的后20行
      tail -f myfile.txt #动态显示myfile.txt文件的尾部内容
  5. echo : 输出文本或变量

    • 功能: 输出字符串或变量的值到终端,常用于打印信息或者创建文件
    • 示例:
      1
      2
      3
      echo "hello world!"      #输出 hello world!
      echo $HOME #输出当前用户的 home 目录路径
      echo "hello world!" > myfile.txt #将 hello world! 输出到 myfile.txt 中,创建myfile.txt文件
  6. nanovi/vim: 编辑文件

    • 功能: 用于编辑文本文件。
    • nano: 比较简单易用,适合初学者。
    • vi/vim: 功能强大,但学习曲线较陡峭。
    • 示例:
      1
      2
      nano myfile.txt # 使用 nano 编辑 myfile.txt
      vim myfile.txt # 使用 vim 编辑 myfile.txt
      • nano 基本操作:
        • 编辑文本:直接输入。
        • 保存:Ctrl + O, 然后按 Enter 确认。
        • 退出:Ctrl + X
      • vim 基本操作
        • 进入编辑模式:按 i 键。
        • 保存:先按 Esc 退回命令模式,输入 :w 并按 Enter
        • 退出:先按 Esc 退回命令模式,输入 :q 并按 Enter,如果修改了文件,输入 :wq 并按 Enter

三、系统信息和管理命令

  1. uname : 显示系统信息

    • 功能: 显示当前系统的内核信息
    • 常用选项:
      • -a: 显示所有信息
    • 示例:
      1
      2
      uname   #显示内核名称
      uname -a #显示所有信息
  2. free : 显示内存使用情况

    • 功能: 显示系统内存的使用情况
    • 常用选项:
      • -h:以人类可读的方式显示
    • 示例:
      1
      free -h
  3. df : 显示磁盘空间使用情况

    • 功能: 显示系统磁盘空间的使用情况
    • 常用选项:
      • -h:以人类可读的方式显示
    • 示例:
      1
      df -h
  4. ps (process status): 显示进程信息

    • 功能: 显示当前运行的进程信息。
    • 常用选项:
      • aux: 显示所有用户的进程。
    • 示例:
      1
      ps aux   # 显示所有用户的进程信息
  5. top : 动态显示系统资源使用情况

    • 功能: 动态显示系统进程资源占用情况,包括 CPU、内存等
    • 示例:
      1
      top
    • 常用操作:
      • q: 退出 top
  6. kill : 终止进程

    • 功能: 终止一个正在运行的进程
    • 示例:
      1
      2
      kill <进程ID>   #根据进程ID终止进程
      kill -9 <进程ID> #强制终止进程
      注意: 进程 ID 可以通过 ps aux 命令查看。
  7. sudo (superuser do): 以管理员权限执行命令

    • 功能: 以管理员身份执行命令,例如安装软件,修改系统配置等
    • 示例:
      1
      2
      sudo apt update   # 使用管理员权限更新软件包列表
      sudo yum install <软件包名称> # 使用管理员权限安装软件包
      注意: 使用 sudo 命令需要输入管理员密码。

四、其他常用命令

  1. grep : 在文件中查找匹配文本

    • 功能: 在文件中查找匹配指定模式的文本,并输出包含匹配文本的行
    • 常用选项:
      • -i:忽略大小写
      • -n:显示匹配行号
      • -v:反向匹配
    • 示例:
      1
      2
      3
      4
      grep "error" myfile.txt     #在 myfile.txt 中查找包含 error 的行
      grep -i "Error" myfile.txt #在 myfile.txt 中查找包含 Error 或 error 的行 (忽略大小写)
      grep -n "error" myfile.txt #在 myfile.txt 中查找包含 error 的行,并显示行号
      grep -v "error" myfile.txt #在 myfile.txt 中查找不包含 error 的行
  2. find : 查找文件或目录

    • 功能: 在指定目录下查找文件或目录。
    • 常用选项:
      • -name <文件名>: 按文件名查找。
      • -type f:查找文件。
      • -type d: 查找目录。
    • 示例:
      1
      2
      find /home -name myfile.txt   # 在 /home 目录下查找名为 myfile.txt 的文件
      find / -type d -name "mydir" # 在根目录下查找名为 mydir 的目录
  3. history : 查看命令历史

    • 功能: 查看之前执行过的命令历史
    • 示例:
      1
      history
  4. man (manual): 查看命令帮助文档

    • 功能: 查看命令的帮助文档,了解命令的用法
    • 示例:
      1
      2
      man ls            # 查看 ls 命令的帮助文档
      man cat # 查看 cat 命令的帮助文档
      • 常用操作:
        • 空格键:向下翻页。
        • q: 退出 man 页面。

学习建议

  • 多练习: 实践是最好的老师。在终端中多尝试这些命令,加深理解。
  • 查阅文档: 遇到不清楚的命令,使用 man <命令> 命令查看帮助文档。
  • 逐步深入: 先掌握最基本的命令,然后逐步学习更高级的用法。
  • 互联网资源: 网上有很多 Linux 教程和资源,可以利用它们来辅助学习。