linux基礎(chǔ)琐谤,用戶登錄信息、進(jìn)程管理玩敏、磁盤管理

服務(wù)器用戶登錄信息笑跛、進(jìn)程管理、磁盤管理

一. 用戶登錄信息命令

whoami --類似$USER

who --當(dāng)前系統(tǒng)的登錄信息

w --比who的信息更多

users --顯示who的第一列

uptime --登錄的時(shí)間和負(fù)載

tty --查看當(dāng)前終端

who am i --查看當(dāng)前終端的信息

  • who

root tty1 2014-07-21 15:02 (:0)

root pts/0 2014-07-21 15:02 (:0.0)

root pts/1 2014-07-21 15:02 (:0.0)

root pts/2 2014-07-21 16:09 (:0.0)

last --登錄成功的信息聊品,讀取/var/log/wtmp日志文件

lastb --登錄失敗的信息飞蹂,讀取/var/log/btmp日志文件

lastlog --不同用戶最后一次登錄的信息,讀取/var/log/lastlog日志文件

  • file /var/log/wtmp --查看一個(gè)文件的類型,一般來(lái)說只ascii或text類型的文件可以直接cat翻屈,這種數(shù)據(jù)類型看不了陈哑,只能用專門的程序去讀取,此文件就是用last命令來(lái)看
    /var/log/wtmp: data

二. 進(jìn)程管理

  • 1. ps命令

ps - report a snapshot of the current processes.

# ps 

PID TTY TIME CMD

6125 pts/5 00:00:00 bash

6134 pts/5 00:00:00 ps

pstree --顯示系統(tǒng)當(dāng)前所有進(jìn)程及其關(guān)系

# cat /proc/3429/status |head -5

Name: ibus-daemon

State: S (sleeping)

Tgid: 3429

Pid: 3429

PPid: 3244

# cat /proc/3244/status |head -5

Name: im-settings-dae

State: S (sleeping)

Tgid: 3244

Pid: 3244

PPid: 1

# cat /proc/1/status |head -5

Name: init

State: S (sleeping)

Tgid: 1

Pid: 1

PPid: 0

ps -ef 或 ps aux等

# ps -ef |grep firefox |grep -v grep

root 6395 6125 2 16:38 pts/5 00:00:00 /usr/lib64/firefox/firefox

PID 進(jìn)程號(hào)

PPID 父進(jìn)程

特殊的進(jìn)程:

0號(hào):負(fù)責(zé)系統(tǒng)啟動(dòng)和啟動(dòng)1號(hào)2號(hào)進(jìn)程伸眶,啟動(dòng)之后變成空閑進(jìn)程

1號(hào):負(fù)責(zé)啟動(dòng)其他進(jìn)程惊窖,/sbin/init,負(fù)責(zé)啟動(dòng)終端(tty)

2號(hào):負(fù)責(zé)啟動(dòng)其他系統(tǒng)需要的資源和進(jìn)程

(idle) |--->1號(hào)進(jìn)程(init)---> ......

0號(hào)進(jìn)程--|

|--->2號(hào)進(jìn)程(kthreadd)---> ......

  • 2. kill命令

kill - terminate a process

kill命令是用來(lái)給一個(gè)特定的pid發(fā)送信號(hào)的

# kill -l --查看所有的信號(hào)

1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP

6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1

11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM

16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP

21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ

26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR

31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3

38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8

43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13

48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12

53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7

58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2

63) SIGRTMAX-1 64) SIGRTMAX

常見的信號(hào)

1 SIGHUP 掛斷

2 SIGINT 中斷厘贼,ctrl+c

3 SIGQUIT 退出界酒,ctrl+ 或 ctrl+shift+|

9 SIGKILL 終止

10 SIGUSR1 用戶自定義

15 SIGTERM kill命令默認(rèn)信號(hào)

kill -9 等于 kill -SIGKILL

kill -15 等于 kill -SIGTERM

kill -1 等于 kill -SIGHUP

kill -10 等于 kill -SIGUSR1

實(shí)驗(yàn)驗(yàn)證:

# yum install httpd*

# /etc/init.d/httpd restart

# ps -ef |grep httpd |grep -v grep

root 2681 1 0 15:02 ? 00:00:00 /usr/sbin/httpd

apache 2688 2681 0 15:02 ? 00:00:00 /usr/sbin/httpd

apache 2689 2681 0 15:02 ? 00:00:00 /usr/sbin/httpd

apache 2690 2681 0 15:02 ? 00:00:00 /usr/sbin/httpd

apache 2691 2681 0 15:02 ? 00:00:00 /usr/sbin/httpd

apache 2692 2681 0 15:02 ? 00:00:00 /usr/sbin/httpd

apache 2693 2681 0 15:02 ? 00:00:00 /usr/sbin/httpd

apache 2694 2681 0 15:02 ? 00:00:05 /usr/sbin/httpd

apache 2695 2681 0 15:02 ? 00:00:00 /usr/sbin/httpd

或者使用

# lsof -i:80

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

httpd 2681 root 4u IPv6 15655 0t0 TCP *:http (LISTEN)

httpd 2688 apache 4u IPv6 15655 0t0 TCP *:http (LISTEN)

httpd 2689 apache 4u IPv6 15655 0t0 TCP *:http (LISTEN)

httpd 2690 apache 4u IPv6 15655 0t0 TCP *:http (LISTEN)

httpd 2691 apache 4u IPv6 15655 0t0 TCP *:http (LISTEN)

httpd 2692 apache 4u IPv6 15655 0t0 TCP *:http (LISTEN)

httpd 2693 apache 4u IPv6 15655 0t0 TCP *:http (LISTEN)

httpd 2694 apache 4u IPv6 15655 0t0 TCP *:http (LISTEN)

httpd 2695 apache 4u IPv6 15655 0t0 TCP *:http (LISTEN)

實(shí)驗(yàn)1:

# kill -9 2681

# ps -ef |grep httpd |grep -v grep --再去看,發(fā)現(xiàn)8個(gè)子進(jìn)程還在嘴秸,網(wǎng)站也還可以正常訪問

# /etc/init.d/httpd restart --重啟服務(wù)報(bào)錯(cuò),解決方法毁欣,全kill掉重啟

父進(jìn)程終止之后,1號(hào)進(jìn)程會(huì)收養(yǎng)孤兒進(jìn)程

批量殺進(jìn)程的方法

1,kill -9 2688 2689 ......

2,ps -ef |grep httpd |grep -v grep |awk '{print $2}' |xargs kill -9

3,pgrep httpd |xargs kill -9

4,killall httpd

5,pkill httpd

6,skill httpd

7,kill -9 pidof httpd

實(shí)驗(yàn)2:

# kill -15 pid --相比于kill -9來(lái)說岳掐,它會(huì)把所有子進(jìn)程一起殺掉

實(shí)驗(yàn)3:

# kill -HUP pid --進(jìn)程沒有被殺凭疮,只是子進(jìn)程pid變了,相當(dāng)/etc/init.d/httpd reload
  • 3. trap命令

Trap signals and other events.

捕獲信號(hào)串述,在接收到信號(hào)后將要采取動(dòng)作执解。

格式:

trap command signal

它有三種形式分別對(duì)應(yīng)三種不同的信號(hào)回應(yīng)方式。

第一種:

trap "commands" signal-list

當(dāng)腳本收到signal-list清單內(nèi)列出的信號(hào)時(shí)纲酗,trap命令執(zhí)行雙引號(hào)中的命令衰腌。

第二種:

trap signal-list

trap不指定任何命令,或者是 "-" 觅赊,接受信號(hào)的默認(rèn)操作右蕊,默認(rèn)操作是結(jié)束進(jìn)程的運(yùn)行。

第三種:

trap "" signal-list

trap命令指定一個(gè)空命令串茉兰,允許忽視信號(hào)尤泽,我們用到的就是這一種。

如果要重置某個(gè)信號(hào)的處理?xiàng)l件到其默認(rèn)值,只需簡(jiǎn)單的將command設(shè)置為-或者留空坯约。如果要忽略某個(gè)信號(hào)熊咽,就把command設(shè)置為空字符串 ""。一個(gè)不帶參數(shù)的trap命令將列出當(dāng)前設(shè)置的信號(hào)及其行動(dòng)的清單闹丐。

※ 腳本程序通常是以從上到下的順序解釋執(zhí)行的横殴,所以必須在你想保護(hù)的那部分代碼以前指定trap命令。

例:trap "echo no way" 1 2 3 9 --指定了命令卿拴,如果遇到 HUP INT QUIT KILL 信號(hào)衫仑,則執(zhí)行 echo no way 命令

trap -l --列出所有的信號(hào)

trap -p --列出信號(hào)的處理辦法

trap "" INT QUIT --遇到 INT 和 QUIT 信號(hào),則忽略堕花,什么也不做

trap 1 2 3 9 --沒有指定命令部分文狱,恢復(fù) HUP INT QUIT KILL 這些信號(hào)設(shè)置;

  • 4. job管理

linux下有前臺(tái)和后臺(tái)的概念缘挽,每個(gè)bash終端都可以運(yùn)行自己的job瞄崇,注意不能跨bash終端管理

& --后臺(tái)運(yùn)行符號(hào),運(yùn)行的程序不會(huì)占用你的終端

# firefox &

[1] 6003 --1代表job號(hào)壕曼,6003代表的就是pid(process identification)

# vim /etc/passwd --在這里按下ctrl+z鍵苏研,作用是把job暫停到后臺(tái),SIGSTOP

[2]+ Stopped vim /etc/passwd

# vim /etc/shadow --再按ctrl+z放到后臺(tái)腮郊,與ctrl+c(中斷)不同

[3]+ Stopped vim /etc/shadow

# jobs --列出后臺(tái)job列表摹蘑,別的終端看不到的

[1] Running firefox &

[2]- Stopped vim /etc/passwd

[3]+ Stopped vim /etc/shadow

jobs -l --還要列出pid號(hào)

jobs -s --只列出暫停的jobs

jobs -r --只列出運(yùn)行的jobs

# fg %1 --把一號(hào)job的firefox 調(diào)到前臺(tái)

firefox

fg = foreground --前臺(tái)

# jobs -l

[1]+ 6003 Stopped firefox

[2] 6036 Stopped vim /etc/passwd

[3]- 6074 Stopped vim /etc/shadow

# kill %1

%number 引用后臺(tái)作業(yè)

%% 當(dāng)前作業(yè)

%+ 當(dāng)前作業(yè)

%- 前一個(gè)作業(yè)

# jobs -l

[1]+ 9815 Stopped firefox

  • bg %1 --把1號(hào)job的firefox由stop狀態(tài)放到后臺(tái)執(zhí)行,就是變?yōu)閞unning狀態(tài)
# jobs -l

[1] 6003 Running firefox &

[2]- 6036 Stopped vim /etc/passwd

[3]+ 6074 Stopped vim /etc/shadow

bg = background --后臺(tái)

# cp /soft/* /test/ -rf --如果你要做一個(gè)大文件的拷貝轧飞,
不加后臺(tái)符號(hào)這個(gè)終端就只能等它拷完才能用
# cp /soft/* /test/ -rf & --所以可以加一個(gè)后臺(tái)符號(hào)讓它在后臺(tái)拷就行

但這里還考慮一個(gè)問題衅鹿,如果它還沒有拷完,而我不小心把這個(gè)終端關(guān)了,那么這個(gè)程序也會(huì)停止踪少,造成沒拷完的情況

所以把要做的事鎖定到后臺(tái)塘安,在前面加一個(gè)nohup命令就可以了

# nohup cp /soft/* /test/ -rf & 

--你可以測(cè)試一下糠涛,把再次把終端關(guān)閉援奢,再開一個(gè)終端查看,用jobs -l也是看不到這個(gè)job(因?yàn)閾Q了終端)忍捡,但是拷貝仍在繼續(xù))

5. 查看系統(tǒng)有關(guān)信息的相關(guān)命令

top free nice renice (vmstat,iostat,mpstat,sar等)

top - 17:44:59 up 43 min, 3 users, load average: 0.00, 0.08, 0.23

Tasks: 212 total, 3 running, 209 sleeping, 0 stopped, 0 zombie

Cpu(s): 5.2%us, 3.0%sy, 0.0%ni, 90.2%id, 1.0%wa, 0.2%hi, 0.3%si, 0

Mem: 3798572k total, 3643268k used, 155304k free, 52644k buffers

Swap: 524280k total, 0k used, 524280k free, 3055808k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

3596 root 20 0 90576 39m 1808 S 10.3 1.1 4:10.20 x0vncserver 2957 root 20 0 134m 16m 8580 R 7.6 0.4 2:59.39 Xorg

3562 root 20 0 306m 14m 9860 S 1.3 0.4 0:04.03 gnome-termin

11 root 20 0 0 0 0 R 0.7 0.0 0:04.99 events/0

1 root 20 0 19348 1456 1148 S 0.0 0.0 0:00.78 init

..............

top第一行的數(shù)據(jù)也可以用uptime或w來(lái)查看

load average: 0.08, 0.12, 0.08--分別代表cpu一分鐘內(nèi)集漾,五分鐘內(nèi),十五分鐘內(nèi)的平均負(fù)載

進(jìn)程狀態(tài)

s sleeping --睡眠狀態(tài)砸脊,有可能會(huì)被其它信號(hào)或者程序喚醒

R running --運(yùn)行狀態(tài)

Z zombie --僵死進(jìn)程

D --不可中斷的睡眠具篇,一般是等待硬件的喚醒

T --進(jìn)程暫停

top -b -n 2 > /root/Desktop/top.txt --把top的輸出內(nèi)容重定向到一個(gè)文件

top的信息從哪來(lái)?

/proc

--查看內(nèi)存使用情況

# free

total used free shared buffers cached

Mem: 2065980 2012420 53560 0 73192 1569380

-/+ buffers/cache: 369848 1696132

Swap: 4096564 136 4096428

第一行:total 總的物理內(nèi)存

used 已經(jīng)使用的物理內(nèi)存

free 空閑的物理內(nèi)存

shared 共享內(nèi)存凌埂,它是用于unix與不同進(jìn)程之間的一個(gè)數(shù)據(jù)共享驱显,很少程序會(huì)用到,但是 oracle 會(huì)用到共享內(nèi)存 --ipcs查看共享內(nèi)存段的使用情況

buffers 緩沖區(qū),用于存儲(chǔ)速度不同步的設(shè)備或者優(yōu)先級(jí)不同的設(shè)備之間的傳輸數(shù)據(jù)的區(qū)域埃疫。通過緩沖區(qū)伏恐,可以使進(jìn)程之間的相互等待減少,從而使從速度慢的設(shè)備讀入數(shù)據(jù)時(shí)栓霜,速度快的設(shè)備的操作不發(fā)生間斷翠桦。

cached 因?yàn)閏pu的速度比內(nèi)存快,會(huì)設(shè)立一級(jí)緩存胳蛮,二級(jí)緩存的cache销凑。但linux下free命令這里的cached指的是page cache的內(nèi)存,文件系統(tǒng)的cache

2012420-73192-1569380 = 369848 --指的實(shí)實(shí)在在的程序用掉的內(nèi)存

53560+73192+1569380 = 1696132 --指的就是實(shí)際可挪用的內(nèi)存

2065980 =369848+1696132

--關(guān)于linux的內(nèi)存釋放

linux使用的內(nèi)存不會(huì)象windows那樣關(guān)掉一個(gè)進(jìn)程或者程序仅炊,馬上釋放內(nèi)存,而是都緩存起來(lái)(buffer+cache)

/proc/sys/vm/drop_caches

echo 3 > /proc/sys/vm/drop_caches --linux下內(nèi)存釋放在這里指的就是丟掉cache斗幼,把這個(gè)值改為3就可以,但實(shí)際沒有必要抚垄,實(shí)際生產(chǎn)環(huán)境不要亂用

linux的內(nèi)存工作原理?

cpu--> 內(nèi)存 --> 磁盤 (異步過程)

內(nèi)存會(huì)把使用過的數(shù)據(jù)緩存起來(lái)(buffer+cache)孟岛,以頁(yè)為單位(page size為4096byte)

內(nèi)存處理的數(shù)據(jù),滿足一定的條件(由一些內(nèi)核參數(shù)來(lái)控制督勺,比如默認(rèn)30秒渠羞,或者內(nèi)存臟數(shù)據(jù)達(dá)到一定比率等)才會(huì)寫到磁盤

# /usr/bin/time -v mysql

Major (requiring I/O) page faults: 36 --主要頁(yè)面故障,相當(dāng)于是內(nèi)存沒命中的次數(shù)

Minor (reclaiming a frame) page faults: 646 --次要頁(yè)面故障智哀,相當(dāng)于是內(nèi)存命中

# /usr/bin/time -v mysql --再執(zhí)行一次次询,主要頁(yè)面故障為0,表示被內(nèi)存緩存了瓷叫,命中了

小測(cè)試:

# /usr/bin/time -v firefox &

# /usr/bin/time -v firefox & --做兩次屯吊,對(duì)比打開時(shí)間和主要頁(yè)面故障等參數(shù)

# echo 3 > /proc/sys/vm/drop_caches

# /usr/bin/time -v firefox & --扔過緩存后,再執(zhí)行對(duì)比

什么時(shí)候才會(huì)用到swap摹菠?

一般來(lái)說是內(nèi)存不夠盒卸。但有些時(shí)候內(nèi)存里不常用的一些頁(yè)(page,為內(nèi)存的最小單位)linux也會(huì)把它暫時(shí)放到swap.(此過程沒必要去控制它次氨,只知道有這回事就行了)

6. 進(jìn)程優(yōu)先級(jí)(priority) nice renice

優(yōu)先級(jí)有一個(gè)數(shù)字范圍為-19到20蔽介,數(shù)字越小優(yōu)先級(jí)越高

優(yōu)先級(jí)高的進(jìn)程占用的資源(CPU,內(nèi)存等)較多

單核CPU,在同一個(gè)時(shí)間點(diǎn)內(nèi)也只能做一件事煮寡,那么它如何去跑多任務(wù)虹蓄。它其實(shí)把時(shí)間分片,然后通過中斷(硬件中斷和軟件中斷)在不同的任務(wù)間切換(上下文切換)幸撕。這種在不同任務(wù)間的間的調(diào)度叫進(jìn)程調(diào)度薇组。

# vim /tmp/1.sh

#!/bin/bash

a=0

while [ $a -le 1000000 ]

do

let a++

done

實(shí)驗(yàn)1:

兩個(gè)終端同時(shí)執(zhí)行下面兩條,服務(wù)器越卡坐儿,效果越明顯律胀。還可以開第三個(gè)終端打開top來(lái)比較兩者占用的資源

第一終端

# time sh /tmp/1.sh

real 0m13.745s

user 0m11.502s

sys 0m0.479s

第二終端

# time nice --19 sh /tmp/1.sh --這是表示指定優(yōu)先級(jí)為-19

real 0m11.835s

user 0m11.467s

sys 0m0.359s

實(shí)驗(yàn)2:

還是做上面的實(shí)驗(yàn)宋光,但用top查看到優(yōu)先級(jí)高的PID,然后用第四個(gè)終端速度使用renice 19 pid炭菌,把它優(yōu)先級(jí)改低

結(jié)果是改低后第二終端執(zhí)行時(shí)間變成比第一終端執(zhí)行時(shí)間長(zhǎng)了

總結(jié):普通用戶只能改自己管理的進(jìn)程的優(yōu)先級(jí)跃须,并且只能改低,不能改高娃兽。只有管理員才能把進(jìn)程優(yōu)先級(jí)改高

三. 磁盤管理

  • 1.fdisk和parted

raid(可選)-->遠(yuǎn)程存儲(chǔ)訪問(iscsi,gnbd)(可選)-->分區(qū)-->LVM(可選)-->格式化-->掛載-->分布式文件系統(tǒng)(可選)

今天我這里只討論

分區(qū)-->格式化-->掛載

MSDOS/GPT

相關(guān)的基本管理命令有fdisk,parted(如果是用的GPT分區(qū)菇民,則不能使用fdisk)

fdisk - Partition table manipulator for Linux (不能用于GPT分區(qū))

# fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes

255 heads, 63 sectors/track, 60801 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: 0x0003f808

Device Boot Start End Blocks Id System

/dev/sda1 * 1 33 262144 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 33 7682 61440000 8e Linux LVM

/dev/sda3 7682 7747 524288 82 Linux swap / Solaris
# fdisk /dev/sda

Command (m for help): m

Command action

a toggle a bootable flag --表示一個(gè)分區(qū)作為引導(dǎo)分區(qū)

b edit bsd disklabel

c toggle the dos compatibility flag

d delete a partition --刪除一個(gè)分區(qū)

l list known partition types --列出已知的分區(qū)類型

m print this menu

n add a new partition --增加一個(gè)分區(qū)

o create a new empty DOS partition table

p print the partition table --打印當(dāng)前的分區(qū)表

q quit without saving changes --不保存退出

s create a new empty Sun disklabel

t change a partition's system id --改變分區(qū)類型ID值

u change display/entry units

v verify the partition table

w write table to disk and exit --保存退出

x extra functionality (experts only)

分區(qū):如果你要分四個(gè)以上分區(qū),請(qǐng)把第四個(gè)分為extended擴(kuò)展分區(qū)

而且擴(kuò)展分區(qū)把多余的所有空間都劃分進(jìn)去投储,否則會(huì)造成空間的浪費(fèi)

Command (m for help): n

Command action

e extended

p primary partition (1-4)

e --第四個(gè)分區(qū)選e

Selected partition 4

First cylinder (7747-60801, default 7747): --直接回車

Using default value 7747

Last cylinder, +cylinders or +size{K,M,G} (7747-60801, default 60801): --直接回車第练,全劃分進(jìn)去

Using default value 60801

Command (m for help): n --第五個(gè)之后的分區(qū)就不會(huì)再問你是分e還是p類型

First cylinder (7747-60801, default 7747):

Using default value 7747

Last cylinder, +cylinders or +size{K,M,G} (7747-60801, default 60801): +1G --我這里劃分1G,用于測(cè)試

Command (m for help): w --保存

The partition table has been altered!
# partx -a /dev/sda 

--這樣去刷新一下,在rhel5里是用partprobe命令玛荞。如果刷新多次都不成功娇掏,就重啟你的系統(tǒng)

# ls /dev/sda* --用此命令看到你新分區(qū)的設(shè)備名有了,就表示OK了

/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5

格式化

# mkfs -t ext4 /dev/sda5

# mkfs.ext4 /dev/sda5 --這兩個(gè)命令任選其一去執(zhí)行

掛載

# mkdir /test

# mount /dev/sda5 /test

===========================================================

使用parted(可用于msdos分區(qū)和GPT分區(qū))分一個(gè)分區(qū)

# parted

GNU Parted 2.1

Using /dev/sda

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) help --查看幫助

(parted) print

Model: ATA WDC WD5000AAKX-0 (scsi)

Disk /dev/sda: 500GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Number Start End Size File system Name Flags

1 1049kB 211MB 210MB fat16 boot

2 211MB 420MB 210MB ext4

3 420MB 105GB 105GB ext4

4 105GB 210GB 105GB ext4

5 210GB 273GB 62.9GB ext4

6 273GB 277GB 4194MB linux-swap(v1)

(parted)

(parted) mkpart --分區(qū)勋眯,刪除分區(qū)就是rm

Partition name? []?

File system type? [ext2]? ext4

Start? 277GB

End? 278GB

(parted) print

Model: ATA WDC WD5000AAKX-0 (scsi)

Disk /dev/sda: 500GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Number Start End Size File system Name Flags

1 1049kB 211MB 210MB fat16 boot

2 211MB 420MB 210MB ext4

3 420MB 105GB 105GB ext4

4 105GB 210GB 105GB ext4

5 210GB 273GB 62.9GB ext4

6 273GB 277GB 4194MB linux-swap(v1)

7 277GB 278GB 755MB --剛分的新分區(qū)

(parted) quit
# partx -a /dev/sda

# mkfs -t ext4 /dev/sda7

# mkdir /notes

# mount /dev/sda7 /notes
  1. mount命令
# mount --查看現(xiàn)在的掛載信息

# df -h --查看當(dāng)前哪些分區(qū)掛載哪些目錄的對(duì)應(yīng)信息

# umount /fdisk/ 
--umount 時(shí)報(bào)busy的錯(cuò)誤婴梧,一般是因?yàn)橛谐绦蛘加茫畛R姷木褪莃ash占用客蹋,要先cd出來(lái)塞蹭,再umount

umount: /fdisk: device is busy

umount: /fdisk: device is busy

--如果cd出來(lái)了,umount時(shí)還是報(bào)busy錯(cuò)誤讶坯,嘗試一下下面兩條命令

# lsof /fdisk/

# fuser -k /fdisk/

--同一個(gè)目錄番电,可以被多個(gè)分區(qū)mount,但是只顯示最后一次mount的分區(qū)的內(nèi)容辆琅,umount的話漱办,就要一級(jí)一級(jí)的umount

--一個(gè)分區(qū)也可以掛載到多個(gè)目錄

mount的用法

掛載遠(yuǎn)程的NFS共享目錄

mount 10.0.0.2:/share/soft/ /mnt/

在虛擬機(jī)里,掛載光盤

mount /dev/cdrom /yum

mount /dev/sr0 /yum

掛載光盤 要加-o loop

mount /soft/rhel-server-6.3-x86_64-dvd.iso /mnt/ -o loop

mount -o loop /soft/rhel-server-6.3-x86_64-dvd.iso /mnt/

針對(duì)分區(qū)類型掛載

mount -t vfat /dev/sda10 /mnt

mount -t cifs /dev/sda10 /mnt

--cifs common internet file system windows網(wǎng)絡(luò)鄰居共享使用的就是此協(xié)議

mount 的特殊用法:

--當(dāng)你裝了兩個(gè)linux系統(tǒng)在同一臺(tái)機(jī)器上婉烟,進(jìn)入其中一個(gè)系統(tǒng)娩井,看不到另一個(gè)系統(tǒng)的文件信息,但是可以看到它的分區(qū) 似袁,可以在當(dāng)前系統(tǒng)建立一個(gè)目錄洞辣,把另一個(gè)系統(tǒng)的分區(qū)mount過來(lái),就可以使用另一個(gè)系統(tǒng)的文件了

--直接把windows的共享目錄給mount過來(lái)

mount -t cifs -o username=administrator //10.0.0.100/windowsshare /mnt

這樣使用的要注意的是 用戶名別打錯(cuò)了 共享名盡量簡(jiǎn)單 windows防火墻要關(guān)閉

雙系統(tǒng);一個(gè)windows和一個(gè)linux

如果你在linux上想拷windows里的東西叔营,直接掛載過來(lái)

上面的nfs的掛載和用cifs掛載windows共享的都可能出現(xiàn)一個(gè)問題:

當(dāng)你掛載了遠(yuǎn)端服務(wù)器的共享屋彪,但你沒有umount它,而服務(wù)器先關(guān)閉了绒尊,那么你這時(shí)這個(gè)掛載目錄會(huì)被卡死,象df -h這種命令也會(huì)卡住仔粥。

  1. 建立一個(gè)swap分區(qū)
# free -m

total used free shared buffers cached

Mem: 2017 964 1052 0 123 529

-/+ buffers/cache: 312 1705

Swap: 4000 0 4000 --這里
  1. 使用一個(gè)新建的分區(qū)作為swap分區(qū)

新建出一個(gè)分區(qū) 我這里是1G大小

# mkswap /dev/sda12 --格式為swap分區(qū)類型

Setting up swapspace version 1, size = 1011671 kB

# swapon /dev/sda12 --使之生效
# free

total used free shared buffers cached

Mem: 2065980 989096 1076884 0 126236 542432

-/+ buffers/cache: 320428 1745552

Swap: 5084520 0 5084520

# swapoff /dev/sda12 --使之失效
# free

total used free shared buffers cached

Mem: 2065980 2010728 55252 0 9596 1710824

-/+ buffers/cache: 290308 1775672

Swap: 4096564 136 4096428
  1. 使用一個(gè)文件作為swap分區(qū)
# dd if=/dev/zero of=/swapfile bs=1M count=1000 

--用dd命令創(chuàng)建出一個(gè)1000M大小的文件婴谱,此文件為二進(jìn)制文件蟹但,不能cat或者vi去看

1000+0 records in

1000+0 records out

1048576000 bytes (1.0 GB) copied, 4.40506 seconds, 238 MB/s

# mkswap /swapfile

Setting up swapspace version 1, size = 1048571 kB

# swapon /swapfile
# free

total used free shared buffers cached

Mem: 2065980 1998744 67236 0 9940 1683508

-/+ buffers/cache: 305296 1760684

Swap: 5120556 136 5120420
  1. 設(shè)置開機(jī)后自動(dòng)掛載目錄
# cat /etc/fstab

/dev/mapper/vol0-root / ext4 defaults 1 1

UUID=b61eb070-abf5-4fc9-9794-e3ebf2b520ed /boot ext4 defaults 1 2

/dev/mapper/vol0-home /home ext4 defaults 1 2

UUID=10678818-0206-4a5c-ab0a-ef7baa93664c swap swap defaults 0 0

tmpfs /dev/shm tmpfs defaults 0 0--在內(nèi)存上掛載

devpts /dev/pts devpts gid=5,mode=620 0 0--虛擬終端

sysfs /sys sysfs defaults 0 0--內(nèi)存信息的反應(yīng)

proc /proc proc defaults 0 0--虛擬目錄,都是系統(tǒng)正在運(yùn)行的信息

LABEL=SWAP-sda2 swap swap defaults 0 0

分區(qū)號(hào)或者標(biāo)簽號(hào)或者uuid 掛載點(diǎn) 掛載類型 掛載參數(shù) 是否掃描 掃描級(jí)別

# e2label /dev/sda5 /vm --把/dev/sda5的標(biāo)簽改為叫/vm

# e2label /dev/sda5 --查看

/vm

# blkid --用此命令查看所有分區(qū)設(shè)備的uuid

/dev/mapper/vol0-root: UUID="04836f7a-2657-4139-b043-75360f557dcc" TYPE="ext4"

/dev/loop0: LABEL="RHEL_6.3 x86_64 Disc 1" TYPE="iso9660"

/dev/sda1: UUID="b61eb070-abf5-4fc9-9794-e3ebf2b520ed" TYPE="ext4"

/dev/sda2: UUID="CWWVF2-HkGf-iU4R-DWcK-capi-WgkY-qDyeBO" TYPE="LVM2_member"

/dev/sda3: UUID="10678818-0206-4a5c-ab0a-ef7baa93664c" TYPE="swap"

/dev/sda5: LABEL="/vm" UUID="f59e830a-3c52-4c25-be46-098dbf6371b1" TYPE="ext4"

/dev/sda6: UUID="ae66457d-7765-482e-b1d6-5ab3d0406874" TYPE="ext4"

/dev/sda7: UUID="05615c87-1732-4f6a-ad73-98efd509dbcc" TYPE="swap"

/dev/mapper/vol0-home: UUID="7f266ffe-f05e-4eca-8e32-d14a8066f921" TYPE="ext4"

第一列我要寫sda5這個(gè)設(shè)備就可以有如下寫法:

/dev/sda5 /vm ext4 defaults 0 0

LABEL=/vm /vm ext4 defaults 0 0

UUID=f59e830a-3c52-4c25-be46-098dbf6371b1 /vm ext4 defauts 0 0

defaults 代表mount的一個(gè)默認(rèn)參數(shù)組谭羔,man mount查看

rw 讀寫 對(duì)應(yīng)ro只讀

suid 代表特權(quán)位s能夠生效 對(duì)應(yīng)nosuid

dev 支持block和character設(shè)備 對(duì)應(yīng)nodev

exec 表示有執(zhí)行權(quán)限的文件可以執(zhí)行 對(duì)應(yīng)noexec

auto 表示可以使用mount -a华糖,使用這個(gè)命令可以自動(dòng)把你fstab文件里的全掛載一遍(如果已經(jīng)掛載了則不報(bào)任何信息,沒有掛載就幫你掛載瘟裸,如果你寫的有錯(cuò)誤客叉,它就會(huì)報(bào)錯(cuò))

nouser 禁止非root用戶掛載文件系統(tǒng)

async 異步 對(duì)應(yīng)sync同步

relatime 文件的atime屬性在rhel5是訪問一次變一次,現(xiàn)在rhel6里只有當(dāng)atime早于或等于mtime或ctime之一時(shí)话告,訪問它才會(huì)變(就是因?yàn)閞hel6里多了relatime這個(gè)參數(shù));你可以換成norelatime再加一個(gè)strictatime參數(shù)去掉這個(gè)功能兼搏,或者換成noatime那么這個(gè)文件系統(tǒng)的文件被訪問都不變atime屬性

# cat /proc/devices

# mknod block b 2 1

# mknod char c 3 1

mount -o defaults,norelatime,strictatime /dev/sda5 --這樣就是去掉了relatime功能,可以讓文件cat一次沙郭,atime就會(huì)變一次

如果你希望優(yōu)化你的sda5的atime屬性(在defaults后加逗號(hào)再加個(gè)noatime)

/dev/sda5 /vm ext4 defaults,noatime 0 0

如果我想不重啟系統(tǒng)就改成根分區(qū)的掛載參數(shù)佛呻,怎么做?

mount -o remount,noatime,st /

比如下面這條會(huì)怎么樣?

mount -o remount,noexec / --會(huì)造成系統(tǒng)命令除了內(nèi)部命令都執(zhí)行不了,只能重啟系統(tǒng)解決

------------------------------

fstab錯(cuò)誤示例

1,rm -rf /etc/fstab病线,沒有了fstab文件,重啟系統(tǒng)會(huì)怎么樣?

可以啟動(dòng)成功吓著,但所有的分區(qū)都沒有掛載,你可以重啟掛載送挑,寫好fstab

2绑莺,故意到/etc/fstab里倒數(shù)第二列為0的行去改錯(cuò)uuid或者設(shè)備名,重啟會(huì)怎么樣?

可以啟動(dòng)成功惕耕,只有你改錯(cuò)的那個(gè)分區(qū)沒有掛載而已

3紊撕,故意到/etc/fstab里倒數(shù)第二列不為0的行去改錯(cuò)uuid或者設(shè)備名,重啟會(huì)怎么樣?

在啟動(dòng)過程不久赡突,就會(huì)卡住对扶,啟動(dòng)不成功

解決方法:

輸入root密碼,進(jìn)入一個(gè)shell惭缰,但發(fā)現(xiàn)里面的文件都是只讀的

所以mount -o remount,rw /把根重掛載成讀寫模式浪南,然后查看正確的設(shè)備名或label名或uuid再來(lái)修改fstab,保存重啟

轉(zhuǎn)自https://www.toutiao.com/i6556368628109804046/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末漱受,一起剝皮案震驚了整個(gè)濱河市络凿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌昂羡,老刑警劉巖絮记,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異虐先,居然都是意外死亡怨愤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門蛹批,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)撰洗,“玉大人篮愉,你說我怎么就攤上這事〔畹迹” “怎么了试躏?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)设褐。 經(jīng)常有香客問我颠蕴,道長(zhǎng),這世上最難降的妖魔是什么助析? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任犀被,我火速辦了婚禮,結(jié)果婚禮上貌笨,老公的妹妹穿的比我還像新娘弱判。我一直安慰自己,他們只是感情好锥惋,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布昌腰。 她就那樣靜靜地躺著,像睡著了一般膀跌。 火紅的嫁衣襯著肌膚如雪遭商。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天捅伤,我揣著相機(jī)與錄音劫流,去河邊找鬼。 笑死丛忆,一個(gè)胖子當(dāng)著我的面吹牛祠汇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播熄诡,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼可很,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了凰浮?” 一聲冷哼從身側(cè)響起我抠,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎袜茧,沒想到半個(gè)月后菜拓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡笛厦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年纳鼎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片递递。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡喷橙,死狀恐怖啥么,靈堂內(nèi)的尸體忽然破棺而出登舞,到底是詐尸還是另有隱情贰逾,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布菠秒,位于F島的核電站疙剑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏践叠。R本人自食惡果不足惜言缤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望禁灼。 院中可真熱鬧管挟,春花似錦、人聲如沸弄捕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)守谓。三九已至穿铆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間斋荞,已是汗流浹背荞雏。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留平酿,地道東北人凤优。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蜈彼,于是被迫代替她去往敵國(guó)和親筑辨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容