Linux下常用的分區(qū)工具:
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了都昌免費(fèi)建站歡迎大家使用!
fdisk/sfdisk:命令行工具,各種版本和環(huán)境都能使用,包含在軟件包util-linux中
diskdruid:圖形化分區(qū)工具,只能在安裝REDHAT系統(tǒng)時(shí)使用。
第一步: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): #在輸入上面的命令后會(huì)出現(xiàn)左邊的提示,輸入m就會(huì)得到一個(gè)幫助菜單,如下:
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雖然是英文的,可都很簡(jiǎn)單,在這里不再解釋。
#現(xiàn)在,我們正式開(kāi)始分區(qū)的操作:
Command (m for help): n #新建分區(qū)
Command action
e extended
p primary partition (1-4)
#e/p分別對(duì)應(yīng)擴(kuò)展分區(qū) /主分區(qū);我們先分四個(gè)主分區(qū),每個(gè)50M;然后再來(lái)增加主分區(qū)或擴(kuò)展分區(qū),看會(huì)出現(xiàn)怎樣的狀況,嘿嘿。
p #分區(qū)類型為主分區(qū)
Partition number (1-4, default 1): 1 #分區(qū)號(hào),在這里我們依次選擇1、2、3、4
First sector (2048-496127, default 2048): #指定分區(qū)的起始扇區(qū),一般默認(rèn),按enter鍵即可。
Last sector, +sectors or +size{K,M,G} (2048-496127, default 496127): +50M #指定分區(qū)的終止扇區(qū),根據(jù)前面的提示我們可以做出相應(yīng)的選擇+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
#剩下的三個(gè)分區(qū)的建立操作同上
#分好四個(gè)主分區(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)建好四個(gè)主分區(qū)啦,現(xiàn)在我們來(lái)看看如果再建主分區(qū)或是擴(kuò)展分區(qū)的話會(huì)出現(xiàn)怎樣的情況:
Command (m for help): n
You must delete some partition and add an extended partition first
#看到了吧,不能再建分區(qū)啦!要再建分區(qū)的話必須刪除some分區(qū),再新建一個(gè)擴(kuò)展分區(qū)才行。
#現(xiàn)在,我們刪掉一個(gè)主分區(qū),來(lái)新建擴(kuò)展分區(qū)
Command (m for help): d #刪除分區(qū)
Partition number (1-4): 4 #選擇要?jiǎng)h除分區(qū)的分區(qū)號(hào),我們選第四個(gè)
Command (m for help): p #打印,如下,四個(gè)分區(qū)變成了三個(gè)!
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
#新建一個(gè)擴(kuò)展分區(qū)
#如果在沒(méi)有建滿三個(gè)主分的區(qū)的情況下建立擴(kuò)展分區(qū),相關(guān)選項(xiàng)會(huì)有些不同。
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,默認(rèn)
Using default value 309248
Last sector, +sectors or +size{K,M,G} (309248-496127, default 496127): #enter,默認(rèn),使用剩余空間
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
#接下來(lái),我們?cè)谛陆ǖ臄U(kuò)展分區(qū)里再新建兩個(gè)邏輯分區(qū),因?yàn)橐呀?jīng)有了三個(gè)主分區(qū),這里不會(huì)再顯示是建立邏輯分區(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ū)的成果啦!接下來(lái)保存退出,重啟計(jì)算機(jī),就可以進(jìn)行下一步的mkfs操作啦!如果忘記了相關(guān)的操作命令,記得按m!!!
Command (m for help): w #保存
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
另:在建好分區(qū)后,我們還可以更改相關(guān)分區(qū)的文件系統(tǒng)類型
#如,我們要把第二個(gè)主分區(qū)改成Linux下的交換分區(qū),操作如下
Command (m for help): t #更改文件系統(tǒng)類型
Partition number (1-6): 2 #選擇第二個(gè)分區(qū)
Hex code (type L to list codes): L #選擇要更改的文件系統(tǒng)編碼,可以按L來(lái)查看相關(guān)編碼信息。
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
#最后別忘了保存!如果你須要的話!
#擴(kuò)展分區(qū)不能直接使用,邏輯分區(qū)只能建立在擴(kuò)展分區(qū)上!
第二步:mkfs(mkfs時(shí)分區(qū)的格式最好與fdisk設(shè)定的分區(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
# 更多更具體的用法請(qǐng)參照相關(guān)命令的man手冊(cè)
下面,接著實(shí)驗(yàn):
例一
[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.
第三部:掛載
掛載:mount
例:mount /dev/sdb1 /mnt /sdb1
卸載:umonut
例:umount /dev/sdb1
一、 su 、sudo 、限制root遠(yuǎn)程登陸
su- username
帶用戶環(huán)境切換用戶
su- -c"touch /tmp/123.txt"user1
以u(píng)ser1用戶創(chuàng)建/tmp/123.txt 文件
沒(méi)有家目錄的用戶可以用模板新建家目錄
mkdir-p /home/user4chownuser4:user4? /home/user4cp /etc/skel/.bash*/home/user4chown-R user4:user4 /home/user4/
普通用戶臨時(shí)授權(quán)root用戶權(quán)限去執(zhí)行一條命令
visudo
可以查看sudo配置文件
在命令前加入NOPASSWD: 執(zhí)行sudo時(shí)就不需要再輸入用戶的密碼
例子:
User_Alias USER=chen1,chen2
Cmnd_Alias SU=/usr/bin/su
USER ALL=(ALL) NOPASSWD:SU
禁止root用戶遠(yuǎn)程登陸
vi/etc/ssh/sshd_configPermitRootLoginno//修改此處systemctl restart sshd.service
二、df命令、du命令、磁盤分區(qū)
df-h
自動(dòng)適應(yīng)文件大小的單位,查看磁盤使用情況
free
可以查看swap的使用情況
df-i
查看各個(gè)分區(qū)inode的使用情況
有的時(shí)候明明磁盤的內(nèi)存還有剩余,但是卻無(wú)法寫入新文件,這時(shí)候就可能是inode用完了。
du-sh
自動(dòng)適應(yīng)單位顯示文件或文件夾大小
du不加后綴的時(shí)候和du -l 一樣,顯示文件夾下文件的大小
du-lh
自動(dòng)適應(yīng)單位顯示文件夾下文件的大小
fdisk-l
列出linux 的磁盤信息
fdisk/dev/sdb
m幫助,直接按p是查看分區(qū)情況 n新建分區(qū) p建立主分區(qū) e擴(kuò)展分區(qū) d刪除分區(qū),起始扇區(qū)默認(rèn)2048就可以啦,last 扇區(qū) +2G 就是將分區(qū)一的大小設(shè)置為2G;輸錯(cuò)命令用ctrl +u清除
BLOCKS是分區(qū)的大小,system是分區(qū)的類型,主分區(qū)和邏輯分區(qū)都是linux,擴(kuò)展分區(qū)是extended
主分區(qū)的分區(qū)號(hào)可以為空,而邏輯分區(qū)的分區(qū)號(hào)必須連續(xù);邏輯分區(qū)以sdb5開(kāi)始,分區(qū)之后輸入w可以保存分區(qū),q則不保存操作直接退出
三、磁盤格式化、磁盤掛載、手動(dòng)增加swap空間
1.磁盤格式化
cat/etc/filesystems? //查看系統(tǒng)支持的文件格式,centos7默認(rèn)xfs,centos6默認(rèn)ext4
mount//查看系統(tǒng)的文件格式
mke2fs
-t指定文件格式 ext4 、ext3
-b指定塊大小,文件都比較大時(shí),塊可以大一點(diǎn),比如視頻、高清圖片
比較小時(shí)可以將塊設(shè)置小一點(diǎn),加快讀取速度
-m指定給root用戶預(yù)留的空間大小,1就是1%,0.1就是0.1%
-i指定多少字節(jié)占一個(gè)inode號(hào)
如果不指定-t文件格式,則默認(rèn)為ext2格式
mkfs.ext4/dev/sdb1? //將分區(qū)格式化為ext4格式mkfs.xfs? -f/dev/sdb1? //將分區(qū)格式化為xfs格式\
分區(qū)只有掛載了才可以使用mount查詢到,沒(méi)有掛載的分區(qū)可以用
blkid/dev/sdb1
mkfs.ext4 == mke2fs -t ext4
mkfs.ext4與mke2fs支持的選項(xiàng)相同
xfs格式只能用mkfs.xfs 創(chuàng)建
2.磁盤掛載
mount/dev/sdb? /mnt///將 /dev/sdb掛載到mnt下 mount UUID="2d8e7749-f2f7-4de5-b1b9-b6bf758d2f37"/mnt///這里的uuid是用blkid /dev/sdb 查到的
卸載磁盤
umount/dev/sdb
如果當(dāng)前目錄在/dev/sdb下則需要退出當(dāng)前分區(qū)
也可以直接用
umount-l/dev/sdb? umount-l/mnt/
mount
man mount 可以查看mount的具體用法
/defaults 可以查找默認(rèn)用法
找到下面這一行
Use default options: rw, suid, dev, exec, auto, nouser, and async.
rw讀寫權(quán)限
suid可以設(shè)置suid權(quán)限
dev,系統(tǒng)默認(rèn)不用管
exec可執(zhí)行
auto自動(dòng)掛載
nouser是否允許普通用戶掛載,默認(rèn)不允許
async 不實(shí)時(shí)同步內(nèi)存的東西到磁盤(減輕磁盤壓力)
mount -o remount,rw/dev/sdb? //重新掛載
vi/etc/fstab? //系統(tǒng)開(kāi)機(jī)都掛載哪些文件
四、手動(dòng)增加虛擬內(nèi)存
ddif=/dev/zeroof=/tmp/newdisk? bs=1M count=100//創(chuàng)建虛擬磁盤
if指定源,一般寫/dev/zero,它是unix系統(tǒng)特有的一個(gè)文件,可以源源不斷的提供'0',of指定目標(biāo)文件,bs指定塊大小,count指定塊的數(shù)量
mkswap -f /tmp/newdisk//格式化為swapswapon? /tmp/newdisk//將新建的swap加載free-m//顯示內(nèi)存使用大小,-m指定單位為mswapoff? /tmp/newdisk//將虛擬內(nèi)存卸載
五、lvm
lvm創(chuàng)建過(guò)程
創(chuàng)建物理卷創(chuàng)建卷組創(chuàng)建邏輯分區(qū)格式化為需要的格式掛載分區(qū)
具體介紹日志
fdisk /dev/sdb
t 選擇分區(qū),8e //將分區(qū)轉(zhuǎn)換為lvm格式 ,w退出
創(chuàng)建物理卷
1.
yumprovides"/*/pvcreate"
通配查詢pvcreate命令的軟件包名
yum install -y lvm2//安裝lvm
partprobe //生成分區(qū)文件
2.
pvcreate/dev/sdb1pvcreate? /dev/sdb2pvcreate? /dev/sdb3
pvdisplay查看已經(jīng)創(chuàng)建的物理卷
創(chuàng)建卷組
1.pvs
可以直觀的查看物理卷有哪些
2.創(chuàng)建卷組,將sdb1和sdb2設(shè)置為一個(gè)卷組
vgcreatevg1 /dev/sdb1 /dev/sdb2
vgdisplay可以查看卷組信息
創(chuàng)建邏輯分區(qū)
lvcreate-L100M-n lv1 vg1
從vg1卷組中創(chuàng)建名字為lv1大小100M的邏輯分區(qū)
-L指定分區(qū)大小
-n指定分區(qū)名字
將分區(qū)格式化為ext4格式
mkfs.ext4 /dev/vg1/lv1
然后將文件掛載
mount/dev/vg1/lv1 /mnt
ext4擴(kuò)容邏輯分區(qū)
umount/mnt///卸載分區(qū)lvresize -L200M/dev/vg1/lv1? //擴(kuò)展分區(qū)e2fsck -f/dev/vg1/lv1? //檢查磁盤是否有錯(cuò)誤resize2fs/dev/vg1/lv1? //更新邏輯分區(qū)大小,不然重新掛載會(huì)無(wú)法識(shí)別擴(kuò)容的大小
ext4縮容
umount/mnt///卸載分區(qū)e2fsck -f/dev/vg1/lv1? ? //檢查磁盤是否有錯(cuò)誤resize2fs/dev/vg1/lv1 100M? //將分區(qū)縮小為100Mlvresize -L100M/dev/vg1/lv1? ? //重新設(shè)置卷大小
xfs擴(kuò)容
1.擴(kuò)容與縮容不會(huì)更改分區(qū)中的文件,xfs只可以擴(kuò)容不可以縮容;
2.如果磁盤已經(jīng)掛載要先umount 卸載
然后格式化為xfs.
mkfs.xfs-f/dev/vg1/lv1
XFS的擴(kuò)容不需要先卸載,直接擴(kuò)容即可
lvresize -L200M /dev/vg1/lv1? xfs_growfs/dev/vg1/lv1? //更新分區(qū)大小
關(guān)于擴(kuò)容縮容的總結(jié)
ext4可以擴(kuò)容和縮容而且需要卸載后操作,xfs只可以擴(kuò)容,不需要卸載
ext4擴(kuò)容
lvresize -L 100M /dev/vg1/lv1e2fsck-f/dev/vg1/lv1resize2fs /dev/vg1/lv1
縮容
e2fsck-f/dev/vg1/lv1resize2fs /dev/vg1/lv1 100Mlvresize -L 100M /dev/vg1/lv1
xfs擴(kuò)容
lvresize-L100M/dev/vg1/lv1xfs_growfs /dev/vg1/lv1
在分區(qū)空間用完之后就需要擴(kuò)容卷組,然后再擴(kuò)容
卷組擴(kuò)容
vgextendvg1 /dev/sdb3
將 /dev/sdb3加入到vg1卷組
步驟:1 使用fdisk命令識(shí)別硬盤信息
# sudo fdisk -l
步驟:2 掃描硬盤的損壞扇區(qū)或區(qū)塊
# sudo badblocks -v /dev/sdb /tmp/bad-blocks.txt
只需將“/dev/sdb”替換為自己機(jī)器的硬盤/分區(qū)。執(zhí)行完成上述命令后,一個(gè)名為“bad-blocks”文本文檔將會(huì)在/tmp下創(chuàng)建,它將包含所有的損壞區(qū)塊。
1、linux分區(qū)
--在linux里面所有的設(shè)備、任何東西,在linux看來(lái)都是文件。
--文件在它看來(lái),有兩種形式:
第一種是字符型(鍵盤輸入、打印機(jī));
第二種是二進(jìn)制型(硬盤、光驅(qū)、U盤)
--linux中所有硬件
--手動(dòng)分區(qū)
--A、至少有兩個(gè)分區(qū)
/ 根分區(qū)
SWAP 交換分區(qū)(物理內(nèi)存大小的兩倍)
--B、個(gè)人桌面分區(qū)
/
/boot 128MB is enough
/usr
SWAP
/tmp(用于光盤刻錄)
2、linux目錄說(shuō)明
--/dev/xxyN
--xx (分區(qū)所在設(shè)備類型:hd--IDE硬盤 sd--SCSI硬盤)
--y (標(biāo)明分區(qū)所在設(shè)備
例如:/dev/hda 第一個(gè)IDE硬盤 或 /dev/hdb 第二個(gè)IDE硬盤 或 /dev/sdb 第二個(gè)SCSI硬盤)
--N (數(shù)字代表分區(qū):1-4--主分區(qū)或擴(kuò)展分區(qū);邏輯分區(qū)從5開(kāi)始!
例如:/dev/hda3 第一個(gè)IDE硬盤上的第三個(gè)主分區(qū)或擴(kuò)展分區(qū)
/dev/sdb6 第二個(gè)SCSI硬盤上的第二個(gè)邏輯分區(qū))
3、linux目錄結(jié)構(gòu)
/ 根目錄,最高級(jí)別
/bin 系統(tǒng)基本命令存放目錄(/usr/bin)
/boot linux的內(nèi)核及引導(dǎo)系統(tǒng)程序文件存放目錄(如:vmlinuz、initrd.img)
一般情況下,GRUB或LILO系統(tǒng)引導(dǎo)管理也位于這個(gè)目錄
/dev 設(shè)備文件存儲(chǔ)目錄,如聲卡、光驅(qū)...
/ect 存放系統(tǒng)設(shè)置文件(如用戶賬號(hào)密碼、服務(wù)器配置文件等)
/home 普通用戶家目錄,默認(rèn)存放目錄
/lib 庫(kù)文件存放目錄
/lost+found 在ext2或ext3文件系統(tǒng)中,當(dāng)系統(tǒng)以外崩潰或機(jī)器意外關(guān)機(jī),而產(chǎn)生一些文件碎片放在這里。
當(dāng)系統(tǒng)啟動(dòng)的過(guò)程中,fsck工具會(huì)檢查這里,并修復(fù)已經(jīng)損壞的文件系統(tǒng)。
有事喜用發(fā)生問(wèn)題,有很多的文件被移到這個(gè)目錄中,可能會(huì)用手工的方式來(lái)修復(fù),或者移文件到原來(lái)的位置上。
/media 即插即用型存儲(chǔ)設(shè)備的掛載點(diǎn)自動(dòng)在這個(gè)目錄下創(chuàng)建。
如USB盤系統(tǒng)自動(dòng)掛在后,會(huì)在這個(gè)目錄下產(chǎn)生一個(gè)目錄;
類似cdrom的目錄
/mnt 存放掛載存儲(chǔ)設(shè)備的掛載目錄,如cdrom等目錄
/opt 表示可選的意思,有些軟件包也會(huì)被安裝在此,也就是自定義軟件包,
比如OpenOffice,或者一些我們自己編譯的軟件包,也可安裝此處。
/proc 操作系統(tǒng)運(yùn)行時(shí),進(jìn)程(正在運(yùn)行的程序)信息及內(nèi)核信息(比如CPU、硬盤分區(qū)、內(nèi)存信息等)存放在此。
/proc目錄是偽裝的文件系統(tǒng)proc的掛載目錄,proc并不是真正的文件系統(tǒng)
/root linux超級(jí)權(quán)限用戶root的家目錄
/sbin 大多是涉及系統(tǒng)管理的命令的存放,只有超級(jí)權(quán)限用戶root才可執(zhí)行命令存放,普通用戶無(wú)權(quán)限執(zhí)行此目錄下的命令
與 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目錄相似
(sbin,只有root權(quán)限才能執(zhí)行)
/tmp 臨時(shí)文件目錄,有時(shí)用戶運(yùn)行程序的時(shí)候,會(huì)產(chǎn)生臨時(shí)文件。
/var/tmp目錄和此目錄相似
/usr 系統(tǒng)存放程序的目錄,如命令、幫助文件等。這個(gè)目錄下有很多的文件和目錄。
大部分Linux發(fā)行版提供的軟件包都安裝在此,涉及服務(wù)器的配置文件就安裝在/ect中。
/usr/share/fonts 字體目錄
/usr/share/man 或 /usr/share/doc 幫助目錄
/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通用戶可執(zhí)行文件目錄
/usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超級(jí)權(quán)限用戶root可執(zhí)行命令存放目錄
/usr/include 程序頭文件存放目錄
/var (vary)此目錄經(jīng)常變動(dòng)
/var/log 用來(lái)存放系統(tǒng)日志
/var/www 用來(lái)定義Apache服務(wù)器站點(diǎn)存放
/var/lib 用來(lái)存放一些庫(kù)文件,如MySQL的,以及MySQL數(shù)據(jù)庫(kù)的存放地。
4、基本命令
--查看幫助 *** --help *** --?
--查看詳細(xì)幫助 man ***
--登錄 login
--退出窗口 exit
--關(guān)機(jī) shutdown
--重啟 reboot
--初始化 init (run level -/etc/inittab),0-6看第六部分的g
--進(jìn)入根目錄 cd /
--回上層目錄 cd ..
--相對(duì)路徑 cd dev
--絕對(duì)路徑 cd /dev
--查用戶名 whoami
--查當(dāng)前目錄 pwd
--列出當(dāng)前目錄內(nèi)容 ls
-l(樹詳細(xì)顯示目錄內(nèi)容)
-m(橫列顯示目錄內(nèi)容,是屏幕長(zhǎng)度顯示)
-a(列出全部文件,包括隱藏文件)
-S(以文檔大小排序)
--創(chuàng)建目錄 mkdir dname
--刪除目錄 rmdir dname
rm -r *** -(遞歸刪除該目錄下所有內(nèi)容,詢問(wèn)每個(gè)準(zhǔn)備刪除的文件)
rm -rf ***-(強(qiáng)制刪除該目錄下所有內(nèi)容,不詢問(wèn))
--創(chuàng)建空白文件 touch ***
(ps:從技術(shù)的角度來(lái)講,linux的文件后綴名沒(méi)有任何意義)
--復(fù)制 cp
cp -r **1 **2 (復(fù)制1到2中)
--移動(dòng) mv
mv -t **1 **2 (把2移動(dòng)到1中)
--編輯文本 vi [文件名]
--查看文本 cat 由第一行開(kāi)始顯示文本內(nèi)容
tac 從最后一行顯示,可以看出 tac 是 cat 的倒著寫
more 一頁(yè)一頁(yè)的顯示文檔內(nèi)容
less 與 more 類似,可以往前翻頁(yè)
head 只看頭幾行
-N(數(shù)字,可根據(jù)行數(shù)顯示)
tail 只看后幾行
-N(數(shù)字,可根據(jù)行數(shù)顯示)
nl 顯示的時(shí)候,順序輸出行號(hào)
od 以二進(jìn)制位的方式讀取檔案內(nèi)容
--查找文本 find [路徑][查找類型][搜索文件名]
如查找rc.local find /etc -name *.local
--查找命令信息及其位置 whereis 命令
如 whereis ls
--查看環(huán)境變量 echo $SHELL
如 echo $PATH (分大小寫:分隔符是:,windows是echo %path%;)
--鏈接 ln
如 ln joe.txt a (硬鏈接,如同復(fù)制一個(gè)新文件,joe.txt刪除后,a還存在)
a是鏈接的名稱,a和joe.txt同步,然后a的內(nèi)容和joe.txt一樣
joe.txt改變,a也跟著變
如 ln -s joe.txt b (軟鏈接,如同創(chuàng)建一個(gè)快捷方式,joe.txt刪除后,b不存在)
--wc 統(tǒng)計(jì)指定文本文件的行數(shù)、字?jǐn)?shù)、字符數(shù)
--grep(很常用) 在指定的文本文件中查找指定的字符串
grep 字符串 文件名
--col 見(jiàn)管道..
--------------------
----信息顯示命令----
--------------------
--date 顯示和設(shè)置日期
--stat 顯示指定文件的相關(guān)信息
--who、w 顯示在線登錄用戶
--whoami 顯示用戶自己的身份
--id 顯示當(dāng)前用戶的id信息
--hostname 顯示主機(jī)名稱
--uname 顯示操作系統(tǒng)信息
--dmesg 顯示系統(tǒng)啟動(dòng)信息
--du 顯示指定的文件(目錄)已使用的磁盤空間
--df 顯示文件系統(tǒng)磁盤空間的使用情況
--free 顯示當(dāng)前內(nèi)存和交換空間的使用情況
--fdisk -l 顯示磁盤信息
--locale 顯示當(dāng)前語(yǔ)言環(huán)境
5、掛載點(diǎn)(mount 設(shè)備目錄 掛載目錄)
--訪問(wèn)設(shè)備 (那設(shè)備當(dāng)成一個(gè)文件,和另外一個(gè)文件夾進(jìn)行綁定)
--例如掛載光驅(qū):步驟 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接訪問(wèn)光驅(qū)內(nèi)容
--卸載掛載設(shè)備(umount /dev/cdrom)--注意必須先退出掛載目錄,否則出現(xiàn)"device is busy"錯(cuò)誤.
6、startup-shutdown(linux啟動(dòng)流程)
--A、boot sequence(important) linux啟動(dòng)過(guò)程
a. load bios(hardware information)
b. read MBR's config to find out the OS
(MBR--Master Boot Record,硬盤第一個(gè)物理扇區(qū),柱面0、磁頭0、扇區(qū)1,包含主引導(dǎo)程序和硬盤分區(qū)表)
c. load the kernel of the OS
(加載為kernel核心的OS)
d. init process starts...
(啟動(dòng)linux第一個(gè)進(jìn)程init)
e. execute /etc/rc.d/sysinit
(執(zhí)行系統(tǒng)最重要的配置文件,后臺(tái)啟用進(jìn)程)
(rc.d--run command)
f. start other modules(stc/modules.conf)
(開(kāi)啟各種模塊,如內(nèi)存管理模塊、硬盤管理模塊)
g. execute the run level scripts
(系統(tǒng)啟動(dòng)是分層次的,根據(jù)情況執(zhí)行,每個(gè)層次之間沒(méi)關(guān)系)
0 - 系統(tǒng)停機(jī)狀態(tài)
1 - 單用戶工作狀態(tài) root
2 - 多用戶狀態(tài)(沒(méi)有NFS)
3 - 多用戶狀態(tài)(有NFS)
NFS - Network File System 網(wǎng)絡(luò)文件系統(tǒng),聯(lián)網(wǎng)系統(tǒng)
4 - 系統(tǒng)未使用,留給用戶
5 - 圖形界面
6 - 系統(tǒng)正常關(guān)閉并重新啟動(dòng)
如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多個(gè)文件夾,保存著各個(gè)層次執(zhí)行的進(jìn)程文件
h. execute /etc/rc.d/rc.local (重要)
(保存其它進(jìn)程腳本,如tomcat自動(dòng)啟動(dòng),要修改此配置文件)
i. execute /bin/login
(登錄界面)
j. shell started...
7、vi 文本編輯器
--兩種模式:命令模式 編輯模式
--vi [文件名]
(切換到編輯模式)
a append-光標(biāo)后添加
i insert-光標(biāo)前插入
o open-另起一行編輯
esc (切換回命令模式)
:w 存盤
:wq 存盤退出
:q 退出
:q! 不存盤退出
dd 刪除其中一行
dw 刪除一個(gè)單詞
(sudo gedit 文本 常用linux下的文本編輯器,比vi好用)
8、用戶設(shè)置
--切換用戶(switch user) su username
小技巧:直接exit切換
--添加用戶 useradd username [-g] [組名](分配到某個(gè)用戶組)
(創(chuàng)建后會(huì)自動(dòng)在/home目錄下創(chuàng)建該新用戶的文件夾,如/home/username)
--設(shè)置密碼 passwd username
--cd /etc
--查看用戶信息 more password
如新增的用戶信息:username:x:500:500::/home/username:/bin/bash
第一個(gè)數(shù)字,代表用戶組,當(dāng)添加用戶沒(méi)有指定用戶組時(shí),系統(tǒng)會(huì)創(chuàng)建一個(gè)和用戶ID一樣的組ID;
第二個(gè)數(shù)字:用戶ID號(hào);
用戶的目錄是/home/username;
用戶的SHELL是/bin/bash
(命令---SHELL[解釋命令]---kenrel內(nèi)核)
SHELL有多種類型,如csh、bash(常用)、bsh、ksh、sh(最原始)
--添加用戶組 groupadd groupname
--查看用戶組信息 more group
--刪除用戶組 groupdel groupname
--修改用戶 usermod [-g] [組名] [用戶名]
--刪除用戶 userdel username
然后把/home的文件夾刪除了 rm -rf 文件夾
9、權(quán)限file privilege
--linux把文件的權(quán)限分成四種:r:read w:write x:execute -:none
如:-rw-r--r--
lrwxrwxrwx
drwxr-xr-x
drwxr-xr-x
第一個(gè)數(shù)字'-'代表文件,其余是文件夾,后9位分為3組,每組有四種權(quán)限設(shè)置rwx-
第一位表示文件所有者
第二位表示和所有者在同一用戶組的用戶
第三位表示不在同一用戶組的用戶權(quán)限
--設(shè)置權(quán)限 (隨意應(yīng)用,靈活組合!)
1、普通用法
--添加權(quán)限 [chmod +x 文件]
如:-rw-r--r-- --- -rwxr-xr-x
--刪除權(quán)限 [chmod -x 文件]
如:-rwxr-xr-x --- -rw-r--r--
--給自己添加權(quán)限 [chmod ?+x 文件]
如此類推,組--g,其他人--o
如:chmod u+x -rw-r--r-- --- -rwxr--r--
chmod g+x -rw-r--r-- --- -rw-r-xr--
chmod o+x -rw-r--r-- --- -rw-r--r-x
2、專業(yè)用法 chmod 755/777
--原理,八進(jìn)制轉(zhuǎn)二進(jìn)制
如755,111 101 101, rwx r-x r-x
777,111 111 111, rwx rwx rwx
--修改所有者權(quán)限 chown (change owner)
如:chown 原來(lái)文件 file1 的所有者是 root,改成joe的
chown joe file1
10、管道(把上一個(gè)命令執(zhí)行的結(jié)果交給下一個(gè)命令)
--使用方法:
命令1|命令2|命令3......|命令n
--使用舉例
--$ls -Rl /etc | more
(如 ls -Rl /etc (在控制臺(tái)模式下,無(wú)法返回前面過(guò)去的信息),因此需要管道執(zhí)行該查詢,實(shí)現(xiàn)分頁(yè)的工作, ls -Rl /etc | more)
--$cat /etc/passwd | wc
(顯示文件結(jié)果,再數(shù)數(shù)有多少行)
--$cat /etc/passwd | grep lrj
(顯示文件結(jié)果,再查找包含lrj的行)
--#dmesg | grep eth0
(顯示系統(tǒng)啟動(dòng)的信息,再查找包含eth0的行--真正含義,檢查網(wǎng)卡執(zhí)行信息是否正常)
--$man bash | col -b bash.txt
語(yǔ)法:col [-bfx][-l緩沖區(qū)列數(shù)]
補(bǔ)充說(shuō)明:在許多UNIX說(shuō)明文件里,都有RLF控制字符。當(dāng)我們運(yùn)用shell特殊字符""和"",把說(shuō)明文件的內(nèi)容輸出成純文本文件時(shí),控制字符會(huì)變成亂碼,col指令則能有效濾除這些控制字符。
參數(shù):
-b 過(guò)濾掉所有的控制字符,包括RLF和HRLF。
-f 濾除RLF字符,但允許將HRLF字符呈現(xiàn)出來(lái)。
-x 以多個(gè)空格字符來(lái)表示跳格字符。
-l緩沖區(qū)列數(shù) 預(yù)設(shè)的內(nèi)存緩沖區(qū)有128列,您可以自行指定緩沖區(qū)的大小。
--$ls -l | grep "^d"
(用正則表達(dá)式篩選出目錄列表中 頭字母為'd' 的內(nèi)容--目錄)(^是正則表達(dá)式開(kāi)頭部分)
--$ls -l * | grep "^-" | wc -l
(列出目錄列表中 頭字符為'-'的內(nèi)容--文件,并統(tǒng)計(jì)顯示的行數(shù)wc -l)
11、其他命令
--wall(warning all) 通知所有人
a.命令替換
如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r)
b.重定向
重定向輸出:
如 ls cmd.txt ,把文件寫到cmd.txt,不輸出在控制臺(tái)
ls cmd.txt ,把文件追加寫到cmd.txt
重定向輸入:
如 wall cmd.txt,把文本內(nèi)容發(fā)給所有人
12、修改系統(tǒng)的默認(rèn)系統(tǒng)級(jí)別
常用3和5
3 - 多用戶狀態(tài)(有NFS)
NFS - Network File System 網(wǎng)絡(luò)文件系統(tǒng),聯(lián)網(wǎng)系統(tǒng)
5 - 圖形界面
PS.設(shè)置用戶權(quán)限: sudo chmod 777 目錄
4表示讀,2表示寫,1表示執(zhí)行.
第一位表示文件所有者,第二位表示和所有者在同一用戶組的用戶,第三位表示不在同一用戶組的用戶權(quán)限.
755表示文件所有者可讀寫,執(zhí)行.
第二位5表示與所有者在同一用戶組的可讀,可執(zhí)行,不可寫.
第三位5表示其它組可讀,可執(zhí)行,不可寫. 轉(zhuǎn)載于Joewalker在本人空間也有詳細(xì)說(shuō)明