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 {} \;