Fragmentos de comandos de Linux de uso común

1. Ver usuarios registrados  
$ who -a | grep -Ev "tty|system boot|run-level"
2. Enumere los cinco procesos principales que ocupan actualmente la CPU.  
$ ps aux | sort -k3,3nr | head -5  
3. Enumere la información de los cinco procesos principales que ocupan memoria actualmente.  
$ ps aux | sort -k4,4nr | head -5  
4. Supervisar dinámicamente la ejecución de comandos  
$ watch -n 1 -d "#监控的命令"  
5. Consultar la información de proceso del dispositivo actualmente ocupado    
$ fuser  
6. Busque archivos hace 7 días para eliminarlos por lotes  
$ find . -type f -mtime +7 | xargs rm -f  
7. Matar proceso por nombre de proceso  
ps aux | grep ${PNAME} | grep -v grep | cut -c 9-15 | xargs kill -9  
8. Imprima la información del GC  
$JAVA_HOME/bin/jstat -gcutil  PID  1000 100  
9. Vea la información de estado de la memoria dinámica y exporte la instantánea de la memoria.

`` `bash  
$ $ JAVA_HOME / bin / jmap -heap $ {PID}  
$ $ JAVA_HOME / bin / jmap -dump: format = b, file = edwfms-8084_108.bin $ PID  

##### 10. find使用  
```bash
$ find . -size -200k -type f | xargs -I {}  cp -rp {}  /tmp/history_file/

Explicación: -Asigna cada parámetro de xargs a {} línea por línea, puede usar {} en lugar de -size -200k file is less than 200K  

11. Ver la IP de la red pública local

`` bash  
$ curl ifconfig.me 

##### 12.删除空目录

```bash  
$ find . -empty -type d | xargs rmdir  
13.Configuración de JAVA_OPTS 
JAVA_OPTS="-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m"  
14. Ver la cantidad de conexiones de red

`` `bash  
netstat -n | awk '/ ^ tcp / {++ S [$ NF]} END {for (a in S) print a, S [a]}' 


网络连接状态统计: netstat

分析解决网络连接问题和检查接口/端口统计数据、路由表、协议状态等等的

**语法:**

netstat -l 显示所有处于监听状态的端口列表
netstat -a 显示所有端口;如果去指定仅显示 TCP 端口,使用 -at(指定信显示 UDP 端口,使用 -au)
netstat -r 显示路由表
netstat -s 显示每个协议的状态总结
netstat -i 显示每个接口传输/接收(TX/RX)包的统计数据

centos7 默认不带该命令,需要手动 安装

```bash
$ yum install net-tools

Ver la cantidad de conexiones del sistema

$ netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} \
END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'

--Parámetro del sistema Identificación TCP
CERRADO: no hay conexión activa o en curso
LISTEN: el servidor está esperando una llamada entrante
SYN_RECV: ha llegado una solicitud de conexión, esperando confirmación
SYN_SENT: la aplicación se ha iniciado, abre una conexión
ESTABLECIDA: datos normales estado de transmisión
FIN_WAIT1: La aplicación dice que ha completado
FIN_WAIT2: La otra parte ha acordado liberar
CIERRE: Ambas partes intentan cerrar al mismo tiempo
TIME_WAIT: La otra parte ha iniciado una liberación. (Se ha conectado la conexión de datos)
LAST_ACK: Espere a que todos los paquetes mueran. Vea el número de solicitudes simultáneas de Apache y su estado de conexión TCP

15. Supervisar el estado de la interrupción 

`` `bash 
$ watch -d cat / proc / softirqs 

##### 16.强制卸载NFS设备
```bash
$ mount -l /nfs挂载目录
17. Estadísticas de ocupación de archivos

1) Analice desde el directorio raíz y use el siguiente comando para encontrar el directorio secundario con la mayor proporción

$ cd /
#第一种命令
$ find / -maxdepth 1 | grep -vE 'proc|lost|upload|cgroup' | sed  's#/##g' | awk '{print $0}' | xargs du -a --max-depth=0 | sort -nr | awk '{print $2}' | xargs du -sh

#第二种方法
$ find / -maxdepth 1 ! -path /  | grep -vE 'proc|lost|upload|cgroup' | awk '{print $0}' | xargs du -a --max-depth=0 |  sort -nr | awk '{print $2}' | xargs du -sh
18. Mueva archivos de imagen del mismo tipo de archivo al directorio image_dir
$ ls | grep -E 'jpg|png' | xargs -I {} mv {} image_dir/
19. Cuente la cantidad de CPU físicas
$ cat /proc/cpuinfo | grep "core id" | awk -F ':' '{print $2}' | sort -rn | uniq  | wc -l
20. Verifique la hora de Beijing desde la línea de comando
$ curl http://quan.suning.com/getSysTime.do
21.línea de reemplazo sedimentada
#整行处理模式
$ sed -i 's/要被取代的字串/新的字串/g' 文件名 

#参数 -i 表示替换,如果不加 -i 则表示只预览替换是否正确,不实际修改文件
22. Cuente el número de archivos
$ find . -type f | wc -l
23. Ubuntu ver versión de lanzamiento
$ lsb_release -a
24. Eliminar al usuario del grupo
$ sudo gpasswd -d root ubuntu
Removing user root from group ubuntu
25. fusor
#查询当前占用设备的进程信息&剔除进程
$ fuser -m -v /media/USB/ 
$ fuser -m -v -i -k /media/USB/
26. matar
#手动过滤出进程号再Kill掉
ps aux | grep send_jvm.sh | grep -v grep | cut -c 9-15 | xargs kill -9
9-15 是进程ID所在的列位置xargs 将结果解析成参数

#过滤出进程号再
kill pgrep httpd | xargs kill -9
27.nc
#!/bin/bash 
ip=$1 #服务器IP 
port=$2 #服务器端口 
while : 
do 
echo -e "$(date +%H:%M:%S)--$(nc -v -w 5 -z $1 $2)" 
sleep 1 
done #-w 5 表示超时时间
29.ps
#显示消耗内存/CPU最多的10个进程
$ ps aux | sort -nk +4 | tail -10 ps aux | sort -nk +3 | tail -10
#使用ps 查看进程使用的环境变量信息
$ ps -eo pid,cmd e | tail -n 1
30.tareas

Tasket se utiliza para ver y establecer la "afinidad de CPU". Para decirlo sin rodeos, es ver o configurar la relación de enlace entre el proceso y la cpu, de modo que un proceso pueda ejecutarse en el núcleo de CPU especificado, que es el " núcleo vinculante "

0) Escenarios aplicables

Enlace de ejecución del proceso de Redis

1) Muestra la CPU en la que se está ejecutando el proceso

taskset -p pid
Tenga en cuenta que este comando devuelve hexadecimal.Después de convertir a binario, cada bit corresponde a una CPU lógica, y el bit bajo es la CPU nº 0, y así sucesivamente. Si cada posición es 1, significa que el proceso está vinculado a la CPU. Por ejemplo, 0101 significa que el proceso está vinculado a las CPU lógicas 0 y 3

2) Configuración del núcleo de enlace

taskset -pc 3 pid significa vincular el proceso pid al tercer núcleo (nota: no convierta 3 en un binario) taskset -c 3 comando significa ejecutar el comando comando y vincular el proceso iniciado por el comando al tercer núcleo Nuclear sobre.

31.ulimit

Antecedentes
Cuando se utiliza la propiedad OA grguser user para iniciar sesión en su servidor de aplicaciones OA de producción, el error del comando de ejecución es el siguiente
: -bash: fork: retry: Resource temporalmente no disponible

Solucionar problemas
# solicitar usuario raíz ejecutar $ prompt grguser usuario ejecutar
1) Ver el número de procesos / subprocesos ejecutados por el usuario actual
#lsof -u grguser | wc -l
1450
2) Ver el número máximo de procesos y subprocesos que el usuario actual puede ejecutar, si esto Si el valor es menor que el número de procesos / subprocesos en ejecución en la ventana de terminal actual, se informará un error "-bash: fork: retry: Resource temporalmente no disponible" que los recursos no se pueden asignar

# cat /etc/security/limits.d/90-nproc.conf
*          soft    nproc     1024 #系统安装时默认是1024
root       soft    nproc     unlimited
$ ulimit -a
max user processes              (-u) 1024

resolver

root用户下修改/etc/security/limits.d/90-nproc.conf文件,将nproc的值调大 ,调整为8192

$ulimit -a
max user processes              (-u) 8192

如果没有发生改变,最好重启下服务器

Tenga en cuenta que todos los resultados de búsqueda generales dicen que el archivo /etc/security/limits.conf debería cambiarse. De hecho, después de modificarlo, descubrí que aún no tenía efecto. Finalmente, modifiqué / etc / security / limits.d / 90-nproc.conf. Tiene efecto después del archivo

32.vmstat

Ver documentos vmstat específicos

33 astro

Comandos de archivo abiertos por el programa de seguimiento

$ strace -e open netstat #跟踪netstat命令打开的文件数
34. lsof

Lista de archivos abiertos por el proceso actual

lsof abc.txt 显示开启文件abc.txt的进程
lsof -i :22 知道22端口现在运行什么程序
lsof -c abc 显示abc进程现在打开的文件
lsof -p 12 看进程号为12的进程打开了哪些文件
35. Vista de tráfico

nload
iftop
iptraf
nethogs # Esta herramienta puede ver el proceso de situación del tráfico
bmon
slurm
tcptrack
vnstat

查看每个连接的实时流量情况的工具
$ pktstat -i eth3 -nt
36. rsync

Ver documentos rsync específicos

37. grep

Buscar por contenido de archivo, xxx es el contenido del archivo, '.' Es el rango de búsqueda, en el directorio actual

$ grep -rin xxx .

Supongo que te gusta

Origin blog.51cto.com/4073279/2678290
Recomendado
Clasificación