2014-11-24:
今天开始新的项目,安装centos7,整理一下磁盘相关的命令,之前一直没有求甚解。整理以备后忘。
磁盘分区,文件系统相关的命令。如df,fdisk,mount,umount等。
2:df命令 :
检查文件系统的磁盘空间占用情况
说明:df命令可显示所有文件系统对I节点和磁盘块的使用情况。
- df -a # 显示所有文件系统的情况,包括dummy file systems (dummy)n.傀儡;哑巴;仿制品adj. 虚拟的;假的
- df -B SIZE # 使用SIZE-byte块,默认为1-k块
- df --total # 显示总和
- df -h # 按MB或GB的方式显示
- df -H # 使用1000而不是1024的换算方式
- df -i # 显示inode信息
- df -l # 仅显示本地文件系统
-
- df -t TYPE # 仅显示TYPE类型的文件系统
- df -T # 显示文件系统类型
- df -x TYPE # 显示非TYPE类型的文件系统
-
- TYPE:
- 'nfs' -- NFS file system
- 'ufs,efs,ext..'
- 'hsfs, cdfs' -- file system on CD-ROM drive
- 'pcfs' -- MS-DOS file system
- 'fuseblk' -- NTFS
- SIZE:
- 'KB' -- 1000
- 'K' -- 1024
- 'MB' -- 1000 * 1000
- 'M' -- 1024 * 1024
- 'G, T, P, E, Z, Y
3:fdisk命令
- fdisk -l # 显示系统所有的分区或给定的分区
- fdisk -u # 显示时,显示的是扇区数不是柱面数
- fdisk -s partition # 显示指定partition的block数
关于fdisk进行磁盘分区的命令,这里并不记录。下面只讲fdisk -l命令的显示结果的意思。
下面是在我的电脑上执行"sudo fdisk -l"命令后的输出。
- Disk /dev/sda: 250.1 GB, 250059350016 bytes
- 255 heads, 63 sectors/track, 30401 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: 0xd274d274
-
- Device Boot Start End Blocks Id System
- /dev/sda1 * 1 3201 25712001 7 HPFS/NTFS
- /dev/sda2 3202 27596 195952807 f W95 Ext'd (LBA)
- /dev/sda3 27597 30146 20482875 83 Linux
- /dev/sda4 30147 30401 2048287+ 82 Linux swap / Solaris
- /dev/sda5 3202 13199 80308903+ 7 HPFS/NTFS
- /dev/sda6 13200 27596 115643871 7 HPFS/NTFS
-
- Disk /dev/sdb: 500.1 GB, 500107861504 bytes
- 255 heads, 63 sectors/track, 60801 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: 0xa4b57300
-
- Device Boot Start End Blocks Id System
- /dev/sdb1 1 13054 104856223+ 7 HPFS/NTFS
- /dev/sdb2 13055 60801 383527777+ f W95 Ext'd (LBA)
- /dev/sdb5 13055 60801 383527746 7 HPFS/NTFS
先看最上面的信息
- Disk /dev/sda: 250.1 GB, 250059350016 bytes 硬盘:/dev/sda
- 255 heads, 63 sectors/track, 30401 cylinders 该硬盘有255个磁面,每磁道63个扇区,共30401个柱面
- Units = cylinders of 16065 * 512 = 8225280 bytes 这是计算每个柱面的大小
- Sector size (logical/physical): 512 bytes / 512 bytes
注意,硬盘的大小 = 柱面数 * 每个柱面的大小 = 柱面数 * 磁面数 * 每磁道的扇区数 * 扇区的大小。
因此我这个sda硬盘的大小 = 30401 * 255 * 63 * 512bytes = 250056737280 bytes
从输出信息来看,我这有两块硬盘:/dev/sda和/dev/sdb
下面来看每块硬盘的具体输出信息:
- Device Boot Start End Blocks Id System
- /dev/sda1 * 1 3201 25712001 7 HPFS/NTFS
- /dev/sda2 3202 27596 195952807 f W95 Ext'd (LBA)
- /dev/sda3 27597 30146 20482875 83 Linux
- /dev/sda4 30147 30401 2048287+ 82 Linux swap / Solaris
- /dev/sda5 3202 13199 80308903+ 7 HPFS/NTFS
- /dev/sda6 13200 27596 115643871 7 HPFS/NTFS
第一列Device表示分区的名称,这里有6个分区。第二列Boot表示在分区是否为启动分区,是则标上*号。
第三列和第四列,start和end标识每个分区的起始柱面号和结尾柱面号。
如分区/dev/sda1,占用的柱面为1 ~ 3201个。其Blocks数 = 3201 * 8225280 / 1024 = 25712032,(有点误差,原因暂时不详,抱歉)
第六列的Id表示文件系统的Id号。
第七列为该分区的文件系统。如sda1为NTFS的。
注意sda2的分区类型为W95 Ext'd (LBA),这说明该分区为扩展分区。
一块硬盘只能有四个主分区,扩展分区也是主分区,不过扩展分区可以继续分为多个逻辑分区。
这里可以看到四个主分区为:sda1,sda2,sda3,sda4。其中sda2为扩展分区。主分区的号码必须为1,2,3,4.
sda5和sda6为逻辑分区。可以从它们的start和end值看出来。
sda2 : start : 3202 end:27596
sda5 : start : 3202 end:13199
sda6 : start : 13200 end:27596
下面看sdb硬盘的分区。
从上面的信息可以看到, sdb有两个主分区,sdb1和sdb2.其中sdb2为扩展分区。sdb5为sdb2中的逻辑分区。
这里就没有sdb3和sdb4了,因为只有两个主分区。
3:mount命令
- mount
- mount <-o opt> <-t opt> device dir
- mount -a # 加载/etc/fstab中指定的所有设备
- mount -f # 模拟加载操作,但不实际加载它
- mount -L <Label> # 加载卷标为Label的文件系统
- mount -o auto # 在/etc/fstab中指定该选项,则自动加载
- defaults # 默认选项,包括:rw, suid, dev, exec, auto等
- dev/nodev # 字符或块设备
- exec/noexec # 执行二进制文件
- ro # 以只读模式加载
- rw # 以可读写模式加载
- user # 让一般用户可以加载
- loop # 可以加载文件
- mount -t filesystem # 指定文件系统类型。
- filesystem: ext3, vfat, ntfs, iso9660, auto
利用mount命令,我们可以将在fdisk显示的磁盘挂载在某个目录下。
/etc/fstab中指定自动挂载的设备。/etc/mtab中显示当前已挂载的设备
4:mkfs
mkfs用来对某个磁盘分区建立文件系统。
如mkfs -t ext3 /dev/sda1 表示对sda1分区建立ext3文件系统。其他文件系统类型可以用man mkfs查看。
也可以用mkfs来对一个文件建立文件系统,如下命令。
- $ dd if=/dev/zero of=tmp.disk bs=1024k count=10 # 建立一个10M的文件tmp.disk
- $ mkfs -t ext3 tmp.disk # 将该文件格式化为ext3文件系统
- $ sudo mount -o loop tmp.disk /mnt/ # 将该文件系统挂载到mnt目录下。
挂载后,就可以把这个10M的文件当作一个磁盘来用了。不过只有10M,可以建立更大的。
sshd
注意!这里的Centos版本是7
step1 修改/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#Port 22 //这行去掉#号
Port 20000 //下面添加这一行
step2 修改SELinux
使用以下命令查看当前SElinux 允许的ssh端口:
semanage port -l | grep ssh
添加20000端口到 SELinux
semanage port -a -t ssh_port_t -p tcp 20000
然后确认一下是否添加进去
semanage port -l | grep ssh
如果成功会输出
ssh_port_t tcp 20000, 22
step3 重启ssh
systemctl restart sshd.service
ref: 关于fdisk命令主要参考:
http://www.linuxsir.org/main/?q=node/81
(很不错的文章,写的比我这清楚和详细)
http://blog.chinaunix.net/uid-24631445-id-2998943.html