系统信息
#显示机器的处理器架构
[root@localhost ~]$ arch
#显示机器的处理器架构
[root@localhost ~]$ uname -m
#显示正在使用的内核版本
[root@localhost ~]$ uname -r
#显示硬件系统部件 - (SMBIOS / DMI)
[root@localhost ~]$ dmidecode -q
#罗列一个磁盘的架构特性
[root@localhost ~]$ hdparm -i /dev/hda
#在磁盘上执行测试性读取操作
[root@localhost ~]$ hdparm -tT /dev/sda
#显示CPU info的信息
[root@localhost ~]$ cat /proc/cpuinfo
#显示中断
[root@localhost ~]$ cat /proc/interrupts
#校验内存使用
[root@localhost ~]$ cat /proc/meminfo
#显示哪些swap被使用
[root@localhost ~]$ cat /proc/swaps
#显示内核的版本
[root@localhost ~]$ cat /proc/version
# 显示网络适配器及统计
[root@localhost ~]$ cat /proc/net/dev
#显示已加载的文件系统
[root@localhost ~]$ cat /proc/mounts
# 罗列 PCI 设备
[root@localhost ~]$ lspci -tv
#显示 USB 设备
[root@localhost ~]$ lsusb -tv
#显示系统日期
[root@localhost ~]$ date
#显示2020年的日历表
[root@localhost ~]$ cal 2020
#设置日期和时间 - 月日时分年.秒
[root@localhost ~]$ date 041217002007.00
#将时间修改保存到 BIOS
[root@localhost ~]$ clock -w
系统关机、重启、登出
#关闭系统
[root@localhost ~]$ shutdown -h now
#按预定时间关闭系统
[root@localhost ~]$ shutdown -h hours:minutes &
#取消按预定时间关闭系统
[root@localhost ~]$ shutdown -c
#重启
[root@localhost ~]$ reboot
#注销
[root@localhost ~]$ logout
文件和目录
#进入 '/ home' 目录'
[root@localhost ~]$ cd /home
#返回上一级目录
[root@localhost ~]$ cd ..
#返回上两级目录
[root@localhost ~]$ cd ../..
#进入个人的主目录
[root@localhost ~]$ cd
#进入个人的主目录
[root@localhost ~]$ cd ~user1
#返回上次所在的目录
[root@localhost ~]$ cd -
#返回上次所在的目录
[root@localhost ~]$ pwd
#查看目录中的文件
[root@localhost ~]$ ls
#查看目录中的文件
[root@localhost ~]$ ls -F
#显示文件和目录的详细资料
[root@localhost ~]$ ls -l
#显示隐藏文件
[root@localhost ~]$ ls -a
#显示包含数字的文件名和目录名
[root@localhost ~]$ ls *[0-9]*
#显示文件和目录由根目录开始的树形结构
[root@localhost ~]$ tree
#显示文件和目录由根目录开始的树形结构
[root@localhost ~]$ lstree
#创建一个叫做 'dir1' 的目录'
[root@localhost ~]$ mkdir dir1
#同时创建两个目录
[root@localhost ~]$ mkdir dir1 dir2
#创建一个目录树
[root@localhost ~]$ mkdir -p /tmp/dir1/dir2
#删除一个叫做 'file1' 的文件'
[root@localhost ~]$ rm -f file1
#删除一个叫做 'dir1' 的目录'
[root@localhost ~]$ rmdir dir1
#删除一个叫做 'dir1' 的目录并同时删除其内容
[root@localhost ~]$ rm -rf dir1
#同时删除两个目录及它们的内容
[root@localhost ~]$ rm -rf dir1 dir2
#重命名/移动 一个目录
[root@localhost ~]$ mv dir1 new_dir
#复制一个文件
[root@localhost ~]$ cp file1 file2
#复制一个目录下的所有文件到当前工作目录
[root@localhost ~]$ cp dir/* .
#复制一个目录到当前工作目录
[root@localhost ~]$ cp -a /tmp/dir1 .
#复制一个目录
[root@localhost ~]$ cp -a dir1 dir2
#复制一个目录及子目录
[root@localhost ~]$ cp -r dir1 dir2
#创建一个指向文件或目录的软链接
[root@localhost ~]$ ln -s file1 lnk1
#创建一个指向文件或目录的物理链接
[root@localhost ~]$ ln file1 lnk1
#修改一个文件或目录的时间戳 - (YYMMDDhhmm)
[root@localhost ~]$ touch -t 0712250000 file1
文件搜索
#从 '/' 开始进入根文件系统搜索文件和目录
[root@localhost ~]$ find / -name file1
#搜索属于用户 'user1' 的文件和目录
[root@localhost ~]$ find / -user user1
#在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
[root@localhost ~]$ find /home/user1 -name \*.bin
#搜索在过去100天内未被使用过的执行文件
[root@localhost ~]$ find /usr/bin -type f -atime +100
#搜索在10天内被创建或者修改过的文件
[root@localhost ~]$ find /usr/bin -type f -mtime -10
#搜索以 '.rpm' 结尾的文件并定义其权限
[root@localhost ~]$ find / -name \*.rpm -exec chmod 755 '{}' \;
#搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
[root@localhost ~]$ find / -xdev -name \*.rpm
#寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
[root@localhost ~]$ locate \*.ps
#显示一个二进制文件、源码或man的位置
[root@localhost ~]$ whereis halt
#显示一个二进制文件或可执行文件的完整路径
[root@localhost ~]$ which halt
挂载一个文件系统
#挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在
[root@localhost ~]$ mount /dev/hda2 /mnt/hda2
#卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出
[root@localhost ~]$ umount /dev/hda2
#当设备繁忙时强制卸载
[root@localhost ~]$ fuser -km /mnt/hda2
#运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
[root@localhost ~]$ umount -n /mnt/hda2
#挂载一个软盘
[root@localhost ~]$ mount /dev/fd0 /mnt/floppy
#挂载一个cdrom或dvdrom
[root@localhost ~]$ mount /dev/cdrom /mnt/cdrom
#挂载一个cdrw或dvdrom
[root@localhost ~]$ mount /dev/hdc /mnt/cdrecorder
#挂载一个cdrw或dvdrom
[root@localhost ~]$ mount /dev/hdb /mnt/cdrecorder
#挂载一个文件或ISO镜像文件
[root@localhost ~]$ mount -o loop file.iso /mnt/cdrom
#挂载一个Windows FAT32文件系统
[root@localhost ~]$ mount -t vfat /dev/hda5 /mnt/hda5
#挂载一个usb 捷盘或闪存设备
[root@localhost ~]$ mount /dev/sda1 /mnt/usbdisk
#挂载一个windows网络共享
[root@localhost ~]$ mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
磁盘空间
#显示已经挂载的分区列表
[root@localhost ~]$ df -h
#估算目录 'dir1' 已经使用的磁盘空间
[root@localhost ~]$ du -sh dir1
#以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)
[root@localhost ~]$ dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n
#以容量大小为依据依次显示文件和目录的大小
[root@localhost ~]$ du -sk * | sort -rn
#以尺寸大小排列文件和目录
[root@localhost ~]$ ls -lSr | more
#以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
[root@localhost ~]$ rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n
用户和群组
#创建一个新用户组
[root@localhost ~]$ groupadd group_name
#删除一个用户组
[root@localhost ~]$ groupdel group_name
#重命名一个用户组
[root@localhost ~]$ groupmod -n new_group_name old_group_name
#创建一个属于 "admin" 用户组的用户
[root@localhost ~]$ useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1
#创建一个新用户
[root@localhost ~]$ useradd user1
#删除一个用户 ( '-r' 排除主目录)
[root@localhost ~]$ userdel -r user1
#修改用户属性
[root@localhost ~]$ usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1
#修改口令
[root@localhost ~]$ passwd
#修改一个用户的口令 (只允许root执行)
[root@localhost ~]$ passwd user1
#设置用户口令的失效期限
[root@localhost ~]$ chage -E 2005-12-31 user1
#检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户
[root@localhost ~]$ pwck
#检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组
[root@localhost ~]$ grpck
#登陆进一个新的群组以改变新创建文件的预设群组
[root@localhost ~]$ newgrp group_name
文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消
#显示权限
[root@localhost ~]$ ls -lh
#将终端划分成5栏显示
[root@localhost ~]$ ls /tmp | pr -T5 -W$COLUMNS
#设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
[root@localhost ~]$ chmod ugo+rwx directory1
#删除群组(g)与其他人(o)对目录的读写执行权限
[root@localhost ~]$ chmod go-rwx directory1
#改变一个文件的所有人属性
[root@localhost ~]$ chown user1 file1
#改变一个目录的所有人属性并同时改变改目录下所有文件的属性
[root@localhost ~]$ chown -R user1 directory1
#改变文件的群组
[root@localhost ~]$ chgrp group1 file1
#改变一个文件的所有人和群组属性
[root@localhost ~]$ chown user1:group1 file1
文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消
#只允许以追加方式读写文件
[root@localhost ~]$ chattr +a file1
#允许这个文件能被内核自动压缩/解压
[root@localhost ~]$ chattr +c file1
#在进行文件系统备份时,dump程序将忽略这个文件
[root@localhost ~]$ chattr +d file1
#设置成不可变的文件,不能被删除、修改、重命名或者链接
[root@localhost ~]$ chattr +i file1
#允许一个文件被安全地删除
[root@localhost ~]$ chattr +s file1
#一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
[root@localhost ~]$ chattr +S file1
#若文件被删除,系统会允许你在以后恢复这个被删除的文件
[root@localhost ~]$ chattr +u file1
#显示特殊的属性
[root@localhost ~]$ lsattr
打包和压缩文件
#解压一个叫做 'file1.bz2'的文件
[root@localhost ~]$ bunzip2 file1.bz2
#压缩一个叫做 'file1' 的文件
[root@localhost ~]$ bzip2 file1
#解压一个叫做 'file1.gz'的文件
[root@localhost ~]$ gunzip file1.gz
#压缩一个叫做 'file1'的文件
[root@localhost ~]$ gzip file1
#最大程度压缩
[root@localhost ~]$ gzip -9 file1
#创建一个叫做 'file1.rar' 的包
[root@localhost ~]$ rar a file1.rar test_file
#同时压缩 'file1', 'file2' 以及目录 'dir1'
[root@localhost ~]$ rar a file1.rar file1 file2 dir1
#解压rar包
[root@localhost ~]$ rar x file1.rar
#解压rar包
[root@localhost ~]$ unrar x file1.rar
#创建一个非压缩的 tarball
[root@localhost ~]$ tar -cvf archive.tar file1
#创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件
[root@localhost ~]$ tar -cvf archive.tar file1 file2 dir1
#显示一个包中的内容
[root@localhost ~]$ tar -tf archive.tar
#释放一个包
[root@localhost ~]$ tar -xvf archive.tar
#将压缩包释放到 /tmp目录下
[root@localhost ~]$ tar -xvf archive.tar -C /tmp
#创建一个bzip2格式的压缩包
[root@localhost ~]$ tar -cvfj archive.tar.bz2 dir1
#解压一个bzip2格式的压缩包
[root@localhost ~]$ tar -jxvf archive.tar.bz2
#创建一个gzip格式的压缩包
[root@localhost ~]$ tar -cvfz archive.tar.gz dir1
#解压一个gzip格式的压缩包
[root@localhost ~]$ tar -zxvf archive.tar.gz
#创建一个zip格式的压缩包
[root@localhost ~]$ zip file1.zip file1
#将几个文件和目录同时压缩成一个zip格式的压缩包
[root@localhost ~]$ zip -r file1.zip file1 file2 dir1
#解压一个zip格式压缩包
[root@localhost ~]$ unzip file1.zip
RPM 包 - (Fedora, Redhat及类似系统)
#安装一个rpm包
[root@localhost ~]$ rpm -ivh package.rpm
#安装一个rpm包而忽略依赖关系警告
[root@localhost ~]$ rpm -ivh --nodeeps package.rpm
#更新一个rpm包但不改变其配置文件
[root@localhost ~]$ rpm -U package.rpm
#更新一个确定已经安装的rpm包
[root@localhost ~]$ rpm -F package.rpm
#删除一个rpm包
[root@localhost ~]$ rpm -e package_name.rpm
#显示系统中所有已经安装的rpm包
[root@localhost ~]$ rpm -qa
#获取一个已安装包的特殊信息
[root@localhost ~]$ rpm -qi package_name
#显示一个组件的rpm包
[root@localhost ~]$ rpm -qg "System Environment/Daemons"
#显示一个已经安装的rpm包提供的文件列表
[root@localhost ~]$ rpm -ql package_name
#显示一个已经安装的rpm包提供的配置文件列表
[root@localhost ~]$ rpm -qc package_name
#显示与一个rpm包存在依赖关系的列表
[root@localhost ~]$ rpm -q package_name --whatrequires
#显示一个rpm包所占的体积
[root@localhost ~]$ rpm -q package_name --whatprovides
#显示所有名称中包含 "httpd" 字样的rpm包
[root@localhost ~]$ rpm -qa | grep httpd
YUM 软件包升级器 - (Fedora, RedHat及类似系统)
#下载并安装一个rpm包
[root@localhost ~]$ yum install package_name
#将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
[root@localhost ~]$ yum localinstall package_name.rpm
#更新当前系统中所有安装的rpm包
[root@localhost ~]$ yum update package_name.rpm
#更新一个rpm包
[root@localhost ~]$ yum update package_name
#删除一个rpm包
[root@localhost ~]$ yum remove package_name
#列出当前系统中安装的所有包
[root@localhost ~]$ yum list
#在rpm仓库中搜寻软件包
[root@localhost ~]$ yum search package_name
#清理rpm缓存删除下载的包
[root@localhost ~]$ yum clean packages
#删除所有头文件
[root@localhost ~]$ yum clean headers
#删除所有缓存的包和头文件
[root@localhost ~]$ yum clean all
查看文件内容
#从第一个字节开始正向查看文件的内容
[root@localhost ~]$ cat file1
#从最后一行开始反向查看一个文件的内容
[root@localhost ~]$ tac file1
#查看一个长文件的内容
[root@localhost ~]$ more file1
#类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
[root@localhost ~]$ less file1
#查看一个文件的前两行
[root@localhost ~]$ head -2 file1
#查看一个文件的最后两行
[root@localhost ~]$ tail -2 file1
#实时查看被添加到一个文件中的内容
[root@localhost ~]$ tail -f /var/log/messages
文件系统分析
#检查磁盘hda1上的坏磁块
[root@localhost ~]$ badblocks -v /dev/hda1
#修复/检查hda1磁盘上linux文件系统的完整性
[root@localhost ~]$ fsck /dev/hda1
#修复/检查hda1磁盘上ext2文件系统的完整性
[root@localhost ~]$ fsck.ext2 /dev/hda1
#修复/检查hda1磁盘上ext2文件系统的完整性
[root@localhost ~]$ e2fsck /dev/hda1
#修复/检查hda1磁盘上ext3文件系统的完整性
[root@localhost ~]$ e2fsck -j /dev/hda1
#修复/检查hda1磁盘上ext3文件系统的完整性
[root@localhost ~]$ fsck.ext3 /dev/hda1
#修复/检查hda1磁盘上fat文件系统的完整性
[root@localhost ~]$ fsck.vfat /dev/hda1
#修复/检查hda1磁盘上dos文件系统的完整性
[root@localhost ~]$ fsck.msdos /dev/hda1
#修复/检查hda1磁盘上dos文件系统的完整性
[root@localhost ~]$ dosfsck /dev/hda1
初始化一个文件系统
#在hda1分区创建一个文件系统
[root@localhost ~]$ mkfs /dev/hda1
#在hda1分区创建一个linux ext2的文件系统
[root@localhost ~]$ mke2fs /dev/hda1
#在hda1分区创建一个linux ext3(日志型)的文件系统
[root@localhost ~]$ mke2fs -j /dev/hda1
#创建一个 FAT32 文件系统
[root@localhost ~]$ mkfs -t vfat 32 -F /dev/hda1
#格式化一个软盘
[root@localhost ~]$ fdformat -n /dev/fd0
#创建一个swap文件系统
[root@localhost ~]$ mkswap /dev/hda3
SWAP文件系统
#创建一个swap文件系统
[root@localhost ~]$ mkswap /dev/hda3
#启用一个新的swap文件系统
[root@localhost ~]$ swapon /dev/hda3
#启用两个swap分区
[root@localhost ~]$ swapon /dev/hda2 /dev/hdb3
备份
#制作一个 '/home' 目录的完整备份
[root@localhost ~]$ dump -0aj -f /tmp/home0.bak /home
#制作一个 '/home' 目录的交互式备份
[root@localhost ~]$ dump -1aj -f /tmp/home0.bak /home
网友评论