linux命令

查日志

查看文件前面50行数据

head -n 50 filename == head -50 filename 

查看文件后面50行数据

tail -n 50 filename == tail -50 filename

查看文件20-50行数据

head -50 filename | tail -31

先查看文件前50行数据,用 | 管道连接, 以取出的内容作为tail的输入

awk 'NR==20 NR==50' filename 

sed -n '20,30p' filename 

查看某个关键词上下文10条数据

grep -C 10 keyword catalina.out 查找关键字上下文的10条数据存到 catalina.out 文件中

sed 命令

利用模式进行匹配

sed -n '/Hello/'p filename

利用行号和模式进行匹配

sed -n '3,/Hello/' filename

打印1-3行数据

sed -n '1,3p' filename

让程序休眠xx秒

sleep xxs

让程序休眠xx分钟

sleep xxm

切换用户名

su -用户名

文件夹命令

mkdir doc1 文件夹

mkdir doc1 doc2 doc3 在当前目录创建同级目录doc1,doc2,doc3

mkdir -p doc/subDoc -p创建多层级子目录 创建doc目录和子目录subDoc

rmdir doc1 删除文件夹doc1及里面的全部内容

rmdir -p a1/a2/a3 删除文件夹a1里面的全部目录

文件命令

touch 

>

cp 

rm 

mv

tar 文件压缩与解压命令

        tar  -cvf c.tar a b 将文件a b 压缩到文件c.tar里面

        tar -xvf  c.tar a b 将文件c.tar里的文件a,b解压到当前文件夹里

        unzip a.zip 解压a.zip到当前文件夹里

find 查找文件

        find a* 查找文件以a开头的文件

        find /a/s* 查找绝对路径/a目录下的以s开头的文件

        find a* -print 查找a开头的文件,并打印出来

tail -n 500 显示文件后500行

tail -1 显示文件最后一行

tail -f 查看动态日志

vi vim编辑文件

vi a.txt编辑文件a.txt(如果文件a.txt不存在,则创建一个)

i 开始编辑

esc退出编辑文件

:w保存修改

:q退出修改

:wq保存并退出修改

:q!强行退出文件,不保存修改

?xx 查找文件中关于xx的内容

echo 'hello'>>a.txt 输出hello追加到a.txt中

echo '你好'>a.txt 用'你好'覆盖a.txt文件

cat a.txt | grep 'hello' 在a.txt文件中查找含有hello的文本

clear 清屏

hostname 查看当前主机名

hostname b 修改当前主机名为b

reboot 重启

shutdown 关机

logout 注销当前用户

top 实时,动态的查看当前CPU,MME(内存)最近的负载信息

               按大M,从大到小的顺序 按大cpu,从大到小的顺序

kill 7890 杀死进程号为7890的进程

kill -9 7890 强杀pid为7890的进程

ifconfig 查看当前ip地址

ping ip/hostname

at单定时次任务

参数解释

  • -V 查看版本号
  • -d atrm的别名
  • -c 打印任务到标准输出
  • -l atq的别名
  • -m 当指定任务被完成后,将给用户发送邮件,即便没有指定输出
  • -q<队列> 使用指定的队列
  • -f<文件> 从指定的文件读入任务而不是标准输入读入
  • -t 以时间参数的形式提交要运行的任务

示例

22:34执行

at 22:34

三天后的下午5点执行

at 5pm+3 days

明天17:20输出到指定目录里面

at 17:20 tomorrow

ctrl+D结束编辑

atq 查看有没有执行工作任务

atrm 4 删除序号为4的任务

at -c 3 显示已设置的任务列表

启动

  1. systemctl start atd 启动at命令服务 atd 是at程序的守护线程
  2. systemctl status atd 查看at命令状态
  3. systemctl is-enabled atd 查看at命令是否开机启动

要运行定时任务,Linux系统上必须要有负责这个计划任务的服务,这个服务就是atd服务。不过并非所有的linux distribution都会默认运行这个服务的。需要用/etc/init.d/atd start去激活。或者/etc/init.d/atd restart

运行方式与安全

at服务运行atd服务上面的,当使用at命令编写执行计划后,执行计划会写在/var/spool/at/目录内,该目录便能等待at服务的取用与运行。不过很多黑客攻击都是通过某个账号,进入到服务器内,然后执行一些定时计划,把系统信息发送给他们,以达到黑取信息的目的。这时候就得使用到两个文件来做控制,一个是/etc/at.allow,一个是/etc/at.deny。写在at.allow文件里的用户可以执行定时计划,如果用户没写在at.allow里面,则该用户不运行执行计划任务。也可以不用去考虑at.deny文件。如果文件at.allow不存在,则看at.deny文件,写在deny文件里面的用户会被拒绝,其它用户则允许执行。如果两个文件都不存在,则只可以有root用户去执行计划任务。很多distributions都是假设系统上所有的账户都是安全的,就创建了一个at.deny空文件,允许所有的用户都去创建和执行计划任务。

crontab循环定时任务

crond服务

systemctl start crond

systemctl reload crond 

systemctl restart crond

systemctl stop crond 

system status crond

等价于

service crond start 

service crond stop 

service crond restart 

service crond reload

service crond status

参数

crontab -e 创建一个定时任务

crontab -u user -e 创建用户user的定时任务

crontab -l 查看定时任务详情

crontab -u user -l 查看用户User的定时任务详情

crontab -r -u u 删除指定定时任务

实例

* * * * * command

分时日月周 命令

第一列 分 1-59 (每分钟用* 或 */1)

第二列 时 1-23 (0表示0点)

第三列 日1-31    

第四列 月1-12

第五列 周1-6 (周日用0或7表示)

第六列 表示用运行的命令

* 表示每

/ 表示频率多少一次 */10 1-23/2

- 表示区间 1-6 

,表示分散的几个数字 1,2,10-13, 16

创建定时计划

例1.每天2点1分执行备份任务

crontab -e 1 2 * * * tar -zcvf /opt/grab2.tar.gz /boot/grub2

crontab -l

写在系统级别中的计划任务

vim /etc/crontab

1 2 * * * root echo 'a1111'>>a.txt

运行方式与安全

‎/var/spool/cron/ 存放每个用户创建的定时任务,文件用创建者名字命名

/etc/crontab 这个文件负责安排由系统管理员安排的维护系统或其它的计划任务

/etc/cron.d/ 此目录用来存放要执行的crontab定时任务文件或脚本

/var/adm/cron/ cron.allow cron.deny与单次任务的原理一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值