常用linux命令实战

来源:互联网 发布:淘宝下拉菜单小图标 编辑:程序博客网 时间:2024/06/06 21:59

系统: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.conffind /etc -name '*srm*' //使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件find . -name 'srm*'   //表示当前目录下查找文件名开头是字符串‘srm’的文件

3、监控方式查看tomca日志

cd /tomcat8/logs  //日志目录tail -f catalina.outctrl + 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_cachesecho 2 > /proc/sys/vm/drop_cachesecho 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 1chmod +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.gztar -zcvf  //打包,可以有多个,空格隔开想·tar -zxvf  //解压缩xxx.tar.bz2tar jxvf   //解压  tar jcvf   //打包xxx.zipunzip 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/shfind /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;//2、加入系统计划任务中#crontab -e10 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 这些简单命令就不写了。后面继续实践,就继续补充