# Linux 常用命令 > 日常运维中最常用的 Linux 命令汇总 --- ## 📦 软件包管理 (apt) ```bash # 更新软件源 sudo apt-get update # 升级所有可升级的软件包 sudo apt-get upgrade # 安装软件包 sudo apt-get install # 卸载软件包(保留配置) sudo apt-get remove # 卸载软件包(删除配置) sudo apt-get purge # 自动修复依赖 sudo apt-get -f install # 清理缓存 sudo apt-get clean sudo apt-get autoclean ``` > **apt vs aptitude**:aptitude 是 apt 的高级封装,功能更强大,但 apt 更常用。 --- ## 📁 文件操作 ### ls - 列出目录 ```bash ls # 列出当前目录文件 ls -l # 详细列表 ls -a # 显示隐藏文件 ls -lh # 人性化大小 ls -la # 详细+隐藏 ls -lt # 按时间排序 ls -lS # 按大小排序 ``` ### cd - 切换目录 ```bash cd /path # 切换到指定目录 cd .. # 返回上级目录 cd ~ # 返回家目录 cd - # 返回上一次目录 cd . # 当前目录(无意义) pwd # 显示当前路径 ``` ### cp - 复制 ```bash cp file /dest/ # 复制文件 cp -r folder /dest/ # 递归复制目录 cp -a file /dest/ # 保留属性(权限、时间戳) cp -p file /dest/ # 保留权限 cp -u file /dest/ # 仅源更新时复制 cp -v file /dest/ # 显示进度 ``` ### mv - 移动/重命名 ```bash mv file /dest/ # 移动文件 mv oldname newname # 重命名 mv -u file /dest/ # 源更新时才移动 mv -v file /dest/ # 显示进度 ``` ### rm - 删除 ```bash rm file # 删除文件 rm -f file # 强制删除 rm -r folder # 递归删除目录 rm -rf folder # 强制递归删除(危险!) rm -v file # 显示删除动作 ``` > ⚠️ **警告**:`rm -rf /` 会删除整个系统!使用前务必确认路径。 ### mkdir - 创建目录 ```bash mkdir dir # 创建目录 mkdir -p path/to/dir # 递归创建(父目录不存在时自动创建) mkdir -m 755 dir # 指定权限 ``` ### touch - 创建文件/更新时间戳 ```bash touch file # 创建空文件 touch file1 file2 file3 # 批量创建 touch -t 202401011200 file # 指定时间 ``` --- ## 🔐 权限管理 ### chmod - 变更权限 ```bash # 8进制方式(最常用) chmod 755 file # rwxr-xr-x chmod 644 file # rw-r--r-- chmod 600 file # rw------- chmod 700 folder # rwx------ chmod 777 file # 所有人可读写执行(危险!) # 符号方式 chmod u+x file # 给所有者添加执行权限 chmod g-w file # 给组移除写权限 chmod o+r file # 给其他人添加读权限 chmod a+x file # 所有人添加执行权限 # 选项 chmod -R 755 folder # 递归设置 chmod -v file # 显示动作 ``` ### chown - 变更所有者 ```bash chown user file # 变更所有者 chown user:group file # 变更所有者和组 chown -R user:group folder/ # 递归变更 ``` --- ## 🔍 查看文件 ### cat - 显示文件内容 ```bash cat file # 显示全部内容 cat -n file # 显示行号 cat -b file # 非空行显示行号 tac file # 反向显示(最后一行在前) ``` ### head/tail - 显示头部/尾部 ```bash head file # 默认显示前10行 head -n 20 file # 显示前20行 head -c 100 file # 显示前100字节 tail file # 默认显示后10行 tail -n 20 file # 显示后20行 tail -f file # 实时追踪日志(Ctrl+C 退出) tail -F file # 追踪重命名后的文件 ``` ### more/less - 分页查看 ```bash more file # 逐页查看(只能向下) less file # 交互式查看(可上下翻页) # less 中按键: # j/k 或 方向键 上下滚动 # q 退出 # /keyword 搜索 # n 跳到下一个匹配 # g/G 跳到开头/结尾 ``` --- ## 🌐 网络命令 ### ifconfig - 网卡配置 ```bash ifconfig # 显示所有网卡状态 ifconfig -a # 显示所有网卡(包括未激活) ifconfig eth0 # 显示指定网卡 ifconfig eth0 up # 激活网卡 ifconfig eth0 down # 关闭网卡 ifconfig eth0 192.168.1.100 # 设置IP(临时) ``` ### ping - 测试连通性 ```bash ping 192.168.1.1 # ping IP ping www.google.com # ping 域名 ping -c 4 192.168.1.1 # 只ping 4次 ping -i 2 192.168.1.1 # 间隔2秒 ``` ### curl/wget - 下载 ```bash curl http://example.com/file.tar.gz -O # 下载文件 curl -L http://example.com # 跟随重定向 curl -o output.file http://... # 指定输出名 curl -I http://example.com # 只查Header wget http://example.com/file.tar.gz # 下载文件 wget -c http://example.com/file # 断点续传 wget -r http://example.com/ # 递归下载 ``` --- ## ⚙️ 进程管理 ### ps - 进程快照 ```bash ps # 当前终端进程 ps aux # 所有进程(BSD格式) ps -ef # 所有进程(标准格式) ps -ef | grep nginx # 查找nginx进程 ps -u user # 某用户的进程 ps --forest # 显示进程树 ``` ### top/htop - 动态监控 ```bash top # 动态监控(按 q 退出) htop # 更友好的top(需安装) # top 中按键: # P 按CPU排序 # M 按内存排序 # N 按PID排序 # k 杀进程 # r 重设优先级 ``` ### kill - 终止进程 ```bash kill PID # 正常终止 kill -9 PID # 强制终止 kill -15 PID # 优雅终止(默认) kill -l # 查看信号列表 killall nginx # 按名称终止所有进程 pkill nginx # 按名称终止(支持正则) ``` --- ## 📦 压缩解压 ### tar - 打包/解包 ```bash # 解压 tar -xvf file.tar.gz # 解压tar.gz tar -xvf file.tar.bz2 # 解压tar.bz2 tar -xvf file.tar.xz # 解压tar.xz tar -xvf file.tar -C /dest/ # 解压到指定目录 tar -tzf file.tar.gz # 查看压缩包内容 # 打包 tar -cvf file.tar.gz /path/ # 打包并压缩 tar -czvf file.tar.gz /path/ # 显示进度 tar -cvzf file.tar.gz /path/ # gzip压缩 tar -cvjf file.tar.bz2 /path/ # bzip2压缩 ``` ### zip/unzip ```bash zip -r archive.zip folder/ # 压缩目录 zip -P password archive.zip file # 带密码 unzip archive.zip # 解压 unzip archive.zip -d /dest/ # 解压到目录 unzip -l archive.zip # 查看内容 ``` --- ## 🔧 系统命令 ### df/du - 磁盘使用 ```bash df -h # 显示磁盘使用情况 df -i # 显示inode使用 du -sh folder/ # 目录总大小 du -h --max-depth=1 # 子目录大小 du -sh * | sort -h # 按大小排序显示 ``` ### free - 内存使用 ```bash free # 显示内存(字节) free -h # 人性化显示 free -m # 以MB显示 free -s 5 # 每5秒刷新 ``` ### uname - 系统信息 ```bash uname -a # 全部信息 uname -r # 内核版本 uname -m # CPU架构 cat /etc/os-release # 发行版信息 ``` ### 系统时间 ```bash date # 显示当前时间 date -s "2024-01-01 12:00:00" # 设置时间 hwclock --systohc # 同步到硬件时钟 timedatectl # 时间管理(systemd) ``` --- ## 📝 文本处理 ### grep - 搜索 ```bash grep "keyword" file # 搜索文件中含有关键字的行 grep -i "keyword" file # 忽略大小写 grep -r "keyword" folder/ # 递归搜索 grep -n "keyword" file # 显示行号 grep -v "keyword" file # 显示不匹配的行 grep -c "keyword" file # 计数 grep -E "word1|word2" file # 多个关键词(正则) ``` ### find - 查找文件 ```bash find / -name "file.txt" # 按名字查找 find / -type d -name "folder" # 查找目录 find / -size +100M # 查找大于100M的文件 find / -mtime -7 # 查找7天内修改的文件 find / -user username # 查找某用户的文件 find / -perm 755 # 按权限查找 ``` ### sed - 文本替换 ```bash sed 's/old/new/g' file # 替换所有 sed -i 's/old/new/g' file # 直接修改文件 sed '1,10s/old/new/g' file # 替换1-10行 sed '/keyword/d' file # 删除匹配行 ``` --- ## 🔗 链接 ### ln - 创建链接 ```bash ln file hardlink # 创建硬链接 ln -s file symlink # 创建软链接(快捷方式) ln -sf file newlink # 强制创建 ``` --- ## 💻 其他常用 ### sudo/su - 切换用户 ```bash sudo command # 以root执行 sudo -u user command # 以指定用户执行 sudo -i # 切换到root shell su - username # 切换用户 ``` ### reboot/shutdown - 重启关机 ```bash shutdown -h now # 立即关机 shutdown -h +10 # 10分钟后关机 shutdown -c # 取消关机 reboot # 重启 poweroff # 关机 ``` ### history - 命令历史 ```bash history # 显示历史命令 history -c # 清除历史 !n # 执行第n条命令 !! # 执行上一条命令 Ctrl+R # 搜索历史 ``` --- > 参考:[Ubuntu 新手命令集合](http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html)