10 KiB
Executable File
10 KiB
Executable File
Linux 常用命令
日常运维中最常用的 Linux 命令汇总
📦 软件包管理 (apt)
# 更新软件源
sudo apt-get update
# 升级所有可升级的软件包
sudo apt-get upgrade
# 安装软件包
sudo apt-get install <package>
# 卸载软件包(保留配置)
sudo apt-get remove <package>
# 卸载软件包(删除配置)
sudo apt-get purge <package>
# 自动修复依赖
sudo apt-get -f install
# 清理缓存
sudo apt-get clean
sudo apt-get autoclean
apt vs aptitude:aptitude 是 apt 的高级封装,功能更强大,但 apt 更常用。
📁 文件操作
ls - 列出目录
ls # 列出当前目录文件
ls -l # 详细列表
ls -a # 显示隐藏文件
ls -lh # 人性化大小
ls -la # 详细+隐藏
ls -lt # 按时间排序
ls -lS # 按大小排序
cd - 切换目录
cd /path # 切换到指定目录
cd .. # 返回上级目录
cd ~ # 返回家目录
cd - # 返回上一次目录
cd . # 当前目录(无意义)
pwd # 显示当前路径
cp - 复制
cp file /dest/ # 复制文件
cp -r folder /dest/ # 递归复制目录
cp -a file /dest/ # 保留属性(权限、时间戳)
cp -p file /dest/ # 保留权限
cp -u file /dest/ # 仅源更新时复制
cp -v file /dest/ # 显示进度
mv - 移动/重命名
mv file /dest/ # 移动文件
mv oldname newname # 重命名
mv -u file /dest/ # 源更新时才移动
mv -v file /dest/ # 显示进度
rm - 删除
rm file # 删除文件
rm -f file # 强制删除
rm -r folder # 递归删除目录
rm -rf folder # 强制递归删除(危险!)
rm -v file # 显示删除动作
⚠️ 警告:
rm -rf /会删除整个系统!使用前务必确认路径。
mkdir - 创建目录
mkdir dir # 创建目录
mkdir -p path/to/dir # 递归创建(父目录不存在时自动创建)
mkdir -m 755 dir # 指定权限
touch - 创建文件/更新时间戳
touch file # 创建空文件
touch file1 file2 file3 # 批量创建
touch -t 202401011200 file # 指定时间
🔐 权限管理
chmod - 变更权限
# 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 - 变更所有者
chown user file # 变更所有者
chown user:group file # 变更所有者和组
chown -R user:group folder/ # 递归变更
🔍 查看文件
cat - 显示文件内容
cat file # 显示全部内容
cat -n file # 显示行号
cat -b file # 非空行显示行号
tac file # 反向显示(最后一行在前)
head/tail - 显示头部/尾部
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 - 分页查看
more file # 逐页查看(只能向下)
less file # 交互式查看(可上下翻页)
# less 中按键:
# j/k 或 方向键 上下滚动
# q 退出
# /keyword 搜索
# n 跳到下一个匹配
# g/G 跳到开头/结尾
🌐 网络命令
ifconfig - 网卡配置
ifconfig # 显示所有网卡状态
ifconfig -a # 显示所有网卡(包括未激活)
ifconfig eth0 # 显示指定网卡
ifconfig eth0 up # 激活网卡
ifconfig eth0 down # 关闭网卡
ifconfig eth0 192.168.1.100 # 设置IP(临时)
ping - 测试连通性
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 - 下载
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 - 进程快照
ps # 当前终端进程
ps aux # 所有进程(BSD格式)
ps -ef # 所有进程(标准格式)
ps -ef | grep nginx # 查找nginx进程
ps -u user # 某用户的进程
ps --forest # 显示进程树
top/htop - 动态监控
top # 动态监控(按 q 退出)
htop # 更友好的top(需安装)
# top 中按键:
# P 按CPU排序
# M 按内存排序
# N 按PID排序
# k 杀进程
# r 重设优先级
kill - 终止进程
kill PID # 正常终止
kill -9 PID # 强制终止
kill -15 PID # 优雅终止(默认)
kill -l # 查看信号列表
killall nginx # 按名称终止所有进程
pkill nginx # 按名称终止(支持正则)
📦 压缩解压
tar - 打包/解包
# 解压
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
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 - 磁盘使用
df -h # 显示磁盘使用情况
df -i # 显示inode使用
du -sh folder/ # 目录总大小
du -h --max-depth=1 # 子目录大小
du -sh * | sort -h # 按大小排序显示
free - 内存使用
free # 显示内存(字节)
free -h # 人性化显示
free -m # 以MB显示
free -s 5 # 每5秒刷新
uname - 系统信息
uname -a # 全部信息
uname -r # 内核版本
uname -m # CPU架构
cat /etc/os-release # 发行版信息
系统时间
date # 显示当前时间
date -s "2024-01-01 12:00:00" # 设置时间
hwclock --systohc # 同步到硬件时钟
timedatectl # 时间管理(systemd)
📝 文本处理
grep - 搜索
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 - 查找文件
find / -name "file.txt" # 按名字查找
find / -type d -name "folder" # 查找目录
find / -size +100M # 查找大于100M的文件
find / -mtime -7 # 查找7天内修改的文件
find / -user username # 查找某用户的文件
find / -perm 755 # 按权限查找
sed - 文本替换
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 - 创建链接
ln file hardlink # 创建硬链接
ln -s file symlink # 创建软链接(快捷方式)
ln -sf file newlink # 强制创建
💻 其他常用
sudo/su - 切换用户
sudo command # 以root执行
sudo -u user command # 以指定用户执行
sudo -i # 切换到root shell
su - username # 切换用户
reboot/shutdown - 重启关机
shutdown -h now # 立即关机
shutdown -h +10 # 10分钟后关机
shutdown -c # 取消关机
reboot # 重启
poweroff # 关机
history - 命令历史
history # 显示历史命令
history -c # 清除历史
!n # 执行第n条命令
!! # 执行上一条命令
Ctrl+R # 搜索历史