程序员必知必会----linux常用命令之九【文件系统管理】
一.文件系统构成
/usr/bin 、/bin:存放所有用户都可以执行的命令
/usr/sbin 、/sbin:存放只有root用户可以执行的命令
/home:用户缺省宿主目录
/proc:虚拟文件目录,存放当前进程信息
/dev:设备文件
/lib:系统运行所需的共享库
/lost+found:存放系统出错的检查结果
/tmp:临时文件
/etc:系统配置文件
/var:经常变动的文件,如邮件,日志,计划任务
/usr:库,手册,第三方程序一般安装在/usr/local下
/boot:内核文件
/mnt:临时挂载点
二.常用命令
1.查看硬盘分区情况及其挂载点
df -h:显示硬盘大小,自动使用最大的单位
df -Th:同时显示分区类型
df -m:单位M
2.查看文件、目录大小
du -h file
du -sh dir
3.判断文件类型
file file/dir
4.查看文件、目录详细时间参数
stat file/dir:列出访问时间,最后修改时间,等等
5.文件校验
md5sum file
sha256sum file
sha512sum file
6.挂载与卸载光驱
挂载:mount /dev/cdrom /mnt/cdrom
卸载:umount /mnt/cdrom
弹出:eject
7.查看内存使用情况
free -m:单位M
-g:单位G
8.挂载U盘和移动硬盘
mount -t ntfs -o iocharset=cp936,rw /dev/sdb1 /mnt/usb :只能只读,不能写。
cd ntfs-3g_ntfsprogs-2013.1.13
./configure
make
make install
三.文件类型
-:二进制文件
d:目录
l:软连接
b:块设备 block,如硬盘,光驱等等
c:字符设备 charset,如打印机等
四.添加新的硬盘
1.在机器上安装新的硬盘后重启系统
2.dmesg | grep sdb:查看是否有关于第二块硬盘的信息
3.ls /dev | grep sdb:查看系统是否识别出第二块硬盘
fdisk -l :查看硬盘是否能够识别(sdb)
4.分区
linux分区分另种类型:MBR分区(一个分区必须小于2.2T,且最多3个主分区),GPT分区(分区大小没有限制,主分区个数也没有限制)
MBR分区:
fdisk /dev/sdb 回车
m:帮助
p:显示分区表
n:添加新分区
e:扩展分区
p:主分区
n 回车 :新分区,假设分两个区
p 回车 :添加主分区
1 回车 回车 :添加第一个主分区
+10240M 回车 :设置10G
n 回车 :新分区
p 回车
2 回车 回车 回车:添加第二个主分区,并将剩余空间都分配
w:保存退出
q :不保存退出
d :删除分区
fdisk -l /dev/sdb :查看分区信息
GPT分区:
5.格式化
mkfs 或者 mkfs.ext4(最新)
mkfs.ext4 /dev/sdb1 :格式化第一个分区
mkfs.ext4 /dev/sdb2 :格式化第二个分区
6.挂载分区
mkdir /dir1 /dir2
mount /dev/sdb1 /dir1
mount /dev/sdb2 /dir2
重启系统就失效了
7.系统启动时自动加载
vi /etc/fstab
格式:
物理分区名/卷标 挂载点 文件系统 缺省设置 是否检测(0否,1是) 检测顺序(0否,1优先,2后)
/dev/sdb1 /dir1 ext4 defaults 1 2
/dev/sdb2 /dir2 ext4 defaults 1 2
注:测试是否修改正确,以免影响下一次系统启动
mount -a
五.硬盘对拷备份
dd if=/dev/sda of=/dev/sdb:sda===>sdb
六.伪设备
1./dev/zero:不断的写0
例子:
创建固定大小文件:64M
dd if=/dev/zero of=file bs=1024 count=65536
bs=>block size,默认单位byte
count=>个数
linux下可以这样:
dd if=/dev/zero of=file bs=1024k count=64
2./dev/null:黑洞,丢进去内容都会不见
cat file > /dev/null
七.swap扩容
[root@centos6_source ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 37G 15G 20G 43% / tmpfs 935M 0 935M 0% /dev/shm /dev/xvda1 485M 33M 427M 8% /boot
[root@centos6_source ~]# fdisk -l Disk /dev/xvdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 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: 0x00000000 …………………………
挂载硬盘
[root@centos6_source ~]# fdisk /dev/xvdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x83f5d9fd. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1305, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): Using default value 1305 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
扩容处理
[root@centos6_source ~]# pvcreate /dev/xvdb1 Physical volume "/dev/xvdb1" successfully created [root@centos6_source ~]# vgextend /dev/mapper/VolGroup /dev/xvdb1 Volume group "VolGroup" successfully extended [root@centos6_source ~]# lvextend -L +10G /dev/mapper/VolGroup-lv_root Extending logical volume lv_root to 46.71 GiB Logical volume lv_root successfully resized [root@centos6_source ~]# resize2fs /dev/mapper/VolGroup-lv_root resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required old desc_blocks = 3, new_desc_blocks = 3 Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 12244992 (4k) blocks. The filesystem on /dev/mapper/VolGroup-lv_root is now 12244992 blocks long.
查看结果
[root@centos6_source ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 46G 15G 30G 34% / tmpfs 935M 0 935M 0% /dev/shm /dev/xvda1 485M 33M 427M 8% /boot