9月15日技术沙龙 | 与东华软件、AWS、京东金融、饿了么四位大咖探讨精准运维!
在Unix/Linux下,高效工作方式不是操作图形页面,而是命令行操作,命令行意味着更容易自动化。使用过Linux系统的朋友应该都知道它的命令行强大之处。本文讲述了Linux下的查找,删除,打包,解压,查询及VIM等30个常用命令技巧。
1. Vim自动添加注释及智能换行
- # vi ~/.vimrc
- set autoindent
- set tabstop=4
- set shiftwidth=4
- function AddTitle()
- call setline(1,"#!/bin/bash")
- call append(1,"#====================================================")
- call append(2,"# Author: lizhenliang")
- call append(3,"# Create Date: " . strftime("%Y-%m-%d"))
- call append(4,"# Description: ")
- call append(5,"#====================================================")
- endf
- map <F4> :call AddTitle()<cr>
打开文件后,按F4就会自动添加注释,省了不少时间!
2. 查找并删除/data这个目录7天前创建的文件
- # find /data -ctime +7 -exec rm -rf {} \;
- # find /data -ctime +7 | xargs rm -rf
3. tar命令压缩排除某个目录
- # tar zcvf data.tar.gz /data --exclude=tmp #--exclude参数为不包含某个目录或文件,后面也可以跟多个
4. 查看tar包存档文件,不解压
- # tar tf data.tar.gz #t是列出存档文件目录,f是指定存档文件
5. 使用stat命令查看一个文件的属性
访问时间(Access)、修改时间(modify)、状态改变时间(Change)
- stat index.php
- Access: 2018-05-10 02:37:44.169014602 -0500
- Modify: 2018-05-09 10:53:14.395999032 -0400
- Change: 2018-05-09 10:53:38.855999002 -0400
6. 批量解压tar.gz
方法1:
- # find . -name "*.tar.gz" -exec tar zxf {} \;
方法2:
- # for tar in *.tar.gz; do tar zxvf $tar; done
方法3:
- # ls *.tar.gz | xargs -i tar zxvf {}
7. 筛除出文件中的注释和空格
方法1:
- # grep -v "^#" httpd.conf |grep -v "^$"
方法2:
- # sed -e ‘/^$/d' -e ‘/^#/d' httpd.conf > http.conf
或者
- # sed -e '/^#/d;/^$/d' #-e 执行多条sed命令
方法3:
- # awk '/^[^#]/|/"^$"' httpd.conf
或者
- # awk '!/^#|^$/' httpd.conf
8. 筛选/etc/passwd文件中所有的用户
方法1:
- # cat /etc/passwd |cut -d: -f1
方法2:
- # awk -F ":" '{print $1}' /etc/passwd
9. iptables网站跳转
先开启路由转发:
- echo "1" > /proc/sys/net/ipv4/ip_forward #临时生效
内网访问外网(SNAT):
- iptables –t nat -A POSTROUTING -s [内网IP或网段] -j SNAT --to [公网IP]
#内网服务器要指向防火墙内网IP为网关
公网访问内网(DNAT)(公网端口映射内网端口):
- iptables –t nat -A PREROUTING -d [对外IP] -p tcp --dport [对外端口] -j DNAT --to [内网IP:内网端口]
#内网服务器要配置防火墙内网IP为网关,否则数据包回不来。另外,这里不用配置SNAT,因为系统服务会根据数据包来源再返回去。
(编辑:ASP站长网)
|