Diferencia entre revisiones de «Exercicis resolts del shell de Linux»

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda
Línea 94: Línea 94:
$ sudo find /etc -mtime -1 -ls
$ sudo find /etc -mtime -1 -ls
</syntaxhighlight>
</syntaxhighlight>
}}
Mostrar un llistat de tots els directoris (no arxius) que té el directori /tmp:
{{res|
<syntaxhighlight lang="bash">
$ ls -ad **/
</syntaxhighlight>
El ** és una utilitat de bash per a recorrer recursivament els subdirectoris.
}}
}}



Revisión del 16:04 17 feb 2017

Arxius

Visualitzar els arxius i permisos del directori actiu:

$ ls -l

Visualitzar els arxius del directori pare del que estem actualment:

$ ls ../

Si execute ls sense arguments, de quin directori fa el llistat?:

Del directori actiu de la terminal, el que estem en aquest moment.

Mostrar el directori actual:

$ pwd
$ echo $PWD

Crear dos directoris, un dins de l'altre:

$ mkdir -p dir1/dir2

Llistar els executables del sistema:

$ ls /bin/ /sbin/ /usr/bin/ /usr/sbin/
$ ls ${PATH//:/ }

En el segon cas, utilitzem la variable PATH, que conté les rutes dels programes i una sustitució de caracters en la variable.

Llistar totes les particions de discs SATA:

$ ls /dev/sd*
$ sudo fdisk -l

Fer que un arxiu tinga com a propietari i grup l'usuari i el grup root:

$ chown root:root arxiu.txt

Crear un enllaç de l'arxiu /var/log/syslog al meu home:

$ ln -s /var/log/syslog ~/

Hem creat un enllaç simbòlic amb -s.

Averiguar la quantitat de disc utilitzada:

$ df -h

Averiguar la quantitat de disc utilitzada en total pel directori home:

$ sudo du -sh /home

Donar permís d'execució per a l'usuari a un script:

$ chmod u+x script.sh
$ chmod 744 script.sh

Moure tots els fitxers que tinguen extensió txt del directori /home/ubuntu a directori personal:

$ mv /home/ubuntu/*.txt ~/

Trobar tots els arixus en el teu directori personal majors que 500MB:

$ find -size +500M

Trobar tots els arixus modificats en els últims dos dies en /etc:

$ sudo find /etc -mtime -1 -ls

Mostrar un llistat de tots els directoris (no arxius) que té el directori /tmp:

$ ls -ad **/

El ** és una utilitat de bash per a recorrer recursivament els subdirectoris.

Usuaris

Iniciar sessió en un altre usuari en la meua terminal:

$ su usuari

Saber quin usuari estem utilitzant:

$ whoami

Detectar usuaris connectats al sistema:

$ who

Mostrar el grups al que pertany l'usuari lliurex:

$ id lliurex

Crear l'usuari platon que pertany al grup idealistes, amb directori personal i bash en un comandament:

$ useradd -m -G idealistes -s /bin/bash platon

Processos i programes

Llistar els processos en execució:

$ ps -e
$ ps aux

Mostrar l'ús de memòria:

$ free

Hi ha moltes ferramentes que donen informació de l'ús de la memòria. Free és la més coneguda i concreta, però en top, htop i altres també trobem aquesta informació.

Reiniciar el sistema:

$ sudo reboot

Hi ha moltes ferramentes que donen informació de l'ús de la memòria. Free és la més coneguda i concreta, però en top, htop i altres també trobem aquesta informació.

Matar un procés:

$ ps -e   # Per averiguar el PID 
$ kill <PID>
$ kill -9 <PID>  # Forçar la mort

Executar en segón planol un procés:

$ htop &

Tornar del segón planol a la terminal un procés:

$ fg

Buscar la ubicació d'un programa:

$ whereis nano

Mostrar la data en format DD/MM/AAAA HH:MM:

$ date +"%d/%m/%Y %H:%M"

Consultar l'historial de comandaments:

$ history

Mostrar el PATH dels executables de Libreoffice:

$ whereis libreoffice

Crear un fitxer amb permisos de lectura i escriptura per al usuari, de lectura per al grup i res per als altres que continga tots els alies del sistema:

$ (umask 026; alias > alias.txt)

Anem a analitzar aquest comandament. Primer configurem el umask per a que mai tinga altres permisos el fitxer. Després s'executa el comandament alias que redirecciona l'eixida estàndar a alias.txt. Però tot això es fa dins de () per a fer-lo en un bash diferent i no conservar els umask.

Xarxa

Assignar una IP a una targeta de xarxa anomenada eth0:

$ sudo ifconfig eth0 192.168.0.2/24
$ sudo ip addr add 192.168.0.2/24 dev eth0

El comandament recomanable és el de ip, ja que forma part d'un paquet nou de ferramentes per substituir el ifconfig, considerat obsolet.

Reiniciar una targeta de xarxa eth0:

$ sudo ifdown eth0
$ sudo ifup eth0
$ /etc/init.d/networking restart # En debian no funciona correctament