背景
linux没有系统学过,目前主要是在服务器上查日志,每次都是现用现查,现在总结起来,不断积累,以后忘了也容易找。
cd
cd /home #进入 '/ home' 目录'
cd .. #返回上一级目录
cd ../.. #返回上两级目录
cd #进入个人的主目录
cd - #返回上次所在的目录
pwd #显示工作路径
grep
ps -ef|grep web #查看web线程
ps -ef|grep java #查看java线程
grep -C 5 foo file #显示file文件中匹配foo字串那行以及上下5行
grep -B 5 foo file #显示foo及前5行
grep -A 5 foo file #显示foo及后5行
grep foo --col file #显示file文件中匹配foo字串那行, 并高亮显示关键词foo
sed -n '/2019-10-24 22:14:*/,/2019-10-24 22:16:*/p' file | grep foo # 查询某段时间内的日志, 并且包含foo
grep -o 'foo' file | wc -l # 查询foo出现次数
grep word1 file.txt | grep word2 |grep word3 #必须同时满足三个条件(word1、word2和word3)才匹配
kill
kill -9 22249 #强制kill 22249线程
kill 22249 #正常关闭 22249线程
rm
rm webctl.pid #删除某一文件
rm -r myDir/ #递归删除某一个文件夹(包含文件及内部文件夹)
scp
scp account@serverIp:/path/file /localPath #把服务器文件传输到本地
scp /localPath/file account@serverIp:/path #把本地文件传输到服务器
ls
ls #查看目录下的文件及文件夹
ls --full-time #查看文件最后修改时间
tail
tail -f file #监控文件增加
tail -n 30 #查看最后30行
查看占用端口的进程
netstat -lnp|grep 8080
lsof -i:8080
查看进程启动时间
ps axo pid,ppid,comm,pmem,lstart | grep java #查看java进程启动时间
查看服务器配置
cat /proc/cpuinfo | grep "physical id" | uniq | wc -l #查看CPU个数
cat /proc/cpuinfo | grep "cpu cores" | uniq #查看CPU核数
cat /proc/meminfo | grep MemTotal #查看内存大小
Linux命令自动补齐
TAB键
maven打包
mvn clean install package -Dmaven.test.skip=true -U -Pdev
spring服务启动
java -jar -Dspring.profiles.active=dev start.jar --server.port=8080 &
java -jar start.jar --spring.profiles.active=dev --server.port=9091 >/dev/null &
查看历史命令
history #查看历史命令
history n #查看历史n条命令
history | grep 'java' #查看历史包含'java'的命令
获取两台机器的时间差
clockdiff 10.96.2.194
# host=10.96.2.194 rtt=750(187)ms/0ms delta=-3ms/-3ms Wed Apr 22 16:00:56 2020
# 从返回结果中的delta=-3ms/-3ms,可知,目的机器的时间戳比本地机器的时间戳小3ms。
借鉴
Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)
Linux学习26-linux查看某个时间段的日志(sed -n)-史上最详细
Mac(Linux)下history命令模糊查找命令历史记录
Linux 统计文件中某个字符串出现的次数(2种方法,推荐第二种)
Linux如何运行和停止jar包(java web 006)