一、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基础(一) 中有参考表格
挂载点:实际上就是一个空白目录,可通过挂载点访问其挂载的文件系统(磁盘内容)

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盘的命名和硬盘是一个路线,所以也是以 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

Linux基础二(挂载、关机重启与系统等级)的更多相关文章

  1. Linux基础命令之关机,重启,注销

    shutdown 此命令用来安全关闭或重启Linux系统,系统在关闭之前会通知所有的登录用户,系统即将关闭,此时所有新用户都不可以登录. 以下截取man手册的内容(man shutdown): NAM ...

  2. Linux学习笔记(9)Linux常用命令之关机重启命令

    (1)shutdown shutdown命令用于关机重启,其语法格式为: shutdown [选项] 时间 其中,-c选项表示取消前一个设置的shutdown命令,-h命令表示关机,-r命令表示重启 ...

  3. linux常用命令6:关机重启命令

    关机重启命令 1.shutdown命令 shutdown [选项] 时间 选项: -c 取消前一个关机命令 -h 关机 -r 重启 2.其他关机命令 halt poweroff init  0 3.其 ...

  4. linux基础命令学习(一)系统的关机、重启以及注销

    1.shutdown shutdown 参数说明: [-t] 在改变到其它runlevel之前﹐告诉init多久以后关机. [-r] 重启计算器[reboot]. [-k] 并不真正关机﹐只是送警告信 ...

  5. Linux命令(二)关机重启

  6. linux基础——文件挂载,lamp安装

    一. 文件挂载 lsblk -f 显示文件系统信息 mount -t vfat UUID="ffffffffff" /mnt   挂载到/mnt目录 Linux针对于各式U盘挂载方 ...

  7. Linux基础(二)之命令

    01-基础命令 1. 创建一个目录 mkdir /data 创建多级目录 mkdir -p /oldboy/data 2. 查看目录里面的内容 ls /data 3. 查看目录里面的详细信息 ls - ...

  8. Linux命令(一)之目录结构、Linux终端操作、关机重启等一些基本操作

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  9. Linux基础二:初识linux命令

    一.UNIX和Linux操作系统概述 1.UNIX是什么 1)UNIX的定义: UNIX是一个计算机操作系统,一个用来协调.管理和控制计算机硬件和软件资源的控制程序. 2)UNIX操作系统的特点:多用 ...

随机推荐

  1. php.ini 常用 配置

    参考:http://legolas.blog.51cto.com/2682485/493917这个文件必须命名为''php.ini''并放置在httpd.conf中的PHPIniDir指令指定的目录中 ...

  2. 1、JUC--volatile 关键字-内存可见性

    Java JUC简介 在 Java 5.0 提供了 java.util.concurrent (简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线 ...

  3. mysql刚启动就停止是什么原因

    1.找到mysql安装目录,将其配置文件my.default.ini改名为my.ini,并且将my.ini移至bin目录下. 2.启动命令行,将目录切换到mysql安装目录的bin目录下.3.接下来, ...

  4. 国家代号(CountryCode)与区号

    Countries and Regions 国家或地区 国际域名缩写 电话代码 时差 Angola 安哥拉 AO -7 Afghanistan 阿富汗 AF 93 0 Albania 阿尔巴尼亚 AL ...

  5. Python3.6使用Pyqt5编写GUI程序

    Python3.6使用Pyqt5编写HTTP测试工具 程序非常简单,使用PYQT5搭建好UI,然后用PyUIC生成Python文件,Mac中使用Pycharm+Python3.6+Pyqt5搭建教程在 ...

  6. openstack vm ping 114.114.114.114

    route add -net 0.0.0.0 netmask 0.0.0.0 gateway 192.168.0.131 route del -net 0.0.0.0 netmask 0.0.0.0 ...

  7. Linux中一个网卡含有多个IP,将从IP升级为主IP的方法

    今天在查看虚拟机的时候,发现某一网卡含有多个IP地址: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fas ...

  8. (.DS_Store)避免多人提交代码到GitHub上起冲突

    在多人合作的项目里,git pull origin master执行完之后出现以下问题: Auto-merging .DS_Store CONFLICT (content): Merge confli ...

  9. 【实战】verilog中`define的使用记录

    背景: 在最近实战开发中发现:对外部芯片进行初始化时,往往需要定义大量参数. 若直接在module中通过localparam或者parameter进行参数定义的话,会带来两个问题: 1.代码长度增加, ...

  10. Android病毒家族及行为(一)

    1病毒名称:a.remote.GingerMaste中文名:病毒家族:GingerMast病毒类别:远程控制恶意行为:获取root权限,同时连接远端服务器,在其指令控制下静默下载其它恶意软件,给用户手 ...