linux编程基础实验二linux shell编程,shell编程基础linux
[root@localhost 0418]#服务超文本协议服务启动
正在启动https:perl:警告:设置区域设置失败。
perl:警告:请检查您的区域设置:
LANGUAGE=(unset),
LC_ALL=(未设置),
LANG=en_US.en
受支持并安装在您的系统上。
perl:警告:退回到标准语言环境( C ).
[好的]
#查看超文本协议服务进程详细信息并去除可做文件内的字符串查找
[root @ localhost 0418]# PS-aux grep /usr/sbin/httpd " grep-v grep
根19202 1.9 3.3 19656 8624?S 12:09 0:00 /usr/sbin/httpd
#查看超文本协议服务进程详细信息并去除grep,打印进程号
[root @ localhost 0418]# PS-aux grep /usr/sbin/httpd grep-v grep awk { print $ 2 }
19202
[root@localhost 0418]# ./processlog.sh
[root@localhost 0418]# cat /t
tftpboot tmp
#查看终端监督程式(终端监控程序的缩写)目录,发现19304.txt文件
[root@localhost 0418]# cat /tmp/。x0-锁定。X11-unix。fam _套接字。字体-unix。gdm_socket。iroha_unix
19304.txt
OSL _管道_ 0 _单片机e 31798 b 4554 fded d 4 FEA 48 CD 4 e 93 b 7
VMwareDnD
jd_sockV4
轨道根
轨道-学生
ssh-XXCs45Ko
vmware-root
#查看19304.txt内容
[root @ localhost 0418]# cat/tmp/19304。文本文件(textfile)
19202
#手动删除
[root @ localhost 0418]# RM-f/tmp/19304。文本文件(textfile)
[root@localhost 0418]# ./processlog.sh
rm -f /tmp/19421.txt
#重新查看,发现没有内容
[root @ localhost 0418]# cat/tmp/19421。文本文件(textfile)
目录:/tmp/19421.txt:没有这样的文件或目录
#查看所有信号
[root@localhost 0418]# kill -l
1)SIGHUP 2)SIGINT 3)SIGQUIT 4)SIGILL
信号陷阱信号abrt信号总线信号fpe
西格基尔,西格斯R1,西格夫,西格斯R2
信号管道信号RM信号术语信号
18)SIG cont 19)SIG stop 20)SIGTSTP 21)sigt tin
22)SIGTTOU 23)SIGURG 24)SIGXCPU 25)SIGXFSZ
SIGVTALRM SIG教授SIG winch SIGIO
30)信号功率31)信号系统33)信号寄存器34)信号寄存器1
35)SIGRTMIN 2 36)SIGRTMIN 3 37)SIGRTMIN 4 38)SIGRTMIN 5
39)SIGRTMIN 6 40)SIGRTMIN 7 41)SIGRTMIN 8 42)SIGRTMIN 9
SIGRTMIN 10 44 SIGRTMIN 11 45 SIGRTMIN 12 46 SIGRTMIN 13
47)SIGRTMIN 14 48)SIGRTMIN 15 49)SIGRTMAX-14 50)SIGRTMAX-13
51)SIGRTMAX-12 52)SIGRTMAX-11 53)SIGRTMAX-10 54)SIGRTMAX-9
55)SIGRTMAX-8 56)SIGRTMAX-7 57)SIGRTMAX-6 58)SIGRTMAX-5
59)SIGRTMAX-4 60)SIGRTMAX-3 61)SIGRTMAX-2 62)SIGRTMAX-1
63) SIGRTMAX
#查看超文本协议服务进程详细信息
[root @ localhost 0418]# PS-ef grep httpd
root 19202 1 0 12:09?00:00:00 /usr/sbin/httpd
阿帕奇19205 19202 0 12:09?00:00:00 [httpd]
阿帕奇19206 19202 0 12:09?00:00:00 [httpd]
阿帕奇19207 19202 0 12:09?00:00:00 [httpd]
阿帕奇19208 19202 0 12:09?00:00:00 [httpd]
阿帕奇19209 19202 0 12:09?00:00:00 [httpd]
阿帕奇19210 19202 0 12:09?00:00:00 [httpd]
阿帕奇19211 19202 0 12:09?00:00:00 [httpd]
阿帕奇19212 19202 0 12:09?00:00:00 [httpd]
root 19533 2658 0 12:23 pts/0 00:00:00 grep httpd
#查看超文本协议服务进程详细信息并去除可做文件内的字符串查找
[root @ localhost 0418]# PS-ef grep httpd grep-v grep
root 19202 1 0 12:09?00:00:00 /usr/sbin/httpd
阿帕奇19205 19202 0 12:09?00:00:00 [httpd]
阿帕奇19206 19202 0 12:09?00:00:00 [httpd]
阿帕奇19207 19202 0 12:09?00:00:00 [httpd]
阿帕奇19208 19202 0 12:09?00:00:00 [httpd]
阿帕奇19209 19202 0 12:09?00:00:00 [httpd]
阿帕奇19210 19202 0 12:09?00:00:00 [httpd]
阿帕奇19211 19202 0 12:09?00:00:00 [httpd]
阿帕奇19212 19202 0 12:09?00:00:00 [httpd]
#杀死进程19212
[root @ localhost 0418]# kill-s SIGKILL 19212
[root @ localhost 0418]# PS-ef grep httpd grep-v grep
root 19202 1 0 12:09?00:00:00 /usr/sbin/httpd
阿帕奇19205 19202 0 12:09?00:00:00 [httpd]
阿帕奇19206 19202 0 12:09?00:00:00 [httpd]
阿帕奇19207 19202 0 12:09?00:00:00 [httpd]
阿帕奇19208 19202 0 12:09?00:00:00 [httpd]
阿帕奇19209 19202 0 12:09?00:00:00 [httpd]
阿帕奇19210 19202 0 12:09?00:00:00 [httpd]
阿帕奇19211 19202 0 12:09?00:00:00 [httpd]
#功能同上
[root @ localhost 0418]# kill-9 19211
#重新查看超文本协议服务进程详细信息并去除grep,发现没有该进程,说明被终止
[root @ localhost 0418]# PS-ef grep httpd grep-v grep
root 19202 1 0 12:09?00:00:00 /usr/sbin/httpd
阿帕奇19205 19202 0 12:09?00:00:00 [httpd]
阿帕奇19206 19202 0 12:09?00:00:00 [httpd]
阿帕奇19207 19202 0 12:09?00:00:00 [httpd]
阿帕奇19208 19202 0 12:09?00:00:00 [httpd]
阿帕奇19209 19202 0 12:09?00:00:00 [httpd]
阿帕奇19210 19202 0 12:09?00:00:00 [httpd]
#挂起进程
[root @ localhost 0418]# kill-s SIGHUP 19210
#查看超文本协议服务进程详细信息并去除可做文件内的字符串查找
[root @ localhost 0418]# PS-ef grep httpd grep-v grep
root 19202 1 0 12:09?00:00:00 /usr/sbin/httpd
阿帕奇19205 19202 0 12:09?00:00:00 [httpd]
阿帕奇19206 19202 0 12:09?00:00:00 [httpd]
阿帕奇19207 19202 0 12:09?00:00:00 [httpd]
阿帕奇19208 19202 0 12:09?00:00:00 [httpd]
阿帕奇19209 19202 0 12:09?00:00:00 [httpd]
#重新查看查看超文本协议服务进程详细信息并去除可做文件内的字符串查找
[root @ localhost 0418]# PS-ef grep httpd grep-v grep
root 19202 1 0 12:09?00:00:00 /usr/sbin/httpd
阿帕奇19205 19202 0 12:09?00:00:00 [httpd]
阿帕奇19206 19202 0 12:09?00:00:00 [httpd]
阿帕奇19207 19202 0 12:09?00:00:00 [httpd]
阿帕奇19208 19202 0 12:09?00:00:00 [httpd]
阿帕奇19209 19202 0 12:09?00:00:00 [httpd]
#杀死子进程或者父进程下的所有子进程
[root @ localhost 0418]# kill-1 19209
#查看超文本协议服务进程详细信息并去除可做文件内的字符串查找
[root @ localhost 0418]# PS-ef grep httpd grep-v grep
root 19202 1 0 12:09?00:00:00 /usr/sbin/httpd
阿帕奇19205 19202 0 12:09?00:00:00 [httpd]
阿帕奇19206 19202 0 12:09?00:00:00 [httpd]
阿帕奇19207 19202 0 12:09?00:00:00 [httpd]
阿帕奇19208 19202 0 12:09?00:00:00 [httpd]
阿帕奇19616 19202 0 12:26?00:00:00 [httpd]
#查看超文本协议服务进程详细信息并去除可做文件内的字符串查找
[root @ localhost 0418]# PS-ef grep httpd grep-v grep
root 19202 1 0 12:09?00:00:00 /usr/sbin/httpd
阿帕奇19205 19202 0 12:09?00:00:00 [httpd]
阿帕奇19206 19202 0 12:09?00:00:00 [httpd]
阿帕奇19207 19202 0 12:09?00:00:00 [httpd]
阿帕奇19208 19202 0 12:09?00:00:00 [httpd]
阿帕奇19616 19202 0 12:26?00:00:00 [httpd]
#结束进程号为19202的进程
[root @ localhost 0418]# kill-1 19202
#查看超文本协议服务进程详细信息并去除可做文件内的字符串查找
[root @ localhost 0418]# PS-ef grep httpd grep-v grep
root 19202 1 0 12:09?00:00:00 /usr/sbin/httpd
crtl D出口退出当前壳
root 4221 2113 0 15:57?00:00:00/美国/sbin/sshd
root 4241 4221 0 15:58 pts/1 00:00:00-bash
root 4834 4180 6 16:19 pts/0 00:00:00/bin/bash ./trap1.sh
#结束进程
kill -2 4834
#执行终端打印信息
你刚打了CRTL-C,号码是38383
我现在将退出
#重新编辑
[root @ localhost 0419]# VI陷阱1。嘘
#查看内容,增加休眠调用
[root @ localhost 0419]#猫陷阱1。嘘
#!/bin/bash
#trap1.sh
陷阱"退出进程"2
循环=0
函数exitprocess()
"你刚刚打了CRTL C,在第$ number环"
回声我现在将退出
一号出口
同时:
LOOP=$[$LOOP 1]
echo $LOOP
#增加代码
睡眠一
[root@localhost 0419]# ./trap1.sh
root 5245 4180 0 16:35 pts/0 00:00:00/bin/bash ./trap1.sh
#另一个终端,结束进程
kill -4 5245
#当前终端,显示信息
非法指令
#不做任何处理
kill -3 5305
#会做处理
kill -2 5305
#拷贝文件
[root @ localhost 0419]# CP陷阱1。sh陷阱2。嘘
#查看内容
[root @ localhost 0419]#猫陷阱2。嘘
#!/bin/bash
#trap2.sh
循环=0
陷阱"退出进程"2
HOLD1=/tmp/ho1d1 .$$
HOLD2=/tmp/hold2 .$$
函数exitprocess()
回声-e n确定的中断.
你真的想退出吗?(Y?n)’
阅读答案
案例美元入
Yy)
rm _临时文件
Nn)
退出程序
环境系统应用中心环境系统应用程序中心
函数rm_tmp_file()
"回声“CRTL-C探测到了.现在清理."等等"
rm /tmp/* .$$ 2 /dev/null
一号出口
同时:
LOOP=$[$LOOP 1]
echo $LOOP
df $HOLD1
ps -xa $HOLD2
睡眠一
[root@localhost 0419]# ./trap2.sh
接收中断.
您真的想要退出吗?(Y?名词;名词
接收中断.
您真的想要退出吗?(Y?N)y
探测到CRTL-C.现在清理.等待
#查看终端监督程式(终端监控程序的缩写)目录下的内容
ls -al /tmp/
-rw-r-r-1 root root 3816 Apr 19 16:50 ho1d 1.5503
-rw-r-r-1 root root 3816 Apr 19 16:50 ho1d 2.5503
#另一个终端查看进程
PSef
#结束进程
kill -2 5503
#评估
[root @ localhost 0419]# my file= cat my file ;` eval $MYFILE
-bash:总计:找不到命令
六我的档案
#查看内容
[root@localhost 0419]# cat myfile
lsal
[root @ localhost 0419]# my file= cat my file ;` eval $MYFILE
共计32人
drwxr-xr-x 2根根4096年四月19日16时54分。
drwxr-xr-x 15根根4096年四月19日15时58分.
-rwxr-xr-x1 root root 431 Apr 19 15:59 awk if。嘘
-rwxr-xr-x1 root root 435 Apr 19 15:59 datelog。嘘
-rw-r-r-1 root root 7 Apr 19 16:54我的文件
-rwxr-xr-x1 root root 391 Apr 19 15:59进程日志。嘘
-rwxr-xr-x1 root root 210 Apr 19 16:35陷阱1。嘘
-rwxr-xr-x1 root root 484 Apr 19 16:45陷阱2。嘘
#重新编辑
[root@localhost 0419]# vi myfile
#查看内容
[root@localhost 0419]# cat myfile
#重新执行
[root @ localhost 0419]# my file= cat my file ;` eval $MYFILE
awk如果。上海日志。sh我的文件处理日志。sh陷阱1。sh陷阱2。嘘
#可以不使用变量
[root @ localhost 0419]# eval ` cat my file
awk如果。上海日志。sh我的文件处理日志。sh陷阱1。sh陷阱2。嘘
#记录器
#查看信息内容
[root @本地主机0419]#目录/变量/日志/消息
#向日志文件增加内容
[root@localhost 0419]# logger -i 中国国际实验室深圳
四月19日17时01分09秒本地主机根[6179]:中国国际实验室深圳
[root @ localhost 0419]# logger-p 19-I 中国国际实验室深圳
#再次查看
[root @本地主机0419]#目录/变量/日志/消息
四月19日17时01分09秒本地主机根[6179]:中国国际实验室深圳
四月19日17时01分56秒本地主机根[6199]:中国国际实验室深圳
#向日志文件增加内容
[root @ localhost 0419]# logger-P1-I 中国国际实验室深圳
#再次查看
[root @本地主机0419]#目录/变量/日志/消息
四月19日17时01分09秒本地主机根[6179]:中国国际实验室深圳
四月19日17时01分56秒本地主机根[6199]:中国国际实验室深圳
四月19日17时02分25秒本地主机根[6201]:中国国际实验室深圳
@Wentasy博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。原创博文如需转载请注明出处,谢谢:)【CSDN博客]