Linux格式化命令一般是mkfs,該命令使用方法如下:
平昌網(wǎng)站建設公司創(chuàng)新互聯(lián)公司,平昌網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為平昌千余家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設要多少錢,請找那個售后服務好的平昌做網(wǎng)站的公司定做!
使用權限 : 超級使用者
使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks] [-L Lable]
說明 : 建立 linux 檔案系統(tǒng)在特定的 partition 上
參數(shù) :
device : 預備檢查的硬盤 partition,例如:/dev/sda1
-V : 詳細顯示模式
-t : 給定檔案系統(tǒng)的型式,Linux 的預設值為 ext2
-c : 在制做檔案系統(tǒng)前,檢查該partition 是否有壞軌
-l bad_blocks_file : 將有壞軌的block資料加到 bad_blocks_file 里面
block : 給定 block 的大小
-L:建立lable
補充說明:
mkfs本身并不執(zhí)行建立文件系統(tǒng)的工作,而是去調(diào)用相關的程序來執(zhí)行。例如,若在"-t" 參數(shù)中指定ext2,則mkfs會調(diào)用mke2fs來建立文件系統(tǒng).使用時如省略指定【塊數(shù)】參數(shù),mkfs會自動設置適當?shù)膲K數(shù).
例子 :
在 /dev/hda5 上建一個 msdos 的檔案系統(tǒng),同時檢查是否有壞軌存在,并且將過程詳細列出來 :
mkfs -V -t msdos -c /dev/hda5
mfks -t ext3 /dev/sda6 //將sda6分區(qū)格式化為ext3格式
mkfs -t ext2 /dev/sda7 //將sda7分區(qū)格式化為ext2格式
LVM將一個或多個硬盤的分區(qū)在邏輯上集合,相當于一個大硬盤來使用,當硬盤的空間不夠使用的時候,可以繼續(xù)將 其它 的硬盤的分區(qū)加入其中,這樣可以實現(xiàn)磁盤空間的動態(tài)管理,相對于普通的磁盤分區(qū)有很大的靈活性。那么你知道linux系統(tǒng)硬盤怎么格式化嗎?我?guī)砹薼inux系統(tǒng)硬盤格式化的具 體操 作過程,下面大家跟著我一起來學習一下吧。
linux系統(tǒng)硬盤怎么格式化
分區(qū)與格式化
先用fdisk分區(qū),分區(qū)完成后再用mkfs格式化并創(chuàng)建文件系統(tǒng),掛載,磁盤就能使用啦。
分區(qū)的原理:
MBR:主引導扇區(qū)
主分區(qū)表:64bytes,最多只能分四個主分區(qū),每個主分區(qū)的記錄(相關信息,比如分區(qū)大小,位置)在主分區(qū)表里占14bytes。
如果要建多于四個的分區(qū),就要拿出一個主分區(qū)做為擴展分區(qū),再在擴展分區(qū)里面進行其它的分區(qū)操作。在 建擴展分區(qū)的時候會建立一張對應的擴展分區(qū)表,它記錄了在這個擴展分區(qū)里的分區(qū)的相關信息;理論上它沒有分區(qū)數(shù)量的限制,在擴展分區(qū)內(nèi)部的分區(qū)叫做邏輯分區(qū),如上圖中的 /dev/hda5,/dev/hda6/,/dev/hda7
格式化原理:
在分好區(qū)后,分區(qū)里面是空的,沒有任何東西。為了能讓OS識別,就必須要向分區(qū)里寫入相應格式的數(shù)據(jù)。比如windows的FAT32,NTFS;Linux的ext2,ext3,ext4(目前ext3格式的用的比較多,ext4還在實驗之中,在新的Fedora上使用的就是ext4的文件系統(tǒng))。
Windows/dos常用的分區(qū)工具:fdisk/partition magic/diskpart
Linux下常用的分區(qū)工具:
fdisk/sfdisk:命令行工具,各種版本和環(huán)境都能使用,包含在軟件包util-linux中
diskdruid:圖形化分區(qū)工具,只能在安裝REDHAT系統(tǒng)時使用。
下面我們開始實驗:
環(huán)境/工具:Fedora 14/256M內(nèi)存卡;fdisk
第一步:fdisk
[root@novice ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 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
[root@novice ~]# fdisk /dev/sdb
Command (m for help): #在輸入上面的命令后會出現(xiàn)左邊的提示,輸入m就會得到一個幫助菜單,如下:
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
#help雖然是英文的,可都很簡單,在這里不再解釋。
#現(xiàn)在,我們正式開始分區(qū)的操作:
Command (m for help): n #新建分區(qū)
Command action
e extended
p primary partition (1-4)
#e/p分別對應擴展分區(qū) /主分區(qū);我們先分四個主分區(qū),每個50M;然后再來增加主分區(qū)或擴展分區(qū),看會出現(xiàn)怎樣的狀況,嘿嘿。
p #分區(qū)類型為主分區(qū)
Partition number (1-4, default 1): 1 #分區(qū)號,在這里我們依次選擇1、2、3、4
First sector (2048-496127, default 2048): #指定分區(qū)的起始扇區(qū),一般默認,按enter鍵即可。
Last sector, +sectors or +size{K,M,G} (2048-496127, default 496127): +50M #指定分區(qū)的終止扇區(qū),根據(jù)前面的提示我們可以做出相應的選擇+sectors 或 +size{K,M,G}
Command (m for help): p #用p打印出已建好的分區(qū)列表
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 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 2048 104447 51200 83 Linux
#剩下的三個分區(qū)的建立操作同上
#分好四個主分區(qū)后的情況如下
Command (m for help): p
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 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 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 83 Linux
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 309298 25+ 83 Linux
#已經(jīng)建好四個主分區(qū)啦,現(xiàn)在我們來看看如果再建主分區(qū)或是擴展分區(qū)的話會出現(xiàn)怎樣的情況:
Command (m for help): n
You must delete some partition and add an extended partition first
#看到了吧,不能再建分區(qū)啦!要再建分區(qū)的話必須刪除some分區(qū),再新建一個擴展分區(qū)才行。
#現(xiàn)在,我們刪掉一個主分區(qū),來新建擴展分區(qū)
Command (m for help): d #刪除分區(qū)
Partition number (1-4): 4 #選擇要刪除分區(qū)的分區(qū)號,我們選第四個
Command (m for help): p #打印,如下,四個分區(qū)變成了三個!
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 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 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 83 Linux
/dev/sdb3 206848 309247 51200 83 Linux
#新建一個擴展分區(qū)
#如果在沒有建滿三個主分的區(qū)的情況下建立擴展分區(qū),相關選項會有些不同。
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Selected partition 4
First sector (309248-496127, default 309248): #enter,默認
Using default value 309248
Last sector, +sectors or +size{K,M,G} (309248-496127, default 496127): #enter,默認,使用剩余空間
Using default value 496127
Command (m for help): p
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 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 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 83 Linux
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 496127 93440 5 Extended
#接下來,我們在新建的擴展分區(qū)里再新建兩個邏輯分區(qū),因為已經(jīng)有了三個主分區(qū),這里不會再顯示是建立邏輯分區(qū)還是主分區(qū)的提示!
Command (m for help): n
First sector (311296-496127, default 311296): #enter
Using default value 311296
Last sector, +sectors or +size{K,M,G} (311296-496127, default 496127): +50M
Command (m for help): n
First sector (415744-496127, default 415744): #enter
Using default value 415744
Last sector, +sectors or +size{K,M,G} (415744-496127, default 496127): #enter
Using default value 496127
Command (m for help): p
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 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 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 83 Linux
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 496127 93440 5 Extended
/dev/sdb5 311296 413695 51200 83 Linux
/dev/sdb6 415744 496127 40192 83 Linux
#上面的列表,就是我們今天分區(qū)的成果啦!接下來保存退出,重啟計算機,就可以進行下一步的mkfs操作啦!如果忘記了相關的操作命令,記得按m!!!
Command (m for help): w #保存
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
另:在建好分區(qū)后,我們還可以更改相關分區(qū)的文件系統(tǒng)類型
#如,我們要把第二個主分區(qū)改成Linux下的交換分區(qū),操作如下
Command (m for help): t #更改文件系統(tǒng)類型
Partition number (1-6): 2 #選擇第二個分區(qū)
Hex code (type L to list codes): L #選擇要更改的文件系統(tǒng)編碼,可以按L來查看相關編碼信息。
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
............
16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT
1e Hidden W95 FAT1
Hex code (type L to list codes): 82 #查找到linux swap的編碼為82
Changed system type of partition 2 to 82 (Linux swap / Solaris)
Command (m for help): p
..............
Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 82 Linux swap / Solaris
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 496127 93440 5 Extended
/dev/sdb5 311296 413695 51200 83 Linux
/dev/sdb6 415744 496127 40192 83 Linux
#最后別忘了保存!如果你須要的話!
#擴展分區(qū)不能直接使用,邏輯分區(qū)只能建立在擴展分區(qū)上!
第二步:mkfs(mkfs時分區(qū)的格式最好與fdisk設定的分區(qū)格式一致,不然.......)
mkfs支持ext2 ext3 vfa msdos jfs reiserfs等文件系統(tǒng)。
用法1:mkfs -t
例: mkfs -t ext3 /dev/sdb2
用法2:mkfs.
例:mkfs,vfat /dev/sdb3
mke2fs支持ext2/ext3文件系統(tǒng)
用法:mke2fs [-j]
例:mke2fs -j /dev/sdb5
# 更多更具體的用法請參照相關命令的man手冊
下面,接著實驗:
例一
[root@novice ~]# mkfs -t ext3 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
12824 inodes, 51200 blocks
2560 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=52428800
7 block groups
8192 blocks per group, 8192 fragments per group
1832 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
例二:
[root@novice ~]# fdisk /dev/sdb
Command (m for help): t
Partition number (1-6): 6
Hex code (type L to list codes): L
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx
5 Extended 42 SFS 86 NTFS volume set da Non-FS data
6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
.........
Hex code (type L to list codes): 7
Changed system type of partition 6 to 7 (HPFS/NTFS)
Command (m for help): p
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 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 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 82 Linux swap / Solaris
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 496127 93440 5 Extended
/dev/sdb5 311296 413695 51200 83 Linux
/dev/sdb6 415744 496127 40192 7 HPFS/NTFS
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@novice ~]# mkfs.ntfs /dev/sdb6
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes: 100% - Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
在終端上面輸入命令:sudo fdisk -l 回車。然后找到/dev/sda /dev/sdb這樣子的英文。這里電腦上面的硬盤,其中sda則是第一個硬盤,sdb是第二個硬盤。
格式化硬盤分區(qū):
在終端輸入命令:圖片里面的命令回車。
其中sudo mkfs -t 理解為固定格式即可,ntfs則是格式化的類型U盤可以改成fat32 后面的/dev/sdb1 格式化的分區(qū)。如果直接寫入sdb則會出錯,無法格式化整個硬盤,只能夠格式化分區(qū)。
上面的命令回車后,會看到圖一的百分比,等到百分百就可以。最后成功后會顯示completed successfully,證明成功格式化。
4.掛載分區(qū):格式化后的分區(qū)需要查看寫入文件的話還需要進行掛載。在終端輸入命令:圖片里面的命令
回車沒有報錯則為掛載成功,其中sdb1就是你所需掛載的分區(qū)。
輸入命令:df -h ?可以看到分區(qū)的容量大小等信息。命令使用介紹請查看“Linux命令大全”
如果一個名稱用%括起來,那么就是用的它的賦值,而不是本身的字母
比如
echo time echo %time%
以上兩個前者顯示time這個字母,后者顯示系統(tǒng)時間 19:42:12:02
還有%diskdiver%=系統(tǒng)盤等。
可以用set自己設定,有一些是系統(tǒng)默認的比容上面說的time;diskdiver
----------------------------------------------------------------------
FOR這條命令基本上都被用來處理文本,我們這次除了要說他處理文本的作用外還要講他的其他一些好用的功能!
看看他的基本格式(這里我引用的是批處理中的格式,直接在命令行只需要一個%號)
FOR 參數(shù) %%變量名 IN (相關文件或命令) DO 執(zhí)行的命令
參數(shù):FOR有4個參數(shù) /d /l /r /f 他們的作用我在下面用例子解釋
%%變量名 :這個變量名可以是小寫a-z或者大寫A-Z,他們區(qū)分大小寫哦~
FOR會把每個讀取到的值給他!
IN:命令的格式,照寫就是了!
(相關文件或命令) :FOR要把什么東西讀取然后賦值給變量,不懂的話看下面的例子
do:命令的格式,照寫就是了!
執(zhí)行的命令:對每個變量的值要執(zhí)行什么操作就寫在這.
看不懂我的這些說明,可以在CMD輸入for /?看系統(tǒng)提供的幫助!我這里也給出來吧,大家對照
FOR %%variable IN (set) DO command [command-parameters]
%%variable 指定一個單一字母可替換的參數(shù)。
(set) 指定一個或一組文件??梢允褂猛ㄅ浞?。
command 指定對每個文件執(zhí)行的命令。
command-parameters
為特定命令指定參數(shù)或命令行開關。
現(xiàn)在開始講每個參數(shù)的意思
/d
僅為目錄
如果 Set (也就是我上面寫的 "相關文件或命令") 包含通配符(* 和 ?),將對與 Set 相匹配的每個目錄(而不是指定目錄中的文件組)執(zhí)行指定的 Command。
這個參數(shù)其實我也沒弄太懂...有錯誤希望各位糾正!
系統(tǒng)幫助的格式:FOR /D %%variable IN (set) DO command
他主要用于目錄搜索,不會搜索文件,看這樣的例子
@echo off
for /d %%i in (*) do @echo %%i
pause
把他保存放在C盤根目錄執(zhí)行,就會把C盤目錄下的全部目錄名字打印出來,而文件名字一個也不顯示!
在來一個,比如我們要把當前路徑下文件夾的名字只有1-3個字母的打出來
@echo off
for /d %%i in (???) do @echo %%i
pause
這樣的話如果你當前目錄下有目錄名字只有1-3個字母的,就會顯示出來,沒有就不顯示了
這里解釋下*號和?號的作用,*號表示任意N個字符,而?號只表示任意一個字符
知道作用了,給大家個思考題目!
@echo off
for /d %%i in (window?) do @echo %%i
pause
保存到C盤下執(zhí)行,會顯示什么呢?自己看吧!
/D參數(shù)只能顯示當前目錄下的目錄名字,這個大家要注意!
/R
遞歸
進入根目錄樹 [Drive:]Path,在樹的每個目錄中執(zhí)行 for 語句。如果在 /R 后沒有指定目錄,則認為是當前目錄。如果 Set 只是一個句點 (.),則只枚舉目錄樹。
系統(tǒng)幫助的格式:FOR /R [[drive:]path] %%variable IN (set) DO command
上面我們知道,/D只能顯示當前路徑下的目錄名字,那么現(xiàn)在這個/R也是和目錄有關,他能干嘛呢?放心他比/D強大多了!
他可以把當前或者你指定路徑下的文件名字全部讀取,注意是文件名字,有什么用看例子!
@echo off
for /r c:\ %%i in (*.exe) do @echo %%i
pause
咋們把這個BAT保存到D盤隨便哪里然后執(zhí)行,我會就會看到,他把C盤根目錄,和每個目錄的子目錄下面全部的EXE文件都列出來了!!!!
再來一個
@echo off
for /r %%i in (*.exe) do @echo %%i
pause
參數(shù)不一樣了吧!這個命令前面沒加那個C:\也就是搜索路徑,這樣他就會以當前目錄為搜索路徑,比如你這個BAT你把他防災d:\test目錄下執(zhí)行,那么他就會把D:\test目錄和他下面的子目錄的全部EXE文件列出來!!!
這個參數(shù)大家因該理解了吧!還是滿好玩的命令!
/L
迭代數(shù)值范圍
使用迭代變量設置起始值 (Start#),然后逐步執(zhí)行一組范圍的值,直到該值超過所設置的終止值 (End#)。/L 將通過對 Start# 與 End# 進行比較來執(zhí)行迭代變量。如果 Start# 小于 End#,就會執(zhí)行該命令。如果迭代變量超過 End#,則命令解釋程序退出此循環(huán)。還可以使用負的 Step# 以遞減數(shù)值的方式逐步執(zhí)行此范圍內(nèi)的值。例如,(1,1,5) 生成序列 1 2 3 4 5,而 (5,-1,1) 則生成序列 (5 4 3 2 1)。語法是:
系統(tǒng)幫助的格式:for /L %% Variable in (Start#,Step#,End#) do Command
看著這說明有點暈吧!咋們看例子就不暈了!
@echo off
for /l %%i in (1,1,5) do @echo %%i
pause
保存執(zhí)行看效果,他會打印從1 2 3 4 5 這樣5個數(shù)字
(1,1,5)這個參數(shù)也就是表示從1開始每次加1直到5終止!
大會暈,就打印個數(shù)字有P用...好的滿足大家,看這個例子
@echo off
for /l %%i in (1,1,5) do start cmd
pause
執(zhí)行后是不是嚇了一跳,怎么多了5個CMD窗口,呵呵!如果把那個 (1,1,5)改成 (1,1,65535)會有什么結果,我先告訴大家,會打開65535個CMD窗口....這么多你不死機算你強!
當然我們也可以把那個start cmd改成md %%i 這樣就會建立指定個目錄了!!!名字為1-65535
看完這個被我賦予破壞性質(zhì)的參數(shù)后,我們來看最后一個參數(shù)
/f
\迭代及文件解析
使用文件解析來處理命令輸出、字符串及文件內(nèi)容。使用迭代變量定義要檢查的內(nèi)容或字符串,并使用各種 ParsingKeywords 選項進一步修改解析方式。使用 ParsingKeywords 令牌選項指定哪些令牌應該作為迭代變量傳遞。請注意:在沒有使用令牌選項時,/F 將只檢查第一個令牌。
文件解析過程包括讀取輸出、字符串或文件內(nèi)容,將其分成獨立的文本行以及再將每行解析成零個或更多個令牌。然后通過設置為令牌的迭代變量值,調(diào)用 for 循環(huán)。默認情況下,/F 傳遞每個文件每一行的第一個空白分隔符號。跳過空行。
系統(tǒng)幫助的格式:
for /F "ParsingKeywords" %% Variable in (FileNameSet) do Command
有沒有發(fā)現(xiàn)這個參數(shù)說明比上面幾個都多...沒辦法,人們用FOR命令主要也就是用/f參數(shù),FOR的主場啊!大家得好好看!
先來解釋下那個多出來的"ParsingKeywords"
他表示4個參數(shù)
eol=c - 指一個行注釋字符的結尾(就一個)
skip=n - 指在文件開始時忽略的行數(shù)。
delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的
默認分隔符集。
tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代
的 for 本身。這會導致額外變量名稱的分配。m-n
格式為一個范圍。通過 nth 符號指定 mth。如果
符號字符串中的最后一個字符星號,
那么額外的變量將在最后一個符號解析之后
分配并接受行的保留文本。
usebackq - 指定新語法已在下類情況中使用:
在作為命令執(zhí)行一個后引號的字符串并且一個單
引號字符為文字字符串命令并允許在 filenameset
中使用雙引號擴起文件名稱。
先別暈了!我這就舉個例子幫助大家來理解這些參數(shù)!
usebackq這個參數(shù)不用理解了,系統(tǒng)默認會給我們加上!
為了能使用這個例子,我們先新建一個文本文件,在里面打上這些內(nèi)容保存為test.txt:
;郁悶啊!
您好! 歡迎來到, 非常批處理
我們的網(wǎng)站 bbs.verybat.org
完畢!
@echo off
FOR /F "eol=; tokens=1 delims= " %%i in (test.txt) do @echo %%i
pause
我們把這個BAT保存到和你的test.txt相同的目錄下面然后執(zhí)行
我們會看到屏幕上會顯示
您好!
我們的網(wǎng)站
完畢!
為什么會這樣?我來解釋
這個命令會讀取在當前目錄下名為test.txt文件中的內(nèi)容,將每一行的內(nèi)容賦值給變量%%i,忽略掉以;號開頭的行,并且以空格做為分隔符號,打印每行以空格做分隔符號的第一列
結果就是這樣了!!
如果改成
當然我們想要把全部文件內(nèi)容直接打印出來就可以這樣
@echo off
FOR /F "delims=" %%i in (test.txt) do @echo %%i
pause
另外/F參數(shù)還可以以輸出命令的結果看這個例子
@echo off
FOR /F "delims=" %%i in ('net user') do @echo %%i
pause
這樣你本機全部帳號名字就出來了把擴號內(nèi)的內(nèi)容用兩個單引號引起來就表示那個當命令執(zhí)行,FOR會返回命令的每行結果,加那個"delims=" 是為了讓我空格的行能整行顯示出來,不加就只顯示空格左邊一列!
基本上講完了FOR的基本用法了...如果你看過FOR的系統(tǒng)幫助,你會發(fā)現(xiàn)他下面還有一些特定義的變量,這些我先不講.大家因該都累了吧!你不累我累啊....
linux格式化硬盤教程
1、查看硬盤:點擊電腦左下角的箭頭位置標志,然后選擇啟動終端。不同的桌面環(huán)境方法進入終端不太一樣,這個根據(jù)自己使用的桌面而定。
2、在終端上面輸入命令:sudo fdisk -l回車。
3、然后找到/dev/sda /dev/sdb這樣子的英文。這里電腦上面的硬盤,其中sda則是第一個硬盤,sdb是第二個硬盤。
4、格式化硬盤分區(qū):在終端輸入命令:其中sudo mkfs -t 理解為固定格式即可,ntfs則是格式化的類型U盤可以改成fat32 后面的/dev/sdb1 格式化的分區(qū)。如果直接寫入sdb則會出錯,無法格式化整個硬盤,只能夠格式化分區(qū)。
5、上面的命令回車后,會看到百分比,等到百分百就可以。最后成功后會顯示completed successfully,證明成功格式化。
6、掛載分區(qū):格式化后的分區(qū)需要查看寫入文件的話還需要進行掛載。在終端輸入命令。
7、輸入命令:df -h 可以看到分區(qū)的容量大小等信息。寫入文件到硬盤:掛載成功后點擊左下角的符號,然后點擊文件管理器,而紅圈則代表它掛載的正是mnt目錄,進入這個目錄等于訪問這個硬盤。