學習筆記(11)
1. 對比記憶
mount /dev/sr0 /mnt/cdrom /mnt/cdrom為掛載點
ln -s ../data/f2 /root/f2_link2 /root/f2_link2 為鏈接文件
2.分區以往按柱面劃分,單個柱面大約8M
[root@centos6 ~]# fdisk -l
Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008cf29
Device Boot Start End Blocks Id System
/dev/sda1 * 1 128 1024000 83 Linux
Partition 1 does not end on cylinder boundary. #由此可見,Centos6的以柱面來劃分分區的,單個柱面大小約8M
/dev/sda2 128 6502 51200000 83 Linux
/dev/sda3 6502 7777 10240000 83 Linux
/dev/sda4 7777 13055 42392576 5 Extended
/dev/sda5 7777 8032 2048000 82 Linux swap / Solaris
3.最多4個主分區,可以有1個表擴展分區,註意擴展分區的大小。
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 2G 0 part
├─sdb2 8:18 0 2G 0 part
├─sdb3 8:19 0 3G 0 part
├─sdb4 8:20 0 1K 0 part
└─sdb5 8:21 0 2G 0 part
4.echo -e 'n\np\n\n\n+2G\nw\n' | fdisk /dev/sda
fdisk /dev/sdc <<EOF
5.dumpe2fs /dev/sda2 centos6中查看塊(存放文件的最小單元)組,包括文件系統的信息, 每個組中都有超級塊的備份
6.tune2fs -l /dev/sda1 查看文件系統信息
tune2fs -l /dev/sda1 (dumpe2fs -h/dev/sda2)
使用dumpe2fs /dev/sda1 會比tune2fs -l /dev/sda1 多出來塊組的信息
7.linux文件系統支持的塊大小 1k 2k 4 k
8.mkfs.ext4 /dev/sdb2 -b 1024 指定塊大小
9.預留空間留給root使用 mkfs.ext4 /dev/sdb2 -b 1024 -m 0.1 0.1倍的block count,可以設置預留空間大小 -m選項
10.一個inode <--> 一個file --> 可能占用多個block塊,一個大文件可能占用多個block塊, inode與file 是一對一關系
11.tune2fs -O has_journal /dev/sda2 可以為ext2 增加日誌功能,增加後變成ext3文件系統
tune2fs -O ^has_journal /dev/sda2 禁用後變回ext2文件系統
tune2fs -l 查看,修改 文件系統 -j (journal) 增加日誌功能,增加後變成ext3文件系統
12.mkfs.ext4 使用卷標 使用-L 設為掛載點目錄相同方便管理
13.blkid -U `grep ....| sed`
blkid -U `grep | cut ...`
14.e2label 修改或顯示卷標
15.findfs LABEL=/dev/sdb 通過卷標查找設備名
16.設備名(分區名) label名 UUID名都可以標識一個設備,但是用UUID標識設備較為穩妥,因為設備名有可能會隨著設備的增加刪除而發生改變
17.fsck 修復時要先umount
18.tune2fs -l /dev/sda1 可以查看磁盤文件系統是否故障,如: Filesystem state: clean 文件系統無故障
Filesystem state: not clean, 文件系統有故障 每個塊組中會有超級塊備份,但不是所有的塊組都有超級塊備份
dd if=/dev/zero of=dev/sdb1 bs=20M count=1 模擬故障20M,再通過 tune2fs -l /dev/sdb1 來查看Filesystem state 狀態
19.e2fsck -f 強制檢測磁盤,沒有-f初步檢測,檢測有可能會不完全,使用-f 選項會全盤檢測,速度慢,檢測之前要先umount
20.fsck 自動調用相關工具,可以檢測xfs文件系統,fsck提示信息可以查看到通過那個具體命令來實現的檢測
21.xfs不兼容ext文件系統
22.掛載後才可以訪問文件,掛載的文件夾就是訪問文件的入口
23.1個掛載點(文件夾)只能掛一個分區,掛載點要使用空文件夾,一個設備可以掛載多個文件夾
24.數據存放在掛載的分區上,但文件夾是存放在屬於它分區上
25.cat /etc/mtab 隨著掛載自動更新 掛載表
26.mount LABEL=/data/sdb2 /data/sdb2
27.mount UUID="e0b2b1fd-38dd-48b4-8e52-9642bb1364b6" /data/sdb2, blkid可以查看UUID,可以使用uuidgen 來生成uuid
28.blkid 查看是否有文件系統
29.mount -r /dev/sdb1 /data/sdb1 只讀方式掛載 默認是讀寫掛載
30.cat /proc/mounts 只能看該文件才可以看見隱藏的掛載也可以看見 mount -n ...(centos6中隱藏看不見 ) 鏈接指向不同
31.掛載目錄 使用-B (--bind) 選項
32.37次掛載觸發檢查fsck
33.tune2fs -C(-c) 次數
34.tune2fs -o acl /dev/sdb1 增加acl功能,重新掛載後生效 去掉使用^
mount -o acl /dev/sdb1 /data/sdb1
mount -o noacl,remount /dev/sdb1 ... 修改掛載選項,在不能使用umount情形下使用
35.mount -o remount,ro /data/sdb1
36.fuser -v /data/sdb1 查看掛載目錄(/data/sdb1不是/dev/sdb1)的使用進程(lsof /data/sdb1)
fuser -km /data/sdb1 強制踢出用戶卸載 (慎用)
37.findmnt /data/sdb1 查看文件夾是否處於掛載狀態 (目錄掛載目錄時可以查看是否被掛載)
findmnt mount_point|device 查看掛載情況
[root@centos7 ~]#findmnt /data/sdb1
TARGET SOURCE FSTYPE OPTIONS
/data/sdb1 /dev/sdb1 ext4 rw,relatime,data=ordered #可以查看到掛載選項,還可以查看到文件系統類型
[root@centos7 ~]#findmnt /dev/sdb1
TARGET SOURCE FSTYPE OPTIONS
/data/sdb1 /dev/sdb1 ext4 rw,relatime,data=ordered
find /home 查看home是否為掛載目錄
[root@centos7 ~]#findmnt /home
[root@centos7 ~]#findmnt /bin
[root@centos7 ~]#findmnt /
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda2 xfs rw,relatime,attr2,inode64,noquota
38.寫數據的時候先放入buffer緩沖區,在系統不繁忙時在寫入磁盤(異步:默認)
同步會直接寫入磁盤,效率不高,文件有磁盤寫入內存時,是先將數據寫到內存的cache中,而內存中的數據要寫入磁盤中時,是先將數據寫到buffer中,所以在一個磁盤向另外一塊磁盤寫數據的時候 是磁盤1 --> 緩存cache中 --> 緩存buffer中 --> 寫到另外一塊磁盤
39.noatime 讀文件是否更新時間,可以提高性能 mount -o 選項
40.mount選項noexece 不讓執行可執行文件,可以使用bash *.sh 來執行
mount -o remount,noexec ...
41.mknod zero c 1 5 不是-c
dd 可傳入數據,可使用設備文件
mount -o remount, nodev
dd 不可傳入數據,不可使用設備文件
42.所有的文件屬性都是由所在的掛載點的中屬性中
43.vim擁有root權限可以修改所有文件,因為擁有suid權限,使用mount -o nosuid 來禁用
44.mount -o loop 將文件掛載目錄上,文件模擬分區使用
dd if=/dev/zero of=/root/p1 bs=1M count=100
mkfs.ext4 p1
使用blkid p1 可以查看到文件系統,blkid查看不到
mount -o loop /root/p1 /mnt
mount 可以不加loop選項 直接掛載文件
45.losetup -a 可以查看掛載後的/dev/loop0 與文件名的映射關系(centos6 mount中可查看)
46.ls /dev/loop* 最多8個loop設備,可以自己創建多個 mknod /dev/loop8 b 7 8(centos6,centos7 中loop設備無限制)
47.losetup /dev/loop8 p2 p2文件與loop8 建立關系
48.mount /dev/loop8 ..
49.kernel 行 添加 max_loop=100 /boot/grub/grub.conf配置文件,重啟後loop設備數修改
50.分區可掛載 文件夾可掛載 -B(--bind) 文件掛載(-o loop)
51.訪問文件需要通過文件夾,所以通過文件夾掛載
52.命令掛載是臨時掛載,永久掛載修改配置文件(/etc/fstab)
tune2fs -o acl /dev/sdb1 是修改的源數據 ,磁盤上
53.設備名 卷標名 UUID名(最好)均可(/etc/fstab)
UUID 掛載點 文件系統 defaults(ro,nouser) 1(備份時間,1表示一天備份一次,需要結合備份工具使用,不常用,0表示不備份.) 1 檢查文件系統完整性順序1表示為最先檢查,0表示不檢查
54.mount -a 重新掛載/etc/fstab ,有auto選項的可以mount -a 來重讀 default有auto選項
55./etc/fstab文件重要,可考慮備份
56.MBR分區時,單個最大分區是2T,因為使用32位表示扇區數(2**32=4G,刪除的字節數為512B 4G*512G=2048/1024=2T),分區不超過2T,0磁道0扇區的512字節有特殊用途
446字節存儲bootloader,64字節存儲分區表 2字節存儲是否已經劃分分區(55AA)
57.vim /etc/grub.conf(/boot/grub/grub.conf的鏈接文件)
kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=UUID=b6032312-9cab-4be8-845b-b4a266d3d7c8 rd_NO_LUKS rd_NO_LVM.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet max_loop=20
58. 自己記憶的是鏈接文件: /etc/grub.conf 和 /etc/sysconfig/selinux
[root@centos6 dev]# ll /etc/grub.conf
lrwxrwxrwx. 1 root root 22 Mar 27 17:35 /etc/grub.conf -> ../boot/grub/grub.conf
[root@centos6 dev]# vi /boot/gull^C
[root@centos6 dev]# ll /etc/sysconfig/selinux
lrwxrwxrwx. 1 root root 17 Mar 27 17:23 /etc/sysconfig/selinux -> ../selinux/config
59.修改fstab文件不能直接使用mount -a 需要先umount
可以直接mount -o remount /data/sdb2 直接生效修改條目
60.tune2fs -U `uuidgen` /dev/sdb2 修改UUID
61.mount -o rw,remount / 修復狀態時無法寫時執行,UUID如果錯誤(掛載點刪除後不影響系統啟動) 校驗為為0時系統可以啟動但有報錯
非0時則會報錯,系統將無法啟動,輸入root密碼後 是以只讀方式。 所以盡量使用0(最後一位)
62.dd if=dev/zero of=/dev/sdb bs=1 count=512 可以清空分區
partx -d --nr 1-2 /dev/sdb
63.init 1 單用戶,可以防止備份時有人修改數據
64.home 家目錄遷移
1. 備份 /home
2. fdisk 分區
3. mkfs.ext4 -L /home /dev/sdc1 -L 指定卷標
4. mkdir /mnt/home; mount /dev/sdb1 /mnt/home
5. init 1 單用戶(網斷)
6. cp -av /home/* /mnt/home
7. rm -rf /home/*
8. vim /etc/fstab
UUID=xxx /home ext4 defaults 0 0
mount -a
ls /home /mnt/home -l
9. rm -rf /mnt/home umount /mnt/home;
10. init 5
65.文件掛載時永久生效 /etc/fstab中必須使用設備名,不能使用UUID /root/p1 /mnt/p1 ext4 loop 0 0
66.光盤掛載 /dev/sr0 /mnt/cdrom iso9660 defaults 0 0
67.文件夾掛文件夾 /boot /mnt/boot none bind 0 0
68.free -m 命令 內存向磁盤寫使用buffer,磁盤相內存寫使用cache,buffer和cache是內存中分出的兩片區域
內存used 包含buffer cache空間
-/+ used - buffer cache | free + cache buffer
69.有時buffer 和cache中的數據是一樣的,buffer cache 是內存中分配的
70 dd if=dev/zero of=/dev/null bs=2048M count=1 超過1g swap 出現使用
71.增加swap分區,放在最外面0磁道 訪問速度塊
分區選id 為82 分區時指定
mkswap /dev/sdb1 -L swap_sdb1 創建文件系統
r!blkid /dev/sdb1 直接讀取命令輸出至vim /etc/fstab
swapon -a 重新讀取swap 不能使用mount 來讀取swap
swapon -s (讀取的就是cat /proc/swaps)查看swap信息 -1 -2 分區值越大 -1 優先級高, 優先級越高
defaults,pri=100 修改優先級
swapoff /dev/sdb1
swapon -a 生效優先級
72.刪除分區可以使用fdisk 也可以使用dd毀壞分區表512字節 dd命令
73.創建swap分區
1.fdisk /dev/sdb1 t 82
dd if=/dev/zero of=/swapfile bs=1M count=2048
2.mkswap /dev/sdb1 -L swap_sdb1
3.vim /etc/fstab
UUID=xxx swap swap defaults,pri=100 0 0
4.swapon -a
5.swapon -s 查看swap分區信息
[root@centos7 ~]#swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 2047996 1748 -1
6.swapoff /dev/sdb1 禁用 swap
74./dev/cdrom --> sr0 mount /dev/cdrom 通用 ll /dev/cdrom 鏈接
75.eject 彈出光盤,可定位出故障服務器
76.cp /devsr0 /data/centos.iso 制作鏡像iso文件,可用來引導系統
77.mount /data/centos7.iso /mnt/iso
78.dd if=/dev/sr0 of=/data/**.iso
79.mkisofs -r -o etc.iso /etc/
file etc.iso
centos7 不用-o loop centos6 需要使用 -o loop
80.制作iso合集
創建文件夾,將素有鏡像文件拷貝進去
使用mkisofs 該合集不能作為引導系統
81.wiki.centos.org ,搜索mkdvdiso,腳本制作引導合集iso
82.tail /var/log/messages -f U盤識別後有信息
83.拷貝數據至u盤的時候 需要sync一下,否則數據在buffer中未傳輸進去
sync執行3次,防止執行一次不成功
84.文件最小的分配單元是塊
85.dd if=f1 of=f2 會覆蓋否目標文件 bs=1 count=3 skip?
86.dd if=/dev/zero of=/dev/sda bs=1 count=64 skip=446 seek=446
87./dev/urandom 隨機設備 /dev/mem 內存設備 /dev/cdrom 光盤設備
88. raid0 分隔單位 chunk 256 條帶集
raid5 最少3塊 1位校驗
raid6 最少4塊 兩位校驗
89.硬raid只能看見一塊硬盤,軟raid是mdN
90.dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446 只填充分區表的46字節
學習筆記(11)