常用的Linux、Mysql和Java命令

作者:毛壮壮博客 | 分类:我的心情 | 浏览:12 | 评论:0

1、rz/sz 
上传本地文件/下载文件 

2、scp filePath 192.168.1.1:/home/me 
拷贝上传的文件到指定目录 

3、less filePath 
快速查看文本格式的文件 

4、jar -cvfM0 name.war ./ 
把当前目录下的所有文件打包成name.war 
5、jar -xvf game.war 
解压到当前目录 


6、bin/startup.sh ;tail -f logs/catalina.out 
启动Tomcat并显示日志 


7、ps -ef|grep tomcat 
查询当前运行的名称为tomcat的进程 


9、使用公钥登陆远程服务器 
生成密钥:ssh-keygen -t rsa 
拷贝公钥: 
方法1:scp ~/.ssh/id_rsa.pub 192.168.1.1:~/.ssh/authorized_keys 
方法2:ssh-copy-id -i ~/.ssh/id_rsa.pub  192.168.1.1 



10、根据IP反查DNS 
Linux:host IP 
Windows:nsloopup IP 


11、打包压缩解包: 
打包:tar -jcvf XXX.tar.bz2 被打包的文件或目录 
解包:tar -jxvf XXX.tar.bz2 -C 解压到的目录 


打包:tar zcvf XXX.tar.gz XXX 
解包:tar zxvf XXX.tar.gz 

12、数据库备份: 
mysqldump dbName > /home/me/db_backup/dbName_back201211091028.sql 
mysqldump -h192.168.1.1 -uusername -ppassword dbName > /home/me/db_backup/dbName_back201211091028.sql 


13、MySQL命令: 
创建用户:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 
授权用户:GRANT privileges ON databasename.tablename TO 'username'@'host' 
取消授权:REVOKE all ON *.* FROM 'username'@'host'; 

14、jar包运行相关: 
java -cp .:./lib/* com.company.xxx.xxx 

15、查找文件包含某些字符 
find . -name *.xml|xargs grep '字符' 
ls | xargs grep '关键字' 

16、显示某个目录的大小 
du -sh 目录 


17、查看磁盘空间使用 
df -h 

18、监测java垃圾回收的情况 
jstat -gcutil -h10 <pid> 3s 1000 

19、查找命令的绝对路径 
which <命令> 

20、行切分: 
awk -F '分隔符' '{print $n}' 
21、排序: 
排序:sort 
反序:sort -n 
去重:sort -u 
22、统计重复行的数量: 
uniq -c 

 

23、转换编码:
iconv -f gb2312 -t utf-8 -c my_database.sql > new.sql
-f  原编码
-t  目标编码
-c 忽略无法转换的字符

 

24、使配置文件立即生效
source 配置文件

25、按照某个字符做split
cut -d'分隔符' -f2

-d 后跟分隔符,默认空格
-f 后跟取第几部分,从0计数

26、显示重复行的计数
sort file.name | uniq -c
原理是先排序,再计算重复数

27、依照数值大小反序
sort -rn

-r 反序
-n 依照数值大小

28、分许标准nginx日志,统计指定规则行的行数(多用于PV统计)
egrep -o 'GET /[0-9]{6}/index.html' ${nginx_log_file} | cut -d'/' -f2 | sort | uniq -c | sort -rn

egrep -o 同 grep -ef 使用完整的正则规则, -o表示只输出匹配的部分

29、为mysql某用户添加远程访问的权限:
grant all on *.* to root@'%' identified by '1234' with grant option; 
允许任何IP地址(上面的 % 就是这个意思)的电脑 用root帐户  和密码(1234)来访问这个MySQL Server

30、Maven相关
#快速新建
mvn archetype:generate -DgroupId=com.mycompany.baseUtils -DartifactId=baseUtils -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
#下载源码
mvn -DdownloadSources=true -DdownloadJavadocs=true -DoutputDirectory=target/eclipse-classes eclipse:eclipse
#创建Web项目
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
#加入POM
mvn install:install-file  -DgroupId=com.mycompany -DartifactId=app -Dversion=1.1 -Dfile=./target/app-1.1-release.jar -Dpackaging=jar -DgeneratePom=true

31、通过inode节点找到文件删除

ls -i
find -inum XXX  |xargs -I {} rm {}

32、大文本去重

cat 一堆文件 | awk '{ if (!seen[$0]++) { print $0; } }'

33、批量替换文本

sed -i 's/charset=GBK/charset=utf8/g' `grep 'charset=GBK' -rl ./`

 

34、查找N天前的文件并删除之

find ./dir_to_del -mtime +N -exec rm -f {} \;