
arch | |
uname -m | |
uname -r | |
lspci -tv | |
lsusb -tv | |
date | |
cal 2007 | |
date 041217002007.00 | |
clock -w | |
dmidecode -q | |
hdparm -i /dev/hda | |
hdparm -tT /dev/sda | |
cat /proc/cpuinfo | |
cat /proc/interrupts | |
cat /proc/meminfo | |
cat /proc/swaps | |
cat /proc/version | |
cat /proc/net/dev | |
cat /proc/mounts |

shutdown -h now # 立刻关闭系统init 0 # 关机telinit 0 # 关机shutdown -h 23:00 & # 定时23点关机(后台运行)shutdown -c # 取消定时关机任务
shutdown -r now # 立刻重启服务器reboot # 重启
logout # 注销当前用户终端cd /home # 进入/home目录cd .. # 返回上一级目录cd ../.. # 返回上两级目录cd # 回到当前用户家目录cd ~user1 # 进入user1用户家目录cd - # 切换回上一次所在目录pwd # 打印当前工作绝对路径
ls # 列出当前目录文件ls -F # 区分文件/目录/可执行文件ls -l # 详细信息(权限、属主、大小、时间)ls -a # 显示所有文件(含隐藏文件.xxx)ls *[0-9]* # 筛选名称包含数字的文件/目录tree # 树形展示目录结构lstree # 树形展示目录结构(备选命令)
mkdir dir1 # 创建单个目录dir1mkdir dir1 dir2 # 一次性创建多个同级目录mkdir -p /tmp/dir1/dir2 # 递归创建多级目录(不存在父目录自动创建)
rm -f file1 # 强制删除文件file1,无确认弹窗rmdir dir1 # 删除空目录dir1rm -rf dir1 # 强制递归删除目录及内部所有内容(高危!)rm -rf dir1 dir2 # 同时删除多个目录
mv dir1 new_dir # 目录重命名 / 移动目录到其他路径cp file1 file2 # 复制文件file1为file2cp dir/* . # 将dir目录下所有文件复制到当前目录cp -a /tmp/dir1 . # 完整复制目录(保留权限、软链接)到当前目录cp -a dir1 dir2 # 完整复制dir1目录生成dir2
ln -s file1 lnk1 # 创建软链接(快捷方式,源文件删除链接失效)ln file1 lnk1 # 创建硬链接(多入口指向同一文件,删源文件不影响)
touch -t 0712250000 file1 # 修改文件时间戳 格式:YYMMDDhhmm# find 全盘/指定目录精准搜索find / -name file1 # 从根目录全局搜索名为file1的文件find / -user user1 # 搜索归属user1用户的所有文件find /home/user1 -name *.bin # 在指定目录搜索后缀.bin文件find /usr/bin -type f -atime +100 # 搜索100天内未访问过的可执行文件find /usr/bin -type f -mtime -10 # 搜索10天内新建/修改过的文件find / -name *.rpm -exec chmod 755 {} \; # 搜索rpm文件并批量修改权限755find / -xdev -name *.rpm # 搜索rpm文件,忽略光驱、U盘等移动设备# 快速检索(依赖updatedb数据库)locate *.ps # 快速查找后缀.ps文件,使用前先执行updatedb更新索引# 查询命令路径whereis halt # 查找二进制程序、源码、man手册所在路径which halt # 仅查找可执行程序完整路径
# 挂载分区mount /dev/hda2 /mnt/hda2 # 挂载硬盘分区hda2到/mnt/hda2mount /dev/fd0 /mnt/floppy # 挂载软盘mount /dev/cdrom /mnt/cdrom # 挂载光驱DVDmount -o loop file.iso /mnt/cdrom # 直接挂载ISO镜像文件mount -t vfat /dev/hda5 /mnt/hda5 # 挂载Windows FAT32分区mount /dev/sda1 /mnt/usbdisk # 挂载U盘闪存mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share # 挂载Windows共享文件夹# 卸载分区umount /dev/hda2 # 卸载hda2分区fuser -km /mnt/hda2 # 分区被进程占用时强制卸载umount -n /mnt/hda2 # 卸载不写入/etc/mtab(磁盘只读/满盘场景)

df -h # 人性化单位查看所有挂载分区容量、已用、剩余ls -lSr | more # 按文件体积从小到大排序展示du -sh dir1 # 查看dir1目录总占用磁盘大小du -sk * | sort -rn # 按容量从大到小排序展示当前目录所有文件/文件夹# RPM系统(CentOS/RHEL)查看安装包占用空间rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n# DEB系统(Ubuntu/Debian)查看安装包占用空间dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n
# 用户组操作groupadd group_name # 创建新用户组groupdel group_name # 删除用户组groupmod -n new_group old_group # 用户组重命名# 用户创建/删除/修改useradd -c "姓名" -g admin -d /home/user1 -s /bin/bash user1 # 创建指定配置用户useradd user1 # 创建基础用户userdel -r user1 # 删除用户并同步删除家目录usermod -c "FTP用户" -g system -d /ftp/user1 -s /bin/nologin user1 # 修改用户属性# 密码管理passwd # 修改当前登录用户密码passwd user1 # root管理员修改指定用户密码chage -E 2005-12-31 user1 # 设置用户密码过期日期# 校验用户/组配置文件pwck # 校验/etc/passwd格式、用户合法性grpck # 校验/etc/group格式、用户组合法性newgrp group_name # 临时切换登录用户组,新建文件默认归属改组
ls -lh # 查看文件完整权限信息ls /tmp | pr -T5 -W$COLUMNS # 终端内容分5栏展示chmod ugo+rwx directory1 # 所有者、同组、其他用户全部赋予读写执行权限chmod go-rwx directory1 # 移除同组、其他用户所有权限chmod u+s /bin/file1 # 设置SUID权限,运行用户拥有文件所有者权限chmod u-s /bin/file1 # 取消SUID权限chmod g+s /home/public # 设置目录SGID权限,目录内新建文件继承目录所属组chmod g-s /home/public # 取消SGID权限chmod o+t /home/public # 设置粘滞位sticky,仅文件所有者可删除该目录内文件chmod o-t /home/public # 取消粘滞位find / -perm -u+s # 全局检索所有配置SUID的文件
chown user1 file1 # 修改文件所有者为user1chown -R user1 directory1 # 递归修改目录及内部所有文件所有者chgrp group1 file1 # 修改文件归属用户组chown user1:group1 file1 # 同时修改文件所有者+所属组
仅ext系列文件系统支持特殊属性
chattr +a file1 # 仅允许追加写入,不能覆盖/删除chattr +c file1 # 开启内核自动压缩解压chattr +d file1 # dump备份工具忽略此文件chattr +i file1 # 锁定不可变:不能删除、修改、重命名、创建链接(防篡改)chattr +s file1 # 文件删除后同步擦除磁盘数据,安全删除chattr +S file1 # 写入操作立即同步刷盘,不缓存chattr +u file1 # 文件删除后保留数据,支持恢复lsattr # 查看文件特殊属性
bzip2 file1 # 压缩生成file1.bz2bunzip2 file1.bz2 # 解压bz2压缩包
gzip file1 # 普通压缩gzip -9 file1 # 最高压缩率压缩gunzip file1.gz # 解压gz包
rar a file1.rar test_file # 打包单个文件生成rarrar a file1.rar file1 file2 dir1 # 打包多文件+目录unrar x file1.rar # 解压rar包
tar -cvf archive.tar file1 # 仅打包不压缩tar -cvf archive.tar file1 file2 dir1 # 打包多个文件目录tar -tf archive.tar # 查看压缩包内文件列表tar -xvf archive.tar # 解压tar包到当前目录tar -xvf archive.tar -C /tmp # 解压到指定/tmp目录# tar+bz2 组合压缩解压tar -cvfj archive.tar.bz2 dir1tar -xvfj archive.tar.bz2# tar+gz 组合压缩解压(最常用)tar -cvfz archive.tar.gz dir1tar -xvfz archive.tar.gz
zip file1.zip file1 # 压缩单个文件zip -r file1.zip file1 file2 dir1 # 递归压缩目录unzip file1.zip # 解压zip包
rpm -ivh package.rpm # 安装rpm包,展示进度rpm -ivh --nodeeps package.rpm # 忽略依赖强制安装rpm -U package.rpm # 更新软件包,保留原有配置rpm -F package.rpm # 更新已安装的指定软件rpm -e package_name.rpm # 卸载软件包rpm -qa # 列出系统全部已安装rpm包rpm -qa | grep httpd # 模糊检索含httpd的软件包rpm -qi package_name # 查看已安装软件详细信息rpm -qg "System Environment/Daemons" # 按软件分类查询包rpm -ql package_name # 查看软件安装生成的全部文件rpm -qc package_name # 查看软件配套配置文件rpm -q package_name --whatrequires # 查询依赖该软件的程序rpm -q package_name --whatprovides # 查询该软件提供的功能库rpm -q package_name --scripts # 查看软件安装/卸载执行脚本rpm -q package_name --changelog # 查看软件版本更新日志rpm -qf /etc/httpd/conf/httpd.conf # 查询指定文件归属哪个rpm包rpm -qp package.rpm -l # 查看未安装rpm包内部文件列表rpm --import /media/cdrom/RPM-GPG-KEY # 导入rpm公钥校验包完整性rpm --checksig package.rpm # 校验rpm包完整性rpm -qa gpg-pubkey # 查看系统导入的所有校验密钥rpm -V package_name # 校验软件文件大小、权限、MD5是否被篡改rpm -Va # 全盘校验所有已安装rpm包(谨慎使用)rpm -Vp package.rpm # 校验未安装rpm包文件完整性rpm2cpio package.rpm | cpio --extract --make-directories *bin* # 提取rpm内可执行文件rpmbuild --rebuild package_name.src.rpm # 从源码包编译生成rpm安装包
yum install package_name # 在线下载安装软件,自动处理依赖yum localinstall package.rpm # 安装本地rpm文件,自动在线补全依赖yum update package_name.rpm # 更新指定软件包yum update # 一键更新系统所有已安装软件yum remove package_name # 卸载软件包yum list # 列出所有已安装软件yum search package_name # 软件仓库模糊搜索软件yum clean packages # 清理yum缓存安装包yum clean headers # 清理yum缓存头文件yum clean all # 清空全部yum缓存
dpkg -i package.deb # 安装/更新deb软件包dpkg -r package_name # 卸载deb软件dpkg -l # 列出系统全部已安装deb包dpkg -l | grep httpd # 模糊检索软件包dpkg -s package_name # 查看已安装软件详情dpkg -L package_name # 查看软件安装生成的全部文件dpkg --contents package.deb # 查看未安装deb包内部文件列表dpkg -S /bin/ping # 查询指定文件归属哪个deb软件包
apt-get install package_name # 安装/更新deb软件,自动处理依赖apt-cdrom install package_name # 从本地光盘安装软件apt-get update # 更新软件仓库索引列表apt-get upgrade # 批量升级所有已安装软件apt-get remove package_name # 卸载软件包apt-get check # 校验软件仓库依赖完整性apt-get clean # 清理本地deb安装包缓存apt-cache search keyword # 仓库内模糊搜索软件
cat file1 # 从头完整读取文件内容(适合小文件)tac file1 # 倒序从文件末尾反向读取内容more file1 # 分页查看长文件,仅支持向下翻页less file1 # 增强分页工具,上下翻页、搜索、跳转head -2 file1 # 仅查看文件前2行tail -2 file1 # 仅查看文件末尾2行tail -f /var/log/messages # 实时监控日志文件新增内容(运维高频)
grep Aug /var/log/messages # 在日志文件中检索包含Aug的行grep ^Aug /var/log/messages # 检索以Aug开头的行grep [0-9] /var/log/messages # 筛选包含数字的所有行grep Aug -R /var/log/* # 递归检索目录下所有文件匹配关键词
sed 's/stringa1/stringa2/g' example.txt # 全局替换文本中stringa1为stringa2sed '/^$/d' example.txt # 删除文件所有空白行sed '/ *#/d; /^$/d' example.txt # 删除注释行+空白行sed -e '1d' result.txt # 删除文件第一行sed -n '/stringa1/p' # 只打印匹配stringa1的行sed -e 's/ *$//' example.txt # 删除每行末尾多余空格sed -e 's/stringa1//g' example.txt # 删除所有匹配关键词,保留剩余文本sed -n '1,5p;5q' example.txt # 打印文件1~5行后退出sed -n '5p;5q' example.txt # 仅打印文件第5行sed -e 's/00*/0/g' example.txt # 将连续多个0替换为单个0
cat -n file1 # 输出内容并标注行号cat example.txt | awk 'NR%2==1' # 仅保留奇数行,删除偶数行echo a b c | awk '{print $1}' # 打印每行第一列echo a b c | awk '{print $1,$3}' # 打印每行第一、第三列
paste file1 file2 # 横向合并两个文件,左右分栏展示paste -d '+' file1 file2 # 合并文件,两栏中间用+分隔sort file1 file2 # 合并两个文件并全局排序sort file1 file2 | uniq # 去重,保留不重复行(并集)sort file1 file2 | uniq -u # 删除交集,仅保留独有行sort file1 file2 | uniq -d # 仅保留两个文件重复的交集行comm -1 file1 file2 # 对比文件,删除file1独有内容comm -2 file1 file2 # 对比文件,删除file2独有内容comm -3 file1 file2 # 对比文件,删除两者交集内容
dos2unix filedos.txt fileunix.txt # Windows DOS文本格式 转 Linux Unix格式unix2dos fileunix.txt filedos.txt # Linux文本格式 转 Windows DOS格式recode ..HTML < page.txt > page.html # 将纯文本文件转换为HTML文件recode -l | more # 查看系统支持的全部编码转换格式
badblocks -v /dev/hda1 # 检测磁盘分区坏道,输出详细进度fsck /dev/hda1 # 通用磁盘分区完整性检测修复fsck.ext2 /dev/hda1 # ext2文件系统修复e2fsck /dev/hda1 # ext系列通用修复工具e2fsck -j /dev/hda1 # ext3日志文件系统修复fsck.ext3 /dev/hda1 # ext3文件系统修复fsck.vfat /dev/hda1 # FAT32分区检测修复fsck.msdos /dev/hda1 # DOS分区检测修复dosfsck /dev/hda1 # DOS/FAT分区修复工具
mkfs /dev/hda1 # 分区创建默认文件系统mke2fs /dev/hda1 # 创建ext2文件系统mke2fs -j /dev/hda1 # 创建ext3日志文件系统mkfs -t vfat 32 -F /dev/hda1 # 格式化分区为FAT32格式fdformat -n /dev/fd0 # 格式化软盘mkswap /dev/hda3 # 将分区格式化为swap交换分区
mkswap /dev/hda3swapon /dev/hda3 # 启用单个swap分区swapon /dev/hda2 /dev/hdb3 # 同时启用多个swap交换分区
# dump 完整备份目录dump -0aj -f /tmp/home0.bak /home # 0级完整备份/home目录dump -1aj -f /tmp/home0.bak /home # 增量备份/home目录restore -if /tmp/home0.bak # 交互式恢复dump备份文件# rsync 文件增量同步(远程/本地同步神器)rsync -rogpav --delete /home /tmprsync -rogpav -e ssh --delete /home ip地址:/tmprsync -az -e ssh --delete ip:/home/public /home/localrsync -az -e ssh --delete /home/local ip:/home/public# dd 磁盘镜像、裸设备备份dd bs=1M if=/dev/hda | gzip | ssh user@ip 'dd of=hda.gz' # 远程整机磁盘备份压缩dd if=/dev/sda of=/tmp/file1 # 完整备份整块磁盘到镜像文件dd if=/dev/hda of=/dev/fd0 bs=512 count=1 # 备份硬盘MBR引导扇区到软盘dd if=/dev/fd0 of=/dev/hda bs=512 count=1 # 从软盘恢复MBR引导# tar 远程打包传输( cd /tmp/local/ && tar c . ) | ssh -C user@ip 'cd /home/share/ && tar x -p'( tar c /home ) | ssh -C user@ip 'cd /home/backup-home && tar x -p'tar cf - . | (cd /tmp/backup ; tar xf - )# find批量复制/打包日志find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parentsfind /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force # 清空可擦写CD光盘mkisofs /dev/cdrom > cd.iso # 抓取光盘生成ISO镜像mkisofs /dev/cdrom | gzip > cd_iso.gz # 生成压缩ISO镜像mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd # 自定义参数打包目录为ISOcdrecord -v dev=/dev/cdrom cd.iso # 将ISO镜像刻录到光盘gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - # 直接刻录压缩ISO文件mount -o loop cd.iso /mnt/iso # 挂载ISO镜像文件cd-paranoia -B # 抓取CD音轨生成wav音频cd-paranoia -- "-3" # 抓取CD音轨(参数-3优化读取)cdrecord --scanbus # 扫描识别SCSI光驱设备dd if=/dev/hdc | md5sum # 校验光盘md5哈希值
rm -rf 无确认强制删除,生产环境慎用;chmod 777 开放全部权限,存在安全风险,尽量使用最小权限原则。|> 覆盖写入文件、>> 追加写入文件,可将命令输出保存至本地文本。
— Linux文章推荐 —










系统集成
认证培训
IT维保,找我们
IT培训,找我们买设备,找我们