zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    .Net培训个人总结笔记1
    .Net培训个人总结笔记0——前言
    python访问数据库
    默认构造函数
    VC使用中一些常见问题
    使用VC进行调试
    sqlite3.OperationalError: Could not decode to UTF8 column XXX with text '***'
    cent os 5.5 安装
    initialization of xxx is skipped by xxx
    VC程序启动时隐藏主窗口
  • 原文地址:https://www.cnblogs.com/myyd/p/7862442.html
Copyright © 2011-2022 走看看