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

Linux命令汇总

1. 文件和目录管理

  • ls:列出当前目录的文件和文件夹。
    • 例:ls -la 显示详细信息和隐藏文件。
  • cd:改变当前工作目录。
    • 例:cd /home/user 进入指定目录。
  • pwd:显示当前工作目录的完整路径。
  • mkdir:创建新目录。
    • 例:mkdir new_folder 创建名为 new_folder 的目录。
  • rmdir:删除空目录。
  • rm:删除文件或目录。
    • 例:rm file.txt 删除文件,rm -r folder 递归删除目录。
  • cp:复制文件或目录。
    • 例:cp source.txt destination.txt 复制文件。
  • mv:移动或重命名文件或目录。
    • 例:mv oldname.txt newname.txt 重命名文件。
  • touch:创建空文件或更新文件的时间戳。
  • chmod:更改文件或目录的权限。
    • 例:chmod 755 script.sh 设置权限。
  • chown:更改文件或目录的所有者。
    • 例:chown user:group file.txt 更改所有者和用户组。
  • ln:创建链接(硬链接或符号链接)。
    • 例:ln -s source.txt link.txt 创建符号链接。

2. 文件查看与编辑

  • cat:显示文件内容。
    • 例:cat file.txt
  • less:分页浏览文件内容。
  • more:分页浏览文件内容(功能较少)。
  • head:显示文件开头部分。
    • 例:head -n 10 file.txt 显示前 10 行。
  • tail:显示文件末尾部分。
    • 例:tail -n 10 file.txt 显示后 10 行。
  • nano:简单的命令行文本编辑器。
  • vim:功能强大的文本编辑器,适合高级用户。
  • grep:在文件中搜索符合条件的字符串。
    • 例:grep "keyword" file.txt
  • find:查找文件和目录。
    • 例:find /home -name "file.txt"

3. 压缩与解压

  • tar:归档文件并可选择压缩。
    • 例:tar -czvf archive.tar.gz folder/ 归档并压缩。
  • gzip:压缩文件。
    • 例:gzip file.txt 生成 file.txt.gz
  • gunzip:解压 .gz 文件。
  • zip:创建 ZIP 压缩文件。
    • 例:zip archive.zip file1 file2
  • unzip:解压 ZIP 文件。
    • 例:unzip archive.zip

4. 系统信息与管理

  • uname:显示系统信息。
    • 例:uname -a 显示全部信息。
  • top:实时显示系统进程和资源使用情况。
  • htoptop 命令的增强版(需安装)。
  • ps:查看当前运行的进程。
    • 例:ps aux
  • df:显示文件系统的磁盘空间使用情况。
    • 例:df -h 以人类可读的格式显示。
  • du:显示目录或文件的磁盘使用量。
    • 例:du -sh /path/to/directory
  • free:显示内存和交换空间的使用情况。
    • 例:free -h
  • uptime:显示系统运行时间、当前时间、登录用户数及负载平均值。
  • hostname:显示或设置系统的主机名。

5. 网络管理

  • ifconfigip:配置和显示网络接口信息。
    • 例:ip addr
  • ping:测试与目标主机的连接。
    • 例:ping www.baidu.com
  • netstat:显示网络连接、路由表和接口统计信息。
    • 例:netstat -tuln
  • ss:比 netstat 更快的套接字统计工具。
    • 例:ss -tuln
  • ssh:通过 SSH 协议进行远程登录。
    • 例:ssh user@host
  • scp:在本地和远程主机之间复制文件。
    • 例:scp file.txt user@host:/path/
  • wget:下载文件从网络。
    • 例:wget http://example.com/file.zip
  • curl:在命令行下进行数据传输。
    • 例:curl -O http://example.com/file.zip

6. 包管理(依据不同发行版,以下为常见的包管理工具)

Debian/Ubuntu 系列

  • apt-get:包管理命令行工具。
    • 例:sudo apt-get updatesudo apt-get install package
  • apt:更加友好的包管理命令。
    • 例:sudo apt updatesudo apt install package

Red Hat/CentOS/Fedora 系列

  • yum:包管理工具。
    • 例:sudo yum install package
  • dnfyum 的下一代工具,适用于较新的发行版。
    • 例:sudo dnf install package

Arch Linux

  • pacman:包管理工具。
    • 例:sudo pacman -S package

7. 用户和权限管理

  • sudo:以超级用户或其他用户权限执行命令。
    • 例:sudo command
  • su:切换到其他用户。
    • 例:su - 切换到 root 用户。
  • adduseruseradd:添加新用户。
    • 例:sudo adduser username
  • passwd:更改用户密码。
    • 例:passwd
  • groups:显示用户所属的组。
    • 例:groups username

8. 系统服务管理

  • systemctl:管理 systemd 系统和服务管理器。
    • 例:sudo systemctl start servicesudo systemctl status service
  • service:管理系统服务(较旧的工具,适用于 SysVinit)。
    • 例:sudo service service start
  • journalctl:查看 systemd 日志。
    • 例:journalctl -u service

9. 定时任务

  • crontab:编辑用户的定时任务。
    • 例:crontab -e 编辑定时任务。
  • at:安排单次任务在特定时间运行。
    • 例:echo "command" | at 10:00

10. 文本处理

  • awk:强大的文本处理工具。
    • 例:awk '{print $1}' file.txt
  • sed:流编辑器,用于修改文件内容。
    • 例:sed 's/old/new/g' file.txt
  • sort:排序文本文件的内容。
    • 例:sort file.txt
  • uniq:去除重复的行。
    • 例:uniq file.txt
  • cut:按列提取文本。
    • 例:cut -d',' -f1 file.csv

11. 其他实用命令

  • man:查看命令的使用手册。
    • 例:man ls
  • history:显示命令历史记录。
  • alias:为命令创建别名。
    • 例:alias ll='ls -la'
  • echo:在终端显示一段文本或变量。
    • 例:echo "Hello World"
  • date:显示或设置系统日期和时间。
  • who:显示当前登录的用户。
  • clear:清屏。
  • df:显示文件系统磁盘空间使用情况。
  • du:显示目录或文件的磁盘使用量。
  • tar:打包和压缩文件。
  • chmod:改变文件权限。
  • chown:改变文件所有者。
  • ssh-keygen:生成 SSH 密钥对。
  • scp:在本地和远程主机之间安全复制文件。
  • wget:从网络上下载文件。
  • curl:与服务器交换数据。

12. 系统监控与诊断

  • dmesg:显示内核消息缓冲区的内容。
  • vmstat:报告虚拟内存统计信息。
  • iostat:显示 CPU 统计信息和磁盘 I/O 统计信息。
  • lsof:列出系统打开的文件。
    • 例:lsof -i 显示网络相关的打开文件。
  • strace:跟踪系统调用和信号。
    • 例:strace -p PID 跟踪指定进程。

13. 安全与加密

  • chmod:修改文件权限。
  • chown:修改文件所有者。
  • passwd:更改用户密码。
  • ufw:简易防火墙管理工具(主要用于 Ubuntu)。
    • 例:sudo ufw enable 启用防火墙。
  • iptables:强大的防火墙配置工具。

14. 磁盘管理

  • fdisk:磁盘分区工具。
  • lsblk:列出块设备。
  • mkfs:创建文件系统。
    • 例:mkfs.ext4 /dev/sda1
  • mount:挂载文件系统。
    • 例:mount /dev/sda1 /mnt
  • umount:卸载文件系统。

15. 环境管理与变量

  • export:设置或导出环境变量。
    • 例:export PATH=$PATH:/new/path
  • env:显示所有环境变量。
  • printenv:打印指定的环境变量。
    • 例:printenv PATH