# Linux 常用命令续 > 常用命令的补充,包含更多进阶操作 --- ## 🖥️ 系统信息 ```bash # 查看系统架构 arch # 显示机器处理器架构 uname -m # 显示CPU架构 uname -r # 显示内核版本 uname -a # 显示全部系统信息 # 查看硬件信息 cat /proc/cpuinfo # CPU详细信息 cat /proc/meminfo # 内存详细信息 cat /proc/interrupts # 中断信息 cat /proc/version # 内核版本 cat /proc/uptime # 运行时间 # 查看PCI/USB设备 lspci -tv # PCI设备列表 lsusb -tv # USB设备列表 # 日期时间 date # 显示当前日期时间 cal 2024 # 显示2024年日历 date -s "2024-01-01 12:00:00" # 设置时间 clock -w # 保存时间到BIOS timedatectl # systemd时间管理 ``` --- ## 🔌 关机与重启 ```bash # 关机 shutdown -h now # 立即关机 halt # 关机(等效) poweroff # 关机 init 0 # 切换到运行级别0 # 定时关机 shutdown -h +30 # 30分钟后关机 shutdown -h 23:00 # 23:00关机 shutdown -c # 取消定时关机 # 重启 reboot # 重启 shutdown -r now # 立即重启 init 6 # 切换到运行级别6 # 注销 logout # 注销当前用户 exit # 退出当前shell ``` --- ## 📁 文件与目录操作 ```bash # 目录操作 cd /home # 进入目录 cd .. # 返回上级目录 cd ../.. # 返回上两级 cd ~ # 进入家目录 cd ~user # 进入某人家目录 cd - # 返回上次所在目录 pwd # 显示当前路径 # 创建 mkdir dir1 # 创建目录 mkdir dir1 dir2 # 同时创建两个 mkdir -p /tmp/a/b/c # 递归创建目录树 # 删除 rm file1 # 删除文件 rm -f file1 # 强制删除 rmdir dir1 # 删除空目录 rm -rf dir1 # 强制删除目录及内容 # 复制 cp file1 file2 # 复制文件 cp -a dir1 dir2 # 递归复制目录 cp -r dir/* . # 复制目录下所有文件 # 移动/重命名 mv file1 file2 # 重命名 mv file1 /path/ # 移动文件 # 链接 ln file1 lnk1 # 创建硬链接 ln -s file1 lnk1 # 创建软链接(快捷方式) # 时间戳 touch -t 0712250000 file1 # 修改文件时间 (YYMMDDhhmm) ``` --- ## 🔍 文件搜索 ```bash # find - 强力搜索 find / -name file1 # 按名字搜索 find / -user user1 # 搜索某用户的文件 find / -type d -name dir # 搜索目录 find / -size +100M # 搜索大于100M的文件 find / -mtime -7 # 搜索7天内修改的文件 find / -atime +30 # 搜索30天未访问的文件 find / -perm 755 # 按权限搜索 # locate - 快速搜索(需updatedb) locate *.ps # 搜索.ps文件 updatedb # 更新locate数据库 # whereis/which - 查找命令 whereis command # 查找命令位置和手册 which command # 查找命令所在路径 ``` --- ## 💾 磁盘管理 ```bash # 查看磁盘使用 df -h # 显示挂载分区 df -i # 显示inode使用 ls -lSr | more # 按大小列出文件 # 查看目录大小 du -sh dir1 # 目录总大小 du -sk * | sort -rn # 按大小排序 du -h --max-depth=1 # 子目录大小 # 磁盘命令 fdisk -l # 显示分区表 mount /dev/sda1 /mnt # 挂载分区 umount /dev/sda1 # 卸载分区 ``` --- ## 📦 RPM/DEB 包管理 ```bash # RPM (CentOS/RHEL) rpm -ivh package.rpm # 安装包 rpm -Uvh package.rpm # 升级包 rpm -e package # 卸载包 rpm -qa # 列出所有已安装包 rpm -qi package # 包信息 rpm -ql package # 包文件列表 rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n # 按大小排序 # DEB (Debian/Ubuntu) dpkg -i package.deb # 安装包 dpkg -r package # 卸载包 dpkg -l # 列出已安装包 dpkg -L package # 包文件列表 dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n # 按大小排序 # APT (Debian/Ubuntu) apt install package # 安装 apt remove package # 卸载 apt update # 更新源 apt upgrade # 升级 apt search keyword # 搜索包 apt list --installed # 列出已安装 ``` --- ## 🌐 网络命令 ```bash # 网络配置 ifconfig # 查看IP ifconfig eth0 192.168.1.100 # 临时设置IP route -n # 查看路由表 netstat -tlnp # 查看监听端口 netstat -anu # 查看所有UDP连接 netstat -anp # 查看所有连接及进程 # 网络测试 ping -c 4 192.168.1.1 # ping 4次 traceroute 目标IP # 路由追踪 tracepath 目标IP # 路由追踪(无需root) mtr 目标IP # 实时路由追踪 # DNS nslookup example.com # DNS查询 dig example.com # 详细DNS信息 host example.com # DNS反向查询 # 端口转发 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 ``` --- ## 👥 用户与用户组 ```bash # 用户管理 useradd user1 # 创建用户 userdel user1 # 删除用户 usermod -aG group1 user1 # 添加到组 passwd user1 # 设置密码 # 用户组管理 groupadd group1 # 创建组 groupdel group1 # 删除组 groups user1 # 查看用户所属组 # 查看用户 who # 当前登录用户 whoami # 当前用户名 w # 详细登录信息 last # 登录历史 lastlog # 所有用户最后登录 # 文件所有者 chown user1 file1 # 更改所有者 chown user1:group1 file1 # 更改所有者和组 chgrp group1 file1 # 更改所属组 ``` --- ## 📝 文本处理 ```bash # grep - 搜索 grep "pattern" file # 搜索 grep -r "pattern" dir/ # 递归搜索 grep -i "pattern" file # 忽略大小写 grep -n "pattern" file # 显示行号 grep -v "pattern" file # 显示不匹配的行 grep -E "p1|p2" file # 正则匹配 # sed - 替换 sed 's/old/new/g' file # 全局替换 sed -i 's/old/new/g' file # 直接修改文件 sed '1,10s/old/new/' file # 替换指定行 sed '/pattern/d' file # 删除匹配行 # awk - 文本分析 awk '{print $1}' file # 打印第一列 awk -F: '{print $1}' file # 指定分隔符 awk 'NR==5' file # 打印第5行 # sort/uniq - 排序去重 sort file # 排序 sort -u file # 去重排序 uniq file # 去重 sort file | uniq -c # 统计重复次数 # wc - 统计 wc -l file # 行数 wc -w file # 词数 wc -c file # 字符数 ``` --- ## 🔧 进程管理 ```bash # 查看进程 ps aux # 所有进程 ps -ef # 标准格式 pstree # 进程树 top # 动态监控 htop # 更友好的top # 查找进程 pgrep -l name # 按名称查找PID pidof process_name # 查找进程PID # 终止进程 kill PID # 正常终止 kill -9 PID # 强制终止 killall name # 按名称终止 pkill name # 按名称终止(支持正则) # 进程优先级 nice -n 10 process # 以低优先级启动 renice 5 PID # 修改运行中进程优先级 ``` --- ## 📋 计划任务 ```bash # cron 服务 systemctl start cron # 启动 systemctl enable cron # 开机启动 # 编辑 crontab crontab -e # 编辑当前用户计划任务 crontab -l # 查看计划任务 crontab -r # 删除计划任务 # 格式:分 时 日 月 周 命令 # 示例: # */5 * * * * /script.sh # 每5分钟 # 0 */2 * * * /script.sh # 每2小时 # 0 3 * * * /script.sh # 每天3点 # 0 0 * * 0 /script.sh # 每周日 ``` --- ## 🔒 SSH/远程连接 ```bash # 连接 ssh user@host # SSH连接 ssh -p 2222 user@host # 指定端口 ssh -i key.pem user@host # 密钥连接 # SSH 密钥 ssh-keygen -t rsa # 生成密钥 ssh-copy-id user@host # 复制公钥到服务器 # SCP 文件传输 scp file user@host:/path # 上传 scp user@host:/file /path # 下载 scp -r dir user@host:/path # 递归传输 # 其他远程工具 rsync -avz src/ user@host:/dest/ # 同步(增量) telnet host port # 测试端口 nc -zv host port # 测试端口(无回显) ``` --- ## 🛠️ 系统服务 (systemd) ```bash # 服务管理 systemctl start service # 启动 systemctl stop service # 停止 systemctl restart service # 重启 systemctl status service # 状态 systemctl enable service # 开机启动 systemctl disable service # 禁止开机启动 systemctl is-enabled service # 检查是否开机启动 # 查看服务 systemctl list-units --type=service --all # 列出所有服务 systemctl list-dependencies service # 服务依赖 # 日志 journalctl -u service # 查看服务日志 journalctl -f # 实时查看日志 journalctl --since "1 hour ago" # 最近1小时日志 ``` --- ## 📊 性能监控 ```bash # CPU/内存 top # 动态监控 htop # 增强版top vmstat 1 5 # 每1秒采样5次 mpstat 1 # CPU详细统计 # I/O iostat # I/O统计 iotop # 交互式I/O监控(需安装) df -h # 磁盘使用 # 网络 iftop # 网络流量监控(需安装) nethogs # 按进程显示流量 sar -n DEV 1 5 # 网卡流量统计 ``` --- ## 🔧 实用技巧 ```bash # 命令替换 $(command) # 命令替换 `command` # 同上(老式) # 管道组合 cat file | grep pattern | sort | uniq -c | sort -rn # 后台运行 nohup command & # 后台运行(忽略挂起) command & # 后台运行 screen # 终端复用 tmux # 终端复用(更现代) # 快速补全 Tab # 补全命令/路径 Tab*2 # 显示所有可能选项 # 历史命令 !! # 执行上一条命令 !n # 执行第n条 !$ # 上一条命令的最后一个参数 !?keyword # 执行包含keyword的最新命令 ``` --- > 💡 **提示**:大部分命令支持 `--help` 查看帮助,或使用 `man command` 查看详细手册。