100 条 Linux 常用命令

Linux 作为服务器操作系统和许多开发者的主力工具,其强大的命令行是高效工作的基石。无论是文件管理、系统监控、网络操作还是软件部署,熟练掌握 Linux 命令都能让你事半功倍。

本文将为你整理 100 条在日常工作和学习中高频使用的 Linux 命令,从文件系统操作到进程管理,从网络配置到权限控制,助你快速上手

一、文件和目录操作

这是 Linux 命令行的基础,也是最常用的部分。

  1. ls:列出目录内容。

    • ls -l:长格式列出,显示详细信息。

    • ls -a:列出所有文件,包括隐藏文件。

    • ls -lh:以人类可读格式显示文件大小。

  2. cd:改变当前工作目录。

    • cd ~cd:切换到用户主目录。

    • cd ..:切换到上级目录。

    • cd -:切换到上一个工作目录。

  3. pwd:显示当前工作目录的完整路径。

  4. mkdir:创建目录。

    • mkdir -p dir1/dir2:递归创建目录。

  5. rmdir:删除空目录。

  6. cp:复制文件或目录。

    • cp file1 file2:复制文件。

    • cp -r dir1 dir2:递归复制目录。

    • cp -a dir1 dir2:归档复制,保留文件属性。

  7. mv:移动文件或目录,也可用于重命名。

    • mv file1 new_file_name:重命名文件。

    • mv file1 dir1:移动文件到目录。

  8. rm:删除文件或目录。

    • rm file1:删除文件。

    • rm -r dir1:递归删除目录。

    • rm -f file1:强制删除文件(不提示)。

    • rm -rf dir1:强制递归删除目录(危险操作,慎用!)。

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

  10. cat:连接文件并打印到标准输出(查看文件内容)。

    • cat file1:显示文件内容。

    • cat -n file1:显示文件内容并显示行号。

  11. more:分页显示文件内容。

  12. less:更强大的分页显示文件内容,支持前后滚动。

  13. head:显示文件开头几行(默认10行)。

    • head -n 5 file1:显示文件前5行。

  14. tail:显示文件末尾几行(默认10行),常用于查看日志。

    • tail -n 5 file1:显示文件后5行。

    • tail -f file1:实时跟踪文件末尾新增内容(常用于日志)。

  15. ln:创建链接文件。

    • ln file1 link1:创建硬链接。

    • ln -s file1 link1:创建软链接(符号链接)。

  16. find:在文件系统中搜索文件。

    • find . -name "file*.txt":在当前目录查找名字匹配的文件。

    • find /var/log -size +1G:查找 /var/log 下大于 1GB 的文件。

    • find . -type d -name "my_dir":查找目录。

    • find . -type f -mtime +7:查找 7 天前修改过的文件。

  17. which:查找命令的完整路径。

    • which ls:显示 ls 命令的路径。

  18. grep:在文件中搜索文本模式。

    • grep "pattern" file1:搜索文件中的字符串。

    • grep -i "pattern" file1:不区分大小写搜索。

    • grep -r "pattern" dir1:递归搜索目录。

    • grep -n "pattern" file1:显示行号。

  19. wc:统计文件字数、行数、字符数。

    • wc -l file1:统计行数。

    • wc -w file1:统计单词数。

    • wc -c file1:统计字符数。

  20. tar:打包和解包文件。

    • tar -cvf archive.tar dir1:打包目录。

    • tar -xvf archive.tar:解包。

    • tar -zxvf archive.tar.gz:解压 .tar.gz 文件。

    • tar -jxvf archive.tar.bz2:解压 .tar.bz2 文件。

  21. zip/unzip:压缩和解压 .zip 文件。

    • zip archive.zip file1 dir1:压缩文件和目录。

    • unzip archive.zip:解压文件。

  22. gzip/gunzip:压缩和解压 .gz 文件。

    • gzip file1:压缩文件。

    • gunzip file1.gz:解压文件。

二、权限管理

Linux 中文件和目录的权限是安全的重要组成部分。

  1. chmod:改变文件或目录的权限。

    • chmod 755 file1:所有者读写执行,组用户读执行,其他用户读执行。

    • chmod +x script.sh:添加执行权限。

    • chmod -w file1:移除写权限。

  2. chown:改变文件或目录的所有者。

    • chown user1 file1:改变文件所有者为 user1。

    • chown user1:group1 file1:改变文件所有者和所属组。

    • chown -R user1 dir1:递归改变目录所有者。

  3. chgrp:改变文件或目录的所属组。

    • chgrp group1 file1:改变文件所属组为 group1。

三、用户和用户组管理

管理系统用户和组。

  1. useradd:创建新用户。

    • useradd -m newuser:创建用户并创建其主目录。

  2. passwd:设置或修改用户密码。

    • passwd username:为指定用户设置密码。

  3. userdel:删除用户。

    • userdel -r username:删除用户及其主目录。

  4. usermod:修改用户属性。

    • usermod -aG groupname username:将用户添加到指定组。

  5. groupadd:创建新用户组。

  6. groupdel:删除用户组。

  7. id:显示用户和组信息。

  8. who:显示当前登录的用户。

  9. w:显示当前登录用户及他们正在做什么。

四、系统信息和进程管理

监控和管理系统资源及运行中的程序。

  1. top:实时显示进程活动和系统资源使用情况。

  2. htop:更友好、更强大的交互式进程查看器(需要安装)。

  3. ps:显示当前进程快照。

    • ps aux:显示所有用户的进程。

    • ps -ef:显示所有进程的完整格式。

    • ps -ef | grep process_name:查找特定进程。

  4. kill:终止进程。

    • kill PID:发送终止信号(TERM)。

    • kill -9 PID:强制终止进程(KILL)。

  5. killall:通过名称终止所有匹配的进程。

    • killall process_name:终止所有名为 process_name 的进程。

  6. df:显示磁盘空间使用情况。

    • df -h:以人类可读格式显示。

  7. du:估算文件或目录的磁盘使用空间。

    • du -sh dir1:显示目录的总大小(人类可读)。

    • du -h --max-depth=1 dir1:显示目录下一级子目录大小。

  8. free:显示内存使用情况。

    • free -h:以人类可读格式显示。

  9. uname:显示系统信息。

    • uname -a:显示所有系统信息。

  10. uptime:显示系统运行时间、登录用户和平均负载。

  11. hostname:显示或设置系统主机名。

  12. reboot:重启系统(需要root权限)。

  13. shutdown:关机或重启系统。

    • shutdown -h now:立即关机。

    • shutdown -r now:立即重启。

  14. poweroff:立即关机(类似 shutdown -h now)。

  15. date:显示或设置系统日期和时间。

  16. cal:显示日历。

五、网络操作

管理网络连接和进行网络诊断。

  1. ifconfig (或 ip addr):显示或配置网络接口信息。

    • ifconfig:显示所有网卡信息。

    • ip addr:现代 Linux 系统推荐使用。

  2. ping:测试网络连通性。

    • ping www.baidu.com:ping 百度。

    • ping -c 4 www.baidu.com:ping 4 次。

  3. netstat:显示网络连接、路由表、接口统计等。

    • netstat -tulnp:显示所有监听的 TCP/UDP 端口及对应进程。

  4. ss:更快速、更现代的 netstat 替代品。

    • ss -tulnp:类似 netstat -tulnp

  5. ssh:远程登录到其他 Linux 服务器。

    • ssh user@hostname_or_ip:连接远程服务器。

  6. scp:在本地和远程服务器之间复制文件。

    • scp file.txt user@remote_host:/path/to/remote/:复制本地文件到远程。

    • scp user@remote_host:/path/to/remote/file.txt .:复制远程文件到本地。

  7. wget:从网络下载文件。

    • wget https://example.com/file.zip:下载文件。

    • wget -c https://example.com/file.zip:断点续传。

  8. curl:传输数据或测试 API。

    • curl https://www.baidu.com:获取网页内容。

    • curl -O https://example.com/file.zip:下载文件到当前目录。

    • curl -X POST -d "key=value" http://localhost:8080/api:发送 POST 请求。

  9. nslookup:查询 DNS 信息。

  10. dig:更强大的 DNS 查询工具。

  11. route:显示或操作 IP 路由表。

  12. traceroute (或 tracert):显示数据包到目标的路径。

六、软件安装与管理

在不同发行版中,包管理工具不同。

  1. Debian/Ubuntu (apt):

    • sudo apt update:更新包列表。

    • sudo apt upgrade:升级已安装的包。

    • sudo apt install package_name:安装软件。

    • sudo apt remove package_name:卸载软件(保留配置)。

    • sudo apt purge package_name:卸载软件(清除配置)。

    • sudo apt autoremove:删除不再需要的依赖。

  2. CentOS/RHEL (yum/dnf):

    • sudo yum update (或 sudo dnf update):更新所有包。

    • sudo yum install package_name (或 sudo dnf install package_name):安装软件。

    • sudo yum remove package_name (或 sudo dnf remove package_name):卸载软件。

  3. Snap (通用包管理):

    • sudo snap install package_name:安装 snap 包。

  4. Flatpak (通用包管理):

    • flatpak install package_name:安装 flatpak 包。

七、压缩与解压 (续)

除了 tarzip,还有其他常见的压缩格式。

  1. bzip2/bunzip2:压缩和解压 .bz2 文件。

    • bzip2 file1:压缩。

    • bunzip2 file1.bz2:解压。

  2. xz/unxz:压缩和解压 .xz 文件。

    • xz file1:压缩。

    • unxz file1.xz:解压。

八、文本处理

强大的文本处理工具。

  1. echo:打印字符串或变量。

    • echo "Hello World":打印字符串。

    • echo $PATH:打印环境变量。

  2. sort:对文本文件内容进行排序。

    • sort file1:按行排序。

    • sort -r file1:倒序排序。

  3. uniq:删除或报告重复行。

    • sort file1 | uniq:去除重复行。

    • sort file1 | uniq -c:统计重复行并计数。

  4. cut:从文件行中提取字段。

    • cut -d ':' -f 1 /etc/passwd:以 : 为分隔符,提取第一列。

  5. sed:流编辑器,用于文本替换、删除行等。

    • sed 's/old/new/g' file1:替换所有 oldnew

    • sed '/pattern/d' file1:删除包含 pattern 的行。

  6. awk:强大的文本处理工具,按列处理。

    • awk '{print $1}' file1:打印每行的第一列。

    • ps aux | awk '{print $1, $2, $11}':打印用户、PID、命令。

九、文件内容比较

  1. diff:比较两个文件的差异。

    • diff file1 file2:显示两个文件差异。

  2. cmp:逐字节比较两个文件。

十、计划任务与定时执行

  1. crontab:管理用户定时任务。

    • crontab -e:编辑当前用户的 crontab。

    • crontab -l:列出当前用户的 crontab。

  2. at:在指定时间执行一次性任务。

    • echo "command" | at now + 5 minutes:5分钟后执行命令。

十一、其他常用工具

  1. man:查看命令的帮助手册。

    • man ls:查看 ls 命令的手册。

  2. history:显示命令历史记录。

    • history | grep "docker":搜索历史命令。

  3. clear:清空终端屏幕。

  4. echo $PATH:显示环境变量 PATH。

  5. export:设置环境变量。

    • export MY_VAR="my_value":设置变量。

  6. source (或 . ):在当前 shell 中执行脚本。

    • source ~/.bashrc:重新加载 bash 配置文件。

  7. whoami:显示当前用户。

  8. sudo:以超级用户权限执行命令。

    • sudo apt update:以 root 权限执行更新。

  9. su:切换用户。

    • su - username:切换到指定用户并加载其环境。

    • su -:切换到 root 用户。

  10. df -i:显示 inode 使用情况。

  11. pstree:以树状图显示进程。

  12. lsof:列出打开的文件和进程。

    • lsof -i :8080:查看占用 8080 端口的进程。

  13. nc (netcat):网络工具,可用于端口扫描、数据传输等。

    • nc -vz localhost 80:测试 80 端口是否开放。

  14. rsync:远程文件同步工具。

    • rsync -avz /path/to/local/ user@remote:/path/to/remote/:同步文件。

  15. xargs:将标准输入转换为命令行参数。

    • find . -name "*.log" | xargs rm:删除所有 .log 文件。

  16. nohup:在后台运行命令,即使关闭终端也不会停止。

    • nohup command &:后台运行命令。

  17. bg:将停止的进程放到后台运行。

  18. fg:将后台运行的进程放到前台。

  19. jobs:查看当前 shell 的后台作业。

  20. alias:创建命令别名。

    • alias ll='ls -lh':将 ll 设置为 ls -lh 的别名。

  21. unalias:删除命令别名。

  22. clear && history -c && exit:清空屏幕、清空历史命令并退出终端(危险操作,慎用!)。

结语

掌握这些 Linux 命令,你将能更高效地操作服务器、管理文件、部署应用、解决问题。它们是你在 Linux 世界中自由驰骋的“利器”。建议多加练习,将这些命令融入你的日常工作流,相信你很快就能成为一名真正的命令行高手!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值