您的位置:首页 > 运维架构 > Linux

常用linux命令实战

2017-09-27 18:22 609 查看
系统:CentOS6.5

以下所有命令都是在此版本中运行,所有命令都根据实际操作总结

1、防火墙(root权限)

临时关闭防火墙,立即生效,重启后失效

service iptables start  //开启
service iptables stop  //关闭
service iptables status  //查看防火墙状态
永久关闭防火墙,重启后生效

chkconfig iptables on  //永久开启,重启后生效
chkconfig iptables off  //永久关闭,重启后生效


2、根据文件名查找文件

find / -name httpd.conf  //在根目录下查找文件httpd.conf,表示在整个硬盘查找
find /etc -name httpd.conf  //在/etc目录下文件httpd.conf
find /etc -name '*srm*' //使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
find . -name 'srm*'   //表示当前目录下查找文件名开头是字符串‘srm’的文件


3、监控方式查看tomca日志

cd /tomcat8/logs  //日志目录
tail -f catalina.out
ctrl + c   //结束查看


4、head与tail命令

head -100 test.log  //前100条
tail -100 test.log   //尾100条


5、内存查看命令

free //查看内存,大概
free -g //G为单位
free -m //M为单位
top  //查看内存,细一些,类似windows任务管理器 再按shift+m从大到小排序
//清理缓存
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches


6、后台运行与输出日志

nohup XXX &  //后台运行
command >server.log  == command 1 >server.log  //标准输出
command >server.log 2>&1   //标准错误重定向到标准输出。就是标准错误和标准输出都重定向到一个server.log,不覆盖
// 0-标准输入 1-标准输出 2-标准错误


7、测试远程服务器

ping (-c 4) ip   //或主机名,需要在hosts里面配置。-c 4 四条
telnet ip(或主机名) 端口   //确定远程服务的状态,确定远程服务器的某个端口是否能访问


8、基本权限操作

ls -l(或者直接ll) filename  #ls -ld directoryname   //查看详细信息包含权限
r w x 读 写 执行 对应 4 2 1
chmod +x a.sh  #chmod -x a.sh  //增加删除执行权限
chmod 666(4+2) filename  #chmod 777(4+2+1) filename  //一般文件644,目录755
//三个数按顺序分别对应所有者,用户组,其他人。例如755标识所有者读写执行(4+2+1),所有者所在用户组的用户读执行(4+1),其他人读执行(4+1)


9、vi编辑器操作

vi test.sh  //编辑test.sh文件,进入编辑器。按i进入编辑模式;按esc+:q退出;按esc+:wq保存退出;按esc+:q!不保存退出
:set ff  //查看编码格式
:set ff=unix  //更改编码格式为unix,脚本必须为这种格式


10、解压与打包
xxx.tar.gz
tar -zcvf  //打包,可以有多个,空格隔开想·
tar -zxvf  //解压缩
xxx.tar.bz2
tar jxvf   //解压
tar jcvf   //打包
xxx.zip
unzip zip  //解压


11、批量执行一个文件夹下的所有sh脚本文件

for filename in $(ls /usr/test); do sh "/usr/test/"$filename; done >./results.log 2>&1  //执行命令后在当前目录下输出(重定向)一个日志文件


12、编写定时脚本,定时删除文件

//1、编写shell脚本,新建一个可执行文件auto-del-30-days-ago-log.sh,并分配可运行权限
#touch /opt/soft/bin/auto-del-30-days-ago-log.sh
#chmod +x auto-del-30-days-ago-log.sh
#vi auto-del-30-days-ago-log.sh
#!/bin/sh
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
//2、加入系统计划任务中
#crontab -e
10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1
//通过crontab –e来创建自己的定时任务,5个*的含义是,第一个*是分,第二个*是小时,第三个*是日,第4个*是月,第5个*是周,第6列是命令
service crond status 查看crontab服务状态:
service crond start 启动服务
service crond stop 关闭服务
service crond restart重启服务
service crond reload 重新载入配置
//-mtime n 按照文件的更改时间来找文件,n为整数。
//说明
/*n表示文件更改时间距离为n天, -n表示文件更改时间距离在n天以内,+n表示文件更改时间距离在n天以前。
-mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。
-mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。
-mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件
-mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件
为什么-mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间48小时之外的文件,而不是24小时之外的呢?
因为n值只能是整数,即比1大的最近的整数是2,所有-mtime+1不是比当前时间大于1天(24小时),而是比当前时间大于2天(48小时)
find /opt/soft/bin/ -mtime +2 -name ".log" -exec rm -rf {} \;  //清理命令 后面的;不可丢
find:linux的查找命令,用户查找指定条件的文件;
/opt/soft/bin/:想要进行清理的任意目录;
-mtime:最后修改内容时间
+30:查找30天前的文件,这里用数字代表天数;
"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件
-exec:固定写法,执行;
rm -rf:强制删除文件,包括目录;
{} \; :固定写法,一对大括号+空格+\+;*/


像cd touch mkdir 这些简单命令就不写了。后面继续实践,就继续补充
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 常用linux命令