本文最后更新于 2025-02-08,墨迹未干时,知识正鲜活。随着时间推移,文章部分内容可能需要重新着墨,请您谅解。Contact

Linux命令大全(详解版)

列出目录内容

  1. ls (list)

    • -a (all):显示所有文件,包括隐藏文件(以.开头的文件)。
      • 示例:ls -a 显示当前目录下的所有文件,包括隐藏文件。
    • -l (long):以详细列表形式显示文件信息。
      • 示例:ls -l 显示文件的详细信息,如权限、所有者、大小和修改时间。
    • -R (recursive):递归显示子目录结构。
      • 示例:ls -R 显示当前目录及其所有子目录中的文件。
    • -d (directory):仅显示目录本身的信息,而非其内容。
      • 示例:ls -ld 显示目录本身的详细信息。
  2. ctrl+r

    • 历史记录搜索:在命令历史中搜索包含输入字符的命令。
      • 示例:按下Ctrl + r后输入部分命令内容,可快速找到对应的历史命令。
  3. pwd (print working directory)

    • 功能:显示当前所在的工作目录路径。
      • 示例:pwd 显示当前目录的完整路径。

查看文件的类型

  1. file
    • 功能:查看文件的类型。
      • 示例:file example.txt 输出文件example.txt的类型信息,如“ASCII text”。

复制文件目录

  1. cp (copy)

    • 用途:复制文件和目录。
    • 常用参数
      • -r (recursive):递归复制整个目录树。
      • -v (verbose):显示复制的详细信息。
    • 示例
      • cp -r source_dir/ target_dir/:递归复制source_dir目录到target_dir
  2. touch

    • 功能:创建空文件或修改文件的时间戳。
    • 常用用法
      • touch filename:如果filename不存在,则创建一个空文件;如果存在,则更新其修改时间。
      • touch -d 20040210 test:将test文件的日期修改为2004年2月10日。
  3. mv (move)

    • 用途:移动或重命名文件或目录。
    • 格式mv [参数] <源文件或目录> <目标文件或目录>
    • 示例
      • mv a.txt b.txt:将a.txt重命名为b.txt
      • mv dir2 ../:将dir2目录移动到上层目录。
  4. rm (remove)

    • 用途:删除文件。
    • 常用参数
      • -i (interactive):删除前进行询问。
      • -r (recursive):递归删除目录及其内容。
      • -f (force):强制删除,不提示。
    • 示例
      • rm -rf test:强制递归删除test目录及其所有内容。
  5. mkdir (make directory)

    • 用途:创建新目录。
    • 示例
      • mkdir folder_name:创建一个名为folder_name的目录。
      • mkdir -p dir1/dir2:递归创建dir1及其子目录dir2
  6. rmdir (remove directory)

    • 用途:删除空目录。
    • 示例
      • rmdir folder_name:删除名为folder_name的空目录。
      • rmdir -p dir1/dir2:删除dir2目录,如果dir1因此空,也一并删除。

系统常用命令

  1. 显示命令

    • date (date)

      • 功能:查看或设置系统时间。
      • 常用用法
        • date:显示当前系统时间。
        • date +"%Y-%m-%d":以年-月-日格式显示时间。
        • date -s "2023-10-01 12:00:00":设置系统时间。
    • hwclock (hardware clock)

      • 功能:查看或设置硬件时钟时间。
      • 示例
        • hwclock:显示硬件时钟时间。
    • cal (calendar)

      • 功能:查看日历。
      • 示例
        • cal:显示当前月份的日历。
        • cal 4 2004:显示2004年4月的日历。
        • cal -y 2003:显示2003年的全年日历。
    • uptime (uptime)

      • 功能:查看系统的运行时间及负载情况。
      • 示例
        • uptime:显示系统运行的时长和当前负载。
  2. 输出查看命令

    • echo (echo)

      • 功能:显示输入的内容。
      • 示例
        • echo "Hello World":在终端显示Hello World
        • echo "liuyazhuang" >> liuyazhuang.txt:将liuyazhuang追加到文件liuyazhuang.txt
    • cat (concatenate)

      • 功能:显示文件内容,合并文件。
      • 常用用法
        • cat test.txt:显示test.txt的内容。
        • cat test.txt | more:分页显示test.txt内容。
        • cat test.txt >> test1.txt:将test.txt的内容追加到test1.txt
        • cat test.txt test2.txt > readme.txt:合并test.txttest2.txtreadme.txt
    • head (head)

      • 功能:显示文件的前几行。
      • 常用参数
        • -n (number):指定显示的行数。
      • 示例
        • head -n 5 file.txt:显示file.txt的前5行。
    • tail (tail)

      • 功能:显示文件的后几行,追踪文件更新。
      • 常用参数
        • -n (number):指定显示的行数。
        • -f (follow):持续追踪文件的新内容(常用于查看日志)。
      • 示例
        • tail -n 10 /etc/passwd:显示/etc/passwd的最后10行。
        • tail -f /var/log/syslog:实时显示syslog文件的新内容。
    • more (more)

      • 功能:分页显示文件内容,仅向下翻页。
      • 示例
        • ls -al | more:分页显示/etc目录下的文件列表。
    • less (less)

      • 功能:分页显示文件内容,支持上下翻页。
      • 示例
        • ls -al | less:分页显示/etc目录下的文件列表,可上下翻页查看。
  3. 查看硬件信息

    • lspci (list PCI)

      • 功能:查看PCI设备信息。
      • 常用参数
        • -v (verbose):显示详细信息。
      • 示例
        • lspci -v:显示详细的PCI设备信息。
    • lsusb (list USB)

      • 功能:查看USB设备信息。
      • 常用参数
        • -v (verbose):显示详细信息。
      • 示例
        • lsusb -v:显示详细的USB设备信息。
    • lsmod (list modules)

      • 功能:查看已加载的内核模块(驱动)。
      • 示例
        • lsmod:显示当前加载的内核模块列表。
  4. 关机、重启

    • shutdown (shutdown)

      • 功能:关闭或重启计算机。
      • 常用参数
        • -h (halt):关闭计算机。
        • -r (reboot):重启计算机。
        • now:立即执行。
        • +m:在m分钟后执行。
        • hh:mm:在指定时间执行。
      • 示例
        • shutdown -h now:立即关机。
        • shutdown -r +10:10分钟后重启。
        • shutdown -h 23:30:在23:30关机。
    • poweroff (poweroff)

      • 功能:立即关闭计算机。
      • 示例
        • poweroff:立即关闭系统。
    • reboot (reboot)

      • 功能:立即重启计算机。
      • 示例
        • reboot:立即重启系统。
  5. 归档、压缩

    • zip (zip)

      • 功能:压缩文件或目录。
      • 示例
        • zip liuyazhuang.zip myfile:将myfile压缩为liuyazhuang.zip
    • unzip (unzip)

      • 功能:解压.zip文件。
      • 示例
        • unzip liuyazhuang.zip:解压liuyazhuang.zip文件。
    • gzip (GNU zip)

      • 功能:压缩文件。
      • 示例
        • gzip test.txt:将test.txt压缩为test.txt.gz
        • gzip -l test.txt.gz:显示压缩率等信息。
    • gunzip (GNU unzip)

      • 功能:解压.gz文件。
      • 示例
        • gunzip test.txt.gz:解压test.txt.gz文件。
    • tar (tape archive)

      • 功能:归档文件或目录,并可结合压缩使用。
      • 常用参数
        • -c (create):创建新的归档文件。
        • -v (verbose):显示归档过程信息。
        • -f (file):指定归档文件名。
        • -z (gzip):使用gzip压缩。
        • -t (list):列出归档内容。
        • -x (extract):解压归档文件。
      • 示例
        • tar -cvf out.tar liuyazhuang:将liuyazhuang打包为out.tar
        • tar -xvf liuyazhuang.tar:解压liuyazhuang.tar
        • tar -cvzf backup.tar.gz /etc:将/etc目录打包并压缩为backup.tar.gz
        • tar -zxvf foo.tar.gz:解压缩foo.tar.gz文件。
        • tar -tf test.tar:查看test.tar中的文件列表。
  6. 查找

    • locate (locate)

      • 功能:快速查找文件或目录。
      • 示例
        • locate keyword:查找包含keyword的文件或目录。
    • find (find)

      • 功能:在指定位置查找文件或目录,支持多种匹配条件。
      • 常用选项
        • -name (name):按名称查找。
        • -perm (permission):按权限查找。
        • -type :按类型查找(如目录、文件)。
        • -exec :对找到的文件执行命令。
      • 示例
        • find . -name "*liuyazhuang*":查找当前目录下名称包含liuyazhuang的文件。
        • find / -name "*.conf":查找根目录下所有.conf文件。
        • find / -perm 777:查找所有权限为777的文件。
        • find / -type d:查找根目录下所有目录。
        • find . -name "a*" -exec ls -l {} \;:查找当前目录下所有以a开头的文件并列出详细信息。
  7. ctrl+c

    • 功能:终止当前正在执行的命令。
  8. 用户查看命令

    • whow (who / w)
      • 功能:查看当前系统中有哪些用户登录。
      • 示例
        • who:显示当前登录用户的信息。
        • w:显示登录用户及其活动情况。
  9. dmesg (diagnostic message)

    • 功能:显示系统诊断信息、操作系统版本、物理内存大小等。
    • 示例
      • dmesg:显示内核环缓冲区中的消息。
  10. df (disk free)

    • 功能:查看文件系统各分区的磁盘使用情况。
    • 示例
      • df -h:以人类可读的格式显示磁盘使用情况。
  11. du (disk usage)

    • 功能:查看指定目录及其子目录占用的磁盘空间。
    • 示例
      • du -h /path/to/directory:以人类可读的格式显示目录的磁盘使用情况。
  12. free

    • 功能:查看系统内存和交换空间的使用情况。
    • 示例
      • free -h:以人类可读的格式显示内存使用情况。

VIM

  1. vim (Vi IMproved)

    • 功能:启动VIM编辑器。
    • 用法
      • vim <文件路径>:打开指定文件,如果文件不存在则创建新文件。
      • 示例
        • vim example.txt:打开或创建example.txt文件。
  2. VIM模式

    • 命令模式(普通模式) (Normal Mode)

      • 功能:执行命令,如复制、粘贴、删除等。
      • 常用命令
        • i (insert):在光标前插入文本,进入插入模式。
        • o (open):在当前行下方插入新行,进入插入模式。
        • dd (delete line):删除当前行。
        • yy (yank line):复制当前行。
        • n + yy:复制n行。
        • p (paste):粘贴缓冲区内容到光标后。
        • u (undo):撤销上一个操作。
        • r (replace):替换当前字符。
        • /keyword :搜索keyword
    • 插入模式 (Insert Mode)

      • 功能:输入和编辑文本。
      • 切换方式
        • 在命令模式下按i进入插入模式。
        • Esc键返回命令模式。
    • Ex模式 (Ex Mode)

      • 功能:执行高级命令,如保存、退出等。
      • 进入方式
        • 在命令模式下按:进入Ex模式,光标移动到底部。
      • 常用命令
        • :w (write):保存当前文件。
        • :q (quit):退出VIM。
        • :q! (quit force):强制退出,不保存修改。
        • :x (save and quit):保存并退出,相当于:wq
        • :set number :显示行号。
        • :!command (shell command):执行系统命令,如:!ls
        • :sh :切换到Shell,使用Ctrl + d返回VIM。

软件包管理命令(RPM)

  1. 安装软件包

    • rpm -ivh (install verbose hash)
      • 功能:安装RPM软件包。
      • 参数说明
        • -i (install):安装软件包。
        • -v (verbose):显示详细信息。
        • -h (hash):以#号显示安装进度。
      • 示例
        • rpm -ivh wu-ftpd-2.6.2-8.i386.rpm:安装wu-ftpd软件包。
  2. 删除软件包

    • rpm -e (erase)
      • 功能:删除已安装的RPM软件包。
      • 示例
        • rpm -e wu-ftpd:删除名为wu-ftpd的软件包。
  3. 升级软件包

    • rpm -Uvh (upgrade verbose hash)
      • 功能:升级RPM软件包。
      • 参数说明
        • -U (upgrade):升级软件包。
        • -v (verbose):显示详细信息。
        • -h (hash):以#号显示进度。
      • 示例
        • rpm -Uvh wu-ftpd-2.6.2-8.i386.rpm:升级wu-ftpd软件包。
  4. 更新软件包

    • rpm -Fvh (freshen verbose hash)
      • 功能:更新RPM软件包,仅当新版本比已安装版本新时才执行。
      • 参数说明
        • -F (freshen):更新软件包。
        • -v (verbose):显示详细信息。
        • -h (hash):以#号显示进度。
      • 示例
        • rpm -Fvh wu-ftpd-2.6.2-8.i386.rpm:更新wu-ftpd软件包。
  5. 查询软件包

    • rpm -q (query)

      • 功能:查询已安装的软件包信息。
      • 示例
        • rpm -q wu-ftpd:查询wu-ftpd是否已安装及其版本。
    • rpm -ql (query list)

      • 功能:列出软件包安装的所有文件。
      • 示例
        • rpm -ql xv:列出xv软件包安装的所有文件。