centos-命令行合集

# 主机访问用Vmware搭建的虚拟机Linux服务器
开启 22 端口访问:
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --reload
或者直接关闭防火墙:
systemctl stop firewalld.service

# centos如何修改ip 参考:https://www.php.cn/centos/445378.html
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33
IPADDR=192.168.1.3 # 静态 ip

# linux中查找路径下包含某字符串的所有文件 参考:linux中查找路径下包含某字符串的所有文件
# 目录下的所有文件中查找字符串:
grep -ri "字符串" .

cat /var/log/messages |grep 0620
查询日志中指定字符串0620

cat /var/log/messages |tail -100 |grep 0620
查询日志末尾100行,指定字符串0620

tcpdump tcp port 1883 or port 4000 or port 28622 -w /var/tmp/1650.cap
抓取协议tcp, 端口1883 、4000、28622网络数据,并写入1650.cap 数据包中

编写脚本
vi getcap.sh
vi 脚本文件名.ch

#!/bin/sh
tcpdump tcp  -w /var/log/1142.cap
抓取协议tcp 的网络数据,并写入1142.cap 数据包中

chomd +x getcap.sh
修改权限 添加可执行权限

忽略提示删除文件
rm -rf file1 file2

批处理
set today=%date:~0,10%
set ctime=%TIME: =0%
set tname=%today%T%ctime:~0,2%%ctime:~3,2%%ctime:~6,2%.txt
echo %tname%
得到:2013-12-05T181046.txt 这样的文件名


说明:
原本 set ctime=%TIME%就可以取到时间了,但是如果在早上10点前,在某些环境下你会得到" 9:30:00"
所以我们这里要把里面的空格去掉,否则得到的文件名,中间有空格,一不小心就坑爹了。


====================================  华丽的分割线  =====================================
shell
tname=`date +%Y-%m-%dT%H%M%S.txt`
echo  ${tname}
得到:2013-12-05T181046.txt 这样的文件名
这里因为用了格式化,所以不存在批处理的空格问题,直接得到。

获取协议tcp 的网络数据,写入以当前时间为文件名的数据包

tname=’date +%Y-%m-%dT%H%M%S.cap’
echo ${tname}
tcpdump tcp -w /var/log/${tname}

删除多个文件
rm -rf 2017-03-13T073602.cap 2017-03-13T073606.cap
rm -rf %today%T%ctime:~0,2%%ctime:~3,2%%ctime:~6,2%.cap

Linux中执行shell脚本的4种方法总结

投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-08-19 我要评论
这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下
bash shell 脚本的方法有多种,现在作个小结。假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。
方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:
复制代码 代码如下:

cd /data/shell
./hello.sh

./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。
方法二:以绝对路径的方式去执行bash shell脚本:
复制代码 代码如下:

/data/shell/hello.sh

方法三:直接使用bash 或sh 来执行bash shell脚本:
复制代码 代码如下:

cd /data/shell
bash hello.sh

或
复制代码 代码如下:

cd /data/shell
sh hello.sh

注意,若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方法三是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。那么不用指定bash路径自然也好理解了啊,呵呵……。
方法四:在当前的shell环境中执行bash shell脚本:
复制代码 代码如下:

cd /data/shell
. hello.sh

或
复制代码 代码如下:

cd /data/shell
source hello.sh

前三种方法执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。而方法四则是在当前shell中执行的。

centos 历史重启记录
last |grep shutdown last |grep reboot last
last |grep shutdown
last |grep reboot
last


1: who 命令查看
      who -b 查看最后一次系统启动的时间。
      who -r 查看当前系统运行时间

# 统计TCP连接数命令
netstat -an | grep 'ESTABLISHED' | grep 'tcp' | wc -l

# 退出
exit

在终端打开指定端口
如何开放CentOS的端口

将开放的端口写入iptables中,在终端中输入命令:
/sbin/iptables -I INPUT -p tcp --dport 1883 -j ACCEPT

保存上一步的修改内容,输入命令:
/etc/init.d/iptables save

重启防火墙,使修改生效,输入命令:
service iptables restart

查看端口状态,输入命令:
/etc/init.d/iptables status

service network restart

netstat -ntlp

档案内容查阅
cat      有第一行开始显示文档内容
tac      从最后一行开始显示,可以看出tac 是 cat 的倒着写
nl       显示的时候,顺道输出行号
more    一页一页的显示档案内容
less     与more类似,但是比more更好的是,它可以往前翻
head    只看头几行
tail     只看尾巴几行
od     以二进位的方式读取档案内容

打开防火墙
iptables -A INPUT -p icmp -j ACCEPT
在/etc/sysctl.conf中添加 net.ipv4.icmp_echo_ignore_all=0
/etc/init.d/iptables save

看看防火墙
iptables -L -n

tailf /var/log/messages | grep -E "cg04069204|cg04068d8b"


清空文件内容
cat /dev/null > /var/log/messages

 

发表评论

zh_CNChinese
zh_CNChinese