linux shell命令记录

清空文件

>:输出重定向,把前面输出的东西输入到后边的文件中,会清除文件原有的内容
>>:追加输出重定向,把前面输出的东西追加到后边的文件尾部,不会清除文件原有的内容
下面的几个可以清空文件

: > filename
> filename
echo "" > filename
echo > filename
cat /dev/null > filename

设置时间

date "+%Y-%m-%d %H:%M:%S"     #获取当前时间,例:2018-07-24 12:33:41
date -d '3 days ago' +%Y-%m-%d		两天前的时间,按我的格式输出
date -d '-30 second ago'			30秒之后的时间
date -d '1 months 5 day'			1个月5天之前的时间

sheel获得当前时间戳

current=`date "+%Y-%m-%d %H:%M:%S"`     #获取当前时间,例:2015-03-11 12:33:41
timeStamp=`date -d "$current" +%s`      #将current转换为时间戳,精确到秒
currentTimeStamp=$((timeStamp*1000+10#`date "+%N"`/1000000)) #将current转换为时间戳,精确到毫秒

find和grep命令

https://www.cnblogs.com/zhangmo/p/3571735.html

启动jar包

nohup /usr/local/jdk1.8.0_141/bin/java -jar -server -Xms1024m -Xmx1024m ./admin.jar 1>./admin.log 2>&1 &
nohub和最后的&用于后台运行
1>./admin.log将日志输出到admin.log
2>&1将错误日志输出到admin.log

https://www.cnblogs.com/baby123/p/6477429.html

使用shell脚本操作mongodb

1)eval ./mongo test --eval "printjson(db.col.find({"createTime":{"$lt":NumberLong("1530847728615")}})"
2)./mongo test << EOF
use admin;
db.auth("admin","admin");
db.col.find({});
exit;
EOF
3)./mongo localhost:27017/test jsfile.js
jsfile.js里面写要执行的命令

https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/

使用shell下载jdk

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"

查看文件大小

du -lh ./*	当前目录所有文件大小

du -sh ./*	当前所有目录大小

跳到行尾行首,末尾头部

pageUp:按pageUp键往前退一页
pageDn:按pageDn键往后进一页
home:按home键跳到文件行首
end:按end键跳到文件行尾
:1  在文件中输入:1跳到文件头
:$  在文件中输入:$跳到文件尾

判断参数为空

#!/bin/sh
dmin=
if test -z "$dmin"
then
  echo "dmin is not set!"
else  
  echo "dmin is set !"
fi

解压缩指令

tar
  解包:tar zxvf filename.tar
  打包:tar czvf filename.tar dirname

gz命令
  解压1:gunzip filename.gz
  解压2:gzip -d filename.gz
  压缩:gzip filename
      .tar.gz 和  .tgz
      解压:tar zxvf filename.tar.gz
      压缩:tar zcvf filename.tar.gz dirname
      压缩多个文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3.....

zip命令
    解压:unzip filename.zip
    压缩:zip filename.zip dirname

查看进程

lsof -i:8080
netstat -tunlp | grep 8080
netstat -an | grep 8080
netstat -anp | grep 8080

添加组和用户

groupadd redis	创建redis组
useradd -r -g redis myredis	 在redis组里面添加myredis用户
useradd -r -g redis -s /bin/false myredis	 这个myredis用户不能登录系统
一般用来启动程序,防止黑客攻击
passwd myredis	 设置密码

给某用户赋予某文件权限

chown -R keesail:keesail ./local  将local目录的读权限赋给keesail用户和组
chmod 777 文件夹名称,可以把文件夹设置成所有用户都有完全的权限

以某用户执行命令

sudo -u myredis  redis_server

rpm安装卸载

1、安装

rpm -i 需要安装的包文件名

举例如下:

rpm -i example.rpm 安装 example.rpm 包;

rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;

rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度;

2、查看安装完成的软件

[root@jacky zookeeper]# rpm -qa | grep jdk
java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686
java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686

3、卸载软件

rpm -e --nodeps 要卸载的软件包

root@jacky zookeeper]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686

内存磁盘

# 查看大文件
du -h /usr/ --max-depth=1

df -h

top

htop

free -h

ps -ef
原文地址:https://www.cnblogs.com/paper-man/p/13284753.html