netstat -nltp
列出端口监听
n 不显示localhost或者*,直接是127.0.0.1或者0.0.0.0
l 端口处于listening
t tcp
u udp
p 显示监听的程序,后进程号
netstat -anp | grep -E "80|8080"
查找多端口,80和8080
netstat -anp | grep":80 " | awk '{print $7}' | cut -d / -f1
取netstat里的进程号
ps aux 或ps -ef (a与-a不一样)
列出所有进程
a all 【区别-a 是当前tty类型的进程】
u 显示执行进程的user
x 所有tty执行的命令,基本就是全部命令了
-e 所有进程
-f full 所有信息
【主要区别】aux 可以显示cpu,mem,ef可以显示父进程ppid
ls -l /proc/pid (ll /proc/pid)
显示进程信息
cwd 执行命令时的目录
exe 命令的绝对路径
who
当前系统登录者
tty
自己使用的是哪个终端,和上面的who区别
free -hm
查看内存使用
h human readable
m 以MB为单位显示
df -ah
显示硬盘使用
a all
h human readable
kill -9 pid
强杀进程,最好是父类pid【非pid=1】
find / -name *file*
从根/下查找文件,文件名包含file
tail -f file.log
查看日志文件尾,如果新加的日志,可以显示到出来,调试用
grep -v "INFO\|at" file.log 或者
grep -Ev "INFO|at" file.log
不显示含有INFO或at的行
grep content file.txt
文件内容查找
ssh -vv root@1.1.1.1
显示调试信息
"$ps_java"
sh脚本中变量加双引号可以echo输出换行
ps_java=`pa aux | grep java`
命令的输出保存到变量,$ps_java读取变量
date
服务器当前时间
date +%Y%m%d
脚本中获取时间格式,+前有一个空格,后没有空格
etstat -anltp | grep java | awk ‘{print $7}’ | cut -d / -f1 |xargs -I {} kill -9 {}
关闭监听端口的程序
last reboot
服务器重启时间
tail cat /var/log/messages
服务器日志
idx=0 let idx=$idx+1
shell中实现计数器
ssh -v -p port username@ip
测试端口连接性或者调试ssh,【nmap】【telent】有时候没有
unzip a.jar ./
解压jar包到当前目录
cat /proc/cpuinfo| grep “physical id”| sort| uniq| wc -l
物理cpu个数
cat /proc/cpuinfo| grep “processor”| wc -l
逻辑cpu个数
uname -a
系统属性
cat /etc/issue
linux发现版本
rpm -ql ncurses-devel-5.7-4.20090207.el6.x86_64 |grep lib |xargs tar -cvzf images.tar.gz
打包已安装rpm包的文件,压缩包内含有目录
du -sh /home
查看home目录的大小
curl -Lk http://ftp.gnu.org/gnu/bison/bison-3.0.4.tar.xz|tar xJ -C /tmp/bison –strip-components=1
直接下载解压
./configure && make -j$(getconf _NPROCESSORS_ONLN) && make install
编译安装
redis-cli -a 密码 keys “*test*” | xargs redis-cli -a 密码 del
批量删除redis key
iconv -f gbk -t utf-8 file.java file.java2 && mv file.java2 file.java
文件编码转换
ps -ef | grep tomcat | grep -v grep |awk ‘{print $2}’ | xargs kill -9
直接关闭tomcat