工作中常用到的linux命令
以下是工作中用到的Linux命令,记录在此,方便查看。
1.占位
2.设置代理
export http_proxy=192.168.122.11:18010
source /etc/profile
查看设置 echo $http_proxy
3.压缩,解压
zip,unzip
解压:
unzip file.zip
unzip file.zip -d /data/file/
压缩:
zip -r filedir
tar
解压:
tar -xvf file.tar
tar -xzvf file.tar.gz
tar -xjvf file.tar.bz2
压缩:
tar -cvf file.tar ...
tar -czvf file.tar.gz ...
4.查找历史命令
history, 执行某条历史命令 !id
查找历史命令: Ctrl + r
5.查看磁盘使用情况
df -h
du -h
du /data/ -ah
6.查杀进程
ps -ef | grep tomcat 或 ps -aux | grep tomcat 或 ps -ef | grep 8080
kill -s 9 pid
7.查看端口使用情况
lsof -i:8080
netstat -apn | grep 8080
8.查看用户root所有网络使用情况
lsof -a -root -i
9.杀掉所有使用网络的进程
kill -s 9 'lsof -t -i'
10.登录mysql
mysql -h 192.168.1.1 -p 3306 -u root -p123456
11.重启,关机
sudo shutdown -t now 或sudo shutdown -t 60 指定时间关机
sudo shutdown -r 重启 或 sudo reboot
sudo shutdown -h 关机后关闭电源
12.其他常用命令
mkdir -p data/workspace/proj/ 其中参数p将自动创建路径中尚不存在的目录(如示例中的workspace目录)
cp -fR /data/abc ./folder/ 其中参数f为强制覆盖,R为递归处理
mv -f /data/abc /data/backup/ 其中参数f为强制覆盖
cat /data/tomcat/logs/catalina.out
less -N /data/tomcat/logs/catalina.out (分页查看,Pg Up/Dn Home/End键)
head -n 100 /data/tomcat/logs/catalina.out 查看文件前100行记录
tail -n 100 /data/tomcat/logs/catalina.out 查看文件最后100行记录
tail -f /data/tomcat/logs/catalina.out 不断读取文件末尾内容(监控变化)
tail -n +300 logs/catalina.out |head -n 100 从 300行开始,查看前100条记录
chmod 777 build.sh
scp root@192.168.122.65:/data/workspace/proj.zip /data/workspace_backup/ 从远处复制文件到本地目录
scp -P 61280 root@192.168.122.65:/data/workspace/proj.zip /data/workspace_backup/ 从远处复制文件到本地目录,指定端口号,注意是大写P
scp -r root@192.168.122.65:/data/workspace/ /data/workspace_backup/
scp /data/workspace_backup/proj.zip root@192.168.122.65:/data/server/deploy/ 上传本地文件到远程机器指定目录
rzsz上传下载
安装 yum install lrzsz
使用(xshell等工具) 执行sz xxx 下载文件,执行rz xxx 上传文件
查找目录下所有文件并替换字符串
find ./ -type f -exec sed -i -e 's/127.0.0.1/localhost/g' {} \;
授权目录权限给普通用户
chown hadoop:hadoop /tmp/myapp/hadoop/ -R
chmod -R 777 /tmp/myapp/hadoop/
windows(pscp.exe)相似命令上传文件
pscp -P 61280 -pw 12345678 D:/workspace/myproj/target/myproj.war root@192.168.1.106:/data/production/war/
wget http://www.domain.com/readme.txt -O /data/download/demo.txt
du -hs 查看目录及文件大小(汇总)
du -h 查看目录及文件大小
=======用到的项目压缩备份脚本示例============
cd /home/user/workspace&&
rm -rf zipcopy.tar.gz&&
rm -rf zipcopy/*&&
cp -r proj-common/ zipcopy&&
cp -r proj-platform-crm/ zipcopy&&
rm -rf zipcopy/proj-platform-crm/src/main/webapp/WEB-INF/lib/*&&
rm -rf zipcopy/proj-platform-crm/src/main/webapp/WEB-INF/classes/*&&
find ./zipcopy -type d -name ".svn"|xargs rm -rf&&
tar -czf zipcopy.tar.gz zipcopy/*
=======================
Linux下grep显示多行信息
标准unix/linux下的grep通过以下参数控制上下文
grep -C 5 Exception catalina.out 显示file文件中匹配foo字串那行以及上下5行
grep -B 5 Exception catalina.out 显示foo及前5行
grep -A 5 Exception catalina.out 显示foo及后5行
or
cat catalina.out | grep -C 5 'SQLException'
cat过滤掉注释行和空白行
cat 6379.conf |grep -Ev '^$|#'
-------------------------------------------------------------------
批量杀死进程
ps -ef|grep 'curl'|grep -v grep|cut -c 9-15|xargs kill -9
------------------------------------------------------------------
find -type f -name 'server.xml'|xargs grep '8080'
find . -name "*.log" | xargs grep '200 0' | tail
http://man.linuxde.net/find
-----------------------------------------------------------------
要封停一个IP,使用下面这条命令:
iptables -I INPUT -s ***.***.***.*** -j DROP
要解封一个IP,使用下面这条命令:
iptables -D INPUT -s ***.***.***.*** -j DROP
参数-I是表示Insert(添加),-D表示Delete(删除)。后面跟的是规则,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放弃连接。
比如现在要将123.44.55.66这个IP封杀,就输入:
iptables -I INPUT -s 123.44.55.66 -j DROP
service iptables save
service iptables restart
iptables -L -n
-----------------------------------------------------------------
sed -i "s/6379/6378/g" redis-6378.conf
http://man.linuxde.net/sed
-----------------------------------------------------------------
yum -y install ntp
systemctl enable ntpd
systemctl start ntpd
crontab -e
00 12 * * * /sbin/ntpdate cn.pool.ntp.org
或
00 12 * * * /usr/sbin/ntpdate cn.pool.ntp.org
0-59/10 * * * * /usr/sbin/ntpdate us.pool.ntp.org | logger -t NTP
------------------------------------------------------------------
参考: