Linux:磁盘管理

1,挂载光盘到新建目录

sudo mkdir /mnt/cdrom ##新建文件夹
sudo mount /dev/cdrom /mnt/cdrom/ ##将光盘挂载到新建的文件夹; mount命令:将分区挂接到linux的一个文件夹下
cd /mnt/cdrom ##打开挂载光盘的文件夹
ls ##查看光盘内容
cd / ##卸载光盘前,需要从挂载光盘的文件夹退出
sudo umount /dev/cdrom ##卸载光盘

2,Linux中,每个设备都会被表示为文件,这些设备文件都放在/dev目录下,可以通过如下方式查看系统设备:

cd /dev/
ls

这些设备文件大部分是 块设备文件 和 字符设备文件,块设备文件 如:磁盘,字符设备文件 如:打印机。
硬盘在linux中遵循一定的命名规则,用户不能直接通过设备文件来访问存储设备,所有存储设备在使用前必须首先被挂载到一个目录下,然后就可以像操作目录一样使用这个存储设备了。具体使用方法如下实例:

sudo mkdir /mnt/vista ##新建一个目录
sudo mount /dev/sda3 /mnt/vista/ ##将sda3分区 挂载到 新建目录上
#sudo mount -r /dev/sda3 /mnt/vista/ ## mount的选项 -r:以 只读形式挂载分区
#sudo mount -w /dev/sda3 /mnt/vista/ ##mount的选项 -w:以 可读写的形式挂载分区
cd /mnt/vista/ ##打开新建目录 等同于 打开硬盘分区sda3
ls ##浏览sda3内的内容
touch new_file ##在分区sda3中新建一个文件

3,linux通过配置文件/etc/fstab 来确定 系统在开机时 以何种方式 挂载硬盘;以及 有哪些分区是需要挂载的;
4,在卸载文件系统之前,按下光驱面板上的出仓按钮,系统不会弹出光盘,要想弹出光盘,必须先卸载文件系统。
前文讲过,存储设备必须挂载到一个目录才能被使用,那么 在卸载该存储设备时,我们首先要从 挂载目录 退出,然后才能进行卸载文件系统的操作,否则,无法正常卸载文件系统。

sudo mkdir /mnt/vista ##新建一个目录
sudo mount /dev/sda3 /mnt/vista/ ##将sda3分区 挂载到 新建目录上
#sudo mount -r /dev/sda3 /mnt/vista/ ## mount的选项 -r:以 只读形式挂载分区
#sudo mount -w /dev/sda3 /mnt/vista/ ##mount的选项 -w:以 可读写的形式挂载分区
cd /mnt/vista/ ##打开新建目录 等同于 打开硬盘分区sda3
ls ##浏览sda3内的内容
touch new_file ##在分区sda3中新建一个文件
##卸载文件系统 正确操作
cd / ##从挂载目录中退出
sudo unmount -r /dev/sda3 ##-r选项:在unmount无法卸载文件系统时,将文件系统以只读方式重新载入

5,查看磁盘的使用情况:df
df命令会收集和整理 当前已挂载的文件系统 的一些重要的统计数据:

df ##显示全部
df -t ext3 ##显示特定类型的文件系统的 统计数据

6,检查和修复文件系统:fsck
文件系统发生异常时,fsck可以对其进行检查,并将文件回滚到上次正常的状态。
note that:fsck修复存在风险,特别是文件系统发生严重损坏时,提前备份才是王道。

sudo fsck /dev/sda1 ##fsck可以接受分区编号来指定要检查的文件系统
sudo fsck -p ##-p选项:fsck会读取fstab文件来确定检查哪些文件系统,并进行修复

7,在磁盘上建立文件系统:mkfs
所有的磁盘在使用前都必须经过格式化,格式化就是在目标盘上建立文件系统的过程。需要注意的是,如果磁盘已经被挂载到某一文件系统上,需要先对磁盘执行unmount操作,之后,方可进行格式化。
在目标盘上建立文件系统,可以用命令mkfs来完成,其本身并不执行建立文件系统的工作,而是调用相关的程序(这些程序包括: mkdosfs,mke2fs,mkfs.minix)。mkfs通过参数-t,可以指定 建立的文件系统类型。
下面命令将第2个硬盘的第一个分区格式化为ext4格式:

sudo mkfs -t ext3 /dev/sdb1 ##通过建立ext3类型的文件系统,将硬盘/dev/sdb1 格式化
sudo mkfs -t ext4 -c /dev/sdb1 ##通过参数-c,检查指定设备上损坏的块 

8,使用USB设备
一般来说,linux会自动挂载接入USB接口的设备,这点和光盘非常相似。
如果由于某些原因,系统没有识别到该USB设备,那么可以进行手动挂载。USB设备在Linux系统中被认为是SCSI设备,因此,可以从/dev/sd[a-z][1-…]挂载。
下面为挂载USB设备的一个示例,该示例中,USB设备被识别为系统中第2个硬盘的第1个分区/dev/sdb1:

sudo mkdir /mnt/usb ##新建一个目录用于挂载usb设备
sudo mount /dev/sdb1 /mnt/usb ##挂载USB设备
cd /mnt/usb/ ##打开USB设备
ls ##浏览USB设备内容
cd / ##离开挂载USB设备的文件系统,返回根目录
sudo unmount /dev/sdb1 ##卸载USB设备

lsusb ##使用该命令可以列出当前内核中已经发现的USB设备

9,linux下的压缩工具
1)gzip:gzip命令会给压缩的文件加一个扩展名.gz

gzip linux_book_bak.tar ##经gzip压缩后,文件名变为:linux_book_bak.tar.gz
gzip -l linux_book_bak.tar.gz ##-l选项用于查看压缩效果
gzip -tv linux_book_bak.tar.gz ##-t用来测试压缩文件的完整性,如果文件正常,gzip命令不会给出任何显示。如果一定要让gzip说点什么,可以使用-tv。
##.tar.gz 可能是linux世界最流行的压缩文件格式,这种文件首先经过tar打包,后用gzip压缩而成。
##.tar.gz 文件解压缩
##解压缩前,需要保证文件有合适的扩展名:.gz, .Z, -gz, .z, -z, z
gunzip linux_book_bak.tar.gz ##使用gunzip进行解压缩
gzip -d linux_book_bak.tar.gz ##使用-d参数进行解压缩

2)更高的压缩率:bzip2
bzip2较gzip具有更高的压缩率,但是,压缩速度较慢,不过根据 摩尔定律,这种速度上的劣势将越来越小。

bzip2 linux_book_bak.tar ##压缩文件 会 加一个扩展名 .bz2
##解压缩
bunzip2 linux_book_bak.tar.bz2  ##way1
bzip2 -d linux_book_bak.tar.bz2 ##way2; bzip2可以识别的压缩文件格式包括: .bz2,.bz,.tbz2,.tbz,bzip2
##检查压缩文件的完整性
bzip2 -tv linux_book_bak.tar.bz2 ##-t:检查压缩文件完整性, -v:无论压缩是否完整 都给出回应

3)支持rar格式
windows下,rar已经取代zip作为主要的压缩格式,rar相较zip最大的优势在于其更好的压缩效果,在linux下处理rar文件可以使用RAR for linux。

##解压rar文件
rar x music.rar ##使用 rar x 解压.rar文件

10,Linux下的2个存档工具:tar , dd
1)文件打包工具:tar

tar -cvwf shell.tar shell/  ##将shell目录 以及 其下的文件 一同打包为 shell.tar;   -c:创建归档文件;-v:显示命令的执行过程;-f:指定归档文件的文件名
tar -xvwf shell.tar ##将shell.tar文件进行解压缩;-x:解开归档文件
##tar命令的-w选项,用于每次将文件 加入/抽出 归档文件 时 征求用户的意见
##tar命令的-z选项,会自动调用gzip程序完成相关操作 
##完成压缩
tar -czvf shell.tar.gz shell/ ##先利用tar将 shell/ 压缩为shell.tar,在利用gzip将shell.tar压缩为shell.tar.gz
##上述命令等同于:
tar -cvf shell.tar shell/
gzip shell.tar
##完成解压缩
tar -xzvf shell.tar.gz ##先用gunzip将shell.tar.gz解压缩为shell.tar,然后再用tar -x将shell.tar解压缩
##上述命令等同于如下命令:
gunzip shell.tar.gz
tar -xvf shell.tar
##tar的-j选项用于调用bzip2程序,用法于-z选项完全一致
##压缩
tar -cjf shell.tar.bz2 shell/
##上述命令等同于:
tar -cf shell.tar shell/
bzip2 shell.tar
##解压缩
tar -xjf shell.tar.bz2
##上述命令等同于下:
bunzip2 shell.tar.bz2
tar -xf shell.tar

2)转移文件: dd
dd曾广泛用于复制文件系统,但是,由于有了更好的dump和restore命令,dd现在已经很少使用。

dd if=/dev/cdrom of=CD.iso ##dd的if选项指定输入端的文件系统,而of选项则指定其输出端;该命令将一张 CD 完整的转储为iso镜像文件

你可能感兴趣的:(linux,linux,服务器,运维)