六.关闭和重启命令
1.关机 shutdown -h now
-h=halt now 也可以替换为具体时间
halt 停机不关闭电源
init 0 以0级别运行
init级别:
0 关机
6 重启
3 字符级别
5 图形化
poweroff 先关闭系统然后掉电关机
shutdown +5 “system will shutdown after 5 minutes”
#设定5分钟后关机,发给所有用户关机提示信息告知登录用户。
此命令执行五分钟后,登录的用户将退出登录,但系统并不会关闭。
需要自行shutdown -h now进行关机(C7此命令直接关闭系统)。
shutdown +2 -h "system will shutdown after 1 minutes"
#如果想要关闭系统并提示用户即将关机信息那么要执行此命令
2.重启
shutdown -r now
reboot
3.数据同步 sync
在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的 时候再写入磁盘,以提高系统的运行效率。
sync命令则可用来强制将内存缓冲区中的数据立 即写入磁盘中。用户通常不需执行sync命令,系统会自动将缓冲区的数据写 入磁盘。只有 用户需要非正常关机时,才需手动执行sync命令。
七.挂载命令
Linux系统一切设备皆文件。比如第一张光盘,会被自动识别为/dev/sr0(设备文件的 命名方式是主设备号加次设备号。主设备号说明设备类型,次设备号说明是第几个设备), 但并不能直接对光盘正常使用。需要先进行挂载而后才能进行正常的安装等步骤。需要指定 挂载点并执行挂载命令。(不同的光盘之间需要重新挂载并指定挂载点才能正常使用)
1.mount 查询系统中已经挂载的设备
常见的存储设备:
/dev/sda1 第一个scsi硬盘的第一个分区
/dev/cdrom 光盘
/dev/sr0 光盘
常用挂载点见目录
挂载格式: mount -t 文件系统类型 -o 特殊选项 设备文件名 挂载点
-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3,ext4, ios9660等文件系统。
-o 特殊选项:可以指定挂载的额外选项,比如读写权限,同步异步等,如果 不指定则默认值生效。
参数 说明
atime/noatime 更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新。
async/sync 异步/同步,默认为异步。
auto/noauto 自动/手动,mount -a 命令执行时, 是否会自动安装/etc/fstab文件内容挂载默认自动。
注: mount -a 命令通常用于验证写入/etc/fstab文件的信息是否正确,看有无报错
defaults 定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项。 exec/noexec 执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许。 remount 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限。
rw/ro 读写/只读,文件系统挂载时,是否具有读写权限,默认是rw。
suid/nosuid 具有/不具有SUID权限,设定文件系统是有具有SUID和SGID的权限,默认有。
suid 的权限在passwd命令中是存在的。可以解决普通用户修改密码的问题
user/nouser 允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允 许, 只有root可以挂载分区。 usrquota 写入代表文件系统支持用户磁盘配额,默认不支持。 grpquota 写入代表文件系统支持组磁盘配额,默认不支持。
将/boot分区进行重新挂载,修改为不能执行,其中的文件就无法进行执行操作
例1:mount 查看挂载信息
/dev/sda1 on /boot type ext4 (rw)
我们查看到/boot分区已经被挂载,而且采用的defaults选项,那么我 们重新挂载分 区,并采用noexec 权限禁止执行文件执行,看看会出现什么 情况(注意不要用/分区做试 验,不然系统命令也不能执行了)
[root@localhost ~]# mount -o remount,noexec /boot
[root@localhost ~]# cd /boot [root@localhost ~]
# vim hello.sh #!/bin/bash echo “hello world!”
[root@localhost ~]# chmod 755 hello.sh
[root@localhost ~]# ./hello.sh
[root@localhost ~]# -bash: ./hello.sh: 权限不够
[root@localhost ~]# mount -o remount,exec /boot
例2:挂载硬盘分区,移动硬盘
[root@localhost ~]# mkdir /mnt/disk1
#创建挂载点
[root@localhost ~]# mount /dev/sdb1 /mnt/disk1
#挂载硬盘分区或者移动硬盘
例3:挂载光盘
[root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom
#/mnt/cdrom必须是已存在的目录
例4:挂载U盘
[root@localhost ~]# fdisk -l
#查看当前系统下的存储设备,确认U盘的设备名称
[root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb
#fat32格式的U盘挂载方式
-t vfat fat32
-t fat fat16
注:Linux默认情况不识别NTFS、exfat格式,可以通过安装一些插件对格式进行支持
注:挂载时,可以不指定文件类型,不指定的话,会进行自动识别
例5:挂载.iso文件
mount -o loop /root/CentOS-7-x86_64-DVD-1810.iso /mnt/
加入loop选项让文件以块设备的方式进行挂载。
例6:卸载 umount 设备名称或挂载点
#所有挂载的设备卸载方式都一样
例7:挂载NTFS格式
yum -y install epel-release
yum -y install ntfs-3g
mount -t ntfs-3g /dev/sdb1 /media/
ls /media
挂载注意事项:
同一个文件系统不应该重复挂载在不同的挂载点。
同一个目录不应该重复挂载多个文件系统。
作为挂载点,一定要是空白目录。
八.打包压缩 tar:
文件的归档(打包)和压缩 归档和压缩文件的好处:节约硬盘的资源 ,加快文件传输速率
打包:类似于在windows中的文件夹,但是又不相同,因为打包后无法直接看包里边的内容,需要解包才可以看到。
压缩:与windows中类似,可以压缩体积。
用法:tar [选项] 压缩后生成文件 打包文件
参数:
-c:创建文件
-x:提取 解压还原文件
-v:显示执行详细过程
-f:指定备份文件
-t:列出压缩包中包括哪些文件,不解包,查看包中的内容
-C:指定解压位置
例1:对/boot/grub 目录打包并解包。
[root@localhost ~]# tar -cvf ./grub.tar /boot/grub/
或: [root@localhost ~]# tar cvf ./grub.tar /boot/grub/
tar: 从成员名中删除开头的“/”
/boot/grub/
/boot/grub/splash.xpm.gz
[root@localhost ~]# ls ./gurb.tar
[root@localhost ~]# tar -xvf ./grub.tar
#解压缩 boot/grub/ boot/grub/splash.xpm.gz
打包时用绝对路径,打完包删除绝对路径/,解包为相对路径。
[root@localhost ~]# ls ./boot #得到 boot 目录
例 1:指定解压位置 -C
[root@localhost ~]# tar xvf ./grub.tar.bz2 -C /opt/
tar: 从成员名中删除开头的“/”
/boot/grub/
/boot/grub/splash.xpm.gz
[root@localhost ~]# ls /opt/ boot
例 2:把两个目录或目录+文件打包成一个软件包:
[root@localhost ~]# mkdir ./back
[root@localhost ~]# cp /etc/passwd back/
[root@localhost ~]# tar -cvf back.tar /boot/grub back/ /etc/passwd
tar: 从成员名中删除开头的“/”
/boot/grub/
/boot/grub/splash.xpm.gz
back/
back/passwd
/etc/passwd
例3:在打包过程中跳过某个或多个文件。
- -exclude:指定跳过的文件。
[root@localhost ~]# cp /etc/passwd ./back/
[root@localhost ~]# cp -a /etc/fstab ./back/
[root@localhost ~]# cp -a /etc/shadow ./back/
[root@localhost ~]# cp -a /etc/group ./back/
#创建目录和目录下文件。
[root@localhost ~]# tar - -exclude /root/back/group -cvf /root/back.tar /root/back/
#在打包过程中指定跳过group文件。
例 4:不解包,查看 tar 中的内容:
[root@localhost ~]# tar -tvf ./grub.tar tar 归档+压缩:
常用参数:
-z:以 gzip 方式压缩 扩展名: tar.gz
-j:以 bz2 方式压缩的 扩展名:tar.bz2
-J:以 xz 方式压缩 扩展名:tar.xz
例 1:创建.tar.gz 包
[root@localhost ~]# tar -cvf ./etc.tar /etc
[root@localhost test]# tar -zcvf ./etc.tar.gz /etc
[root@localhost test]# tar -zxvf ./etc.tar.gz
例 2:创建.tar.bz2 包
[root@localhost ~]# tar -jcvf ./etc.tar.bz2 /etc
[root@localhost ~]# tar -jxvf ./etc.tar.bz2 /etc
#解压缩
[root@localhost ~]# tar jxvf ./etc.tar.bz2 -C /opt
#解压到 opt 目录下
例 3:创建.tar.xz 包
[root@localhost ~]# tar -Jcvf ./etc.tar.xz /etc
[root@localhost ~]# tar -xvf ./etc.tar.xz
对比三种压缩方式后压缩比例:
[root@localhost ~]# ll -h ./etc.tar*
在这几种压缩方式中,有的速度比较快,相反就会体积比较大,有的比较慢,就会体积比较小,各有优点。
解压的时候使用tar -xvf 都可以进行解压
zip 管理压缩文件
zip 软件包解压缩命令: zip 是压缩程序,unzip 是解压程序。
例 1:压缩文件:
zip 压缩包名 要压缩的文件
例 2:将所有.jpg 的文件压缩成一个 zip 包
[root@localhost ~]# zip ./all.zip *.jpg
例 3:压缩一个目录
[root@localhost ~]# zip -r ./grub.zip /boot/grub
#压缩目录需要加选项 -r
zip和tar的区别:
ZIP压缩和tar压缩明显的区别就是,对于软连接的处理
zip压缩会把软连接对应的源文件拿过来压缩,对于有链接的目录且比较重要,最好使用zip压缩
tar压缩只是把目录下的软连接进行打包压缩,这样解压后可能导致软连接失效(软连接建立使用相对路径的时候,所以软连接要使用绝对路径)
查看目录中的内容大小,使用du -sh 目录名
解压缩:
-d:指定解压目录。
[root@localhost ~]# unzip ./grub.zip
[root@localhost ~]# unzip ./grub.zip -d /opt/
file 命令 作用:确定文件类型
用法: file /etc/passwd
注:linux 系统不根据后缀名识别文件类型 用 file 命令查看文件的类型。
[root@localhost ~]# file /etc/passwd
/etc/passwd: ASCII tex
注:当不清楚什么文件类型的时候使用file命令进行查看