Ejercicio grep de shell de Linux

contenido del archivo utilizado

1: contraseña

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
unbound:x:997:995:Unbound DNS resolver:/etc/unbound:/sbin/nologin
sssd:x:996:993:User for sssd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
pesign:x:995:992:Group for the pesign signing daemon:/var/run/pesign:/sbin/nologin
rngd:x:994:991:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
jiang:x:1000:1000:jiang:/home/jiang:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
shell:x:1001:1001::/home/shell:/bin/bash
H_test:x:1002:1002::/home/H_test:/bin/bash

2: test.txt se utiliza para reemplazar todos los archivos que faltan

Carline, ah, how to begin to aloud again case old?
to you to

1. Muestre las líneas que comienzan con h, que no distingue el tamaño, en el archivo /etc/passwd;

1
egrep -i "^h" /etc/passwd
2
grep -ie '^h' /etc/passwd
3
grep -E '^h|^H' /etc/passwd

Insertar descripción de la imagen aquí

2. Muestre las líneas que terminan en sh en /etc/passwd;

grep -e 'sh$' /etc/passwd

Insertar descripción de la imagen aquí

3. Muestre líneas en /etc/fstab que comiencen con #, seguidas de uno o más caracteres en blanco y luego de cualquier carácter que no esté en blanco;

grep -E '^#[[:space:]]+[^[:space:]]+' /etc/fstab

Insertar descripción de la imagen aquí

4. Busque cadenas que contengan "comenzando con hasta y terminando con hasta" en /etc/rc.d/rc.local;

grep -w '^to .* to$' test.txt

Insertar descripción de la imagen aquí

5. Busque líneas en /etc/inittab que contengan el patrón "palabras que comienzan con s y terminan con d";

grep '\<s[a-Z]*d\>' /etc/inittab

Insertar descripción de la imagen aquí

6. Encuentre el número entero entre 1 y 255 en el resultado del comando ifconfig;

ifconfig | grep -Eo  '\<[1-9]\>|\<[0-9][0-9]\>|\<1[0-9][0-9]\>|\<2[0-5][0-5]\>'

Insertar descripción de la imagen aquí

7. Muestre las líneas que contienen "Error" o "FAILED" en el archivo /var/log/secure;

egrep -io 'failed' /var/log/secure 

Insertar descripción de la imagen aquí

8. Elimine la línea en /etc/passwd donde el shell predeterminado es bash;

Insertar descripción de la imagen aquí

grep '/bin/bash' /etc/passwd

Insertar descripción de la imagen aquí

9. Enumere la información del archivo que comienza con ns y termina con .conf en el directorio /etc/ en formato largo;

grep '^\<sudo\>.*\.\<conf\>' test.txt

Insertar descripción de la imagen aquí

10. Resalte los dos puntos y los caracteres a ambos lados en el archivo passwd;

grep  --color=auto '[[:alnum:]]*:[[:alnum:]]*' passwd

Insertar descripción de la imagen aquí
Um, esto podría estar mal

sed

11 Elimine los caracteres en blanco al principio de todas las líneas que comiencen con espacios en blanco en el archivo /etc/grub2.conf.

sed -e 's/^[[:space:]]*//g' grub2.cfg

Insertar descripción de la imagen aquí

12. Elimine el # y los caracteres en blanco al principio de todas las líneas del archivo /etc/fstab que comiencen con # y vayan seguidas de al menos un carácter en blanco.

sed -r 's/^#[[:space:]]+//g' grub2.cfg

-r Usar expresiones regulares extendidas
![Inserte descripción de la imagen aquí](https://img-blog.csdnimg.cn/31fff61559c9472781a69e63ad44d9aa.png)

13. Agregue # al principio de cada línea en /root/install.log

Esta máquina no tiene un archivo /root/install.log. En su lugar se utiliza el archivo test.txt.

sed -e 's/^.*$/#&/g' test.txt

Insertar descripción de la imagen aquí

14. Agregue # al principio de las líneas que no comiencen con # en el archivo /etc/fstab.

sed 's/^[^#].*$/#&/' test.txt

Insertar descripción de la imagen aquí

15. Utilice sed para obtener la dirección IPv4 de la máquina en el comando ifconfig.

ifconfig | sed -n '2p' | sed -r 's/^[^0-9]+([0-9.]+).*/\1/'

Insertar descripción de la imagen aquí

16. Apague la función SELinux local


17. Agregue contenido al archivo de configuración /etc/hosts


Supongo que te gusta

Origin blog.csdn.net/m0_51828898/article/details/128565113
Recomendado
Clasificación