kill
kill +信号 pid
kill -l //列出所有支持的信号 编号 信号名
-1 HUP 重新加载进程或者重新加载配置文件
-9 KILL 强制杀死 pkill -9 +进程 干掉所有与之相关的进程 killall 信号 进程名称 杀死与这个进程名称相关的所有进程
-15 TERM 正常杀死(这个信号可以默认不写)
-18 CONT 激活进程
-19 STOP 挂起进程
sshd是个服务(连接服务) 给sshd进程发送kill -1信号 pid不会改变。 systemctl restart 服务名 pid会变化 kill -9 只能杀死一个主进程
ps aux | grep httpd | grep -v grep httpd没有启动, ps aux | grep httpd 得到的是 ps aux | grep httpd 这条命令的进程 grep -v grep 取反grep httpd获得的结果
pkill -9 进程名称
pkill -9 -t 终端 名称
不加-9只杀死在终端上运行的进程,加-9连终端本身一起干掉
pkill -u 用户名称
重定向
FD,文件描述符 或 Process I/O channels)进程使用文件描述符来管理打开的文件 查看一个文件的描述符先ps aux | grep xxxx获取pid然后ls -l /proc/pid/fd
0标准输入,1标准正确输出,2标准错误输出
> 覆盖 >>追加
1> 1>> 等价于 > >>
错误输出: 2> 2>> &> &>> 混合输出 ls /home/ /aaaaaaaaa >list.txt 2>&1 相当于ls /home/ /aaaaaaaaa &>list.txt将正确输出和错误输出都重定向到list.txt
/dev/null 空设备 把重定向的都丢掉,cat看不到/dev/null里面
#!/bin/bash 解释器:解释这个脚本里面的内容
案例7:脚本中使用重定向
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
cat >>xxxx <<xx xx
利用重定向建立多行的文件(不是交互的)与vim区别是vim是交互的 cat >>file200.txt <<EOF(可以换但是得和后面结尾的一致)
xxxxxx
xxxxxx
EOF
管道|:Linux的程序小,功能单一,效率高,但是无法完成很复杂的任务,就需要借助于管道将多个进程组合起来
sort排序 uniq去重 wc 统计行数 sort/uniq/wc 参数 文件 或者用管道cat xx |sort/uniq/wc 加参数
sort 不加参数是从小到大,sort -r 从大到小,sort -n 按数值排序默认按字符排序 sort -k n(数字,按照第二列排序,每排一个整体)
uniq 去重(挨着的才能去),先排序再去重 uniq -c 去重并且统计重复次数
wc -l 统计行数
awk打印指定字段awk -F: '{print $7}' /etc/passwd
-F: 指定字段分隔符,默认以空格或者是tab分隔 $NF表示最后一个字段NR==n 第n行可以单独查行和列
tee三通管道
借助于三通管道可以实现将前一个进程的输出作为后一个进程的输入,也可以将前一个进程的输出结果重定向到一个文件中。
ip a show eth0 |tee file1 |grep 'inet ' |tee file2 |awk -F"/" '{print $1}'