命令


命令集合>>腦補系列

1、cd 切換目錄

切換目錄 cd    
------------------------------
# cd /home/alice/   //絕對路徑
# cd . //相對路徑, .為當前路徑
# cd .. //上級目錄
# cd - //上次目錄
# cd   //直接到家

2、touch 創建文件


創建文件 touch  
------------------------------
# touch file1.txt //無則創建,有則修改時間
# touch file3 file4
# touch /home/file10.txt
# touch /home/file5 file6
# touch /home/{zhuzhu,gougou}
# touch file{1..20}
# touch file{a..c}
# touch yang{a,b,c} //{}集合,等價touch yanga yangb yangc

3、mkdir 創建目錄


目錄 mkdir   -v 詳細 -p 遞歸
------------------------------
# mkdir dir1
# mkdir /home/dir2 /home/dir3
# mkdir /home/{dir4,dir5}
# mkdir -v /home/{dir6,dir7} //顯示詳細信息,遍歷
# mkdir -v /home/dir8/111/22
# mkdir -pv /home/dir8/111/222 //包括其父母的創建,不會有任何消息輸出
# mkdir -pv /home/{yang/{dir1,111},tianyun}

4、cp 復制

復制 cp -r 目錄 -v 詳細 -f 強制   -n  靜默
----------------------------------
Usage: cp [OPTION]... [-T] SOURCE DEST
# cd
# mkdir /home/dir{1,2}
# cp -v install.log /home/dir1 //-v 顯示詳細信息
# cp -v install.log /home/dir1/yang.txt
# cp -rv /etc /home/dir1   //-r 拷貝文件夾
# cp -v install.log /home/dir2

#cp -rv 源文件1 源文件2 源文件N 目標文件 //將多個文件拷貝到同一個目錄
# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/grub.conf /etc/hosts .
# cp -r /etc /tmp
# cp -rf /etc /tmp   //-f, --force 強制
# cp -r /etc /tmp

5、mv 移動


移動 mv
Usage: mv [OPTION]... [-T] SOURCE DEST
# mv file1 /home/dir3 將file2移動到/home/dir3
# mv file2 /home/dir3/file20 將file2移動到/home/dir3,並改名為file20
# mv file4 file5 將file4重命名為file5,當前位置的移動就是重命名

6、rm 刪除


刪除 rm -r 遞歸 -f force強制 -v 詳細過程     *通配符
--------------------------------------------
示例1:刪除/home/dir1
# cd /home
# rm -rf dir1
-r 遞歸
-f force強制
-v 詳細過程

示例2:
[root@tianyun ~]# mkdir /home/dir10
[root@tianyun ~]# touch /home/dir10/{file2,file3,.file4}
[root@tianyun ~]# rm -rf /home/dir10/* //不包括隱藏文件
[root@tianyun ~]# ls /home/dir10/ -a
. .. .file4

示例3:
[root@tianyun ~]# rm -rf file*
[root@tianyun ~]# rm -rf *.pdf

7、cat 查看全部


cat
-n 顯示行號
-A 包括控制字符(換行符/制表符)
linux $
Windows ^M$
[root@tianyun ~]# cat >file4 <<EOF
> 111
> 222
> 333
> EOF

8、more翻頁

9、head頭部


[root@tianyun ~]# head /etc/passwd
[root@tianyun ~]# head -2 /etc/passwd

10、tail尾部 -f =tailf


[root@tianyun ~]# tail /etc/passwd
[root@tianyun ~]# tail -1 /etc/passwd
[root@tianyun ~]# tail /var/log/messages
[root@tianyun ~]# tail -20 /var/log/messages
[root@tianyun ~]# tail -f /var/log/secure //-f 動態查看文件的尾部
[root@tianyun ~]# tail -F /var/log/secure //-F 動態查看文件的尾部
注:vim, gedit編輯文件時,索引號會改變
#tailf 動態查看尾部文件

11、grep過濾


grep 針對文件內容進行過濾
# grep 'root' /etc/passwd
# grep '^root' /etc/passwd
# grep 'bash$' /etc/passwd
# grep 'failure' /var/log/secure

12、vi、vim、gedit


13、stat查看文件信息


[root@tianyun ~]# ls -l install.log
-rw-r--r-- 1 root root 34793 10-23 13:49 install.log

[root@tianyun ~]# stat install.log
File: “install.log”
Size: 34793 Blocks: 80 IO Block: 4096 一般文件
Device: 802h/2050d Inode: 65282 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2012-10-23 16:53:20.000000000 +0800
Modify: 2012-10-23 13:49:46.000000000 +0800
Change: 2012-10-23 13:49:52.000000000 +0800
訪問時間:atime,查看內容 //RHEL6會延后修改atime
修改時間:mtime,修改內容
改變時間:ctime,文件屬性,比如權限
刪除時間:dtime,文件被刪除的時間

14、ls -l 查詢示例 ll


ls -l 文件名 僅看的是文件的修改時間

15、which及type顯示命令的目錄或者類型,which內置別名,type需要yum安裝


[root@localhost ~]# type passwd
passwd 是 /usr/bin/passwd
[root@localhost ~]# type which
which 是 `alias | /usr/bin/which --tty-only --read-ali

16、file顯示文件類型


[root@localhost ~]# file passwd.txt
passwd.txt: ASCII text, with CRLF line terminators

3day用戶管理章節

17、查看當前登錄的用戶信息


[root@tianyun ~]# id
uid=0(root) gid=0(root) groups=0(root)

18、useradd創建用戶


[root@tianyun ~]# useradd user02 -u 1503 //創建用戶usr02,指定uid
[root@tianyun ~]# useradd user03 -d /aaa //創建用戶user03 指定家目錄
[root@tianyun ~]# useradd user05 -s /sbin/nologin //創建用戶並指定shell
[root@tianyun ~]# useradd user07 -G hr,it,fd //創建用戶,指定附加組
[root@tianyun ~]# useradd user10 -u 4000 -s /sbin/nologin

19、userdel 刪除用戶


[root@tianyun ~]# userdel user10
//刪除用戶user10,但不刪除用戶家目錄和mail spool
[root@tianyun ~]# ll -d /home/user10/
drwx------ 3 506 510 4096 09-01 21:14 /home/user10/
[root@tianyun ~]# ll /var/spool/mail/user10
-rw-rw---- 1 506 mail 0 09-01 21:14 /var/spool/mail/user10
[root@tianyun ~]# userdel -r user2
//刪除用戶user2,同時刪除用戶家目錄和mail spool

20、passwdd修改密碼


方法一:root修改其他用戶(alice)密碼
[root@tianyun ~]# passwd alice
方法二:用戶(zhuzhu)登錄,自己修改密碼。
[zhuzhu@tianyun ~]$ passwd
[root@tianyun~]# echo 123456 |passwd --stdin maomao100
強制用戶在下一次登錄時修改密碼
[root@tianyun~]# chage -d 0 maomao100

21、usermod只針對已存在的用戶添加用戶組


注意:只針對已存在的用戶     -G 組名 組名 ... 用戶名
[root@tianyun ~]# usermod -G hr niuniu2 //覆蓋原有的附加組
[root@tianyun ~]# usermod -G fd,it niuniu2
[root@tianyun ~]# usermod -aG hr niuniu2 //增加新的附加組
[root@tianyun ~]# usermod -s /sbin/nologin niuniu2
修改登錄SHELL

22、groupadd 創建用戶組


[root@tianyun ~]# groupadd hr
[root@tianyun ~]# groupadd net01 -g 2000
//添加組net01,並指定gid 2000
[root@tianyun ~]# grep 'net01' /etc/group
//查看/etc/group中組net01信息

23、groupdel刪除用戶組


[root@tianyun ~]# groupdel net01
//刪除組net01

24、su切換用戶


[alice@tianyun ~]$ su - root
password:

25、sudo提權


[root@tianyun ~]# useradd xulei -G wheel
[root@tianyun ~]# id xulei
uid=504(xulei) gid=504(xulei) 組=504(xulei),10(wheel)
# passwd xulei
切換用戶xulei登陸

[xulei@tianyun ~]$ useradd gougou10
-bash: /usr/sbin/useradd: 權限不夠
[xulei@tianyun ~]$ sudo useradd gougou10
[xulei@tianyun ~]$ id gougou10
uid=505(gougou10) gid=505(gougou10) 組=505(gougou10)

26、chage設置個別用戶


1.設置用戶密碼最小天數(-m),最大天數(-M),提醒天數(-W),不活躍天數(-l)
chage -m 0 -M 90 -W 7 -I 14 username
2.設置用戶下次登錄立刻更改密碼。
chage -d 0 username
3.列出用戶密碼策略信息。
chage -l username
4.設置用戶密碼過期日期。
chage -E YYYY-MM-DD username

27、gpasswd 添加用戶組


[root@localhost ~]# useradd user1
[root@localhost ~]# useradd user2
[root@localhost ~]# useradd user3
[root@localhost ~]# groupadd group1
[root@localhost ~]# gpasswd -a user1 group1
正在將用戶“user1”加入到“group1”組中
[root@localhost ~]# gpasswd -a user2 group1
[root@localhost ~]# cat /etc/group
group1:x:1011:user1,user2

[root@localhost ~]# gpasswd -M user2,user3 group1
[root@localhost ~]# cat /etc/group
group1:x:1011:user2,user3

原組中有三個用戶,刪除其中一個用戶。
[root@localhost ~]# grep group1 /etc/group
group1:x:1011:user3,user1,user2
[root@localhost ~]# gpasswd -d user1 group1
正在將用戶“user1”從“group1”組中刪除
[root@localhost ~]# grep group1 /etc/group
group1:x:1011:user3,user2
  • 權限管理

28、chmod權限


使用符號:u用戶 g組 o其他 r讀   w寫 x執行
語法: chmod 對象(u/g/o/a) 賦值符(+/-/=) 權限類型(r/w/x) 文本對象\目錄
[root@localhost ~]# cd /tmp
[root@localhost tmp]# chmod u+x file1 //屬主增加執行
[root@localhost tmp]# chmod a=rwx file1 //所有人等於讀寫執行
[root@localhost tmp]# chmod a=- file1 //所有人沒有權限
[root@localhost tmp]# chmod ug=rw,o=r file1 //屬主屬組等於讀寫,其他人只讀
[root@localhost tmp]# ll file1 //以長模式方式查看文件權限
-rw-rw-r-- 1 alice it 17 10-25 16:45 file1 //顯示的結果

suid,sgid,sticky
[root@tianyun ~]# chmod u+s /usr/bin/cat
[root@tianyun ~]# chmod g+s /home/hr
[root@tianyun ~]# chmod o+t /home/dir1

4讀   2寫   1執行
[root@localhost ~]# chmod 644 file1
[root@localhost ~]# ll file1
-rw-r--r-- 1 alice it 17 10-25 16:45 file1

suid,sgid,sticky
chmod 4777 file
chmod 2770 dir
chmod 1770 dir

29、chown設置屬主、屬組


=chown: 設置一個文件屬於誰,屬主
語法:                     chwon   用戶名.組名   文件
[root@localhost ~]# chown alice.hr file1 //改屬主、屬組
[root@localhost ~]# chown alice file1 //只改屬主
[root@localhost ~]# chown .hr file1 //只改屬組
=chgrp: 設置一個文件屬於哪個組,屬組
語法:           chgrp   組名   文件     -R是遞歸的意思
[root@localhost ~]# chgrp it file1 //改文件屬組
[root@localhost ~]# chgrp -R it dir1 //改文件屬組及遞歸修改目錄內的屬性

30、chgrp更改屬組


[root@localhost ~]# groupadd hr
[root@localhost ~]# useradd hr01 -G hr
[root@localhost ~]# useradd hr02 -G hr
[root@localhost ~]# mkdir /home/hr

[root@localhost ~]# chgrp hr /home/hr #修改附屬組
[root@localhost ~]# chmod 770 /home/hr
[root@localhost ~]# ll -d /home/hr/
drwxrwx---. 2 root hr 4096 3月 13 14:26 /home/hr/

31、setfacl設置acl

設置:
[root@tianyun ~]# touch /home/test.txt
[root@tianyun ~]# ll /home/test.txt 
-rw-r--r-- 1 root root 0 10-26 13:59 /home/test.txt

[root@tianyun ~]# getfacl /home/test.txt//查看文件有哪些ACL權限。
[root@tianyun ~]# setfacl -m u:alice:rw /home/test.txt //增加用戶alice權限
[root@tianyun ~]# setfacl -m u:jack:- /home/test.txt //增加用戶jack權限
[root@tianyun ~]# setfacl -m o::rw /home/test.txt
6.設置掩碼mask權限,為無權限。
[root@localhost ~]# setfacl -m m::--- /tmp/filemask 

default: 繼承(默認)
要求: 希望alice能夠對/home以及以后在/home下新建的文件有讀、寫、執行權限

思路:
步驟一: 賦予alice對/home讀、寫、執行權限
[root@tianyun ~]# setfacl -m u:alice:rwx /home

步驟二: 賦予alice對以后在/home下新建的文件有讀、寫、執行權限 (使alice的權限繼承)
d     default     繼承  
[root@tianyun ~]# setfacl -m d:u:alice:rwx /home



32、getfacl查看acl權限

如何刪除一條acl,如何刪除所有acl呢?
[root@tianyun ~]# ll /home/test.txt 
-rw-rw-r--+ 1 root root 0 10-26 13:59 /home/test.txt
[root@tianyun ~]# getfacl /home/test.txt

[root@tianyun ~]# setfacl -m g:hr:r /home/test.txt
[root@tianyun ~]# setfacl -x g:hr /home/test.txt //刪除組hr的acl權限
[root@tianyun ~]# setfacl -b /home/test.txt //刪除所有acl權限
[root@tianyun ~]# getfacl file1 |setfacl --set-file=- file2 //復制file1的ACL權限給file2


33、man手冊

man + 命令
--help
help 


34、mask掩碼

6.設置掩碼mask權限,為無權限。
[root@localhost ~]# setfacl -m m::--- /tmp/filemask 


35、chattr 添加特殊權限

[root@tianyun ~]# man chattr
[root@tianyun ~]# chattr +a file100 			//只能追加
[root@tianyun ~]# chattr +i file200 			//不能更改,重命名,刪除
[root@tianyun ~]# chattr +A file300			//不能更改訪問時間。

將屬性還原。
[root@tianyun ~]# chattr -a file100
[root@tianyun ~]# chattr -i file200
[root@tianyun ~]# chattr -A file300


36、umask細則

shell (vim,touch) =======umask======> 新文件或目錄權限
vsftpd =======umask======> 新文件或目錄權限 
samba =======umask======> 新文件或目錄權限 
useradd =======umask======> 用戶HOME


umask 			                        //查看當前用戶的umask權限
0022
[root@tianyun ~]# touch file800
[root@tianyun ~]# mkdir dir800
[root@tianyun ~]# ll -d dir800 file800 
drwxr-xr-x. 2 root root 4096 3月  11 19:40 dir800
-rw-r--r--. 1 root root    0 3月  11 19:40 file800
示例2:修改shell umask值(臨時)
[root@tianyun ~]# umask 000
[root@tianyun ~]# mkdir dir900
[root@tianyun ~]# touch file900
[root@tianyun ~]# ll -d dir900 file900 
drwxrwxrwx. 2 root root 4096 3月  11 19:44 dir900
-rw-rw-rw-. 1 root root    0 3月  11 19:44 file900


 

進程管理

37、ps

靜態查看進程 ps

[root@tianyun ~]# ps aux |less
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1      0.0         0.6   128096    6708 ?         Ss    16:20    0:01  /usr/lib/systemd/systemd 
————————————————————————————
USER: 運行進程的用戶
PID: 進程ID
%CPU: CPU占用率
%MEM: 內存占用率
VSZ: 占用虛擬內存
RSS: 占用實際內存
TTY: 進程運行的終端   //可以開啟vim 查詢到終端名稱
STAT: 進程狀態 man ps (/STATE) 
———————————————————————————
R 運行
S 可中斷睡眠 Sleep,(休眠中, 受阻, 在等待某個條件的形成或接受到信號) 
D 不可中斷睡眠,(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生) 
T 停止的進程 
Z 僵屍進程
X 死掉的進程
————————————————————————————
[了解]
Ss s進程的領導者,父進程
S< <優先級較高的進程
SN N優先級較低的進程
R+ +表示是前台的進程組
Sl 以線程的方式運行 
————————————————————————————
START: 進程的啟動時間  //可以開啟vim ,在用date驗證。
TIME: 進程占用CPU的總時間
COMMAND: 進程文件,進程名


————————————————————————————
1 以CPU占比降序排列
[root@tianyun ~]# ps aux --sort %cpu |less      //--sort排序,升序
2 以CPU占比升序排列
[root@tianyun ~]# ps aux --sort -%cpu |less     //-%CPU降序
3 以駐留內存升序排列
[root@tianyun ~]# ps aux --sort rss |less
4 以駐留內存降序排列
[root@tianyun ~]# ps aux --sort -rss |less
——————————————————————————————


//自定義顯示字段 --------------------------------
[root@tianyun ~]# ps axo user,pid,ppid,%mem,command   //xo指定列顯示
[root@tianyun ~]# ps axo user,pid,ppid,%mem,command |grep httpd 
root 8310 1 0.1 /usr/sbin/httpd
apache 8311 8310 0.0 /usr/sbin/httpd
apache 8312 8310 0.0 /usr/sbin/httpd
apache 8313 8310 0.0 /usr/sbin/httpd
apache 8314 8310 0.0 /usr/sbin/httpd
apache 8315 8310 0.0 /usr/sbin/httpd
apache 8316 8310 0.0 /usr/sbin/httpd
apache 8318 8310 0.0 /usr/sbin/httpd
apache 8319 8310 0.0 /usr/sbin/httpd
root 9236 6798 0.0 grep httpd
-----------------------------------------------------------
[root@tianyun ~]# ps axo user,pid,ppid,%mem,%cpu,command --sort -%cpu |less    //針對某些程序,顯示某些列,再進行排序。簡潔明了


//查看指定進程的PID,四種方法————————
第一種。cat
[root@localhost ~]$ cat /run/sshd.pid 
830

第二種。ps
[root@localhost ~]# ps aux |grep sshd
root 10180 0.0 0.0 7224 1024 ? Ss 16:00 0:00 /usr/sbin/sshd
第三種。pgrep

[root@localhost ~]# pgrep -l sshd
10180 sshd
[root@localhost ~]# pgrep sshd
10180

第四種。pidof
[root@localhost ~]# pidof sshd
10180


[root@localhost ~]# pstree\\樹


38、top

第一部分:系統整體統計信息
top - 11:45:08 up 18:54,  4 users,  load average: 0.05, 0.05, 0.05
Tasks: 176 total,   1 running, 175 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3865520 total,  1100000 free,   580268 used,  2185252 buff/cache
KiB Swap:  4063228 total,  4063228 free,        0 used.  2917828 avail Mem 
負載加權值解釋:—小於1正常————————————
load average: 0.86, 0.56, 0.78 系統最近 1分鍾,5分鍾,15分鍾平均負載


動態查看進程 top,像windows的任務管理器
[root@tianyun ~]# top          //回車,立刻刷新。按z彩色顯示,按F,通過光標設置列的順序。
[root@localhost ~]# top -d 1   //每1秒刷新。
[root@localhost ~]# top -d 1 -p 10126 查看指定進程的動態信息
[root@localhost ~]# top -d 1 -p 10126,1    查看10126和1號進程
[root@localhost ~]# top -d 1 -u apache 查看指定用戶的進程
[root@localhost ~]# top -d 1 -b -n 2 > top.txt //-b附加參數,只看2次top信息后寫入到文件
[root@localhost ~]#vim  top.txt     //最后打開文件詳細閱讀


Ctrl+L 擦除並且重寫屏幕。 
h或者? 顯示幫助畫面,給出一些簡短的命令總結說明。 
k       終止一個進程。系統將提示用戶輸入需要終止的進程PID,以及需要發送給該進程什么樣的信號。一般的終止進程可以使用15信號;如果不能正常結束那就使用信號9強制結束該進程。默認值是信號15。在安全模式中此命令被屏蔽。 
i 忽略閑置和僵死進程。這是一個開關式命令。 
q 退出程序。 
r 重新安排一個進程的優先級別。系統提示用戶輸入需要改變的進程PID以及需要設置的進程優先級值。輸入一個正值將使優先級降低,反之則可以使該進程擁有更高的優先權。默認值是10。 
S 切換到累計模式。 
s 改變兩次刷新之間的延遲時間。系統將提示用戶輸入新的時間,單位為s。如果有小數,就換算成m s。輸入0值則系統將不斷刷新,默認值是5 s。需要注意的是如果設置太小的時間,很可能會引起不斷刷新,從而根本來不及看清顯示的情況,而且系統負載也會大大增加。 
f或者F 從當前顯示中添加或者刪除項目。 
o或者O 改變顯示項目的順序。 
l 切換顯示平均負載和啟動時間信息。 
m 切換顯示內存信息。 
t 切換顯示進程和CPU狀態信息。 
c 切換顯示命令名稱和完整命令行。 
M 根據駐留內存大小進行排序。 
P 根據CPU使用百分比大小進行排序。 
T 根據時間/累計時間進行排序。 
W 將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。


39、kill

給進程發送信號
[root@tianyun ~]# kill -l //列出所有支持的信號
編號 信號名
1) SIGHUP 重新加載配置
2) SIGINT 鍵盤中斷Ctrl+C
3) SIGQUIT 鍵盤退出Ctrl+\,類似SIGINT
9) SIGKILL 強制終止,無條件
15) SIGTERM 終止(正常結束),缺省信號
18) SIGCONT 繼續
19) SIGSTOP 停止,該進程還未結束, 只是暫停執行
20)SIGTSTP 暫停Ctrl+Z


40、nice設置優先級

[root@localhost ~]# nice -n -5 sleep 6000 &
[1] 2220
[root@localhost ~]# nice -n -10 sleep 7000 &
[2] 2229
[root@localhost ~]# ps axo command,pid,nice | grep sleep
sleep 6000                    2220  -5
sleep 7000                    2229 -10
grep --color=auto sleep       2233   0


使用shell更改nice級別
1  創建一個睡眠程序。
[root@localhost ~]# sleep 7000 &
[2] 2669

2  修改他的nice值。
[root@localhost ~]# renice -20 2669
2669 (進程 ID) 舊優先級為 0,新優先級為 -20
觀察修舊的nice值。



42、jobs后台運行^z,&,及殺死

[root@tianyun ~]# sleep 3000 & //運行程序(時),讓其在后台執行
[root@tianyun ~]# sleep 4000 //^Z,將前台的程序掛起(暫停)到后台
[2]+ Stopped sleep 4000
3 只查看后台進程。
[root@tianyun ~]# jobs //查看后台作業
[1]- Running sleep 3000 &
[2]+ Stopped sleep 4000
4 執行暫停程序,和調動后台程序至前台。
[root@tianyun ~]# bg 2 //讓作業2在后台,從暫停到運行
[root@tianyun ~]# fg  1 //將作業1調回到前台

[root@tianyun ~]# kill  %1 //kill %1,結束后台作業1.
注意,kill 1   和   kill   %1  不同,前者終止PID為1的進程,后者殺死作業。



43、管理遠程主機

示例2:如何管理遠程主機
[root@tianyun ~]# ssh 172.16.50.240
[root@www ~]# yum -y install screen
[root@www ~]# screen -S install_apache //-S啟動會話的名字
sleep 9000

==斷網后,重新連接==
[root@www ~]# screen -list
There are screens on:
28958.install_nginx (Detached)
29013.install_apache (Detached)
2 Sockets in /var/run/screen/S-root.

[root@www ~]# screen -r 29013


&符號在程序的末尾才是后台運行,請看下面的例子,命令中的&並不是后台運行的意思。

while :; do date; sleep 2; done    //查詢時間,間隔兩秒。ctrl+C停止。

[root@tianyun ~]# (while :; do date; sleep 2; done) & //進程在后台運行,但輸出依然在當前終端(使用fg調到前台,ctrl+C終止。)
[root@tianyun ~]# (while :; do date; sleep 2; done) &>/dev/null &


44、dd

45、

 

 

 

 

  • 磁盤管理 基本分區

50、查看基本磁盤/dev/sd* //真實的sata;scsi;sas 、/dev/vd*//虛擬

方法1、注意:kvm虛擬化磁盤vda,真實服務器上sda
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 1月  25 09:35 /dev/sda
brw-rw----. 1 root disk 8,  1 1月  25 09:35 /dev/sda1
brw-rw----. 1 root disk 8,  2 1月  25 09:35 /dev/sda2
brw-rw----. 1 root disk 8, 16 1月  25 09:35 /dev/sdb
brw-rw----. 1 root disk 8, 32 1月  25 09:35 /dev/sdc
brw-rw----. 1 root disk 8, 48 1月  25 09:35 /dev/sdd


方法2、[root@server0 ~]# lsblk //比較一目了然
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk 
└─vda1 253:1 0 10G 0 part /
vdb 253:16 0 10G 0 disk 
vdc 252:32 0 8G 0 disk
名稱 設備類型 序號 是否可移動設備  大小  是否只讀  磁盤或分區  掛載點

[root@localhost ~]# lsblk --output NAME,MAJ:MIN,RM,SIZE,RO,TYPE,MOUNTPOINT,FSTYPE自定義輸出顯示、可以查看到FSTYPE磁盤格式


方法3、未掛載的分區,如何查詢文件系統
[root@localhost ~]# parted /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt <<--------顯示格式嘍
Disk Flags: 

之后輸入print打印信息,可以看到嘍,q退出


51、創建磁盤分區fdisk(MBR)

MBR 管理分區
1.創建分區
[root@localhost ~]# fdisk      /dev/sdb
n		//創建新分區
p		//主分區
1		//1號分區
回車	//起始扇區
+100M	//結束大小
w			//保存分區設置。


52、mkfs.ext4 格式化

[root@localhost ~]# mkfs.ext4 /dev/sdc1 格式化磁盤//centos默認xfs格式


53、mount掛載分區

[root@localhost ~]# mkdir /mnt/sdc1
[root@localhost ~]# ll /mnt/
總用量 0
drwxr-xr-x. 2 root root 6 5月   4 20:05 disk1
drwxr-xr-x. 2 root root 6 5月   6 10:36 sdc1
[root@localhost ~]# mount /dev/sdc1 /mnt/sdc1/
[root@localhost ~]# cd /mnt/sdc1/
[root@localhost sdc1]# ls
lost+found

# mount -t ext4  /dev/sdb1 /mnt/disk1(了解) //手動不推薦


54、blkid查看硬盤ID標識

[root@localhost sdc1]# blkid
/dev/sdb1: UUID="ddb6f34d-4e91-4b5a-96c5-b725e7af04ed" TYPE="ext4" 
/dev/sda1: UUID="d55118c9-0a29-4ea1-9f78-05e04741155c" TYPE="xfs" 
/dev/sda2: UUID="OoYo0e-wfDn-bzEi-yxbo-yoEc-AZO3-QkAqtN" TYPE="LVM2_member" 
/dev/sdc1: UUID="e001ed1a-1801-4a4e-88a3-363a7311e87a" TYPE="ext4" 
/dev/mapper/cl-root: UUID="00caa88f-c026-470a-b4fc-27cba6700f0e" TYPE="xfs" 
/dev/mapper/cl-swap: UUID="06cce5d7-c59c-4605-8b1e-f118d957e7f8" TYPE="swap" 


55、mount -a刷新\永久設置磁盤掛載

第一步:查看分區的ID
# blkid
第二步:使用UUID來自動掛載分區
# vim /etc/fstab
UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" /mnt/disk1 auto defaults 0 0 
UUID="4d26172c-7aff-4388-baa5-c6756c014d52" /mnt/disk2 ext4 defaults 0 0
分區信息   掛載點(文件夾)  文件系統類型   屬性(默認)  壓縮  檢測
第三步:手動刷新
# mount -a


56、查看掛載信息

[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
文件系統            類型      容量  已用  可用 已用% 掛載點
/dev/sdb1 xfs 197M 48M 150M 24% /mysql_data


*57、查看磁盤特殊權限

[root@server0 ~]# mount

/dev/sdb1 on /mysql_data type xfs (rw,relatime,seclabel,attr2,inode64,noquoa)
/dev/sdb3 on /mnt/disk1/disk2/disk3/disk4 type ext4 (rw,relatime,seclabel,dta=ordered)

mount 看的是磁盤有沒有特殊屬性


58、GPT創建分區表

GPT 128個主分區
1.創建分區
# gdisk -l /dev/vdc
# gdisk /dev/vdc
# partprobe /dev/vdc
# ll /dev/vdc*
brw-rw----. 1 root disk 253, 32 Jun 6 17:38 /dev/vdc
brw-rw----. 1 root disk 253, 33 Jun 6 17:38 /dev/vdc1
brw-rw----. 1 root disk 253, 34 Jun 6 17:38 /dev/vdc2
2、格式
3、掛載


mklabel msdos  		//將分區轉為mbr
mklabel gpt		    //將分區轉為GPT


  • 重定向及管道

59、重定向

[root@tianyun ~]# date 1> date.txt \\輸出重定向(覆蓋)
[root@tianyun ~]# date >> date.txt \\輸出重定向(追加)
[root@tianyun ~]# ls /home/ /aaaaaaaaa >list.txt 2>error.txt //重定向到不同的位置\\錯誤輸出重定向:2>
[root@tianyun ~]# ls /home/ /aaaaaaaaa      &>     list.txt //混合輸出\\正確和錯誤都輸入到相同位置
[root@tianyun ~]# ls /home/ /aaaaaaaaa >list.txt 2>&1 //重定向到相同的位置\\正確和錯誤都輸入到相同位置



假如回收站丟失。

1 重啟即可恢復。
2 手動創建
mknod -m 666 /dev/null c 1 3
1 主設備號,類型
3 從設備號,序號


如果已經有了現成的郵件內容呢,如何快速輸入郵件內容。
就可以用重定向創建郵件!!!
[root@tianyun ~]# mail -s "test01" alice < /mail.txt 
//輸入重定向,來自於文件mail.txt是通用郵件。


60、dd命令

[root@tianyun ~]# dd if=/dev/zero of=/file1.txt bs=1M count=2
ll -h /file1.txt
可以看到文件大小。
[root@tianyun ~]# dd </dev/zero >/file2.txt bs=1M count=20


61、mysql

案例4:mysql表結構導入
[root@tianyun ~]# mysql -uroot -p123 < bbs.sql
該案例,需要mysql數據庫技術的職稱。了解一下即可。


62、at任務計划

[root@tianyun ~]# at now +5 min
at> useradd yang99
at> <EOT>			//ctrl+D結束
job 1 at 2015-06-09 11:57


[root@tianyun ~]# vim at.txt 
sudo useradd yang100
sudo useradd yang102
[root@tianyun ~]# at now +2 min < at.txt
job 2 at 2015-06-09 11:55


  • subshell是不是可以這樣做,()括起來作為整體。

[root@tianyun ~]# (ls; date) &>/dev/null\\如果不希望某些命令的執行對當前shell環境產生影響,請在subshell中執行!


63、sort排序

[root@tianyun ~]# sort -t":" -k3 -n /etc/passwd //以: 分隔,將第三列按字數升序
[root@tianyun ~]# sort -t":" -k3 -n /etc/passwd -r //逆序
-t 指定字段分隔符--field-separator
-k 指定列
-n 按數值
-r 倒序


64、awk

案例3:統計當前/etc/passwd中用戶使用的shell類型
思路:取出第七列(shell) | 排序(把相同歸類)| 去重
[root@tianyun ~]# awk -F: '{print $7}' /etc/passwd
[root@tianyun ~]# awk -F: '{print $7}' /etc/passwd |sort
[root@tianyun ~]# awk -F: '{print $7}' /etc/passwd |sort |uniq 
[root@tianyun ~]# awk -F: '{print $7}' /etc/passwd |sort |uniq -c
131 /bin/bash
1 /bin/sync
1 /sbin/halt
63 /sbin/nologin
1 /sbin/shutdown

-F: 指定字段分隔符
$7 第七個字段
uniq 去重
-c  統計


65、top

案例4: 統計網站的訪問情況 top 20
1.該實驗,需要先部署網站,再需要人訪問網站。
yum install -y httpd			//安裝網站
systemctl start httpd	//啟動網站
ifconfig					//查看自己的IP
setenforce 0					//關閉防火牆
systemctl stop firewalld    //關閉防火牆2
2。使用管道過濾出訪問量前20名用戶。
思路: 打印所有訪問的連接 | 過濾訪問網站的連接 | 打印用戶的IP | 排序 | 去重

[root@tianyun ~]# ss -an |grep :80 |awk -F":" '{print $8}' |sort |uniq -c
4334 192.168.0.66
1338 192.168.10.11
1482 192.168.10.125
44 192.168.10.183
3035 192.168.10.213
375 192.168.10.35
362 192.168.10.39

再看看前20用戶。
[root@tianyun ~]# ss -an |grep :80 |awk -F":" '{print $8}' |sort |uniq -c |sort -k1 -rn |head -n 20 


66、ip

案例5: 打印當前所有IP
[root@tianyun ~]# ip addr |grep 'inet ' |awk '{print $2}' |awk -F"/" '{print $1}'
127.0.0.1
192.168.2.115


67、tee

[root@tianyun ~]# ip addr |grep 'inet ' |tee ip.txt |awk -F"/" '{print $1}' |awk '{print $2}'
127.0.0.1
172.16.60.1

[root@tianyun ~]# cat ip.txt 
inet 127.0.0.1/8 scope host lo
inet 172.16.60.1/24 brd 172.16.60.255 scope global eth0

想追加到某個文件,使用-a
[root@tianyun ~]# ip addr |grep 'inet ' |tee -a ip.txt |awk -F"/" '{print $1}' |awk '{print $2}'
127.0.0.1
172.16.60.1

[root@localhost ~]# date
2017年 9月 04日 星期三 08:18:15 CST
[root@localhost ~]# date > 1.txt
[root@localhost ~]# date | tee 1.txt 
2017年 9月 04日 星期三 08:18:24 CST
[root@localhost ~]# cat 1.txt 
2017年 9月 04日 星期三 08:18:24 CST
[root@localhost ~]# 


68、xarges

## 加-i 參數直接用 {}就能代替管道之前的標准輸出的內容;
## 加 -I 參數 需要事先指定替換字符
貌似之前的不行。下面加上xargs
[root@localhost ~]# cat files.txt |xargs ls -l 
-rw-r--r--. 1 root root 0 Mar 11 10:35 /home/file1
-rw-r--r--. 1 root root 0 Mar 11 10:35 /home/file2
-rw-r--r--. 1 root root 0 Mar 11 10:35 /home/file4
-rw-r--r--. 1 root root 0 Mar 11 10:35 /home/file5

[root@localhost ~]# cat files.txt |xargs rm -rvf 
removed ‘/home/file1’
removed ‘/home/file2’
removed ‘/home/file4’
removed ‘/home/file5’

案例2:xargs  -I 指定輸出標記
1 准備一些環境。創建多個文件。
[root@localhost ~]# touch /home/file{1..5}

2 加入-I標記。進行查看。
[root@localhost ~]# cat files.txt |xargs -I {} ls -l {}
-rw-r--r--. 1 root root 0 Mar 11 10:40 /home/file1
-rw-r--r--. 1 root root 0 Mar 11 10:40 /home/file2
-rw-r--r--. 1 root root 0 Mar 11 10:40 /home/file4
-rw-r--r--. 1 root root 0 Mar 11 10:40 /home/file5
3 加入-I標記。進行復制。
[root@localhost ~]# cat files.txt |xargs -I {} cp -rvf {} /tmp
‘/home/file1’ -> ‘/tmp/file1’
‘/home/file2’ -> ‘/tmp/file2’
‘/home/file4’ -> ‘/tmp/file4’
‘/home/file5’ -> ‘/tmp/file5’
4 加入-I標記,可以使用字符代替。
[root@localhost ~]# cat files.txt |xargs -I XULEI cp -rvf XULEI /var/tmp
‘/home/file1’ -> ‘/var/tmp/file1’
‘/home/file2’ -> ‘/var/tmp/file2’
‘/home/file4’ -> ‘/var/tmp/file4’
‘/home/file5’ -> ‘/var/tmp/file5’



  • 匿名管道

1. 創建命名管道
mkfifo a
touch b
2 觀察命名管道文件與普通文件的不同。
ll  a   b
3 查看命名管道的文件類型
file   a
fifo  name  pipe
4 傳統文件和管道文件不同之處,匿名管道使用完畢內容消失。
而命名管道文件使用后不會消失,並且可以被其他程序讀取。


  • 命名管道

同樣有兩種方式訪問FIFO文件。
命令行方式。首先用cat命令讀取剛才創建的FIFO文件:

cat <  a
這個時候,cat命令將一直掛起,直到終端或者有數據發送到FIFO中。


6 . 然后嘗試向FIFO中寫數據(在另外一個終端執行這個命令)

echo "FIFO test" > a

這個時候cat將會輸出內容。


 

 

  • 磁盤管理 LVM分區

    名詞PV:物理卷(Physical volume);VG:卷組(Volume Group);LV:邏輯卷(Logical Volume);PE:物理塊(Physical Extent);LE:邏輯塊(Logical Extent)

59、pv創建、查看

1 將物理磁盤,轉換成物理卷-PV\\也先可以分區,之后轉
[root@localhost ~]# pvcreate /dev/sdc2
  Physical volume "/dev/sdc2" successfully created.


2 查看
[root@localhost ~]# pvs
  PV         VG Fmt  Attr PSize   PFree  
  /dev/sda2  cl lvm2 a--   19.00g      0 
  /dev/sdc2     lvm2 ---  100.00m 100.00m


60、vg創建卷組

1.創建卷組-VG

[root@localhost ~]# vgcreate vg1 /dev/sdc2
  Volume group "vg1" successfully created


2、顯示卷組信息

方法1、[root@localhost ~]# vgscan
  Reading volume groups from cache.
  Found volume group "vg1" using metadata type lvm2
  Found volume group "cl" using metadata type lvm2


方法2、[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               vg1
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               96.00 MiB
  PE Size               4.00 MiB
  Total PE              24
  Alloc PE / Size       0 / 0   
  Free  PE / Size       24 / 96.00 MiB
  VG UUID               jVwRwf-LOzr-NUiH-L3VS-wkwA-EvQL-OiZw2h
   
  --- Volume group ---
  VG Name               cl
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.00 GiB
  PE Size               4.00 MiB
  Total PE              4863
  Alloc PE / Size       4863 / 19.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               xgc20b-mZag-Lbwe-82pO-gSZl-zBNW-pjAi2z


方法3、[root@server0 ~]# vgs\\簡單
VG #PV #LV #SN Attr VSize VFree
vg1 1 0 0 wz--n- 2.00g 2.00g


61、lv創建、查看

[root@server0 ~]# lvcreate -L 200M -n lv2 vg1
指定大小,單位M,G


[root@server0 ~]# lvscan 
ACTIVE '/dev/vg1/lv1' [400.00 MiB] inherit
ACTIVE '/dev/vg1/lv2' [200.00 MiB] inherit


62、partprobe刷新磁盤

[root@localhost lv2]# partprobe 


63、掛載分區

創建文件系統
[root@server0 ~]# mkfs.ext4 /dev/vg1/lv2
創建掛載點
[root@server0 ~]# mkdir  /mnt/lv2
掛載
[root@server0 ~]# mount /dev/vg1/lv2 /lv2


 

64、VG管理擴展增加

==擴大VG vgextend==
步驟1,創建PV。而后使用第二步,將PV增加到VG中。
[root@server0 ~]# pvcreate /dev/sdd1

步驟2:擴展VG,同時包含方法1.
[root@server0 ~]# vgextend vg1 /dev/sdd1
Volume group "vg1" successfully extended


65、vg磁盤縮減

卷組vg1物理卷sdc,sdd1和sde(查看物理卷pvs命令)sdc物理卷中有數據為了避免vg縮減影響數據,請先將sdd中的數據移動到sde中。

1、查看使用情況
[root@server0 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdc vg1 lvm2 a-- 2.00g 1.76g
/dev/sdd1 vg1 lvm2 a-- 2.00g 2.00g
/dev/sde vg1 lvm2 a-- 2.00g 2.00g
注意觀察,PV的空間。一個是使用過的,一個是滿的。
2、將sdd中的數據,移動到sdezhon
[root@server0 ~]# pvmove /dev/sdc
/dev/sdc: Moved: 16.7%
/dev/sdc: Moved: 100.0%
可以看到移動過程。
3、二次查看
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree 
  /dev/sda2  centos lvm2 a--  <19.00g     0 
  /dev/sdc   vg1    lvm2 a--   <2.00g <2.00g
  /dev/sdd1  vg1    lvm2 a--   <2.00g  1.80g
  /dev/sde   vg1    lvm2 a--   <2.00g <2.00g
4、vg刪減
[root@server0 ~]# vgreduce vg1 /dev/sdd
Removed "/dev/sdd" from volume group "vg1"
5、再次觀察
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 1 2 0 wz--n- 2.00g 1.76g
觀察,PV的數量變少了。


66、lv減容、擴容

1、lv擴容

1.查看VG空間。
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 2 0 wz--n- 1.88g 1.00g
請觀察,VG是否有剩余空間。

2.擴容LV。 
[root@server0 ~]# lvextend -L +200M /dev/vg1/lv2
增加200M空間,給lv2

## lvextend -L --size 100% /dev/vg1/lv2


查看
[root@server0 ~]# lvscan 
ACTIVE '/dev/vg1/lv1' [768.00 MiB] inherit
ACTIVE '/dev/vg1/lv2' [300.00 MiB] inherit

觀看LV大小已經發生改變。


2、fs擴容

1.查看VG空間
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 2 0 wz--n- 1.88g 1.00g
請觀察,VG是否有剩余空間。
2.擴容LV 
[root@server0 ~]# lvextend -L +200M /dev/vg1/lv2
增加200M空間,給lv2
3.查看lv
[root@server0 ~]# lvscan 
ACTIVE '/dev/vg1/lv1' [768.00 MiB] inherit
ACTIVE '/dev/vg1/lv2' [300.00 MiB] inherit

觀看LV大小已經發生改變。


先觀察文件系統當前容量。
[root@server0 ~]# df -Th 
/dev/mapper/vg1-lv2 ext4 240M 32M 192M 15% /mnt/lv2

. ext2/3/4文件系統擴容
[root@server0 ~]# resize2fs /dev/vg1/lv2
再次觀察df -hT 的分區大小。和上一次的對比一下。大小已經發生改變。


xfs文件系統擴容請注意,不同的文件系統,擴容指令不同。
[root@server0 ~]# xfs_growfs /dev/vg1/lv1


3、lv減容先備份數據

1.首先查看磁盤使用情況
[root@localhost ~]# df -hT
文件系統            類型      容量  已用  可用 已用% 掛載點
/dev/mapper/vg2-lv2 ext4       47M   42M  1.4M   97% /mnt/lv2
2、取消掛載\\注意目錄位置
[root@localhost ~]# umount /mnt/lv2/
3、運行e2fsck命令,該命令是用來檢查邏輯卷是否有問題
e2fsck -f /dev/vg1/lv2 
4、縮小的文件系統大小為
resize2fs -p /dev/vg1/lv2 20M
5、縮小邏輯卷LV2空間為20
lvreduce -L 20M /dev/vg1/lv2
6、掛載上/mnt/lv2,查看磁盤使用情況
mount /dev/vg1/lv2  /mnt/lv2/


67、LVM快照snapshot創建與查看

1. 創建快照 卷(EXT4)
[root@server0 ~]# lvcreate -L 128M -s -n lv2-snap /dev/vg1/lv2
或者這樣看呢,創建LV,名字lv2-snap,根據lv2進行快照,大小128M
lvcreate -n lv2-snap  -s /dev/vg1/lv2  -L 128M

2 查詢快照卷大小。
[root@server0 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 768.00m 
lv2 vg1 owi-aos--- 512.00m 
lv2-snap vg1 swi-aos--- 128.00m lv2 5.92 
實驗到這里就結束了。
3 將快照卷掛載,拷貝出數據。可以用作回復數據使用了。
[root@server0 ~]# mkdir    /mnt/lv2-snap
[root@server0 ~]# mount -o ro /dev/vg1/lv2-snap /mnt/lv2-snap/


1 查看兩個卷的掛載情況。
[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv2 ext4 488M 32M 429M 7% /mnt/lv2
/dev/mapper/vg1-lv2--snap ext4 488M 32M 429M 7% /mnt/lv2-snap

2 查看兩個卷的關系
[root@server0 ~]# lvscan 
ACTIVE '/dev/vg1/lv1' [768.00 MiB] inherit
ACTIVE Original '/dev/vg1/lv2' [512.00 MiB] inherit
ACTIVE Snapshot '/dev/vg1/lv2-snap' [128.00 MiB] inherit

3 查看文件內容。根據情況進行使用。
[root@server0 ~]# ls /mnt/lv2
etc lost+found
[root@server0 ~]# ls /mnt/lv2-snap/
etc lost+found

4. 觀察Snapshot
[root@server0 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 768.00m 
lv2 vg1 owi-aos--- 512.00m 
lv2-snap vg1 swi-aos--- 128.00m lv2 30.56 


XFS:不識別uuid ,所以需要單獨加上一個-o nouuid 來忽略掉。就可以使用xfs的快照了。
[root@server0 ~]# mount -o nouuid,ro /dev/vg1/lv1-snap /mnt/lv1-snap/
掛載快照,盡量使用ro的方式,將不會破壞快照卷中的數據


​ 先刪除pv,后刪除vg時報錯。

vgreduce --removemissing --force vg1


68、交換分區管理 Swap

一、查看當前的交換分區
[root@server0 ~]# free      -m
total used free shared buff/cache available
Mem: 489 140 145 4 202 304
Swap: 0 0 0

[root@server0 ~]# swapon -s
當前系統中,沒有swap。如果你的系統中有,請觀察大小,后續實驗會增加swap大小。
===分區===
1. 准備分區(准備將/dev/sde磁盤,划分為1G分區)
[root@server0 ~]# fdisk    /dev/sde (t轉換分區的ID 82)
[root@server0 ~]# partprobe /dev/sde
[root@server0 ~]# ll /dev/sde*
brw-rw----. 1 root disk 253, 16 12月 6 10:18 /dev/sde
brw-rw----. 1 root disk 253, 17 12月 6 10:18 /dev/sde1

2.格式化
[root@server0 ~]# mkswap /dev/sde1

3.掛載
[root@server0 ~]# blkid /dev/sde1
/dev/sde1: UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" TYPE="swap" 

[root@server0 ~]# vim /etc/fstab
UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" swap swap defaults 0 0

[root@server0 ~]# swapon -a (讀取/etc/fstab)
[root@server0 ~]# swapon -s
Filename Type Size Used Priority
/dev/vdb1 partition 524284 0 -1


===File===了解
[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 xfs 10G 3.3G 6.8G 33% /

[root@server0 ~]# dd if=/dev/zero of=/swap2.img bs=1M count=512
或者
[root@server0 ~]# dd </dev/zero >/swap2.img bs=1M count=512

[root@server0 ~]# mkswap /swap2.img

[root@server0 ~]# vim /etc/fstab
/swap2.img swap swap defaults 0 0

由於文件型擴展SWAP會提示權限不夠。所以擴大一下權限。
[root@server0 ~]# swapon -a
swapon: /swap2.img: insecure permissions 0644, 0600 suggested.
[root@server0 ~]# chmod 600 /swap2.img 
[root@server0 ~]# swapon -a


[root@server0 ~]# swapon -s
Filename Type Size Used Priority
/dev/vdb1 partition 524284 0 -1
/swap2.img file 524284 0 -2


設置優先級

多個交換分區分布在不同的磁盤
掛載時,使用相同的優先級

[root@server0 ~]# vim /etc/fstab
UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" swap swap defaults,pri=1 0 0
UUID="ea5b1c77-e540-465c-9644-0d75457f8b45" swap swap defaults,pri=1 0 0
pri是優先級的意思,設置相同即可。

[root@server0 ~]# swapon -a
[root@server0 ~]# swapon -s
Filename Type Size Used Priority
/dev/sdb1 partition 524284 0 1
/dev/sdc1 partition 524284 0 1


 

 

 

 

fuser /``var``/www/html/centos/顯示占用的信息

可以用這條命令殺死本地登錄用戶。前提是用w找到用戶終端序號。pkill -kill -t tty3

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM