1.文件
du命令
//查看文件夹大小
du -h
//列出当前目录下面所有的一级目录文件大小
du -h --max-depth=1
//列出当前目录下所有一级目录的一级目录文件大小
du -h --max-depth=1 *
//查看当前目录下各个文件及目录占用空间大小
du -sh *
//当前目录的大小(M)
du -sm
//统计当前目录下各文件及目录的大小(M),并按大小排序
du -sm * | sort -n
df命令
//查看文件系统磁盘空间大小
df -h
ls命令
//查看当前目录下的文件、目录数
ls | wc -l
ln命令
// 生成软连接
ln -s /dd/ /opt/dddir
// 生成硬链接
ln /dd/ /opt/dddir
软连接和硬链接,源和目的文件都只占一份空间,修改任何一个文件,另一个都会跟着变化。区别在于,软连接删除源文件,目的文件失效。硬连接删除源文件,目的文件仍有效。软连接支持文件、文件夹,硬连接只支持文件。软连接源路径必须写绝对路径,硬连接可以写相对路径。
nohup
//只输出错误信息到error.log文件,其余信息丢进/dev/null
nohup ./program >/dev/null 2>error.log &
//不记录日志,将所有信息丢进/dev/null
nohup ./program >/dev/null 2>&1 &
/dev/null属于字符特殊文件,它属于空设备,是一个特殊的设备文件,它会丢弃一切写入其中的数据,写入它的内容都会永远丢失,而且没有任何可以读取的内容。它就像一个黑洞,我们一般会把/dev/null当成一个垃圾站,不要的东西丢进去。比如来清除文件中的内容。
Linux的重定向
0:表示标准输入,从键盘输入。
1:标准输出,在一般使用时,默认的是标准输出。
2:表示错误信息输出。
输出重定向
上述命令,./program >/dev/null,将程序的标准输出,丢进了/dev/null,2>&1将错误输出重定向到了标准输出,所以错误输出也被丢进了/dev/null,最终无任何输出。
tar命令
打gz包
tar -zcvf [压缩包名].tar.gz [原文件/目录名]
解压tar包
tar -xvf [压缩包名].tar.gz
zip命令
压缩指定目录下的文件和文件夹
zip -q -r [压缩包名].zip [原目录]
从压缩文件 cp.zip 中删除文件 a.c
zip -dv cp.zip a.c
- -v:显示指令执行过程或显示版本信息
- -r:递归处理
- -q:不显示执行过程
- -d:从压缩文件内删除指定的文件
2.系统
查看系统发行版本
cat /etc/redhat-release
查看系统内核信息
uname -a
查看系统版本信息
cat /proc/version
查看CPU信息
cat /proc/cpuinfo
查看物理CPU的个数
cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc –l
查看逻辑CPU的个数
cat /proc/cpuinfo |grep "processor"|wc –l
查看CPU是几核
cat /proc/cpuinfo |grep "cores"|uniq
查看CPU的主频
cat /proc/cpuinfo |grep MHz|uniq
tcpkill清除tcp连接
需要安装dsniff,可以wget下载
wget http://pkgs.repoforge.org/dsniff/dsniff-2.4-0.1.b1.el5.rf.x86_64.rpm
使用
tcpkill -i ens160 host 192.168.xxx.xxx
tcpkill -i ens160 host 192.168.xxx.xxx and port 3306
添加端口
# --permanet为永久生效,去掉该参数临时生效,系统重启后失效
firewall-cmd --add-port=9100/tcp --permanent
移除端口
firewall-cmd --remove-port=9100/tcp --permanent
防火墙重启,加–permanent参数时需要重启
firewall-cmd --reload
查看端口是否开启
firewall-cmd --query-port=9100/tcp
对指定ip开放端口
firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.1.1 port protocol=tcp port=8080 access' --permanent
删除对指定ip开放端口的规则
firewall-cmd --remove-rich-rule='rule family=ipv4 source address=192.168.1.1 port protocol=tcp port=8080 access' --permanent
查看现有的规则
firewall-cmd --list-all
查看rich rule说明
man firewalld.richlanguage
定时开启关闭网卡
切记一定要写成脚本执行,否则执行完关闭网卡命令,网卡关闭后,后面命令就不会执行
#! /bin/bash
ifdown ens160
# 15min
sleep 900
# 11min
#sleep 660
# 4min
#sleep 240
# 2min
#sleep 120
ifup ens160
查看ssh登陆失败记录
lastb
查看重启记录
last | grep reboot
查看开机信息
dmesg
修改时区
timedatectl set-timezone Asia/Shanghai
用户
创建用户
useradd dd
#指定用户home目录
useradd dd -d /opt/dd
#指定用户shell
useradd dd -s /bin/bash
#禁止用户登录系统、ftp、samba等用户使用
useradd dd -s /sbin/nologin
创建用户时出现Creating mailbox file: File exists问题。
解决方案:删除/var/spool/mail/和/home下的之前存在的用户文件夹,再删除用户。
修改用户
usermod dd -d /opt/dd2
删除用户
userdel dd
centos6添加端口
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/init.d/iptables save
service iptables restart
3.JVM分析
jstack
#查看java进程各线程的调用栈
jstack -l [pid]
#写入到文件
jstack -l 1234 >jstack_dump.log
jmap
查看java堆摘要信息,包括使用的gc算法,各内存区域使用信息
jmsp -heap [pid]
查看所有对象
jmap -histo [pid] |more
查看活跃对象
jmap -histo:live [pid] |more
- B byte
- C char
- D double
- F float
- I int
- J long
- Z boolean
- [ 数组,如[I表示int[]
将内存使用情况dump到文件(耗时较久)
jmap -dump:format=b,file=[文件名] [pid]
dump文件可以用jhat解析,也可以使用eclipse的Memory Analyzer(MAT)解析。
Memory Analyzer下载链接:
https://ftp.jaist.ac.jp/pub/eclipse/mat/1.11.0/rcp/MemoryAnalyzer-1.11.0.20201202-win32.win32.x86_64.zip
jhat
通过jhat对dump文件进行分析,通过指定的端口,web访问查看分析结果(耗时较久)
jhat ‐port [端口号] [dump文件]
或
#如果解析过程中出现oom,需要加大内存
jhat -J-Xmx1024M [dump文件]
start HTTP server on port [端口号]
更换yum源
阿里云repo:http://mirrors.aliyun.com/repo/Centos-7.repo
网易repo:http://mirrors.163.com/.help/CentOS7-Base-163.repo
1.下载阿里云repo文件,放到/etc/yum.repos.d下
cd /etc/yum.repos.d
wget http://mirrors.aliyun.com/repo/Centos-7.repo
2.清理yum缓存
yum clean all
3.构建缓存
yum makecache
4.服务相关
重启php服务
service php-fpm restart
5.软件使用
vim
取消搜索高亮
在非编辑模式输入以下内容
:noh