linux 工作中实用常用命令集

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 &

持续更新中...

linux 工作中实用常用命令集

上一篇:转-linux下分卷压缩/解压缩


下一篇:(译)Windsor入门教程---第五部分 添加日志功能