linux琐碎命令学习

kill -l会把linux的信号都列出来.
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
kill 2 进程ID 表示向这个进程发送上面第二个信号.
SIGINT这个信号和在终端里按ctl+c的效果一样.
SIGTSTP这个信号是把线程挂起了,好ctl+z效果一样.
SIGKILL这个信号是个系统的信号,一般的进程都可以杀死,除非这个信号是内核信号,或者没有按照规范来开发.
sl 一个恶搞的命令,会出来一个小火车... 哈哈
paste 把俩个文件merge起来,line by line
tr translate
comm和diff一样,找俩个文件的不同和相同, 它可以只打出一个文件有的,或者俩个文件共同的内容等等.
date 来打出当前日期,也可以对输出的日期进行格式化,date +"formate", 具体看命令文档
curl 是http来发包, nc是使用udp 或者 tcp来发包.
curl -X POST http://www.baidu.com
-X这个参数表示发送使用的方式
curl -X POST http://www.baidu.com --data-binary @run.sh 来把这个二进制文件发出去
curl -H 'Content-Type:application/json' -X POST http:www.baidu.com -d@data.json
-H 来增加一些头信息, -d来发送一个文本文件.
res=$(curl -X PUT -H 'Content-Type:application/json' http://www.baidu.com -i -s -o /dev/null --write-out '%{http_code} ' -d@data.json)
可以用$()把上面的的命令括起来,会先把括号里的命令进行执行. -s 表示发送的时候,不要显示东西, -o表示把输出的东西输出到指定的文件, --write-out表示写出一些东西,这里表示输出一个内建的变量,http_code. 这里会把http_code赋值给res. 也就是网络返回的状态码
echo "foo" | nc -u -w0 27.0.0.1:85
-u 表示使用udp -w表示超时的时间
定时任务:
at 5pm+3days
at 17:20 tomorrow 明天17:20执行一段命令
然后再输入定时需要执行的任务,然后再使用信号退出at命令,这个定时命令就设好了.
atq 这个命令会显示所有的定时任务
atrm 定时任务的id 就会把这个定时任务取消掉
cron表达式 由五个*表示
* * * * *
这5个*分别表示分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6) 0表示星期天
5 * * * * ls 表示每个小时的第5分钟执行一次ls命令
30 5 * * * ls 表示每天的5点30分执行ls命令
30 7 8 * * ls 表示每月8号7点30分执行ls命令
30 3 10,20 * * ls 表示每月10号和20号的3点10分执行
25 8-11 * * * ls 表示每天的8点到11点的25分执行
*/15 * * * * ls 表示每天每过15分钟就执行
30 6 */10 * * ls 每个月中,每隔10天6点30执行一次ls命令
50 7 * * * root run-parts /etc/cron.daily 每天的7点50执行/etc/cron.daily中的所有可执行文件
建立crontab定时任务的俩种方法:
1.crontab -e 然后在里边编辑定时任务
2.vi /etc/crontab 文件,在里面写定时任务

patch 命令对一个文件进行打补丁:
有俩个文件, a.txt b.txt
然后diff a.txt b.txt > a.patch
patch a.txt a.patch
然后就对a.txt打了一个补丁,打补丁后, a.txt就和b.txt一样了.
shutdown 将电脑关机,重启等
echo $HOME 来把用户的主目录打出来

原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/6000922.html