Serie Sprint de entrevistas de reclutamiento de Java Spring: ¡Complete las preguntas de la entrevista de Linux!

Notas de estudio

  • El pasado y el presente de Zero-Copy

  • Borrar el archivo sudo sh -c "echo ''> a.txt"

  • Cambiar el nombre de la carpeta mvName newFolderName

  • Crear soft chain ln -s sourcefile targetfile

    ln -s / xxx / xx / eclipse eclipseLink

  • Utilice proxy para descargar archivos wget -e use_proxy = yes -e http_proxy = xxxx: 1080

  • 设置 ulimit sudo sh -c "ulimit -n 65535 && exec su userA"

Artículos de la red

ssh

  • lsof -i: 22
  • Instalar herramientas básicas
  • sudo apt-get install openssh-server openssh-client

Ver todos los puertos abiertos

  • Puedes netstat -anpcomprobar qué puertos están abiertos
    • -a mostrar todo
    • -n No muestra alias, solo muestra números
    • -p muestra el número de proceso y el nombre del proceso
    • netstat -natpl Mostrar el puerto de escucha de tcp
    • netstat -naupl Mostrar el puerto de escucha de udp

Puertos abiertos de CentOS7: CentOS7 ha utilizado un cortafuegos como cortafuegos y ya no utiliza iptables

  • usuario root
  • Abra el firewall systemctl start firewalld.service
  • Abra el puerto firewall-cmd --zone = public --add-port = 50013 / tcp --permanent
    • --Zone-public: público de ámbito de tabla
    • –Add-port = 8080 / tcp: el puerto para agregar el protocolo tcp es 8080
    • --Permanente: efecto permanente, sin este parámetro significa efecto temporal
  • Reiniciar el firewall systemctl reiniciar firewalld.service
  • Recargue la configuración firewall-cmd --reload
  • firewall-cmd --list-ports

Pruebe si el nombre de dominio se puede resolver

  • servidor nslookup
    • p.ej: nslookup www.baidu.com

Prueba si el puerto está abierto

  • telnet ip port

Servidor de correo Linux: Postfix

http://cn.linux.vbird.org/linux_server/0380mail.php

  • Redirección de salida de Linux
    linux 环境中支持输入输出重定向,用符号<和>来表示。
    0、1和2分别表示标准输入、标准输出和标准错误信息输出,
    将一个脚本的执行过程及执行结果打印到日志的常用命令:
    ./myscript.sh 2>&1 | tee mylog.log
    可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表示将错误信息输出到文件a.txt中。
    同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2>&1来实现。
    Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。
    
  • Ver la variable de entorno env | grep -E'M2 | MAVEN '

Instalación del lado del servidor de Shadowsocks

  • Es curl https://bootstrap.pypa.io/get-pip.py -o get-pip.pyposible que la versión de python sea baja al instalar pip
  • python get-pip.py
  • pip instalar shadowsocks
  • Colocar mangas de sombra
  • vi /etc/shadowsocks.json

{ "Servidor": "0.0.0.0", "puerto_servidor": 0, "puerto_local": 1080, "contraseña": "xxx", "tiempo de espera": 600, "método": "aes-256-cfb" }






* 将shadowsocks加入系统服务
* vi /etc/systemd/system/shadowsocks.service
```xml
[Unit]
Description=Shadowsocks
[Service]
TimeoutStartSec=0
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target
# 设置开机自启命令
systemctl enable shadowsocks

# 启动命令
systemctl start shadowsocks

#查看状态命令
systemctl status shadowsocks
  • Cliente
  • Cree un script sh y agregue nohup sslocal -s remoteserverip -p remoteserverport -b 127.0.0.1 -l localserverport -k password -m aes-256-cfb >/dev/null 2>&1 &

nohup sslocal -s 3.14.3.65 -p 15432 -b 127.0.0.1 -l 1080 -k abc123_ -m aes-256-cfb> ssl.log 2> & 1 &

Registre el uso en tiempo real de la CPU y la memoria del servidor

#!/bin/bash
fileName=$1

echo "CPU%,MEM%,TIME" > $fileName
for (( i = 0; i < 3000; i++ )) do
    output=`top -b -n1 | grep "Cpu(s)" | awk '{print $2 ","}' | tr -d '\n' && free -m | grep 'Mem' | awk '{print $3/$2 * 100 ","}' | tr -d '\n' && date | awk '{print $4}'`>temp
    echo "$output" >> $fileName
    sleep 1
done
  • cat redis.conf | grep -v “#” | grep -v “^ $” Ver el archivo de configuración, eliminar todo # y eliminar todos los espacios

Está prohibido modificar directorios y archivos internos en Linux. Usé este comando para reducir los permisos de nginx y colocar archivos estáticos en el directorio tmp, al que pueden acceder los usuarios de nginx.

Si se
elimina un solo archivo chattr + i aaa.txt , entonces el
directorio chattr -i aaa.txt y el archivo chattr -R + i ttt
se pueden proteger usando chattr -R + i A (-R modifica recursivamente los atributos de el directorio y su contenido) Todo el contenido del directorio A. Los
archivos con el atributo 'i' no se pueden modificar, solo el superusuario puede establecer o borrar este atributo.

Aplicación del comando de Linux en tomcat

  • plantilla

192.168.1.189 - - [03/May/2019:19:47:21 +0000] "GET /html/css/main.css?browserId=other HTTP/1.1" 200 19858

注意

  1. La configuración del registro de acceso, el formato no es necesariamente el mismo que el del registro anterior
  2. cortar -f1 -d "" es cortar la cuerda de acuerdo con el espacio, -fn significa el número
  • Las 20 principales direcciones IP por tráfico
cat access_log.2019-0* | cut -f1 -d " " | sort | uniq -c | sort -k 1 -n -r | head -20
  • 20 URL de páginas principales
cat access_log.2019-0* | cut -f7 -d " " | sort | uniq -c | sort -k 1 -n -r | head -20
  • Ver la página que consume más tiempo
cat access_log.2019-0* | sort -k 10 -n -r | head -20
  • Cuente la proporción de solicitudes 4xx / 5xx
total requests: wc -l access_log.2019-0*
404 requests: awk '$9=='404'' access_log.2019-0* | wc -l
500 requests: awk '$9=='500'' access_log.2019-0* | wc -l
  • Encuentra el registro que contiene una determinada palabra clave
awk '/keywords/' access_log* | head -10
awk '/keywords/{print $5,$6}' access_log* | head -10 // 查找包含keywords的关键字并打印第5/6列

vim editar archivo

  • No está en modo de edición ahora, debe ingresar la tecla i en el teclado para ingresar
  • Por ejemplo, para eliminar la sexta línea, mueva el cursor a la sexta línea que desea eliminar e ingrese la d minúscula dos veces seguidas, es decir, dd

CentOS ve la ocupación del ancho de banda de la red en tiempo real

  • Instalar iftop, yum instalar iftop
  • Compruebe la tarjeta de red ifconfig
  • iftop -i eth0

Mantenga la conexión entre el servidor y el cliente

Modifique el archivo de configuración ssh / etc / ssh / sshd_config, agregue o modifique ClientAliveInterval a "ClientAliveInterval 60". Este parámetro significa que cada 1 minuto, el servidor envía un mensaje al cliente para mantener la conexión. Recuerde reiniciar el servicio ssh después de guardar service sshd restart.

Cien preguntas

¿De dónde proviene 65535? Las
computadoras almacenan datos en binario. Generalmente, unsigned int se usa para almacenar enteros positivos.
En las computadoras, cada entero está representado por un número binario de 16 bits, por lo que el número más grande es 16. A 1, es decir , 11111111 11111111
convierte el número binario 11111111 11111111 en un número decimal para ser 65535

La diferencia entre profile y bashrc en Linux

  1. / etc / profile se
    utiliza para configurar los parámetros del entorno del sistema, como $ PATH. Las variables de entorno que se encuentran en el interior son efectivas para todos los usuarios del sistema.
  2. El archivo / etc / bashrc
    establece las cosas relacionadas con el shell bash del sistema, lo cual es efectivo para todos los usuarios del sistema. Siempre que el usuario ejecute el comando bash, las cosas que contiene funcionarán.
  3. ~ / .bash_profile se
    usa para configurar algunas variables de entorno. La función es similar a / etc / profile, pero está configurada para los usuarios, es decir, usted establece las variables de entorno en /home/user1/.bash_profile, luego Esta variable de entorno solo entra en vigor para el usuario user1.
  4. La función de ~ / .bashrc
    es similar a / etc / bashrc, pero es solo para el usuario y no tiene efecto para otros usuarios.
    Además, las variables (globales) configuradas en / etc / profile pueden actuar sobre cualquier usuario, mientras que las variables (locales) configuradas en ~ / .bashrc, etc. solo pueden heredar las variables en / etc / profile, son "padre y relación infantil.

Supongo que te gusta

Origin blog.csdn.net/weixin_43314519/article/details/114238331
Recomendado
Clasificación