一、通用命令
命令 | 说明 |
ls -a | 显示所有文件,包括隐藏文件 |
ls -h | 人性化显示文件的大小 |
mkdir -p /data/a | 递归创建 |
rmdir /data/a | 删除空目录 |
rm -rf /data/a | 删除目录或文件 |
cp -r a b | 复制目录 |
mv a b | 剪切 |
ln -s /u/java /bin/java | 软连接 |
whereis nginx | 搜索系统命令所在位置 |
find * |grep "readme" | 查找符合条件的文件 |
grep -v “grep” | 排除指定字符串 |
man java | 帮助命令 |
zip me.zip me | 压缩目录 |
unzip a.war -d ROOT | 解压目录 |
tar zcvf me.tar.gz me | 压缩目录 -c打包 -v显示过程-f指定打包后的文件名 |
tar -zxvf me.tar.gz | 解压目录 |
w | 查看登录用户信息 |
last | 查看当前登录和过去登录的用户信息 |
tailf a.log | 从文件最后动态输出 |
head -n 66 a.log | 取a的前66行 |
tail -n 66 a.log | 取a的后66行 |
date "+%Y-%m-%d %H:%M:%S" | 按格式查看时间 |
date -s "2012-05-18 04:53:00" | 修改服务器时间 |
cat a|sort|uniq -c|sort -nr | 去重排序 |
cal | 日历 |
cal 2017 | 2017的日历 |
df -h | 显示已经挂载的分区列表 |
groupadd ${UserName} | 新加组 |
useradd -d /home/${UserName} -g ${UserName} ${UserName} | 新加用户 |
groupdel group_name | 删除一个用户组 |
userdel a | 删除一个用户 |
chown -R game.game /home/game/* | 给文件夹赋权限 |
wget http://www.game.cn/1 | 下载文件 |
yum install -y mysql | 安装 |
yum install lrzsz | 安装上传下载命令 |
rz | 上传 |
sz | 下载 |
ifconfig | 查看本机网络 |
curl ifconfig.me | 查看外网ip |
netstat -lnp | 查看开放端口 |
du -h --max-depth=1 | 找到占用较大的文件 |
echo `expr 77 + 66` | 计算 |
grep "^aaa" | aaa开头 |
grep "bbb$" | bbb结尾 |
ll |grep "sh$" | 以sh结尾的 |
sed -n '5,10p' a.log | 查看文件的第5行到第10行 |
crontab -l | 查看定时任务 |
crontab -e | 编辑定时任务 |
awk 'BEGIN{printf "%.2f%\n",(6666/66)*100}' | 取小数点后两位 |
find * |grep "log.log" |xargs rm | xrags执行命令 |
top | 服务器信息 |
ps -aux | 查看进程 |
history | 查看历史命令 |
free -h | 显示当前系统中内存的使用量信息 |
uptime | 查看系统的负载信息 |
uname -a | 查看系统详细版本和内核 版本 |
sed -i "s/aaa/bbb/g" test.txt | 将test.txt文件里面的aaa换成 |
shell比较运算
if [ 1 -ne 1 ];then
...
fi
-eq:等于
-ne:不等于
-le:小于等于
-ge:大于等于
-lt:小于
-gt:大于
输出处制表位
echo -e "我是中文\t呵呵呵呵,安静点上课了敬爱个来\n"
读取读文件
while read line
do
Msg=${Msg}${line}"<br>"
done <${file}
cat ${file}|while read line
do
echo ${line}
done
#!/bin/sh
ShellPath=$(cd "$(dirname "$0")"; pwd)
tmp=${ShellPath}/tmp
HOSTNAME="127.0.0.1"
PORT="3306"
USERNAME="name"
PASSWORD="password"
DBNAME="mydb"
sql1="select distinct id from test_table;"
#执行mysql
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${sql1}" >${tmp}
#取第一行
top1=cat ${tmp} |awk -F\| '{if (NR>2){print $0}}'|shuf -n1
三、脚本使用redis
注:线上环境脚本一般操作不能操作10万以上的操作,如果是几千还是可以,如果再多考虑使用python或者java使用连接池
REDIS_HOST=localhost
REDIS_PORT=6379
key_liveTime=`redis-cli -h $REDIS_HOST -p $REDIS_PORT TTL $key`