Linux基础二(挂载、关机重启与系统等级)

一、Linux 基础之挂载

1. 挂载和查询

1.1 挂载

什么叫挂载?装系统的时候要给硬盘分区,在 Windows 中要分 C 盘 D 盘 DEF 盘,这个操作我们叫做分配盘符,分配盘符之后我们就可以根据盘符去访问具体的硬盘分区了。而在 Linux 中我们把分配盘符的过程称为 挂载。在 Linux 系统中,任何一个硬件设备(如光盘,U盘)要接入系统,则必须先挂载,再通过挂载点去访问(或调用)设备中的内容。

1.2 设备文件名

硬件设备文件名

1.3 挂载点

三个挂载点

如上图所示:

在根目录下,系统为我们准备了 3 个挂载点,其中 media 用于挂光盘,misc 用于挂磁带机等较少见的存储设备,mnt 用于挂U盘和移动硬盘等。实际上我们可以忽略前两者,在使用时将所有存储设备都挂载到 /mnt/ 目录下即可,也懒得记这么多了。

1.4 查询

mount 命令:查询系统中已经挂载的设备

命令示例: mount

[root@localhost ~]# mount
/dev/mapper/vg_myydsrw-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)		// /proc 和 /sys 目录是内存的挂载点,自动挂载的
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

其中,第七行:
/dev/sda1 on /boot type ext4(rw)
/dev/ 目录是保存硬件设备的目录,sd 代表 SATA 或者 SCSI 接口的硬盘,a 指第 1 块硬盘,1 指第 1 个分区(1-4主分区,5以上是逻辑分区)。
这一行代表 第 1 块 SATA 硬盘的第 1 个分区是 /boot 分区,文件类型是 etx4 
我们通过访问 /boot 目录就可以访问到硬盘的数据了

1.5 自动挂载

mount -a 命令:依据 /etc/fstab 的内容进行自动挂载

/etc/fstab 文件会在系统启动的时候自动执行,我们先看一下 /etc/fstab 文件的内容

/dev/mapper/vg_myydsrw-lv_root /                       ext4    defaults        1 1
UUID=47fa30fe-a6c7-414c-b28b-77da3fde58a9 /boot                   ext4    defaults        1 2
/dev/mapper/vg_myydsrw-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

这就不难理解为什么一开机就有这么多已经挂在好了的目录了

2. 命令详解

2.1 命令格式

mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
其中:
	-t 文件系统:在 Windows 中默认支持 NTFS;在 Linux 中默认支持 EXT3 和 EXT4 (CentOS6 以上的系统中默认是 EXT4)
	-o 特殊选项:额外指定挂载时的其他选项(如下图1所示)
	设备文件名:在 Linux基础(一) 中有参考表格
	挂载点:实际上就是一个空白目录,可通过挂载点访问其挂载的文件系统(磁盘内容)

mount -o 特殊选项

2.2 命令示例

2.2.1 挂载/卸载光盘

挂载光盘第一步

第一步:插入光盘

虚拟机:如上图所示
真机中:将光盘插入光驱

第二步:建立挂载点

[root@localhost ~]# mkdir /mnt/cdrom
其中:
	挂载点在本文第二张图有解释

第三步:挂载光盘

[root@localhost ~]# mount -t iso9660 /dev/sr0 /mnt/cdrom/
其中:
	-t 指定文件系统为 iso9660 (可省略不写)
	/dev/sr0 为光盘的设备文件名,实际上也可以用 /dev/cdrom 代替,因为后者是前者的软链接
	/mnt/cdrom 为第二步建立的挂载点,实际上就是一个空白目录(任何一个空目录都可以作为挂载点)
注意:这条命令会有如下报错
mount: block device /dev/sr0 is write-protected, mounting read-only
这是因为 mount 命令的默认挂载权限是读写,而光盘一旦刻录好了之后就不能在写入数据了。出现这个提示反而可以认为光盘被正确挂载

第四步:查看光盘内容

当光盘被正确挂载之后,就能通过挂载点去访问光盘中的数据了。

ls /mnt/cdrom/Packages/

第五步:卸载光盘

在 Linux 中,当光盘使用完毕后,必须卸载才可以取出光盘,若直接取出可能会导致一些错误发生。

卸载命令如下:

umount 设备文件名或挂载点
如:
umount /dev/sr0		或		umount /mnt/cdrom/
2.2.1 挂载/卸载 U盘和移动硬盘

U盘文件系统

背景知识:

因为U盘的命名和硬盘是一个路线,所以也是以 sd 作为标记, 在插入U盘之前,可以使用 fdisk -l 命令查看当前硬盘命名情况。若 Linux 已经识别了 2 块 SATA 硬盘,则已存在 sdasdb,那么插入的U盘就会被命名为 sdc。那么我们在挂载该U盘时就要用 mount -vfat /dev/sdc1 /mnt/usb/ 命令。

现象:
有时候插入了U盘,但是 Linux 却没有识别出 sdc,那么原因就是该U盘的文件系统是 NTFS(如上图所示),而 Linux 又默认不支持 NTFS 文件系统,所以插入U盘后没反应。

解决办法:1.修改 Linux 内核;2.下载 ntfs-3g.rpm 并安装即可。

但需要注意的是,这两种方法只能读取不能写入。


对于不支持 NTFS 的 Linux 来说,如果要使用 Windows 中的数据,一般用网络传输的方式。

第一步:插入U盘

虚拟机:点击右下角USB图标 -> 连接(断开与主机的连接)(C)
真机中:将U盘直接插入USB接口

第二步至第五步:

与光盘一致

二、Linux 基础之关机重启

1.关机

1.1 shutdown 命令

命令格式:shutdown [选项] 时间
选项:
	-c:取消前一个关机命令(cancel)
	-h:关机(halt)
	-r:重启(reboot)
时间:
	如 05:30

相对于其他关机命令(如init 0),shutdown 命令更安全,因为其他命令不会正确保存当前正在运行的服务。

1.2 其他关机命令

其他关机命令有:

halt
poweroff
init 0

2.重启

2.1 shutdown 命令

对于重启来说,就是 shutdown -r now

2.2 其他重启命令

reboot
init 6

三、Linux 基础之系统运行级别

1.系统运行级别

系统运行级别:

0 关机
1 单用户
2 不完全多用户(不含NFS服务)
3 完全多用户
4 未分配(系统预留)
5 图形界面
6 重启

可用 init 命令调用系统运行级别(更改当前系统运行级别)

1.1 查看系统运行级别

runlevel 命令:查看系统运行级别
显示前一个系统运行级别和当前系统运行级别,N 代表 Null

1.2 设置系统默认运行级别

我们知道,Linux 中有 7 个运行级别,那么是否能够设置系统启动时自动进入到某个运行级别?答案是可以的,在 Linux 6 系列中,系统启动后默认进入的运行级别保存在 /ect/inittab 文件中。
该文件内容如下:其中,最后一行指定了系统启动后默认的运行级别

[root@localhost ~]# cat /etc/inittab 
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
# 
id:3:initdefault:

注意:默认运行级别不能设置为 0 和 6

posted @ 2017-11-19 22:10  蚂蚁有毒  阅读(948)  评论(0编辑  收藏  举报