一、Linux 基础之挂载

1. 挂载和查询

1.1 挂载

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

1.2 设备文件名

1.3 挂载点

如上图所示:

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

1.4 查询

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

  1. 命令示例: mount
  2. [root@localhost ~]# mount
  3. /dev/mapper/vg_myydsrw-lv_root on / type ext4 (rw)
  4. proc on /proc type proc (rw) // /proc 和 /sys 目录是内存的挂载点,自动挂载的
  5. sysfs on /sys type sysfs (rw)
  6. devpts on /dev/pts type devpts (rw,gid=5,mode=620)
  7. tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
  8. /dev/sda1 on /boot type ext4 (rw)
  9. none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
  10. 其中,第七行:
  11. /dev/sda1 on /boot type ext4(rw)
  12. /dev/ 目录是保存硬件设备的目录,sd 代表 SATA 或者 SCSI 接口的硬盘,a 指第 1 块硬盘,1 指第 1 个分区(1-4主分区,5以上是逻辑分区)。
  13. 这一行代表 1 SATA 硬盘的第 1 个分区是 /boot 分区,文件类型是 etx4
  14. 我们通过访问 /boot 目录就可以访问到硬盘的数据了

1.5 自动挂载

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

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

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

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

2. 命令详解

2.1 命令格式

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

2.2 命令示例

2.2.1 挂载/卸载光盘

第一步:插入光盘

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

第二步:建立挂载点

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

第三步:挂载光盘

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

第四步:查看光盘内容

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

  1. ls /mnt/cdrom/Packages/

第五步:卸载光盘

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


卸载命令如下:

  1. umount 设备文件名或挂载点
  2. 如:
  3. 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盘

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

第二步至第五步:

  1. 与光盘一致

二、Linux 基础之关机重启

1.关机

1.1 shutdown 命令

  1. 命令格式:shutdown [选项] 时间
  2. 选项:
  3. -c:取消前一个关机命令(cancel)
  4. -h:关机(halt)
  5. -r:重启(reboot)
  6. 时间:
  7. 05:30

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

1.2 其他关机命令

其他关机命令有:

  1. halt
  2. poweroff
  3. init 0

2.重启

2.1 shutdown 命令

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

2.2 其他重启命令

  1. reboot
  2. init 6

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

1.系统运行级别

系统运行级别:

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

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

1.1 查看系统运行级别

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

1.2 设置系统默认运行级别

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

  1. [root@localhost ~]# cat /etc/inittab
  2. # inittab is only used by upstart for the default runlevel.
  3. #
  4. # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
  5. #
  6. # System initialization is started by /etc/init/rcS.conf
  7. #
  8. # Individual runlevels are started by /etc/init/rc.conf
  9. #
  10. # Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
  11. #
  12. # Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
  13. # with configuration in /etc/sysconfig/init.
  14. #
  15. # For information on how to write upstart event handlers, or how
  16. # upstart works, see init(5), init(8), and initctl(8).
  17. #
  18. # Default runlevel. The runlevels used are:
  19. # 0 - halt (Do NOT set initdefault to this)
  20. # 1 - Single user mode
  21. # 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
  22. # 3 - Full multiuser mode
  23. # 4 - unused
  24. # 5 - X11
  25. # 6 - reboot (Do NOT set initdefault to this)
  26. #
  27. 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面试流程

  2. laravel记录笔记Laravel 连接数据库、操作数据库的三种方式

    laravel中提供DB facade(原始查找).查询构造器.Eloquent ORM三种操作数据库方式 1.连接数据库 .env 数据库配置 DB_HOST=localhost dbhost DB ...

  3. WorldWind源码剖析系列:日志类Log

    Utility工程中的日志类Log主要用来输出Debug状态下的调试信息.该类的类图如下: 日志类Log中使用到的类和内嵌结构体类型主要有以下这些: public class LogEventArgs ...

  4. 蓝桥杯之剪格子(经典dfs)

    如下图所示,3 x 3 的格子中填写了一些整数. +--*--+--+ |10* 1|52| +--****--+ |20|30* 1| *******--+ | 1| 2| 3| +--+--+-- ...

  5. C# WPF xml序列化 反序列化

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...

  6. 20155224 聂小益 《基于Arm实验箱的接口测试和应用》 课程设计报告

    一.设计方案及可行性分析 熟悉 Linux 开发环境 多线程应用程序设计 串行端口程序设计 中断实验 二.详细设计思路 1. 熟悉 Linux 开发环境 建立工作目录: 在终端输入代码建立工作目录 [ ...

  7. 2017-2018-2 20155230《网络对抗技术》实验5:MSF基础应用

    基础问题回答 用自己的话解释什么是exploit,payload,encode. exploit 就是运行该模块吧,在msf的模块中配置好各项属性后exploit一下就开始运行使用该模块了 paylo ...

  8. adb连接不上手机的解决方案

    一.确认手机的USB调试接口是打开的:----------打开开发者模式,暴击手机版本号多次,直到提示已打开开发者模式. 二.使用USB线连接电脑和手机,可以首先执行adb remount(重新挂载系 ...

  9. C语言学习之结构体

    前言 一直以来,C语言的学习都在入门阶段,只用到数组.函数.循环.选择.位运算这些基本的知识,较少用到指针.预处理.结构体.枚举类型.文件操作等这些C语言的精髓内容,现在想想真不敢说自己熟练掌握C语言 ...

  10. effective c++ 笔记 (1-3)

    // //  effective c++.cpp //  笔记 // //  Created by fam on 15/3/23. // // //-------------------------- ...