理论知识有点多,加油!node
相关目录做用linux
目录名称 | 应放置文件的内容 |
---|---|
/boot | 开机所需文件—内核、开机菜单以及所需配置文件等 |
/dev | 以文件形式存听任何设备与接口 |
/etc | 配置文件 |
/home | 用户主目录 |
/bin | 存放单用户模式下还能够操做的命令 |
/lib | 开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数 |
/sbin | 开机过程当中须要的命令 |
/media | 用于挂载设备文件的目录 |
/opt | 放置第三方的软件 |
/root | 系统管理员的家目录 |
/srv | 一些网络服务的数据文件目录 |
/tmp | 任何人都可使用的“共享”临时目录 |
/proc | 虚拟文件系统,例如系统内核、进程、外部设备及网络状态等 |
/usr/local | 用户自行安装的软件 |
/usr/sbin | Linux系统开机时不会使用到的软件/命令/脚本 |
/usr/share | 帮助与说明文件,也可放置共享文件 |
/var | 主要存放常常变化的文件,如日志 |
/lost+found | 当文件系统发生错误时,将一些丢失的文件片断存放在这里 |
路径指的是如何定位到某个文件,分为绝对路径与相对路径web
硬件设备 | 文件名称 |
---|---|
IDE设备 | /dev/hd[a-d] |
SCSI/SATA/U盘 | /dev/sd[a-z] |
virtio设备 | /dev/vd[a-z] |
软驱 | /dev/fd[0-1] |
打印机 | /dev/lp[0-15] |
光驱 | /dev/cdrom |
鼠标 | /dev/mouse |
磁带机 | /dev/st0或/dev/ht0 |
主分区和逻辑分区shell
主分区或扩展分区的编号从1开始,到4结束;vim
逻辑分区从编号5开始。服务器
主要有Ext 二、Ext 三、Ext 四、XFSmarkdown
Ext3的改进版本,做为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且可以有无限多的子目录。另外,Ext4文件系统可以批量分配block块,从而极大地提升了读写效率。如今不少主流服务器也会使用。 网络
是一种高性能的日志文件系统,并且是RHEL 7/8中默认的文件管理系统,它的优点在发生意外宕机后尤为明显,便可以快速地恢复可能被破坏的文件,并且强大的日志功能只用花费极低的计算和存储性能。而且它最大可支持的存储容量为18EB,这几乎知足了全部需求。 app
该文件的访问权限(read、write、execute);socket
该文件的全部者与所属组(owner、group);
该文件的大小(size);
该文件的建立或内容修改时间(ctime);
该文件的最后一次访问时间(atime);
该文件的修改时间(mtime);
文件的特殊权限(SUID、SGID、SBIT);
该文件的真实数据地址(point)
一 个inode的默认大小仅为128字节,记录一个block则消耗4字节。当文件的inode被写满后,Linux系统会自动分配出一个block块,专门用于像inode那样记录其余block块的信息,这样把各个block块的内容串到一块儿,就可以让用户读到完整的文件内容了。
两种常见状况
状况1:文件很小(1KB),但依然会占用一个block,所以会潜在地浪费3KB。
状况2:文件很大(5KB),那么会占用两个block(5KB-4KB后剩下的1KB也要占用一个block)。
用于挂载文件系统
格式为“mount 文件系统 挂载目录”
参数 | 做用 |
---|---|
-a | 挂载全部在/etc/fstab中定义的文件系统 |
-t | 指定文件系统的类型 |
# 挂载到目录 [root@linuxprobe ~]# mount /dev/sdb2 /backup # 挂载到网络 # 查看UUID值 [root@localhost ~]# blkid /dev/sda3: UUID="1253ac5b-eaed-4c4c-808d-09fb4828358f" TYPE="xfs" PARTUUID="0afc9026-03" /dev/sda1: UUID="bcc55e4d-0854-44a8-9449-dad12374a6d3" TYPE="xfs" PARTUUID="0afc9026-01" /dev/sda2: UUID="45a308e8-b622-4f24-9ea2-d4f473388981" TYPE="swap" PARTUUID="0afc9026-02" # 根据UUID挂载 [root@linuxprobe ~]# mount UUID=bcc55e4d-0854-44a8-9449-dad12374a6d3 /backup
umount命令用于卸载设备或文件系统
格式为:“umount [设备文件/挂载目录]”
[root@linuxprobe ~]# umount /dev/sdb2
若是想将文件系统为ext4的硬件设备/dev/sdb2在开机后自动挂载到/backup目录上,并保持默认权限且无需开机自检,就须要在/etc/fstab文件中写入下面的信息,这样在系统重启后也会成功挂载。
字段 | 意义 |
---|---|
设备文件 | 通常为设备的路径+设备名称,也能够写惟一识别码(UUID,Universally Unique Identifier) |
挂载目录 | 指定要挂载到的目录,需在挂载前建立好 |
格式类型 | 指定文件系统的格式,好比Ext三、Ext四、XFS、SWAP、iso9660(此为光盘设备)等 |
权限选项 | 若设置为defaults,则默认权限为:rw, suid, dev, exec, auto, nouser, async |
是否备份 | 若为1则开机后使用dump进行磁盘备份,为0则不备份 |
是否自检 | 若为1则开机后自动进行磁盘自检,为0则不自检 |
[root@linuxprobe ~]# vim /etc/fstab # # /etc/fstab # Created by anaconda on Tue Jul 21 05:03:40 2020 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # /dev/mapper/rhel-root / xfs defaults 0 0 UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot xfs defaults 0 0 /dev/mapper/rhel-swap swap swap defaults 0 0 /dev/sdb2 /backup ext4 defaults 0 0
写入到/etc/fstab文件中的设备信息并不会当即生效,须要使用mount -a参数进行自动挂载:
[root@linuxprobe ~]# mount -a
用于已挂载的磁盘空间使用状况
语法格式为:“df -h”
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 890M 0 890M 0% /dev tmpfs 904M 0 904M 0% /dev/shm tmpfs 904M 9.4M 894M 2% /run tmpfs 904M 0 904M 0% /sys/fs/cgroup /dev/sda3 18G 4.4G 14G 25% / /dev/sda1 295M 144M 152M 49% /boot tmpfs 181M 16K 181M 1% /run/user/42 tmpfs 181M 4.0K 181M 1% /run/user/0
查看已挂载的磁盘空间使用状况
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 300M 0 part /boot ├─sda2 8:2 0 2G 0 part [SWAP] └─sda3 8:3 0 17.7G 0 part / sdb 8:16 0 20G 0 disk sr0 11:0 1 1024M 0 rom sr1 11:1 1 1024M 0 rom
查看分区或目录所占用的磁盘容量大小
语法格式为:“du -sh 目录名称”
[root@localhost ~]# du -sh /* 0 /bin 126M /boot 0 /dev 28M /etc 12K /home 0 /lib 0 /lib64 0 /media 0 /MMX 0 /mnt 0 /opt 0 /proc 84M /root 9.4M /run 0 /sbin 0 /srv 0 /sys 52K /tmp 3.9G /usr 139M /var
步骤:
一、安装硬盘
二、在/dev/sd*找到新安装硬盘,通常没有分区,好比/dev/sdb,不存在/dev/sdb【n】等
三、fdisk命令新建分区
四、mkfs命令格式化分区
五、新建目录【分区好后挂载上面】mkdir /XXX
六、使用mount命令,mount /dev/sd【x】 步骤5目录
七、编辑注册文件/etc/fstab
八、mount -a自动挂载
九、df -h查看挂载结果
十、reboot重启,再次使用df -h查看是否开机自动挂载
[root@localhost ~]# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb [root@localhost ~]# mkfs mkfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs [root@localhost ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.32.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x2c7d0518. Command (m for help): m Help: DOS (MBR) a toggle a bootable flag b edit nested BSD disklabel c toggle the dos compatibility flag Generic d delete a partition F list free unpartitioned space l list known partition types n add a new partition p print the partition table t change a partition type v verify the partition table i print information about a partition Misc m print this menu u change display/entry units x extra functionality (experts only) Script I load disk layout from sfdisk script file O dump disk layout to sfdisk script file Save & Exit w write table to disk and exit q quit without saving changes Create a new label g create a new empty GPT partition table G create a new empty SGI (IRIX) partition table o create a new empty DOS partition table s create a new empty Sun partition table Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-41943039, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +5G Created a new partition 1 of type 'Linux' and of size 5 GiB. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. [root@localhost ~]# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb /dev/sdb1 [root@localhost ~]# mkdir /MMX [root@localhost ~]# mkfs.xfs /dev/sdb1 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=327680 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=1310720, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@localhost ~]# mount /dev/sdb1 /MMX [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 890M 0 890M 0% /dev tmpfs 904M 0 904M 0% /dev/shm tmpfs 904M 9.4M 894M 2% /run tmpfs 904M 0 904M 0% /sys/fs/cgroup /dev/sda3 18G 4.4G 14G 25% / /dev/sda1 295M 144M 152M 49% /boot tmpfs 181M 16K 181M 1% /run/user/42 tmpfs 181M 4.0K 181M 1% /run/user/0 /dev/sdb1 5.0G 68M 5.0G 2% /MMXsks.
重启以后:
[root@localhost ~]# tail -n 5 /etc/fstab # UUID=1253ac5b-eaed-4c4c-808d-09fb4828358f / xfs defaults 0 0 UUID=bcc55e4d-0854-44a8-9449-dad12374a6d3 /boot xfs defaults 0 0 UUID=45a308e8-b622-4f24-9ea2-d4f473388981 swap swap defaults 0 0 /dev/sdb1 /MMX xfs defaults 0 0 #顺利自动挂载上去! [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 890M 0 890M 0% /dev tmpfs 904M 0 904M 0% /dev/shm tmpfs 904M 9.4M 894M 2% /run tmpfs 904M 0 904M 0% /sys/fs/cgroup /dev/sda3 18G 4.4G 14G 25% / /dev/sdb1 5.0G 68M 5.0G 2% /MMX /dev/sda1 295M 144M 152M 49% /boot tmpfs 181M 16K 181M 1% /run/user/42 tmpfs 181M 4.0K 181M 1% /run/user/0
编辑/etc/fstab错误,致使SSH没法链接
一、编辑的/etc/fstab文件以下,xfs格式错误,写成了ext4
# # /etc/fstab # Created by anaconda on Sat Jul 3 11:06:41 2021 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # UUID=1253ac5b-eaed-4c4c-808d-09fb4828358f / xfs defaults 0 0 UUID=bcc55e4d-0854-44a8-9449-dad12374a6d3 /boot xfs defaults 0 0 UUID=45a308e8-b622-4f24-9ea2-d4f473388981 swap swap defaults 0 0 /dev/sdb1 /MMX ext4 defaults 0 0
二、此时已经没法链接SSH
[C:\~]$ Connecting to 192.168.180.128:22... Could not connect to '192.168.180.128' (port 22): Connection failed. Type `help' to learn how to use Xshell prompt.
三、虚拟机界面以下
四、输入密码以后,查看IP地址,发现有问题
五、删除/etc/fstab最后编辑的哪一行,重启reboot
六、恢复正常,SSH已经能够链接
七、从新编辑/etc/fstab目录
# # /etc/fstab # Created by anaconda on Sat Jul 3 11:06:41 2021 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # UUID=1253ac5b-eaed-4c4c-808d-09fb4828358f / xfs defaults 0 0 UUID=bcc55e4d-0854-44a8-9449-dad12374a6d3 /boot xfs defaults 0 0 UUID=45a308e8-b622-4f24-9ea2-d4f473388981 swap swap defaults 0 0 /dev/sdb1 /MMX xfs defaults 0 0 ~
八、重启看效果
[root@localhost ~]# reboot Connection closing...Socket close. Connection closed by foreign host. Disconnected from remote host(红帽8模拟器) at 20:13:30. Type `help' to learn how to use Xshell prompt. [C:\~]$ Connecting to 192.168.180.128:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Activate the web console with: systemctl enable --now cockpit.socket Last login: Sun Jul 11 05:11:49 2021 from 192.168.180.1 [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 890M 0 890M 0% /dev tmpfs 904M 0 904M 0% /dev/shm tmpfs 904M 9.4M 894M 2% /run tmpfs 904M 0 904M 0% /sys/fs/cgroup /dev/sda3 18G 4.4G 14G 25% / /dev/sdb1 5.0G 68M 5.0G 2% /MMX /dev/sda1 295M 144M 152M 49% /boot tmpfs 181M 16K 181M 1% /run/user/42 tmpfs 181M 4.0K 181M 1% /run/user/0
SWAP交换分区是一种经过在硬盘中预先划分必定的空间,而后将把内存中暂时不经常使用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。
[root@localhost ~]# free -h total used free shared buff/cache available Mem: 1.8Gi 881Mi 113Mi 9.0Mi 810Mi 732Mi Swap: 2.0Gi 0B 2.0Gi
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 300M 0 part /boot ├─sda2 8:2 0 2G 0 part [SWAP] └─sda3 8:3 0 17.7G 0 part / sdb 8:16 0 20G 0 disk ├─sdb1 8:17 0 5G 0 part /MMX └─sdb2 8:18 0 5G 0 part sr0 11:0 1 1024M 0 rom sr1 11:1 1 1024M 0 rom
[root@localhost ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.32.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): m Help: DOS (MBR) a toggle a bootable flag b edit nested BSD disklabel c toggle the dos compatibility flag Generic d delete a partition F list free unpartitioned space l list known partition types n add a new partition p print the partition table t change a partition type v verify the partition table i print information about a partition Misc m print this menu u change display/entry units x extra functionality (experts only) Script I load disk layout from sfdisk script file O dump disk layout to sfdisk script file Save & Exit w write table to disk and exit q quit without saving changes Create a new label g create a new empty GPT partition table G create a new empty SGI (IRIX) partition table o create a new empty DOS partition table s create a new empty Sun partition table Command (m for help): n Partition type p primary (2 primary, 0 extended, 2 free) e extended (container for logical partitions) Select (default p): p Partition number (3,4, default 3): First sector (20973568-41943039, default 20973568): Last sector, +sectors or +size{K,M,G,T,P} (20973568-41943039, default 41943039): +5G Created a new partition 3 of type 'Linux' and of size 5 GiB. Command (m for help): t Partition number (1-3, default 3): 3 Hex code (type L to list all codes): 82 Changed type of partition 'Linux' to 'Linux swap / Solaris'. Command (m for help): p Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x2c7d0518 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 10487807 10485760 5G 83 Linux /dev/sdb2 10487808 20973567 10485760 5G 83 Linux /dev/sdb3 20973568 31459327 10485760 5G 82 Linux swap / Solaris Command (m for help): w The partition table has been altered. Syncing disks.
mkswap 挂载交换分区路径
swapon 交换分区路径
[root@localhost ~]# mkswap /dev/sdb3 Setting up swapspace version 1, size = 5 GiB (5368705024 bytes) no label, UUID=3fbdf0fd-e425-448f-a9a1-c8a6ef5962de # 激活前 [root@localhost ~]# free -h total used free shared buff/cache available Mem: 1.8Gi 884Mi 108Mi 9.0Mi 813Mi 730Mi Swap: 2.0Gi 0B 2.0Gi [root@localhost ~]# swapon /dev/sdb2 # 激活后 [root@localhost ~]# free -h total used free shared buff/cache available Mem: 1.8Gi 888Mi 104Mi 9.0Mi 813Mi 726Mi Swap: 7.0Gi 0B 7.0Gi
[root@localhost ~]# vim /etc/fstab [root@localhost ~]# tail -n 5 /etc/fstab UUID=1253ac5b-eaed-4c4c-808d-09fb4828358f / xfs defaults 0 0 UUID=bcc55e4d-0854-44a8-9449-dad12374a6d3 /boot xfs defaults 0 0 UUID=45a308e8-b622-4f24-9ea2-d4f473388981 swap swap defaults 0 0 /dev/sdb1 /MMX xfs defaults 0 0 /dev/sdb3 swap swap defaults 0 0
[root@localhost ~]# free -h total used free shared buff/cache available Mem: 1.8Gi 768Mi 546Mi 9.0Mi 490Mi 848Mi Swap: 2.0Gi 0B 2.0Gi # 发现这个,好像把sdb2挂载上去了……【mkswap /dev/sdb3】 # 从新执行一次命令 [root@localhost ~]# mkswap /dev/sdb3 [root@localhost ~]# swapon /dev/sdb3 [root@localhost ~]# free -h total used free shared buff/cache available Mem: 1.8Gi 767Mi 544Mi 9.0Mi 494Mi 849Mi Swap: 7.0Gi 0B 7.0Gi # 果真…… [root@localhost ~]# vim /etc/fstab # # /etc/fstab # Created by anaconda on Sat Jul 3 11:06:41 2021 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # UUID=1253ac5b-eaed-4c4c-808d-09fb4828358f / xfs defaults 0 0 UUID=bcc55e4d-0854-44a8-9449-dad12374a6d3 /boot xfs defaults 0 0 UUID=45a308e8-b622-4f24-9ea2-d4f473388981 swap swap defaults 0 0 /dev/sdb1 /MMX xfs defaults 0 0 /dev/sdb3 swap swap defaults 0 0 # 加上去把,一块儿12G /dev/sdb2 swap swap defaults 0 0
[C:\~]$ Connecting to 192.168.180.128:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Activate the web console with: systemctl enable --now cockpit.socket Last login: Sun Jul 11 06:25:17 2021 from 192.168.180.1 [root@localhost ~]# free -h total used free shared buff/cache available Mem: 1.8Gi 769Mi 564Mi 9.0Mi 472Mi 839Mi Swap: 11Gi 0B 11Gi