命令


命令集合>>脑补系列

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