Preguntas de prueba básicas de Linux (2) preguntas de prueba de comandos básicos de shell

  1. Muestra solo la IP utilizada en la información de la tarjeta de red

ifconfig 网卡名 | head -n 2 | tail -n 1 | cut -d " " -f 10

Inserte la descripción de la imagen aquí


  1. Encuentre el usuario con el UID más grande entre los usuarios que pueden iniciar sesión en el sistema y mostrar su nombre

grep bash /etc/passwd | cut -d : -f 1,3 | sort -nr -t : -k 2 | head -n 1 | cut -d : -f 1

Inserte la descripción de la imagen aquí

  1. El host actual es un servidor web y se capturan las 5 direcciones IP principales que han accedido al servidor web.

#方法1
cut -d " " -f 1 /etc/httpd/logs/access_log | uniq -c | sort -k 1 -nr | head -n 5 | awk '{print $2}'
#方法2
cut -d " " -f 1 /etc/httpd/logs/access_log | uniq -c | sort -k 1 -nr | head -n 5 | sed 's/^ *//g' | cut -d " " -f 2

  1. Ejecute el script user_check.sh para determinar el tipo de usuario

Los tipos de usuario son:

  1. superusuario
  2. usuario del sistema
  3. usuario común

#!/bin/bash
username=$1
#判断有无输入用户名
[ -z $username ] && {
    
    
	echo "ERROR: Please input username following script !"
	exit
}	
#判断用户是否存在
id $username &> /dev/null || {
    
    
	echo "ERROR: user "$username" is not exist !"
	exit
}

userid=$(id -u $username)
user_shell=$( grep $username /etc/passwd | cut -d : -f 7 )
#用户id等于0为超级用户
[ "$userid" -eq "0" ] && {
    
    
	echo $username is super user !
	exit
}
#用户id小于1000,且可登陆就为系统用户
[ "$userid" -lt "1000" ] && [ ! "$user_shell" = "/bin/bash" ] && {
    
    
	echo $username is system user !
	exit
}
#用户id大于等于1000,且可登陆就为普通用户
[ "$userid" -ge "1000" ] && [ "$user_shell" = "/bin/bash" ] && {
    
    
	echo $username is common user !
	exit
}
#其他情况
echo "unknow user type !"

Inserte la descripción de la imagen aquí

  1. Escriba el script file_check.sh para completar las siguientes tareas
  1. Si el archivo de prueba no se especifica después de la secuencia de comandos, se informa un error "No se especificó un archivo de prueba, especifique"
  2. Si el archivo especificado no existe después del script, se informa de un error "Este archivo no existe"
  3. Cuando el archivo exista, verifique el tipo de archivo y muéstrelo en la salida

#!/bin/bash
filename=$1
#判断有误输入文件名
[ -z $filename ] && {
    
    
	echo Error: please input file folloeing script !
	exit
	}
#判断此文件是否存在
[ -e $filename ] || {
    
    
	echo file $filename is not exist !
	exit
}
#判断此文件的文件类型是否为目录
[ -d $filename ] && {
    
    
	echo file $filename is 目录 !
	exit
}
#判断此文件的文件类型是否为套接字
[ -S $filename ] && {
    
    
    echo file $filename is 套接字 !
    exit
}
#判断此文件的文件类型是否为软链接
[ -L $filename ] && {
    
    
    echo file $filename is 软链接 !
    exit
}
#判断此文件的文件类型是否为普通文件
[ -f $filename ] && {
    
    
    echo file $filename is 普通文件 !
    exit
}
#判断此文件的文件类型是否为块设备
[ -b $filename ] && {
    
    
    echo file $filename is 块设备 !
    exit
}
#判断此文件的文件类型是否为字符设备
[ -c $filename ] && {
    
    
    echo file $filename is 字符设备 !
    exit
}

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_46069582/article/details/111186752
Recomendado
Clasificación