06月02, 2017

linux常用命令

shell递增

((count = ${count} + 1))

同时关闭多个进程

ps x|grep {psname}|grep -v grep |awk '{print $1}'| xargs kill -9

关闭You have new mail

echo "unset MAILCHECK" >> /etc/profile
source /etc/profile

端口查看

netstat -lntp | awk -F ":" '{print $2}'| awk -F " " '{print $1}' | sort -g -k1

把远程目录挂载到本地sshfs

sshfs -o nonempty user@hostname:path mount_point
fusermount -u mount_point

大文件或目录查找

文件:
find . -type f -size +800M  -print0 | xargs -0 du -h | sort -nr
目录:
du -hm --max-depth=2 | sort -nr | head -12

crontab定时任务

添加:
crontab -e
格式:
minute hour day month week command
其中:
minute: 表示分钟,可以是从059之间的任何整数。
hour:表示小时,可以是从023之间的任何整数。
day:表示日期,可以是从131之间的任何整数。
month:表示月份,可以是从112之间的任何整数。
week:表示星期几,可以是从07之间的任何整数,这里的07代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

apache 密码管理

for i in abc bcd efg
do
echo "$i"
PASSW="${i}2017"
htpasswd -mb passwd_file ${i} ${PASSW}
echo "$i = ${PASSW}"
done

ssh代理

ssh username@Host -pPort -v -N -D 127.0.0.1:9000

硬盘挂载

1

运行 fdisk /dev/vdb:对数据盘进行分区。

输入 n 并按回车键:创建一个新分区。

输入 p 并按回车键:选择主分区。因为创建的是一个单分区数据盘,所以只需要创建主分区。

如果要创建 4 个以上的分区,您应该创建至少一个扩展分区,即选择 e。
输入分区编号并按回车键。因为这里仅创建一个分区,可以输入 1。

输入第一个可用的扇区编号:按回车键采用默认值 1。

输入最后一个扇区编号:因为这里仅创建一个分区,所以按回车键采用默认值。

输入 wq 并按回车键,开始分区。

2

分区 
fdisk /dev/vdb 
格式化 
mkfs.ext4 /dev/vdb1
挂载 
mount –t ext4 /dev/sdb /data 
配置挂载 
cp /etc/fstab /etc/fstab.bak
echo /dev/vdb1 /mnt ext4 defaults 0 0 >> /etc/fstab
mount /dev/vdb1 /mnt

删除30天前的文件

find /opt/frold -mtime +30 -type f | xargs rm -rf

在shell中获取脚本所在的目录

#!/bin/bash
##获取当前脚本所在的目录
BASE_PATH=$(cd `dirname $0`; pwd)
echo "脚本所在目录为:$BASE_PATH"

firewall端口转发

#命令执行
firewall-cmd --permanent  --zone=public --add-forward-port=port=52002:proto=tcp:toport=22:toaddr=192.168.1.2
#直接在文件添加
<forward-port to-addr="192.168.1.2" to-port="22" protocol="tcp" port="52002"/>
#重载生效
firewall-cmd --reload

firewall & iptables

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
firewall-cmd --zone=public  --permanent --add-port=8000/tcp && firewall-cmd --reload

JDK 下载

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u101-b13/jdk-8u101-linux-x64.tar.gz

阿里云在专有网络中搭建SNAT网关

1. 打开iptables forward功能。
> vim /etc/sysctl.conf
添加 net.ipv4.ip_forward = 1
2.192.168.1.0/24发出的包的源地址替换为192.168.1.1
> 使用iptables
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT —to-source 192.168.1.1
使用firewall
firewall-cmd --permanent --direct --passthrough ipv4  -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.1.1
firewall-cmd --reload
3. 添加路(把发往0.0.0.0/0网段的包,发送给SNAT网关)

dig安装

yum install bind-utils

文件同步

rsync -zvrtopgl --progress --delete /www/down/javaWeb/ root@intbee:/www/down/javaWeb/

定期删除文件

# file name clear_log.sh
#!/bin/bash
backupdir=/www/server/tomcat_8080/logs
find $backupdir -name "*.log" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1

##定时删除全部类型
backupdir=/www/server/tomcat_8080/logs
find ./logs -name "*" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1

systemd开机启动服务

/etc/systemd/system/multi-user.target.wants

本文链接:https://blog.jnliok.com/post/linux-cmd.html

-- EOF --

Comments