【man】 指令操作说明
【whatis】 相当于man -f 指令或者是数据
【apropos】相当于man -k
【who】查看在线用户
【netstat -a】网络联机状态
【ps -aux】背景执行程序
【shutdown】通知在线使用者关机的时刻,参数-k 只发送警告信息,-h将系统的服务停掉后立即关机,可设定关机时间;-r将系统的服务停掉后重新启动,-c取消正在进行的关机指令
【sync】将数据同步写入硬盘
【halt】系统停止,屏幕可能会保留系统已经停止的信息
【poweroff】系统关机
【Tab】可作命令补尝、档名补齐、参数选项补齐
【info page】可将一份文件拆成多个节点(node)显示,并具有类似超链接的功能,增加易读性
【cal】当月日历
【chgrp】改变文件所属群组,change group的缩写
【chown】改变文件拥有者
【chmod】改变文件的权限
【uname -r】检查Linux核心版本
【cd】变更目录
【blkid】找出系统有被格式化的装置
【df】例出文件系统的整体磁盘使用量
【du】评估文件系统的磁盘使用量,常用在推估目录所占容量
【lsblk】列出系统上的所有磁盘列表(list block device)
【blkid】列出装置的UUID等参数
【parted】列出磁盘的分区表类型与分区信息
【history】显示输入过的历史命令
【ps -A】查看当前进程
【ps -A | more】当前较多的内容使用回车滚动阅读,不能翻页
【ps -A | less】当前较多的内容使用回车滚动阅读,可以上下翻页
系统信息
【arch】设备的处理器架构
【uname -m】设备的处理器架构
【uname -r】使用的内核版本
【dmidecode】硬件系统部件
【hdparm -i/dev/hda】罗列一个磁盘的架构特性
【hdparm -tT/dev/sda】在磁盘上执行测试性读写操作
【cat /proc/cpuinfo】显示cpu info信息
【cat /proc/interrupts】显示中断
【cat /proc/meminfo】校验内存使用
【cat /proc/swaps】显示哪些swap被使用
【cat /proc/version】显示内核版本
【cat /proc/net/dev】网络适配器及统计
【cat /proc/mounts】已加载的文件系统
【lspci -tv】罗列PCI设备
【lsusb -tv】显示USB设备
【date】系统日期
【date %Y%m%d】显示当前系统日期,格式为20191025
【cal 2019】显示2019年的日历表
【date 120117252019.33】设置日期与时间 月日时分年.秒
关机、启动及注销
【shutdown -h now】关闭系统
【init 0】关闭系统
【telinit】关闭系统
【shutdown -h hours】按预定时间关闭系统
【shutdown -c】取消预定时间关闭系统
【shutdown -r now】重启
【reboot】重启
【logout】注销
文件和目录
【cd /home】进入’/home’目录
【cd …】返回上一级目录
【cd …/…】返回上两级目录
【cd】进入目录,后面要跟路径
【cd ~user1】进入个人主目录
【cd -】返回上次所在目录
【pwd】显示工作路径(即自己现在在哪)
【ls】查看当前目录中的文件
【ls -F】查看目录中的文件
【ls -l】显示文件与目录的详细资料
【ls -a】显示隐藏文件
【ls [0-9]】显示包函数字的文件名与目录
【tree】显示文件与目录由根目录开始的树形结构
【lstree】显示文件与目录由根目录开始的树形结构
【mkdir dir1】创建一个叫’dir1’的目录
【mkdir dir1 dir2】同时创建两个目录
【mkdir -p /tmp/dir1/dir2】创建一个目录树
【rm -f file1】删除file1文件
【rmdir dir1】删除dir1目录
【rm -rf dir1】删除目录及其内容
【rm -rf dir1 dir2】删除2个目录及其内容
【mv dir1 new_dir】重命名、移动一个目录
【cp file1 file2】复制一个文件
【cp dir/* .】复制一个目录下的所有文件到当前目录
【cp -a /tmp/dir1 .】复制一个目录到当前目录
【cp -a dir1 dir2】复制一个目录
【ln -s file1 lnk1】创建一个指向文件或目录的链接
【ln file1 lnk1】创建一个指向文件或目录的物理链接
【touch -t 1911200858 file1】修改file1文件或目录的时间戳(YYMMDDhhmm)
【iconv -l】列出已知的编码
文件搜索
【find / -name file1】从’/'开始进入根文件系统搜索文件和目录
【find / -user user1】搜索属于用户user1的文件和目录
【find /home/user1 -name *.bin】在目录/home/user1中搜索带有.bin结尾的文件
【find /usr/bin -type f -atime +100】搜索在过去100天内未被使用过的执行文件
【find /usr/bin -type f mtime -10】搜索在10天内被创建或修改的文件
【find / name *.rpm -exec chmod 755 ‘{ }’ \】搜索以.rpm结尾的文件并定义其权限
【find / xdev -name *.rpm】搜索以.rpm结尾的文件,忽略光驱、U盘等移动设备
【locate *.ps】寻找以.ps结尾的文件,先运行updatedb命令
【whereis halt】显示一个二进制文件、源码或man的位置
【which halt】显示一个二进制文件或可执行文件的完整路径
挂载一个文件系统
【mount /dev/hda2 /mnt/hda2】挂载一个叫hda2的盘,确定/mnt/hda2的目录已经存在
【mount /dev/hda2】卸载hda2的盘,先从挂载点/mnt/hda2退出
【fuser -km /mnt/hda2】当设备繁忙时强制卸载
【umount -n /mnt/hda2】运行卸载操作而不写入/etc/mtab文件(当文件为只读或当磁盘写满时非常有用)
【mount /dev/fd0 /mnt/floppy】挂载一个软盘
【mount /dev/cdrom /mnt/cdrom】挂载一个cdrom或dvdrom
【mount /dev/hdc /mnt/cdrecorde】挂载一个cdrw或dvdrom
【mount /dev/hdb /mnt/cdrecorde】挂载一个cdrw或dedrom
【mount -o loop file.iso /mnt/cdrom】挂载一个文件或ISO镜像文件
【mount -t vfat /dev/hda5 /mnt/hda5】挂载一个windows FAT32文件系统
【mount /dev/sda1 /mnt/usbdisk】挂载一个USB盘或闪存设备
【mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share】挂载一个windows网络共享
磁盘空间
【df -h】显示已经挂载的分区列表
【ls-lSr |more】以尺寸大小排列文件和目录
【du -sh dir1】估算dir1目录使用的磁盘空间
【du -sk * | sort -rn】以容量大小为依据依次显示文件与目录的大小
【rpm -q -a --qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n】以大小为依据依次显示已安装的deb包所使用的空间 (ubuntu, debian类系统)
用户和群组
【groupadd group_name】创建一个新用户组
【groupdel group_name】删除一个用户组
【groupmod -n new_group_name old_group_name】重命名一个用户组
【useradd -c “Name Surname” -g admin -d /home/user1 -s /bin/bash/ user1】创建一个属于admin用户组的用户
【useradd user1】创建一个新用户
【userdel -r user1】删除一个用户,-r为排除主目录
【usermod -c “User FTP” -g system -d ftp /user1 -s /bin/nologin uset1】修改用户属性
【passwd】修改口令
【passwd uset1】修改一个用户的口令(只允许root执行)
【change -E 2019-06-13 user1】设置用户口令的失效日期
【pwck】检查/etc/passwd的文件格式和语法修正以及存在的用户
【grpck】检查/etc/passwd的文件格式和语法修正以及存在的群组
【newgrp group_name】登陆进一个新的群组以改变新创建文件的预设群组
文件的权限 - 使用 + 设置权限 使用 - 用于取消
【ls -lh】显示权限
【ls /tmp | pr -T5 -W$COLUMNS】将终端划分成5栏显示
【chmod ugo+rwx directory1】设置目录的所有人u,群组g,以及其它人o,以读r、写w、执行x的权限
【chmod go-rwx directory1】删除群组g与其它人o的读写执行权限
【chown user1 file1】改变一个文件的所有人属性
【chown -R user1 directory1】改变一个目录的所有人属性,并同时改变该目录下所有文件的属性
【chgrp group1 file1】改变文件的群组
【chown user1:group1 file1】改变一个文件的所有人与群组属性
【find / -perm -u+s】罗列一个系统中所有使用了SUID控制的文件
【chmod u+s /bin/file1】设置一个二进制文件的SUID位,运行该文件的用户也被赋于和所有者同样的权限
【chmod u-s /bin/file1】禁用一个二进制文件的SUID位
【chmod g+s /home/public】设置一个目录的SGID位,类似SUID,不过这是针对目录的
【chmod g-s /home/public】禁用一个目录的SGID位
【chmod o+t /home/public】设置一个文件的STIKY位,只允许合法所有人删除文件
【chmod o-t /home/public】禁用一个文件的STIKY位
文件的特殊属性 - 使用 + 设置权限 使用 - 用于取消
【chattr +a file1】只允许以追加方式读写文件
【chattr +c file1】允许这个文件能被内核自动压缩/解压
【chattr +d file1】在进行文件系统备份时,dump程序将忽略这个文件
【chattr +i file1】设置成不可变的文件,不能被删除、修改、重命名或者链接
【chattr +s file1】允许一个文件被安全的删除
【chattr +S file1】一但应用程序对这个执行了写操作,使系统立刻把修改的结果写到磁盘
【chattr +u file1】若文件被删除,系统会允许你在以后恢复这个被删除的文件
【lsattr】显示特殊的属性
打包和压缩文件
【bunzip2 file1.bz2】解压一个叫file1.bz2的文件
【bzip2 file1】压缩file1文件
【gunzip file1.gz】解压file1.gz文件
【gzip file1】压缩file1文件
【gzip -9 file1】最大程度压缩
【rar a file1.rar test_file】创建file1.rar的包
【rar a file1.rar file1 file2 test dir1】同时压缩file1、file2以及目录dir1
【rar x file1.rar】解压rar包
【unrar x file1.rar】解压rar包
【tar -cvf archive.tar file1】创建一个非压缩的tarball
【tar -cvf archive.tar file1 file2 dir1】创建一个包函了file1、file2以及dir1的档案文件
【tar -tf archive.tar】显示一个包中的内容
【tar -xvf archive.tar】释放一个包
【tar -xvf archive.tar -c /tmp】将压缩包释放到/tmp目录下
【tar -cvfj archive.tar.bz2 dir1】创建一个bzip2格式的压缩包
【tar -jxvf archive.tar.bz2】解压一个bzip2格式的压缩包
【tar -cvfz archive.tar.gz dir1】创建一个gzip格式的压缩包
【tar -zxvf archive.tar.gz】解压一个gzip格式的压缩包
【zip.file1.zip file1】创建一个zip格式的压缩包
【zip -r file1.zip file1 file2 dir1】将几个文件和目录同时压缩成一个zip格式的压缩包
【unzip file1.zip】解压一个zip格式的压缩包
RPM包 (Fedora、Redhat等系统)
【rpm -ivh package.rpm】安装rpm包
【rpm -ivh --nodeeps package.rpm】安装rpm包而忽略依赖关系警告
【rpm -U package.rpm】更新rpm包但不改变其配置文件
【rpm -F package.rpm】更新一个确定已经安装的rpm包
【rpm -e package_name.rpm】删除一个rpm包
【rpm -qa】显示系统中所有已安装的rpm包
【rpm -qa | grep httpd】显示所有名称中包涵httpd字样的rpm包
【rpm -qi package_name】获取一个已安装包的特殊信息
【rpm -qg “system Environment/Daemons”】显示一个组件的rpm包
【rpm -ql package_name】显示一个已经安装的rpm包提供的文件列表
【rpm -qc package_name】显示一个已经安装的rpm包提供的配置文件列表
【rpm -q package_name --whatrequires】显示与一个rpm包存在依赖关系的列表
【rpm -q package_name --whatprovides】显示rpm包所占的体积
【rpm -q package_name --scripts】在安装/删除期间所执行的脚本
【rpm -q package_name --changelog】显示一个rpm包的修改历史
【rpm -qf /etc/httpd/conf/httpd.conf】确认所给的文件都由哪个rpm包提供
【rpm -qp package.rpm -l】由一个尚未安装的rpm包提供的文件列表
【rpm --import /media/cdrom/RPM-GPG-KEY】导入公钥数字证书
【rpm --checksig package.rpm】确认一个rpm包的完整性
【rpm -qa gpg -pubkey】确认安装的所有rpm包的完整性
【rpm -V pack_name】检查文件尺寸、许可、类型、所有者、群组、MD5值以及最后修改时间
【rpm -Va】检查系统中所有已安装的rpm包(小心使用)
【rpm -Vp package.rpm】确认一个rpm包还未安装
【rpm2cpio package.rpm | cpio --extract --make -directories bin】从rpm包运行可执行文件
【rpm -ivh /usr/src/redhat/RPMS/'arch’package.rpm】从rpm源码安装构件好的包
【rpmbuild --rebuild package_name.src.rpm】从一个rpm源码构建一个rpm包
YUM软件包升级器(Fedora、Redha等系统)
【yum install package_name】下载并安装一个rpm包
【yum localinstall package_name.rpm】安装一个rpm包,使用自己的软件仓库解决所有依赖关系
【yum update package_name.rpm】更新当前系统中所有安装的rpm包
【yum update package_name】更新一个rpm包
【yum remove package_name】删除一个rpm包
【yum list】列出当前系统中安装的所有包
【yum search package_name】在rpm仓库中搜寻软件包
【yum clean packages】清理rpm缓存删除下载的包
【yum clean headers】删除所有头文件
【yum clean all】删除所有缓存的包和头文件
DEB包(Fedora、Redha等系统)
【dpkg -i package.deb】安装更新一个deb包
【dpkg -r package_name】从系统删除一个deb包
【dpkg -l】显示系统中所有已经安装的deb包
【dpkg -l | grep httpd】显示所有名称中包函httpd字样的deb包
【dpkg -s package_name】获得已经安装在系统中一个特殊包的信息
【dpkg -L package_name】显示系统中已经安装的一个deb包所提供的文件例表
【dpkg --contents package.deb】尚未安装的包所提供的文件列表
【dpkg -S /bin/ping】确认所给的文件由哪个deb包提供
【dpkg -l “baidu”】查询是否安装了baidu软件,使用通配符 * 方便查找
APT软件工具(Debian、Ubuntu等系统)
【apt-get install package_name】安装更新一个deb包
【apt-cdrom install package_name】从光盘安装更新deb包
【apt-get update 】升级列表中的软件包
【apt-get upgrade】升级所有安装的软件
【apt-get remove package_name】从系统删除deb包
【apt-get check】确认依赖的软件仓库正确
【apt-get clean】从下载的软件包中清理缓存
【apt-cache search searched-package】返回包函所要搜索字符串的软件包名称
查看文件内容
【cat file1】从第一个字节开始正向查看文件的内容
【tac file1】从最后一行开始反向查看一个文件的内容
【more file1】查看一个长文件的内容
【less file1】类似more命令,但是它允许在文件中和正向操作一样的反向操作
【head -2 file1】查看一个文件的前两行
【tail -2 file1】查看一个文件的后两行
【tail -f /var/log/messages】实时查看被添加到一个文件中的内容
文本处理
【cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT】
【cat file1 | command(sed、grep、awk、grep、etc…) > result.txt】合并一个文件的详细说明文本,并将简介写入一个新文本中
【cat file1 | commane(sed、grep、awk、grep、etc…)>> result.txt】合并一个文件的详细说明文本,并将简介写入一个已有的文件中
【grep Aug /var/log/messages】在文件/var/log/messages中查找关键词Aug
【grep ^Aug /var/log/messages】在/var/log/messages中查找以Aug开始的词汇
【grep [0-9] /var/log/messages】选择/var/log/messages中所有包函数字的行
【grep Aug -R /var/log/*】在目录/var/log及随后的目录中搜索字符串Aug
【sed ‘s/stringa1/stringa2/g’ example.txt】将example.txt中的string1替换成string2
【sed ‘/^KaTeX parse error: Expected 'EOF', got '#' at position 47: …除所有空白行 【sed '/*#̲/d; /^/d’ example.txt】从example.txt中删除所有注释和空白行
【echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’】合并上下单元格内容
【sed -e ‘1d’ result.txt】从result.txt中排除第一行
【sed -n ‘/stringa1/p’】查看只包函词汇stringa1的行
【sed -e ‘s/ $//’ example.txt】删除每一行最后的空白字符
【sed -e ‘s/stringa1//g’ example.txt】从文档中只删除词汇stringa1并保留剩余全部
【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替换多个00
【cat -n file1】标示文件的行数
【cat example.txt | awk ‘NR%2==1’】删除example.txt文件中的所有偶数行
【echo a b c | awk ‘{print $1}’】查看1行第1栏
【echo a b c | awk ‘{print $1,$3}’】查看1行的第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 file3】比较两个文件的内容只删除两个文件共有部分
字符设置和文件格式转换
【dos2unix filedos.txt fileunix.txt】将文本文件的格式从MSDOS转换成UNIX
【unix2dos fileunix.txt filedos.txt】将文本文件的格式从UNIX转换成MSDOS
【recode …HTML < page.txt > page.html】将一个文本文件转换成html
【recode -l | more】显示所有允许的转换格式
文件系统分析
【badblocks -v /dev/hda1】检查磁盘hda1上的环磁块
【fsck /dev/hda1】修复/检查hda1磁盘上liunx文件系统的完整性
【fsck.ext2 /dev/hda1】修复/检查hda1磁盘上ext2文件系统的完整性
【e2fsck /dev/hda1】修复/检查hda1磁盘上ext2文件系统的完整性
【e2fsck -j /dev/hda1】……
【fsck.vfat /dev/hda1】修复/检查hda1磁盘上fat文件系统的完整性
【fsck.msdoc /dev/hda1】修复/检查hda1磁盘上的dos文件系统的完整性
【dosfsck /dev/hda1】修复/检查hda1磁盘上的dos文件系统的完整性
初始化文件系统
【mkfs /dev/hda1】在hda1分区创建一个文件系统
【mke2fs /dev/hda1】在hda1分区创建一个linux ext2的文件系统
【mke2fs -j /dev/hda1】在hda1分区创建一个linux ext3(日志型)的文件系统
【mkfs -t vfat 32 -F /dev/hda1】创建一个FAT32文件系统
【fdformat -n /dev/fd0】格式化一个软盘
SWAP文件系统
【mkswap /dev/hda3】创建一个swap文件系统
【swapon /dev/hda3】启用一个新的swap文件系统
【swapon /dev/hda2 /dev/hda3】启用两个swap分区
备份
【dump -0aj -f /tmp/home0.bak /home】制作一个/home目录的完整备份
【dump -1aj -f /tmp/home0.bak /home】目录的交互式备份
【restore -if /tmp/home0.bak】还原一个交互式备份
【rsync -rogpav --delete /home /tmp】同步两边的目录
【rsync -rogpav -e ssh --delete /home ip_address:/tmp】通过SSH通道rsync
【rsync -az -e ssh --delete ip_addr:/home/public/ /home/local】通过ssh和压缩将一个远程目录同步到本地目录
【rsync -az -e ssh --delete /home/local ip_addr:/home/public】通过ssh和压缩将本地目录同步到远程目录
【dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’】通过ssh在远程主机上执行一次备份本地磁盘的操作
【dd if=/dev/sda of=/tmp/file1】备份磁盘内容到一个文件
【tar -Puf backup.tar /home/user】执行一次对/home/user目录的交互式备份操作
【(cd /tmp/local/ && tar c .)| ssh -C user@ip_addr ‘cd /home/share && tar x -p’】通过ssh在远程目录中复制一个目录内容
【(tar c /home)| ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’】通过ssh在远程目录中复制一个本地目录
【tar cf - . | (cd /tmp/backup; tar xf -)】将本地一个目录复制到另一个地方,保留原有权限与链接
【find /home/user1 -name ‘.txt’ | xargs cp -av --target-directory=/home/backup/ --parents】从一个目录查找并复制所有以.txt结尾的文件到另一个目录
【find /var/log -name '.log’ | tar cv --files-from=- | bzip2 > log.tar.bz2】查找所有以.log结尾的文件并做成一个bzip包
【dd if=/dev/hda of=/dev/fd0 bs=512 count=1】做一个将MBR(Master Boot Record)内容复制到软盘的动作
【dd if=/dev/fd0 of=/dev/hda bs=512 count=1】从已经保存到软盘的备份中恢复MBR的内容
光盘
【cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fask -force】清空一个可复写的光盘
【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】创建一个目录的iso镜像文件
【cdrecord -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光盘转录音轨到wav文件中(参数-3)
【cdrecord --scanbus】扫描总线以识别scsi通道
【dd if=/dev/hdc | md5sum】校验一个设备的md5sum编码,例如一张CD
网络 (以太网和WIFI无线)
【ifconfig eth0】显示一个以太网卡的配置
【ifup eth0】启用一个eth0网络设备
【ifdown eth0】禁用一个eth0网络设备
【ifconfig eth0 192.168.1.1 netmask 255.255.255.0】控制IP地址
【ifconfig eth0 promisc】设置eth0成混杂模式以嗅探数据包(sniffing)
【dhclient eth0】以dhcp模式启用eth0