Linux常用命令大全

1.查看端口号占用

lsof -i:端口号
lsof -i:8060
sudo netstat -nlp | grep 8060

2.查看CPU、核数、磁盘信息

[hadoop@master1 ~]$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[hadoop@master2 software]$ uname -a
Linux master2 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[hadoop@master2 software]$ arch
x86_64


# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c


lsblk -d -o name,rota
#如果返回1则表示磁盘可旋转,可以判断是HDD;反之,如果返回0,则表示磁盘不可以旋转,就有可能是SSD。
#腾讯高性能云硬盘为HHD类型

3.用户管理

#linux查看所有用户
cat /etc/passwd
cat /etc/passwd |cut -f 1 -d :
useradd 注:添加用户
adduser 注:添加用户
passwd 注:为用户设置密码
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov 注:同步用户从/etc/passwd 到/etc/shadow
pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger 注:查看用户信息工具
id 注:查看用户的UID、GID及所归属的用户组
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit 注:和sudo 功能差不多;

#用户文件和文件夹所有人更改
chmod -R hadoop:hadop /data/module

#管理用户组(group)的工具或命令
groupadd 注:添加用户组;
groupdel 注:删除用户组;
groupmod 注:修改用户组信息
groups 注:显示用户所属的用户组
grpck
grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件

4.scp数据传输

#将其他机器数据拉取到本机 -P 端口号,默认是22如有修改可添加
scp -P xxx [email protected]:/data/test.txt /Users/cece/Job/Doc
#发送数据到另一台机器 -r是所有文件包括文件夹
scp -r -P 12898 /Users/cece/Job/Doc/test.txt [email protected]:/data/

5.文件编辑

#vim 显示行号
#显示所有行号
:set number
#显示当前行号
:number
#要筛选出data文件夹中文件大小小于100KB
find /data -type f -size -100k
#取第24行内容
awk 'NR==24' /tmp/test.txt
sed -n '24p' /tmp/test.txt
#awk命令中 NR表示行号,直译 取20-30行的内容
awk 'NR==20,NR==30' ett.txt
sed -n '20,30p' file
#删除第N行:
sed -i '24d' test.txt
#显示整个文件(只需将范围设置为1到最后于一行) $代表最后一行
sed -n '1,$p' file
sed -n '1d' file
#将换行符替换成逗号
sed ':a;N;$!ba;s/\n/,/g' filename.txt > newfilename.txt
#mac将换行符替换成逗号
sed 's/\t/,/g' test.txt >test.csv

#将tab符替换成逗号
head 
#批量删除命令
kill -9 `ps -ef |grep run_command |awk '{print $2}' `
#文件后带格式插入数据
echo -e  "lishitama" >> xinlishi8_after.txt
#复制多个文件到多个目录
#xargs -n 1 每次只取一个参数
# cp -v  复制的详情
echo /data1 /data2 | xargs -n 1 cp -v /data3/software/hadoop-cos-8.3.1.jar  /data/software/cos_api-bundle-5.6.137.2.jar
#结果
#'/data/software/hadoop-cos-8.3.1.jar' -> '/data1/hadoop-cos-8.3.1.jar'
#'/data/software/cos_api-bundle-5.6.137.2.jar' -> '/data1/cos_api-bundle-5.6.137.2.jar'
#'/data/software/hadoop-cos-8.3.1.jar' -> '/data2/hadoop-cos-8.3.1.jar'
#'/data/software/cos_api-bundle-5.6.137.2.jar' -> '/data2/cos_api-bundle-5.6.137.2.jar'


#使用ln命令建立软链接
ln -s 被链接的文件或目录名称 链接名称
ln -s /usr/local/tomcat/ tomcat_latest
ln -s /usr/bin/python3 python
#如果使用cp -L命令,cp会复制软链接指向的文件,而不是软链接本身。这个选项强制cp遵循软链接指向的路径,而不是复制软链接。
#如果使用cp -P命令,cp会复制软链接本身,而不是软链接指向的文件。这个选项使cp复制软链接,而不是软链接指向的文件。

6.文件管理

#查看本文件夹所占存储
du -sh
# 查看本机所有的文件书数量
lsof | wc -l
lsof -p 29884
sudo vim /etc/profile.d/my_env.sh
cat /proc/sys/fs/file-max

7.查看网络状态

#ip概略情况
ifconfig
#ip详细情况
ip addr
ip addr show eth0
#关闭网卡:
ifconfig docker0 down

8.crontab 任务不小心删除

#查看临时文件中中任务
sudo cat /var/log/cron  | grep -i "hadoop" | grep "CMD" | awk -F '(' '{print $3}' | awk -F ')' '{print $1}' | sort -u
cat /var/log/cron  | grep -i "root" | grep "CMD" | awk -F '(' '{print $3}' | awk -F ')' '{print $1}' | sort -u
#找到任务,复制
*/5 * * * * . /etc/profile.d/my_env.sh; bash /data/test.sh >> /data/test.log 2>&1
0 0 1 * * . /etc/profile.d/my_env.sh; rm /data/test.log
#查看临时文件中中任务
cat /var/log/cron |grep “test.sh”

9.jstat命令

8.1 jstat命令简介

jstat(Java Virtual Machine Statistics Monitoring Tool)是JDK提供的一个可以监控Java虚拟机各种运行状态信息的命令行工具。它可以显示Java虚拟机中的类加载、内存、垃圾收集、即时编译等运行状态的信息。

8.2 jstat命令参数 generalOptions

jstat generalOptions
jstat outputOptions [-t] [-h<lines>] <vmid> [<interval> [<count>]]
  • generalOptions:通用选项,如果指定一个通用选项,就不能指定任何其他选项或参数。它包括如下两个选项:
    • -help:显示帮助信息。
    • -options:显示outputOptions参数的列表。
  • outputOptions:输出选项,指定显示某一种Java虚拟机信息。
  • -t:把时间戳列显示为输出的第一列。这个时间戳是从Java虚拟机的开始运行到现在的秒数。
  • -h n:每显示n行显示一次表头,其中n为正整数。默认值为 0,即仅在第一行数据显示一次表头。
  • vmid:虚拟机唯一ID(LVMID,Local Virtual Machine Identifier),如果查看本机就是Java进程的进程ID。
  • interval:显示信息的时间间隔,单位默认毫秒。也可以指定秒为单位,比如:1s。如果指定了该参数,jstat命令将每个这段时间显示一次统计信息。
  • count:显示数据的次数,默认值是无穷大,这将导致jstat命令一直显示统计信息,直到目标JVM终止或jstat命令终止。

8.2 jstat命令参数 outputOptions

如果不指定通用选项(generalOptions),则可以指定输出选项(outputOptions)。输出选项决定jstat命令显示的内容和格式,具体如下:

  • -class:显示类加载、卸载数量、总空间和装载耗时的统计信息。

    注:小段落代表执行该参数产生的结果表头

    • Loaded:加载的类的数量。
    • Bytes:加载的类所占用的字节数。
    • Unloaded:卸载的类的数量。
    • Bytes:卸载的类所占用的字节数。
    • Time:执行类加载和卸载操作所花费的时间。
    #jps结果:
    1846180 RunJar
    2723168 JobHistoryServer
    3608572 ResourceManager
    2709074 AlertServer
    #执行:jstat -compiler 1846180
    Compiled Failed Invalid   Time   FailedType FailedMethod
    13272      1       0    28.62          1 sun/misc/URLClassPath$JarLoader getResource
    
  • -compiler:显示即时编译的方法、耗时等信息。
    • Compiled:执行的编译任务的数量。
    • Failed:执行编译任务失败的数量。
    • Invalid:执行编译任务失效的数量。
    • Time:执行编译任务所花费的时间。
    • FailedType:上次编译失败的编译类型。
    • FailedMethod:上次编译失败的类名和方法。
  • -gc:显示堆各个区域内存使用和垃圾回收的统计信息。
    • S0C:年轻代中第一个Survivor区的容量,单位为KB。
    • S1C:年轻代中第二个Survivor区的容量,单位为KB。
    • S0U:年轻代中第一个Survivor区已使用大小,单位为KB。
    • S1U:年轻代中第二个Survivor区已使用大小,单位为KB。
    • EC:年轻代中Eden区的容量,单位为KB。
    • EU:年轻代中Eden区已使用大小,单位为KB。
    • OC:老年代的容量,单位为KB。
    • OU:老年代已使用大小,单位为KB。
    • MC:元空间的容量,单位为KB。
    • MU:元空间已使用大小,单位为KB。
    • CCSC:压缩类的容量,单位为KB。
    • CCSU:压缩类已使用大小,单位为KB。
    • YGC:Young GC的次数。
    • YGCT:Young GC所用的时间。
    • FGC:Full GC的次数。
    • FGCT:Full GC的所用的时间。
    • GCT:GC的所用的总时间。
  • -gccapacity:显示堆各个区域的容量及其对应的空间的统计信息。
    • NGCMN:年轻代最小的容量,单位为KB。
    • NGCMX:年轻代最大的容量,单位为KB。
    • NGC:当前年轻代的容量,单位为KB。
    • S0C:年轻代中第一个Survivor区的容量,单位为KB。
    • S1C:年轻代中第二个Survivor区的容量,单位为KB。
    • EC:年轻代中Eden区的容量,单位为KB。
    • OGCMN:老年代最小的容量,单位为KB。
    • OGCMX:老年代最大的容量,单位为KB。
    • OGC:当前老年代的容量,单位为KB。
    • OC:当前老年代的容量,单位为KB。
    • MCMN:元空间最小的容量,单位为KB。
    • MCMX:元空间最大的容量,单位为KB。
    • MC:当前元空间的容量,单位为KB。
    • CCSMN:压缩类最小的容量,单位为KB。
    • CCSMX:压缩类最大的容量,单位为KB。
    • CCSC:当前压缩类的容量,单位为KB。
    • YGC:Young GC的次数。
    • FGC:Full GC的次数。
  • -gcutil:显示有关垃圾收集统计信息的摘要。
    • S0:年轻代中第一个Survivor区使用大小占当前容量的百分比。
    • S1:年轻代中第二个Survivor区使用大小占当前容量的百分比。
    • E:Eden区使用大小占当前容量的百分比。
    • O:老年代使用大小占当前容量的百分比。
    • M:元空间使用大小占当前容量的百分比。
    • CCS:压缩类使用大小占当前容量的百分比。
    • YGC:Young GC的次数。
    • YGCT:Young GC所用的时间。
    • FGC:Full GC的次数。
    • FGCT:Full GC的所用的时间。
    • GCT:GC的所用的总时间。
  • -gccause:显示关于垃圾收集统计信息的摘要(与-gcutil相同),以及最近和当前垃圾回收的原因。
    • S0:年轻代中第一个Survivor区使用大小占当前容量的百分比。
    • S1:年轻代中第二个Survivor区使用大小占当前容量的百分比。
    • E:Eden区使用大小占当前容量的百分比。
    • O:老年代使用大小占当前容量的百分比。
    • M:元空间使用大小占当前容量的百分比。
    • CCS:压缩类使用大小占当前容量的百分比。
    • YGC:Young GC的次数。
    • YGCT:Young GC所用的时间。
    • FGC:Full GC的次数。
    • FGCT:Full GC的所用的时间。
    • GCT:GC的所用的总时间。
    • LGCC:上次垃圾回收的原因。
    • GCC:当前垃圾回收的原因。
  • -gcnew:显示新生代的垃圾回收统计信息。
    • S0C:年轻代中第一个Survivor区的容量,单位为KB。
    • S1C:年轻代中第二个Survivor区的容量,单位为KB。
    • S0U:年轻代中第一个Survivor区已使用大小,单位为KB。
    • S1U:年轻代中第二个Survivor区已使用大小,单位为KB。
    • TT:对象在年轻代存活的次数。
    • MTT:对象在年轻代存活的最大次数
    • DSS:期望的Survivor区大小,单位为KB。
    • EC:年轻代中Eden区的容量,单位为KB。
    • EU:年轻代中Eden区已使用大小,单位为KB。
    • YGC:Young GC的次数。
    • YGCT:Young GC所用的时间。
  • -gcnewcapacity:显示新生代的大小及其对应的空间的统计信息。
    • NGCMN:年轻代最小的容量,单位为KB。
    • NGCMX:年轻代最大的容量,单位为KB。
    • NGC:当前年轻代的容量,单位为KB。
    • S0CMX:年轻代中第一个Survivor区最大的容量,单位为KB。
    • S0C:年轻代中第一个Survivor区的容量,单位为KB。
    • S1CMX:年轻代中第二个Survivor区最大的容量,单位为KB。
    • S1C:年轻代中第二个Survivor区的容量,单位为KB。
    • ECMX:年轻代中Eden区最大的容量,单位为KB。
    • EC:年轻代中Eden区的容量,单位为KB。
    • YGC:Young GC的次数。
    • FGC:Full GC的次数。
  • -gcold: 显示老年代和元空间的垃圾回收统计信息。
    • MC:元空间的容量,单位为KB。
    • MU:元空间已使用大小,单位为KB。
    • CCSC:压缩类的容量,单位为KB。
    • CCSU:压缩类已使用大小,单位为KB。
    • OC:老年代的容量,单位为KB。
    • OU:老年代已使用大小,单位为KB。
    • YGC:Young GC的次数。
    • FGC:Full GC的次数。
    • FGCT:Full GC的所用的时间。
    • GCT:GC的所用的总时间。
  • -gcoldcapacity:显示老年代的大小统计信息。
    • OGCMN:老年代最小的容量,单位为KB。
    • OGCMX:老年代最大的容量,单位为KB。
    • OGC:当前老年代的容量,单位为KB。
    • OC:当前老年代的容量,单位为KB。
    • YGC:Young GC的次数。
    • FGC:Full GC的次数。
    • FGCT:Full GC的所用的时间。
    • GCT:GC的所用的总时间。
  • -gcmetacapacity:显示元空间的大小的统计信息。
    • MCMN:元空间最小的容量,单位为KB。
    • MCMX:元空间最大的容量,单位为KB。
    • MC:当前元空间的容量,单位为KB。
    • CCSMN:压缩类最小的容量,单位为KB。
    • CCSMX:压缩类最大的容量,单位为KB。
    • YGC:Young GC的次数。
    • FGC:Full GC的次数。
    • FGCT:Full GC的所用的时间。
    • GCT:GC的所用的总时间。
  • -printcompilation:显示即时编译方法的统计信息。
    • Compiled:最近编译方法执行的编译任务的数量。
    • Size:最近编译方法的字节码的字节数。
    • Type:最近编译方法的编译类型。
    • Method:最近编译方法的类名和方法名。

你可能感兴趣的:(Linux,linux,运维,服务器)