kill
killall
pkill
[root@xingdian ~]# kill -I//列出所有支持的信号编号信号名
-1 HUP重新加载进程或者重新加载配置文件(修改配置文件用,为了让修改的配置文件生效,pid不变)
-9 KILL强制杀死
-15 TERM正常杀死(这个信号可以默认不写)
-18 CONT激活进程
-19 STOP挂起进程
[root@xingdian~]# kill -HUP pid[root@xingdian ~]# kill -STOP pid
修改配置文件后systemctl restart sshd 重启sshd服务,pid会发生变化
(pid的作用是用来唯一标识一个进程,如果说这个进程关闭又重启,我们系统不会保留辽个原有的pid,会生成一个新的pid给我们的服务使用)
ps aux | grep httpd
如果没有开启服务需要开启才能显示进程
ps aux | grep httpd -v "grep" 把grep行去掉
kill -9 +进程pid 干掉一个进程
pkill -9 +进程的名字 干掉与之相关的所有内容
pkill -u xingdian 干掉这个用户的进程
如果没有killall的命令:
[root@xingdian-server-11 /]# yum -y install psmisc
[root@xingdian ~]# killall 信号 进程名称
杀死与这个进程名称相关的所有进程
[root@xingdian ~]# pkill -9 进程名称
[root@xingdian ~]# pkill -9 -t 终端 名称
不加-9只杀死在终端上运行的进程,加-9连终端本身一起干掉
[root@xingdian ~]# pkill -u 用户名称
echo $$ 获取当前终端的pid
tty 查看当前终端
进程使用文件描述符来管理打开的文件
如何查看一个进程打开的文件描述符
[root@xingdian ~]# ps aux | grep vim
root 1195 0.0 0.4 151204 4900 pts/1 S+ 22:39 0:00 vim a.txt
root 1214 0.0 0.0 112660 972 pts/0 S+ 22:47 0:00 grep --color=auto vim
[root@xingdian ~]# ls -l /proc/1195/fd
total 0
lrwx------ 1 root root 64 Mar 5 22:48 0 -> /dev/pts/1
lrwx------ 1 root root 64 Mar 5 22:48 1 -> /dev/pts/1
lrwx------ 1 root root 64 Mar 5 22:43 2 -> /dev/pts/1
lrwx------ 1 root root 64 Mar 5 22:48 3 -> /root/.a.txt.swp
ls / 把根目录下所有的文件名/目录名记录到/opt/a.txt
FD:1 重定向符号
案例1:输出重定向(覆盖)
[root@xingdian ~]# date 1> date.txt
案例2:输出重定向(追加)
[root@xingdian ~]# date >> date.txt
案例3:错误输出重定向
[root@xingdian ~]# ls /home/ /aaaaaaaaa >list.txt
ls: 无法访问/aaaaaaaaa: 没有那个文件或目录
[root@xingdian ~]# ls /home/ /aaaaaaaaa >list.txt 2>error.txt //重定向到不同的位置
案例4: 正确和错误都输入到相同位置
[root@xingdian ~]# ls /home/ /aaaaaaaaa &>list.txt //混合输出
案例5: 正确和错误都输入到相同位置
[root@xingdian~]# ls /home/ /aaaaaaaaa >list.txt 2>&1 //重定向到相同的位置
案例6:重定向到空设备/dev/null
[root@xingdian ~]# ls /home/ /aaaaaaaaa >list.txt 2>/dev/null //空设备,即将产生的输出丢掉
[root@xingdian~]# ls /home/ /aaaaaaaaa &>/dev/null //空设备,即将产生的输出丢掉
[root@xingdian ~]# vim ping1.sh
ping -c1 10.18.40.100
if [ $? -eq 0 ];then
echo "10.18.40.100 is up."
else
echo "10.18.40.100 is down!"
fi
[root@xingdian ~]# vim ping1.sh
[root@xingdian ~]# chmod +x ping1.sh
[root@xingdian ~]# ./ping1.sh
添加执行权限的文件是可以使用./或者/去执行一个文件
不加执行权限可不可以执行文件(可以)但是,不能使用./或/ 要使用bash或者sh去执行这个文件
[root@xingdian ~]# vim ping1.sh
ping -c1 10.18.40.100 &>/dev/null
if [ $? -eq 0 ];then
echo "10.18.40.100 is up."
else
echo "10.18.40.100 is down!"
fi
[root@xingdian ~]# vim ping2.sh
ping -c1 10.18.40.100 &>/dev/null
if [ $? -eq 0 ];then
echo "10.18.40.100 可以访问." >>up.txt
else
echo "10.18.40.100 不可以访问" >>down.txt
fi
#!/bin/bash 解释器:解释这个脚本里面的内容
最终版脚本:
for i in {1..100}
do
ping -c1 10.11.65.$i &>/dev/null
if [ $? -eq 0 ];then
echo "10.11.65.$i is up" >>up.txt
else
echo "10.11.65.$i is down" >>down.txt
fi
done
< 0<
综合案例1:
[root@xingdian ~]# grep 'root' < /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
mysql: 数据的导入
mysql -u root -p123 farm < qqfarm.sql
-u 用户名
-p 密码
farm 数据库中的一个库名
qqfarm.sql 数据库文件
将数据库文件qqfarm.sql导入到farm的库中.
ping www.baidu.com
ping 10.9.12.250
cat >> /opt/kk <
zb'
zb
eof
管道作用:
实现进程间通信的手段之一
sort 排序 (默认从小到大)
sort -rn b.txt
-r 从大到小
-k 1 指定字段,第一列排序,sort 默认第一列排序
-n 按照数值排序
uniq 去重(默认连续的去重)
先排序,后去重可以解决cat qf| sort |uniq
-c 统计重复次个数
wc 统计
wc -l 统计行数
案例:统计当前系统中一共有多少个用户cat /etc/passwd | wc -l
ps aux |
awk 切片
w |awk NR==1‘{print $8,$9,$10,$11,$12}’ 空格为分隔符,获取平均负载
NR指定行号
free -m 查看内存
获取当前服务器内存的使用量
free -m |awk NR==2'{print$3}'
不一定使用NR
cat /etc/passwd | awk -F:'{$1}'
awk打印指定的字段
例2:统计当前/etc/passwd中用户使用的shell类型
思路:取出第七列(shell) | 排序(把相同归类)| 去重
[root@xingdian ~]# awk -F: '{print $7}' /etc/passwd
[root@xingdian ~]# awk -F: '{print $7}' /etc/passwd |sort
[root@xingdian ~]# awk -F: '{print $7}' /etc/passwd |sort |uniq
[root@xingdian ~]# awk -F: '{print $NF}' /etc/passwd |sort |uniq -c
-F: 指定字段分隔符,默认以空格或者是tab分隔
$7 第七个字段
$NF表示最后一个字段
$(NF-1)表示倒数第二个字段
NR
NR==2 第二行
NR==9 第九行
实现进程间通信的手段之一
ss -antpl | grep -v State | wc -l -v 取反
sort -rn b.txt
-r 从大到小
-k 1 指定字段,第一列排序,sort 默认第一列排序
-n 按照数值排序
先排序,后去重可以解决cat qf| sort |uniq
-c 统计重复次个数
wc -l 统计行数
案例:统计当前系统中一共有多少个用户cat /etc/passwd | wc -l
ps aux |
w |awk NR==1‘{print $8,$9,$10,$11,$12}’ 空格为分隔符,获取平均负载
NR指定行号
free -m 查看内存
获取当前服务器内存的使用量
free -m |awk NR==2'{print$3}'
不一定使用NR
cat /etc/passwd | awk -F:'{$1}'
例2:统计当前/etc/passwd中用户使用的shell类型
思路:取出第七列(shell) | 排序(把相同归类)| 去重
[root@xingdian ~]# awk -F: '{print $7}' /etc/passwd
[root@xingdian ~]# awk -F: '{print $7}' /etc/passwd |sort
[root@xingdian ~]# awk -F: '{print $7}' /etc/passwd |sort |uniq
[root@xingdian ~]# awk -F: '{print $NF}' /etc/passwd |sort |uniq -c
-F: 指定字段分隔符,默认以空格或者是tab分隔
$7 第七个字段
$NF表示最后一个字段
$(NF-1)表示倒数第二个字段
NR
NR==2 第二行
NR==9 第九行