设备定位的方法有:
设备名称, 如:/dev/sda1, 随着linux内核加载模块顺序在每次启动的时候可能会不同, 在插拔U盘/移动硬盘的时候, 设备分配到的名称可能不同,这样fs映射就会失败
因此使用uuid是比较好的方法:
uuid:
-- 使用命令: ls -a --color=never /dev/disk/by-uuid :
/dev/disk/下面有多种方式查看设备:by-id, by-label, by-path, by-uuid. 它们其实都是些软链接文件, 所以要用ll, ls -a.
-- lsblk : lsblock: 查看块设备的树形图
-- blkid :这个就是真的查看block设备的id了
-- 对于U盘, 既可以用uuid来标识定位设备, 也可以用label..
fuser? 命令
fuser=file/filesystem/sockets is used by which user?
fuser的使用场景: 一般是在umount某个挂载点时,出现:resource busy的情况的时候
fuser -k -m -u : -k 杀死所有使用这个file/filesystem的进程, -m指明这个路径是一个mount挂载点, -u给出正在使用的用户名称信息
改变文件系统的大小 != 改变分区的大小
改变文件系统的大小: resize2fs -f -p /dev/sda5 6G , 而改变分区的大小要用 fdisk ... (fdisk可以删除一个分区, 新建一个分区, 改变分区的大小)
但是有些比较老的内核可能不支持on-line在线shrink/expand分区的大小, 需要把分区先卸载.
这时就要用fusr -k... 命令.
在改变分区之前, 可能要求先对文件系统做一个check: e2fsck -f /dev/sda2
e2fsck: 对文件系统进行检查, -f: 强制检查, -p: 自动修复..
注意: 即使对/sda 做了VolGroup的分区, 也可以对卷组中的分区进行操作, 如:
resize2fs -p /dev/mapper/VolGroup_lv-root , lv-swap , lv-home.
通常, 如果采用默认的linux安装分区时, 它划分成两个分区, 一个是/dev/sda1 ->boot 引导分区, 一个是/dev/sda2: 是一个扩展分区. 这个分区被VolGroup分成三个"disk" 块设备.
/dev/mapper/VolGroup-lv_root --> dm0
/dev/mapper/VolGroup-lv_swap --> dm1
/dev/mapper/VolGroup-lv_home --> dm2
--------------- 一般: 一个磁柱的大小是: 8228258 bytes, 所以150~160GB的硬盘的磁柱总数大约是: 2w万个, 所以 500GB的硬盘大约是6万个
字符设备: 只能一个字符一个字符(一个字节)按先后次序的读取的设备, 如键盘/鼠标/串口等
块设备: 可以任意的在设备上读取大块内容的设备, 如硬盘, U盘 .
linux通过设备文件, 加载设备驱动来使用设备...
--------------- --------------------------
要注意区别"文件系统"和设备: 文件系统是抽象的, 如: /etc,... 设备才是具体的介质. 而设备要
挂载到文件系统, 我们才能读写.
linux既可以管理设备(硬件介质), 也可以管理 文件系统...
"分区" 是属于"设备" 硬件的概念! 创建/删除/调整分区是对硬盘进行管理.
e2label /dev/sda7 "/new" 注意卷标的格式是: /label...
fstab中:
label=/new /new ext4 defaults 0 0
---------------------------------------------------------
fstab中如何自动挂载iso文件?
1. 如果光盘被自动挂接, 在访问/mnt/cdrom1, cdrom2的时候, 会看到文件夹上面的锁形
图标, 表示光盘被挂接为ro
2. 指定iso的位置时, 可以使用 设备名 + label +uuid, 一般是用第一种和第三种, 第二种好像不好使, 这里iso指定时, 直接用设备名: 即路径即可:
vi /etc/fstab....
......
/root/Downloads/CentOS-6.3-i386-bin-DVD1.iso /mnt/cd1 iso9660 defaults,ro,loop 0 0
/root/Downloads/CentOS-6.3-i386-bin-DVD2.iso /mnt/cd2 iso9660 defaults,ro,loop 0 0
----------------------------------------------
mount -a : mount all stuff from /etc/fstab : 加载所有的stuff块/内容/项目/东东 从 /etc/fstab
df -t -T -h: -h: human, -t : type : 只显示指定类型的磁盘使用情况... 如: df -t iso9660就只会显示光盘的使用情况 -T: print filesystem type. === --print-type: 打印
出文件系统的类型
diff:
比较两个文本文件的逐行不同, 也可以比较目录: 列出二进制文件, 和只有一边有的文件, 比较两边都有的文件
diff 选项: -y = --side-by-side: 并排显示, -W(注意是大写的W) 50指定宽度. -c: 指定文件信息:
< 表示第一个文件的才有的行, > ... ----- 表示共同的行. c: changed, | 或! 页表示changed ,
可以用diffstat来统计两个文件的比较结果, 其中: +++ 表示增加, -- 表示删除: deletion.
mkisofs:
光盘格式基本的是iso9660, 但是有些规定的限制, 所以,不同操作系统商对它进行了一些扩展:
ms支持的扩展是: Joliet: [主力特] , unix/linux的扩展是 unix Rock Ridge. 前者使用选项: -J , 后者使用选项: -r.如果不用-r || -J 可能会使扩展名全部为大写的CON
要所DOS/WIN下的光盘,用Joliet格式(-J)
mkisofs ==是 genisoimage 的alternatives命令?
mkisofs -o: 镜像文件的名字, 必须的, -v显示详细信息, -b: 指定镜像文件, -e: efi-boot指定镜像文件, ...