谢烟客---------Linux之文件系统管理挂载
思路
只能挂载在根分区,根由谁来挂载?
mount命令详解
分区, 创建、调整、查看文件系统,挂载文件系统、显示挂载信息、验证挂载
写时复制和原处读写
同步IO和异步IO的区别
在创建文件系统之后,如果要使用此文件系统,应该将设备/分区关联至根设备的某个目录之下
根由内核管理,是一切的起始
根的由来
3)bootloader装载用户 所选择的操作系统内核(系统启动装载的第一个程序)
CentOS 7 :/etc/grub2.cfg 中定义了 {load_video ##加载显卡linux16 /boot/vmlinuz-3.10.0-514.26.2.el7.x86_64 root=UUID=07151862-c2b9-45dc-bf7a-af8d2a6fa6c1 rocrashkernel=auto rhgb quiet net.ifnames=0 LANG=en_US.UTF-8 ##加载的内核文件root=UUID=07151862-c2b9-45dc-bf7a-af8d2a6fa6c1 ## 装载内核时,需要指明根所在的分区initrd16 /boot/initramfs-3.10.0-514.26.2.el7.x86_64.img ## 根文件系统的驱动 } CentOS 6 :/boot/grub/grub.conf中定义了 title CentOS 6 (2.6.32-696.el6.i686)root (hd0,0)kernel /vmlinuz-2.6.32-696.el6.i686 ro root=/dev/mapper/myvg-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=myvg/lv_swap KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet rd_NO_DM rd_LVM_LV=myvg/lv_root rhgb quietinitrd /initramfs-2.6.32-696.el6.i686.img根的位置:人为的通过grub配置文件,传递给内核,内核才能加载根
4)内核(通用目的的管理程序,不会完成特定目的的操作)初始化后,取得系统的控制权
/内核初始化后---> 装载根 --> 启动根文件系统上的Init程序(完成特定目的操作)
为了完成特定目的的操作,应该启动应用程序,存储在外部存储设备上的应用程序
1、装载某个磁盘分区,根文件系统所在的分区,满足FHS标准的分区
2)启动后,通过根分区某个路径下的mount命令关联其他分区至根,保证任何文件都处于根下
3) 根必须提供启动所依赖的程序和库文件,且只能在根文件系统中(bin,sbin,lib,lib64)
1、所有程序都是init的子进程,都是init仿照自己的样子捏出来的, init 程序fork自身而来
pstree查看:CentOS5:init, CentOS6: initstart, CentOS7: systemd
2) 挂载后,内核会将挂载信息记录在/proc/mounts文件中
3)将两个非根文件系统关联需要一个中间层 或者 为了保证一切文件都属于根,则必须先将一个文件系统关联至根,然后才能将另一个文件系统关联至此文件系统,已经关联至根的文件系统.
1) 卸载一个被非根设备关联的文件系统时,应该先卸载关联的所有设备,才能解除与根的关联关系
2) 卸载时,如果将要被卸载的设备,正在被某个进程访问,是不能解除关联关系.(例如cd进程)
分区,创建、查看、调整文件系统 ,挂载,显示挂载情况,挂载鸡,配置开机自动挂载,卸载
挂载
mount命令
[root@localhost ~]# type mount mount is /bin/mount[root@localhost ~]# man mountmount [OPTIONS...] device_partition MOUNT_POINT##将设备关联至目录,目录作为设备的访问入口DEVICE_PARTITION:1)设备文件, /dev/sda12)全局唯一标示,-U UUID。推荐:UUID:设备文件名改变时,UUID唯一不变3) 卷标, -L LABEL4) 内核支持的伪文件系统,proc,sysfs,devtmpfs,configfs5) 目录,--bind DIR MOUNT_POINT:DIR:建议为空目录,非空目录时,挂载后原目录中的文件暂时会隐藏临时挂载点:mnt,mediaOPTIONS:-t vfstype ## 指明挂载设备的文件系统类型-r readonly, ## 挂载后不能向挂载的分区中写入数据-w read and write,## 挂载后能向挂载的分区中写入数据-a auto, ## 挂载所有定义在fstab文件中且设备挂载选项支持自动挂载的设备-v ,verbose ## 显示挂载过程-n ## 此次挂载不更新/etc/mtab文件。mount命令读取/etc/mtab文件。 挂载时,内核将信息记录于/proc/mounts文件中,然后同步至/etc/mtab文件中--bind ## 将目录绑定至另一个目录,后面的目录作为前面的目录的访问入口 -L LABEL ## 基于LABEL挂载-U UUID ## 基于UUID挂载-o OPTIONS:async ## 异步IOsync ## 同步IOatime ## 记录文件和访问时间noatime ## 不记录文件的访问时间diratime ## 目录的访问时间nodiratime ## 不记录目录的访问时间auto ## 自动挂载,默认。定义在fstab文件中,和此默认属性便能实现mount -anoauto ## 不自动挂载exec/noexec ## 挂载的设备上的文件是否能运行为一个进程dev/nodev ## 新挂载的设备上有设备文件,此设备文件能否作为设备的访问入口suid/nosuid ## 挂载的设备上的文件有suid权限时,能否运行为一个进程remount ## 不卸载的情况下,完成重新挂载。用于不卸载修改挂载特性。ro/rw ## 只读挂载,可写挂载user/nouser ## 是否允许普通用户挂载此已经挂载后的设备,默认普通用户不能挂载设备acl ## 启用系统acl功能CentOS 5,6:默认不启用aclCentOS 7 : 默认启用acldefaultCentOS 默认挂载选项:rw, suid, dev, exec, auto, nouser, async, and relatime.
##将设备关联至目录,目录作为设备的访问入口
1、查看所有分区 [root@localhost ~]# fdisk -l /dev/sd[a-z] 2、修改分区 [root@localhost ~]# fdisk /dev/sdb1) 分区新分区Command (m for help): n2) 分配空间Last cylinder, +cylinders or +size{K,M,G} (1576-2610, default 2610): +100M3)查看分区Command (m for help): p4)保存并退出Command (m for help): w3、查看内核识别的分区表 [root@localhost ~]# cat /proc/partitions [root@localhost ~]# ls /dev/sdb* 4、让内核重读分区表 [root@localhost ~]# partx -a /dev/sdb [root@localhost ~]# partx -a /dev/sdb 5、格式化、创建新的文件系统 [root@localhost ~]# mkfs.ext4 /dev/sdb8块大小=4096 (log=2)131122 blocks (5.00%) reserved for the super userSuperblock backups stored on blocks6、将设备/dev/sdb8关联至/mnt目录 [root@localhost ~]# mount /dev/sda3 /mnt
##查看挂载信息
##内核追踪到的已挂载的所有设备 [root@localhost ~]# cat /proc/mounts##从/proc/mounts文件同步而来的数据 [root@localhost ~]# cat /etc/mtab##显示/etc/mtab中的挂载信息 [root@localhost ~]# mount
+++++++++++++++++++++++++++++++++ 设备 挂载点 文件系统类型 访问权限(rw)实现资源分割与管理 proc --> /proc sysfs --> /sys devpts --> /dev/pts tmpfs --> /dev/shm +++++++++++++++++++++++++++++++++
##挂载验证
##ext系列文件系统挂载后有lost+found目录 [root@localhost ~]# ls /mnt lost+found
##解除关联关系
1、目录 [root@localhost ~]# umount /mnt 2、设备 [root@localhost ~]# umount /dev/sdb8
##卸载时,如果出现device busy时,有进程正在访问此设备
##查看正在访问指定文件系统的进程fuser -v MOUNT_POINTlsof -v MOUNT_POINTbash: bash内建命令在访问##杀死正在访问此文件系统的进程fuser -km MOUNT_POINT (root)
##制造环境 [root@localhost mnt]# cd /mnt##查看进程 [root@localhost mnt]# fuser -v /mnt用户 进程号 权限 命令 /mnt: root 2142 ..c.. bash##终止进程 [root@localhost mnt]# fuser -km /mnt /mnt: 2142cConnection closed by foreign host.Disconnected from remote host(192.168.1.103:22) at 10:46:17.Type `help' to learn how to use Xshell prompt. [c:\~]$
使用选项注释
PARTITIONS:
1、-U UUID
1、获取UUID [root@localhost ~]# blkid /dev/sda3 /dev/sda3: UUID="8e02ad4b-818b-405e-96b1-2f8aedf9136b" TYPE="ext4" 2、以UUID挂载: [root@localhost ~]# mount -U 8e02ad4b-818b-405e-96b1-2f8aedf9136b /mnt3、验证挂载 [root@localhost ~]# ls /mnt lost+found [root@localhost ~]# mount /dev/sda3 on /mnt type ext4 (rw)
2、-L LABEL
1、修改卷标为MYDATA [root@localhost ~]# tune2fs -L 'MYDATA' /dev/sda3 tune2fs 1.41.12 (17-May-2010)2、查看LABEL [root@localhost ~]# blkid /dev/sda3 /dev/sda3: UUID="8e02ad4b-818b-405e-96b1-2f8aedf9136b" TYPE="ext4" LABEL="MYDATA" 3、以LABEL挂载 [root@localhost ~]# mount -L 'MYDATA' /mnt4、验证挂载 [root@localhost ~]# ls /mnt lost+found [root@localhost ~]# mount /dev/sda3 on /mnt type ext4 (rw)
3、伪文件系统挂载
1、查看伪文件系统 [root@localhost ~]# mount proc on /proc type proc (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) sysfs on /sys type sysfs (rw)2、查看伪文件系统生成的文件 [root@localhost ~]# ls /sys block bus class dev devices firmware fs hypervisor kernel module power3、卸载伪文件系统 [root@localhost ~]# umount sysfs [root@localhost ~]# umount /sys4、查看 [root@localhost ~]# umount sysfs [root@localhost ~]# ls /sys [root@localhost ~]# echo $? 05、挂载伪文件系统 [root@localhost ~]# blkid sysfs ##伪文件系统,不是文件系统 [root@localhost ~]# echo $? 2[root@localhost ~]# mount -t sysfs sysfs /sys6、查看 [root@localhost ~]# !ls ls /sys block bus class dev devices firmware fs hypervisor kernel module power
4、目录绑定
##将newdir作为olddir的访问入口 mount --bind olddir newdir1、显示/mnt下的文件 [root@localhost ~]# ls /mnt lost+found2、显示/sys下的文件 [root@localhost ~]# ls /sys block bus class dev devices firmware fs hypervisor kernel module power3、绑定目录 [root@localhost ~]# mount --bind /sys /mnt4、显示Newdir [root@localhost ~]# ls /mnt block bus class dev devices firmware fs hypervisor kernel module power5、查看挂载信息 [root@localhost ~]# mount /sys on /mnt type none (rw,bind)
OPTIONS:
-r 只读挂载
1、测试挂载 [root@localhost ~]# mount /dev/sda3 /mnt [root@localhost ~]# ls /mnt lost+found2、查看挂载信息 [root@localhost ~]# mount /dev/sda3 on /mnt type ext4 (rw) ##访问权限为读写3、卸载后,重新挂载 [root@localhost ~]# umount /mnt [root@localhost ~]# mount -r /dev/sda3 /mnt [root@localhost ~]# mount /dev/sda3 on /mnt type ext4 (ro) ##访问权限为只读
挂载时,内核将信息记录于/proc/mounts文件中,然后同步至/etc/mtab文件中
-n 此次挂载不同步信息
##以上挂载,mount命令均能显示其挂载信息##不同步信息挂载 [root@localhost ~]# mount -n /dev/sda3 /mnt [root@localhost ~]# mount /dev/mapper/myvg-lv_root on / type ext4 (rw) proc on /proc type proc (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/sda1 on /boot type ext4 (rw) /dev/mapper/myvg-lv_home on /home type ext4 (rw) /dev/mapper/myvg-lv_usr on /usr type ext4 (rw) /dev/mapper/myvg-lv_var on /var type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sysfs on /sys type sysfs (rw)##查看内核记录在/proc/mounts文件中的信息。 [root@localhost ~]# cat /proc/mounts | fgrep dev/sda3 /dev/sda3 /mnt ext4 rw,relatime,barrier=1,data=ordered 0 0
-a 挂载所有定义在fstab文件中且设备挂载选项支持自动挂载的设备
1、定义fstab /dev/sdb1 /mydata ext4 defaults,acl 2 32、创建MOUNT_POINT install -d /mydata2、自动挂载 [root@localhost ~]# mount | fgrep /mydata [root@localhost ~]# echo $? 1 [root@localhost ~]# mount -a -v mount: UUID=5009dc18-28f5-4b32-8c7c-0ea1328ea224 already mounted on /boot mount: /dev/mapper/myvg-lv_home already mounted on /home mount: /dev/mapper/myvg-lv_usr already mounted on /usr mount: /dev/mapper/myvg-lv_var already mounted on /var mount: tmpfs already mounted on /dev/shm mount: devpts already mounted on /dev/pts mount: sysfs already mounted on /sys mount: proc already mounted on /proc /dev/sdb1 on /mydata type ext4 (rw,acl)3、查看: [root@localhost ~]# mount | fgrep /mydata /dev/sdb1 on /mydata type ext4 (rw,acl)
-v 挂载信息
[root@localhost mnt]# mount -v -o remount,ro,defaults /mnt /dev/sda3 on /mnt type ext4 (ro) [root@localhost /]# umount /mnt [root@localhost /]# mount -v /dev/sda3 /mnt mount: you didn't specify a filesystem type for /dev/sda3I will try type ext4 /dev/sda3 on /mnt type ext4 (rw)
-o options:
defaults CentOS 默认挂载选项: rw, suid, dev, exec, auto, nouser, async, and relatime.
man mount中查看
[root@localhost ~]# mount -o defaults /dev/sda3 /mnt [root@localhost ~]# mount | fgrep /mnt /dev/sda3 on /mnt type ext4 (rw)********其他默认的属性信息不会显示********
ext4系列的文件系统,默认async,nodiratime
CentOS7,默认acl
sync 同步IO
[root@localhost ~]# mount -o sync /dev/sda3 /mnt [root@localhost ~]# mount | fgrep /mnt /dev/sda3 on /mnt type ext4 (rw,sync)
nosuid 挂载的设备上的文件有suid权限时,不能运行为一个进程
[root@localhost ~]# !umount umount /mnt [root@localhost ~]# mount -o nosuid /dev/sda3 /mnt [root@localhost ~]# mount | fgrep /mnt /dev/sda3 on /mnt type ext4 (rw,nosuid)
remount 重新挂载,不卸载的情况下,完成设备重新挂载,用于修改挂载属性
##方法一 [root@localhost ~]# mount -o remount,ro /dev/sda3 /mnt [root@localhost ~]# mount | fgrep /mnt /dev/sda3 on /mnt type ext4 (ro)##方法二 [root@localhost /]# mount -o remount,diratime,defaults /dev/sda3 [root@localhost /]# mount -o remount,diratime,defaults /mnt
nodev 挂载的文件系统上,有设备文件,不能使用
[root@localhost ~]# umount /mnt [root@localhost ~]# mount -o nosuid,nodev /dev/sda3 /mnt [root@localhost ~]# mount | fgrep /mnt /dev/sda3 on /mnt type ext4 (rw,nosuid,nodev)
noexec 挂载的文件系统上,有程序文件,不能运行为一个进程
[root@localhost ~]# mount -o remount,ro,noexec /dev/sda3 /mnt [root@localhost ~]# mount | fgrep /mnt /dev/sda3 on /mnt type ext4 (ro,noexec)
noauto 挂载的文件系统,不支持通过 fstab文件自动挂载
[root@localhost ~]# mount -o remount,ro,noexec,noauto /dev/sda3 /mnt [root@localhost ~]# mount | fgrep /mnt /dev/sda3 on /mnt type ext4 (ro,noexec)
默认属性,默认只显示rw,修改为Noauto也不会显示
user 挂载的设备能被普通用户挂载
[root@localhost ~]# mount -o remount,ro,noexec,noauto,user /dev/sda3 /mnt [root@localhost ~]# mount | fgrep /mnt /dev/sda3 on /mnt type ext4 (ro,noexec,nosuid,nodev)
当调整为普通用户可挂载时,自动进行,调整为其内部的设备不可用。且用户可挂载此设备属性不会显示
[root@localhost ~]# mount -o remount,ro,noexec,noauto,user,dev /dev/sda3 /mnt [root@localhost ~]# mount | fgrep /mnt /dev/sda3 on /mnt type ext4 (ro,noexec,nosuid)
noatime 挂载的文件系统,不更新文件访问时间戳
atime: 每次访问文件时,更新磁盘中的文件的时间戳。写磁盘产生,IO产生
##测试默认属性
##默认挂载 [root@localhost ~]# mount /dev/sda3 /mnt [root@localhost dir]# blkid /dev/sda3 ##文件系统类型为ext4 /dev/sda3: UUID="8e02ad4b-818b-405e-96b1-2f8aedf9136b" TYPE="ext4" LABEL="MYDATA" ##测试访问 [root@localhost ~]# cd /mnt/dir [root@localhost ~]# touch a [root@localhost dir]# stat a Access: 2017-08-09 05:42:49.662993539 +0800 Modify: 2017-08-09 05:42:49.662993539 +0800 Change: 2017-08-09 05:42:49.766999113 +0800[root@localhost dir]# cat a [root@localhost dir]# date 2017年 08月 09日 星期三 05:44:05 CST#查看访问时间戳 [root@localhost dir]# stat a Access: 2017-08-09 05:44:02.933994163 +0800 ##改变 Modify: 2017-08-09 05:42:49.662993539 +0800 Change: 2017-08-09 05:42:49.766999113 +0800
##关闭atime
#关闭 [root@localhost /]# mount -o defaults,remount,noatime /mnt #查看属性 [root@localhost /]# mount | fgrep /mnt /dev/sda3 on /mnt type ext4 (rw,noatime) #访问文件系统下的文件 [root@localhost /]# cd /mnt/dir访问前 [root@localhost dir]# stat a Access: 2017-08-09 05:44:02.933994163 +0800 Modify: 2017-08-09 05:42:49.662993539 +0800 Change: 2017-08-09 05:42:49.766999113 +0800 [root@localhost dir]# date 2017年 08月 09日 星期三 06:09:22 CST访问 [root@localhost dir]# cat a访问后的时间 [root@localhost dir]# stat a Access: 2017-08-09 05:44:02.933994163 +0800 ##没有变... Modify: 2017-08-09 05:42:49.662993539 +0800
diratime/nodiratime 目录访问时间戳
ext默认不启用目录访问时间戳
##测试默认属性
[root@localhost dir]# cd .. [root@localhost mnt]# stat dir Access: 2017-08-09 05:43:50.596000162 +0800 Modify: 2017-08-09 05:42:49.790996746 +0800 Change: 2017-08-09 05:42:49.790996746 +0800 [root@localhost mnt]# cd dir [root@localhost dir]# cat a [root@localhost dir]# cd .. [root@localhost mnt]# !stat stat dir Access: 2017-08-09 05:43:50.596000162 +0800 ##不变 Modify: 2017-08-09 05:42:49.790996746 +0800 Change: 2017-08-09 05:42:49.790996746 +0800
##启用diratime
[root@localhost mnt]# mount -o remount,diratime,atime /mnt [root@localhost mnt]# stat dirFile: "dir"Size: 4096 Blocks: 8 IO Block: 4096 目录 Device: 803h/2051d Inode: 518145 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-08-09 05:43:50.596000162 +0800 Modify: 2017-08-09 05:42:49.790996746 +0800 Change: 2017-08-09 05:42:49.790996746 +0800 [root@localhost mnt]# cd dir [root@localhost dir]# cd .. [root@localhost mnt]# stat dirFile: "dir"Size: 4096 Blocks: 8 IO Block: 4096 目录 Device: 803h/2051d Inode: 518145 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-08-09 05:43:50.596000162 +0800 Modify: 2017-08-09 05:42:49.790996746 +0800 Change: 2017-08-09 05:42:49.790996746 +0800
mount命令挂载特性总结:
auto和user,无论启用或关闭均不会显示
目录diratime默认不启用。文件atime默认启用
默认为async
写时复制和原地读写
shell程序 (特殊字符的转换,词法/语法分析) ---> 提交给内核 -->内核加载把程序从磁盘加载至内存,分配CPU时针周期,内存资源的分配-->轮到程序在CPU上运行时--> CPU加载指令--> 运行指令 -->指令运行需要数据时,从内存中读取数据
同步IO和异步IO的区别
程序运行完成了,就会将内存中的数据同步至磁盘.同步的方式有"同步IO" "异步IO"
转载于:https://blog.51cto.com/sonlich/1954736
谢烟客---------Linux之文件系统管理挂载相关推荐
- linux下文件系统管理mkfs及挂载Mount(2)
linux下文件系统管理mkfs及挂载Mount(2) 一.概念:一个磁盘出厂时默认设定好MBR主引导记录和未高级格式化的硬盘 用户将磁盘一般分有3个主分区,一个扩展分区,多个逻辑分区 每个分区代表一 ...
- linux mkfs文件系统,linux下文件系统管理mkfs及挂载Mount(2)
linux下文件系统管理mkfs及挂载Mount(2) 一.概念:一个磁盘出厂时默认设定好MBR主引导记录和未高级格式化的硬盘 用户将磁盘一般分有3个主分区,一个扩展分区,多个逻辑分区 每个分区代表一 ...
- 11. Linux高级文件系统管理(1)
目录 11.1 磁盘配额是什么 磁盘配额中的常见概念 11.2 磁盘配额启动前的准备工作 11.3 Linux扫描文件系统并建立磁盘配额记录文件(quotacheck命令) 11.4 Linux开启磁 ...
- 【Linux】文件系统管理
往期内容: Linux常用指令合集 Linux文本编辑器 Linux软件包管理 Linux用户管理 文章目录 回顾分区和文件系统 分区类型 分区表示方法 文件系统常见命令 文件系统查看命令 统计目录或 ...
- linux img文件 分区挂载
首先是将制作的img文件比如hd5.img和loop设备建立联系. losetup /dev/loop0 hd5.img 然后用fdisk分区:fdisk /dev/loop0 mkfs.ext4 / ...
- linux 查看.img文件,linux img文件 分区挂载
首先是将制作的img文件比如hd5.img和loop设备建立联系. losetup /dev/loop0 hd5.img 然后用fdisk分区:fdisk /dev/loop0 mkfs.ext4 / ...
- linux高级文件系统管理——RAID
作为大型企业,很多时候数据量相当庞大,由此以来对磁盘空间的要求比较高,更重要是的对数据的完整性的追求.所以单独的磁盘不仅空间使用满足不了,数据的完整性更是无从谈起,所以也就出现了专业的数据存储技术,而 ...
- Linux高级文件系统管理
如果您的 Linux 服务器有多个用户经常存取数据时,为了维护所有使用者在硬盘容量的公平使用,磁盘配额 (Quota) 就是一项非常有用的工具,另外,如果你的用户常常抱怨磁盘容量不够用,那么更进阶的文 ...
- linux大文件系统管理,Linux 磁盘和文件系统管理
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 1.规划硬盘中的分区 fdisk -l 查看当前系统中所有硬盘设备及分区信息 fdisk /dev/sdb 进入磁盘sd ...
- linux分布式文件存储挂载使用_Linux - tmpfs内存文件系统使用
简介 tmpfs是一种虚拟内存文件系统,而不是块设备.是基于内存的文件系统,创建时不需要使用mkfs等初始化. 由于都是在内存里面,所以重启之后,数据就会都没掉,但是在内存里面就有好处,速度快,因此现 ...
最新文章
- 一些没啥用的大数据组件以及理由(持续更新中)+2020的Gartner曲线
- C++:33---类成员指针
- html css配色方案,链接css不同的配色方案问题
- 为easyui添加多条件验证
- 《Python数据可视化编程实战》—— 1.3 安装virtualenv和virtualenvwrapper
- C++-加载EXCEL数据
- Spring Cloud Config分布式配置中心高可用及配置刷新(学习总结)
- 喷墨打印机一体机清零软件使用图解
- Oracle的学习视频
- Stacer ---- Linux系统优化和监测工具
- 关于QT出现“error: undefined reference to XXXX”问题
- UVM学习笔记(四)sequence与sequencer
- Arp中间人攻击原理
- 宾果消消乐和宾果消消消_《宾果消消消》攻略之关卡障碍介绍
- 前端报表导出成word文档(含echarts图表)
- 解决如何打开端口的问题
- $.each()和$().each
- IEEE-754标准与浮点数运算
- finalize()用法
- android 广播震动,android 震动和提示音的实现代码
热门文章
- 贤内助——ICMP协议
- STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
- guided filter(导向滤波)导读
- Hadoop-day07(MapReduce三个小案例)
- 粒子编辑器Particle designer属性的介绍
- “初中三年,死磕这一点,英语次次110分以上!”教了一辈子英语的老教师如是说...
- 温度传感器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 学习经历感悟——基础 > 语言
- sFTP 上传或下载文件与文件夹
- python 制作工资条