i常用命令合集
linux 用户操作
查看所有的用户
cat /etc/passwd
删除用户
[root@localhost ~]# userdel -r 用户名
-r 选项表示在删除用户的同时删除用户的家目录。
注意,在删除用户的同时如果不删除用户的家目录,那么家目录就会变成没有属主和属组的目录,也就是垃圾文件。
redis 客户端连接:
redis-cli -h host -p port -a password
redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
硬件·内核·Shell·监测
I 通用的系统资源统计工具
yum install -y dstat
安装完后就可以使用了,dstat非常强大,可以实时的监控cpu、磁盘、网络、IO、内存等使用情况。
直接使用dstat,默认使用的是-cdngy参数,分别显示cpu、disk、net、page、system信息,默认是1s显示一条信息。
可以在最后指定显示一条信息的时间间隔,如dstat 5是没5s显示一条,dstat 5 10表示没5s显示一条,一共显示10条
-c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息。
-C:当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息。
-d:显示磁盘读写数据大小。
-D hda,total:include hda and total。
-n:显示网络状态。
-N eth1,total:有多块网卡时,指定要显示的网卡。
-l:显示系统负载情况。
-m:显示内存使用情况。
-g:显示页面使用情况。
-p:显示进程状态。
-s:显示交换分区使用情况。
-S:类似D/N。
-r:I/O请求情况。
-y:系统状态。
--ipc:显示ipc消息队列,信号等信息。
--socket:用来显示tcp udp端口状态。
-a:此为默认选项,等同于-cdngy。
-v:等同于 -pmgdsc -D total。
--output 文件:此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。例:dstat --output /root/dstat.csv & 此时让程序默默的在后台运行并把结果输出到/root/dstat.csv文件中
如想监控swap,process,sockets,filesystem并显示监控的时间:
[root@iZ23uulau1tZ ~]# dstat -tsp --socket --fs
[root@iZ23uulau1tZ ~]# dstat -dnyc -N eth0 -C total -f 5
[root@iZ23uulau1tZ ~]#dstat --time --cpu --net --disk --sys --load --proc --top-cpu
[root@iZ23uulau1tZ ~]# dstat -c -m
【1】查看CPU型号:cpu型号是E7-4820
[root@node1 ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
32 Intel(R) Xeon(R) CPU E7- 4820 @ 2.00GHz
【2】查看物理cpu个数:物理核心数是2核
[root@node1 ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq|wc -l
2
【3】查看逻辑cpu的个数:逻辑cpu个数是32个
[root@node1 ~]# cat /proc/cpuinfo | grep "processor" |wc -l
32
【4】查看cpu是几核:cpu是8核
[root@node1 ~]# cat /proc/cpuinfo | grep "cores"|uniq
cpu cores : 8
查看Linux句柄使用top 列表
lsof -n|awk ‘{print $2}‘ |sort|uniq -c|sort -nr| head -n 10
杀死进程
ps -ef|grep 8001 |awk ‘{print $2}‘| xargs kill -9
查询nginx访问Ip Top10:
[root@localhost tjm]# cat access.log | cut -d " " -f 1 | sort | uniq -c | sort -nr | head -n 10
33 172.68.133.11
30 172.69.22.69
27 172.68.142.144
27 162.158.255.87
26 172.68.141.221
26 162.158.255.213
25 172.68.189.164
25 172.68.141.203
25 162.158.255.11
24 172.68.141.167
[root@localhost tjm]# cat access.log | awk -F ‘ ‘ ‘{print $1}‘ | sort | uniq -c | sort -nr | head -n 10
33 172.68.133.11
30 172.69.22.69
27 172.68.142.144
27 162.158.255.87
26 172.68.141.221
26 162.158.255.213
25 172.68.189.164
25 172.68.141.203
25 162.158.255.11
24 172.68.141.167
[root@localhost tjm]# cat /usr/nginx/logs/access_wx.2020-12-21.log | cut -d ” “ -f 1 | sort | uniq -c | sort -nr | head -n 10 > 1.txt && cat 1.txt -n
[root@localhost tjm]# cat /usr/nginx/logs/access_wx.2020-12-21.log | awk -F ‘ ‘ ‘{print $1}‘ | sort | uniq -c | sort -nr | head -n 10
查看tomcat的mysql的连接数:
netstat -anputl | grep ESTABLISHED | grep 3306 | wc -l
查看linux服务器信息
[root@linux-node2 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@linux-node2 ~]# uname -r
2.6.32-573.el6.x86_64
svn的启动命令
svnserve -d -r /opt/svn/mystore
生成软链接命令
ln -s /usr/local/nexus/nexus-3.2.1-01/bin/nexus /etc/init.d/nexus3
赋权限 (递归当前下的所有文件进行赋权)
chown -R lisi:lisi testDir
查看之前输入的命令
history
压缩/解压命令
压缩
zip -r filename.zip filename
解压
unzip filename
unzip filename -d filename 指定文件名解压
tar -zxvf kafka_2.11-1.1.0.tgz -C opt/ 指定要解压的目录
建多层文件夹
mkdir -p /usr/hadoop/{name,data}
查找文件
按大小
find / -size +100M
按名称
find / -name .m2
查找并删除
find / -name "mariadb*" | xargs rm -rf
文件上传
查看是否已安装
[root@mjy logs]#rpm -qa |grep lrzsz
[root@mjy logs]# rpm -qa |grep lrzsz
lrzsz-0.12.20-27.1.el6.i686
如果未安装有,可使用yum安装
[root@mjy logs]# yum -y install lrzsz
上传文件
[root@mjy logs]# rz
下载文件
[root@mjy logs]#sz
查看磁盘使用情况
df -h 按G显示
df -m 按M显示
df -lh ## 硬盘占用
(查看删除占用)
lsof -n | grep deleted
查看当前系统的内存
1.free -m只能查看内存总量情况
2.top M ( 注意M是大写)
3.ps aux|head -1; ps aux | sort -k4nr | head -10
4.linux上的 一个很全面的内存进程 cpu使用监控工具
安装:yum -y install glances
监控:glances
清除linux的缓存
sync
echo 3 > /proc/sys/vm/drop_caches
telnet
yum -y install telnet
telnet 127.0.01 8080
查看端口情况
查看端口使用情况
netstat -ntlp
netstat -nvlpt
查看占用端口
lsof -i:port
lsof -i:7454
列出当前文件各文件及文件夹的大小
du -sh *
du -sh ./
du -sh /app/aa.txt
日期
查看日期
date
修改日期
date -s "2018-07-29 19:04:05"
scp命令
复制目录命令格式
scp -r local_folder remote_username@remote_ip:remote_folder
scp -r local_folder remote_ip:remote_fold
scp -r -P 8012 /opt/code-jar-bak/ root@172.74.211.35:/opt/project-just-run
scp -r -P 8012 JUST-1.2.0.RELEASE.jar root@172.18.15.180:/opt/runjar/bin
scp -r root@192.168.120.204:/opt/soft/mongodb /opt/soft/
cp命令
用于复制文件或目录
参数说明:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
cp -ap /aa/ bb/
cp -r aa/ bb/
ssh登录
ssh root@112.74.211.35
Wget下载文件
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://own.sk1.me/index.php/s/iJ0jxUCKmUtONKt/download
wget url
Jar后台运行
nohup java -jar xxxx.jar >/dev/null 2>&1 &
启动 springboot项目
mvn spring-boot:run &
查看日志
从尾部流式打印日志 初始100行
tail -ln 100 /var/log/boot.log
过滤出所有带有 8888信息的日志行
cat /var/aa.log | grep -i "8888"
jvm内存切片
jvm 栈:
jstack -l pid >19702.log
jstack -l 19702 >aa.log
jvm 堆:
jmap -heap 19702
运行程序树
pstree
向文件口写入数据
echo 1 >> myid
更新linux网络时间
ntpdate time.windows.com
centos7防火墙命令
systemctl start foo.service #运行一个服务
systemctl stop foo.service #停止一个服务
systemctl restart foo.service #重启一个服务
systemctl status foo.service #显示一个服务(无论运行与否)的状态
systemctl enable foo.service #在开机时启用一个服务
systemctl disable foo.service #在开机时禁用一个服务
systemctl is-enablediptables.service #查看服务是否开机启动
开关机
reboot #重启主机
shutdown -h now #立即关机
环境变量配置修改立即生效
source /etc/profile
安装ifconfig命令
yum install net-tools
vim简单使用
vim aa.txt
对文件的字串进行搜索
/内容
esc取消搜索
:noh
控制台打印转到日志打印
nohup ./apm-server -c apm-server.yml -e > logs/apm.log 2>&1 &
nohup ./metricbeat -c metricbeat.yml -e > logs/metricbeat.log 2>&1 &
持续更新中...