精选文章

Android下使用TCPDUMP抓包Wireshark分析数据 如果想分析Android下某个APP的网络数据交互,需要在Android手机上抓包,最常用的抓包工具非tcpdump莫属,用tcpdump生成Wireshark识别的pcap文件,然后将pcap文件下载到电脑上,用电脑上的Wireshark加载pcap文件,通过Wireshark分析tcpdump抓取的数据。...

继续阅读

Mac下部署Android开发环境附加NDK 作为开发者,我们深有体会,不管是进行什么开发,为了部署开发环境,我们往往需要折腾很长时间、查阅很多资料才能完成,而且这次折腾完了,下次到了另一台新电脑上又得重新来过,整个部署过程记得还好,要是不记得又得重新开始,而且遇到Android这种GFW阻隔了开发资源下载链接的环境部署,又尤其浪费时间。所以这也是我写下这篇教程的初衷跟动力源泉,希望大家参考了这篇教程以后可以轻轻松松在Mac系统下将Android环境部署好。...

继续阅读

稍顯嚴肅的台中 坦白說,留在腦海中的台中影像並不多,來台灣之前在Booking上只訂到了台中的一家青旅,第一次住青旅有些不習慣,幹什麼都放不開。 同屋的一個男生是台灣人,不過一年中四分之三的時間在上海跟北京,這麼說來跟我還是比較有共同話題的。得之我準備花15天的時間環島,覺得太倉促了,他們大學時期花一個半月的時間也不見得能將台灣島給逛完。我只能無奈地表示,兩岸允許的簽證時間有限,自己的空閒時間更有限,只能用打卡式的旅行了,我深知正真地旅行應該慢下來,融入當地的環境,感受他們的風土人情,但第一次只能這樣作罷,以後換成民進黨上台,形勢會變成怎樣還不得而知,能否再過來還是個未知數。而我一向信奉的人生格言是秉燭夜遊,活在當下,所以,理解自己吧。...

继续阅读

為之留戀的新竹 來新竹之前本沒有對她有過高的期待,慢慢對她加分要從桃園火車站出發前往新竹開始。 在桃園火車站的候車月台上,有醒目的旅遊資料發放處,這上面的擺放的全是新竹的旅遊宣傳資料,關鍵的是資料做得非常簡潔易懂,而接下來一天的新竹之行就全部是依據這份寶典的指引來完成的。...

继续阅读

從桃園開始台灣之行 初到台灣恰逢華夏銀行系統升級,特意準備的華夏銀聯卡在桃園機場沒能派上用場,只好用建行在機場5000塊,算下來是很不划算的,但是沒辦法,誰叫我出機場就得花錢呢。 從機場打車到桃園的酒店,花了將近六百塊新台幣,到酒店時五點多,天已經漸亮了,洗漱完等到七點吃過早餐就開始補覺囉,一覺醒來已是中午,帶著換下來的衣服外出找自助洗衣店,順便覓食。...

继续阅读

  • Prev
  • Next

Linux磁盘管理

文章分类 : Linux, Ubuntu, 应用与编程, 教程

一、df命令

df [选项] [文件]

df命令用于检查文件系统的磁盘空间占用情况。通过该命令可以直观地获得当前磁盘上各个分区分别已经使用了多少空间,还剩下多少空间等信息。如果跟上文件,将显示该文件所在分区的信息,默认是显示所有文件系统。

常用参数:

-a:显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统
-h:以可读性较好的格式显示尺寸(例如:1K、234M、2G)
-k:以k字节为单位显示
-i:显示inode 信息而非块使用量
-t:显示各指定类型的文件系统的磁盘空间使用情况
-x:列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)
-T:显示文件系统类型。
 

 
二、fdisk命令

fdisk是Linux下的磁盘分区工具,能将磁盘划分为若干个区域,同时也能为每个分区指定文件系统,例如Linux、Linux swap、vfat、ntfs、fat32等格式。需要注意的是,该命令必须以管理权限运行。单独执行“fdisk -l”命令的时候,可以查看到当前主机上已被识别的所有磁盘存盘存储设备及其相关信息,包括各个分区对应的Linux设备文件、分区磁柱开始以及结束位置、分区类型、分区容量跟磁盘大小总揽等信息。如果执行“fdisk -l 设备文件”,将单独显示该设备文件磁盘信息。注意,此设备文件在Linux系统中是通过hd*x或sd*x表示的,其中“*”表示的是a、b、c等英文字母;x表示是1、2、3等阿拉伯数字;hd是IDE硬盘;sd是SATA硬盘、SCSI硬盘或移动存储。在执行“fdisk -l 设备文件”命令时,设备文件名称不带后面的阿拉伯数字。

fdisk内部主要命令:

d delete a partition //删除一个分区
l list known partition types //列出分区类型
m print this menu //列出帮助信息
n add a new partition //添加一个分区
p print the partition table //列出分区表
q quit without saving changes //不保存退出
t change a partition's system id //改变分区类型
w write table to disk and exit //把分区表写入硬盘并退出
x extra functionality (experts only) //扩展功能
 

 
三、mkfs命令

mkfs [-t 文件系统] 设备文件

mkfs命令缩写至make filesystem,顾名思义,是用来为指定分区建立文件系统的。该命令需要管理员权限。由于fdisk命令在重新分区之后也能创建文件系统,故mkfs命令存在的意义更多在于不重新分区的情况下也可以更改文件系统,这边是我们通常所说的分区格式化。

四、mount跟umount命令

mount跟umount命令分别用来挂载跟卸载移动存储设备(如光盘、软盘、U盘或移动硬盘等)。mount命令将这些移动存储设备绑定到指定目录以后,访问该目录就能直接读写这些移动存储设备上的数据了。建立这种绑定关系的过程通常称为挂载,使用mount命令;相反地,解除这种绑定关系的过程称为卸载,使用umount命令。这两个命令都需要管理员权限。

命令格式:

mount [-t vfstype] [-o options] device dir
umount device 或 umount dir
 

 

其中:

(1) -t vfstype —— 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。

光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
 

 

(2) -o options —— 主要用来描述设备的挂接方式。

loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
 

 

(3) device——要挂接(mount)的设备。

(4) dir —— 设备在系统上的挂接目录(挂载点)。

五、应用实例:

1、演示df命令常用参数的使用。

trevor@trevor-PC:~/linux/linux100$ df -a
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda9 28836860 4775080 22596948 18% /
proc 0 0 0 - /proc
none 0 0 0 - /sys
fusectl 0 0 0 - /sys/fs/fuse/connections
none 0 0 0 - /sys/kernel/debug
none 0 0 0 - /sys/kernel/security
none 1022436 340 1022096 1% /dev
none 0 0 0 - /dev/pts
none 1028036 4584 1023452 1% /dev/shm
none 1028036 360 1027676 1% /var/run
none 1028036 0 1028036 0% /var/lock/dev/sda8 28834812 21473668 5896416 79% /home
binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
gvfs-fuse-daemon 0 0 0 - /home/trevor/.gvfs/dev/sda5 104959996 36509740 68450256 35% /media/Document
trevor@trevor-PC:~/linux/linux100$ df -T
文件系统 类型 1K-块 已用 可用 已用% 挂载点
/dev/sda9 ext4 28836860 4775092 22596936 18% /
none devtmpfs 1022436 340 1022096 1% /dev
none tmpfs 1028036 4584 1023452 1% /dev/shm
none tmpfs 1028036 360 1027676 1% /var/run
none tmpfs 1028036 0 1028036 0% /var/lock/dev/sda8 ext4 28834812 21473668 5896416 79% /home
/dev/sda5 fuseblk 104959996 36509740 68450256 35% /media/Document
trevor@trevor-PC:~/linux/linux100$ df -Tht ext4
文件系统 类型 容量 已用 可用 已用%% 挂载点
/dev/sda9 ext4 28G 4.6G 22G 18% /
/dev/sda8 ext4 28G 21G 5.7G 79% /home
trevor@trevor-PC:~/linux/linux100$ df -Thit ext4
文件系统 类型 Inode 已用(I) 可用(I) 已用(I)%% 挂载点
/dev/sda9 ext4 1.8M 200K 1.6M 12% /
/dev/sda8 ext4 1.8M 233K 1.6M 14% /home
trevor@trevor-PC:~/linux/linux100$
 

 

2、删掉sda原有分区,添加一个100M的主分区,剩下作扩展分区,在扩展分区中添加一个200M的逻辑分区。

trevor@trevor-PC:~/linux/linux100$ sudo fdisk /dev/sdb

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): p

Disk /dev/sdb: 2020 MB, 2020872192 bytes
32 heads, 34 sectors/track, 3627 cylinders
Units = cylinders of 1088 * 512 = 557056 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdb1 2 3628 1972484 c W95 FAT32 (LBA)

Command (m for help): d
Selected partition 1

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3627, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-3627, default 3627): +100M

Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 2
First cylinder (190-3627, default 190):
Using default value 190
Last cylinder, +cylinders or +size{K,M,G} (190-3627, default 3627):
Using default value 3627

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (190-3627, default 190):
Using default value 190
Last cylinder, +cylinders or +size{K,M,G} (190-3627, default 3627): +200M

Command (m for help): p

Disk /dev/sdb: 2020 MB, 2020872192 bytes
32 heads, 34 sectors/track, 3627 cylinders
Units = cylinders of 1088 * 512 = 557056 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdb1 1 189 102799 83 Linux
/dev/sdb2 190 3627 1870272 5 Extended
/dev/sdb5 190 566 205071 83 Linux

Command (m for help): q

trevor@trevor-PC:~/linux/linux100$
 

 

需要注意的是,这里的最后一步,我选择了q命令,即放弃之前的一切操作然后退出,如果你真的需要分区,而不是跟我一样只是练习练习,则选择w命名。当然,这里我没有做很关键的一步,那就是为分区设定格式,即选择system id,默认情况下fdisk为新分区设定的是Linux格式,如果您想设置其他格式(如FAT32、NTFS),可以使用t命令来进行设置。

3、格式化U盘

(1)查看U盘所对应的设备文件名称

trevor@trevor-PC:~$ sudo fdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 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: 0x07591fa1

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 102400 7 HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2 13 2627 20992000 7 HPFS/NTFS
/dev/sda3 2627 5240 20992000 7 HPFS/NTFS
/dev/sda4 5240 38914 270482433 f W95 Ext'd (LBA)
/dev/sda5 5240 18307 104960000 7 HPFS/NTFS
/dev/sda6 18307 31387 105062400 7 HPFS/NTFS
/dev/sda7 31387 31619 1864704 82 Linux swap / Solaris
/dev/sda8 31619 35266 29294592 83 Linux
/dev/sda9 35267 38914 29296640 83 Linux

Disk /dev/sdb: 1999 MB, 1999568384 bytes
255 heads, 63 sectors/track, 243 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: 0xcad4ebea

Device Boot Start End Blocks Id System
/dev/sdb4 * 1 244 1959898+ b W95 FAT32
trevor@trevor-PC:~$
 

 

可以发现,U盘对于的设备文件为/dev/sdb4。

(2)将U盘格式化为vfat格式

trevor@trevor-PC:~$ sudo mkfs -t vfat /dev/sdb4
mkfs.vfat 3.0.9 (31 Jan 2010)
mkfs.vfat: /dev/sdb4 contains a mounted file system.
trevor@trevor-PC:~$ sudo umount /dev/sdb4
trevor@trevor-PC:~$ sudo mkfs -t vfat /dev/sdb4
mkfs.vfat 3.0.9 (31 Jan 2010)
trevor@trevor-PC:~$ sudo mkdir /media/test
trevor@trevor-PC:~$ sudo mount /dev/sdb4/media/test/
trevor@trevor-PC:~$ df /media/test/
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sdb4 1948848 4 1948844 1% /media/test
trevor@trevor-PC:~$
 

 

第一次格式化的时候出错,提示设备已将被挂载,故使用umount命令将其卸载,第二次格式化的时候执行成功。紧接着创建目录/media/test作为U盘的挂载点,再执行mount命令将U盘挂载到系统上。最后执行df命令验证挂载执行成功。

除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。

本文地址:https://www.cpplive.com/html/1642.html

这里因为你的留言而存在!!!

You must be logged in to post a comment.