Comandos generales

Recopilación de los comandos generales trabajados en clase:

varios

Antes de entrar a ver los comandos con los que vamos a trabajar en clasevamos a ver una serie de utilidades que pueden hacer que nuestra experiencia de uso del terminal resulte mas agradable y productiva.

Concatenar comandos (&&)

Nos permite ejecutar un comando a continuación de otro siempre y cuando el comando anterior no produzca ningún error.

$ comando1 && comando2

Se ejecutaría el comando1 y a continuación el comando2 si no existe ningún error al ejecutar comando1

$ service apache2 stop && service apache2 start

Se detendría el servicio apache2 y a continuación se arrancaría el servicio apache2

Redirigir la salida (>)

Cuando ejecutamos un comando este puede producir (o no) una salida.

$ ls

Produce una salida en la que nos muestra en pantalla el contenido del directorio actual.

Por defecto esta salida, se denomina salida estandar, es mostrada en pantalla. Podemos redirigir la salida a donde nos interese con >.

$ ls > fichero.txt

El comando anterior no nos mostrará nada en pantalla y lo que debería de haber mostrado por pantalla lo escribirá en un fichero llamado fichero.txt Si el fichero tenía contenido borrará el contenido y escribirá la salida. Si el fichero no existía lo creará (si tiene permiso) y escribirá en él la salida.

$ ls >> fichero.txt

Funciona de un modo parecido al anterior pero en esta ocasión no borrará el contenido del fichero fichero.txt sino que agregará al contenido del fichero el resultado de esta nueva ejecución.

Un comando, al igual que una salida de resultado nos puede mostrar una salida de error que también podemos redirigir. Para ello, en vez de > deberemos de usar 2>

$ ls 2> fichero.err.txt

Tras la ejecución del comando anterior veremos por pantalla el resultado de ejecutar el comando y en caso de existir algún error durante la ejecución se escribirá en el fichero fichero.err.txt Al igual que en el caso anterior tenemos la posibilidad de no sobreescribir el contenido del fichero sino de añadir contenido, para ello utilizaremos 2>>.

También tenemos la posibilidad de usar la redirección en la otra dirección, vamos a ver un ejemplo

$ wc < fichero.txt

El comando wc nos muestra la cantidad de palabras que aparecen a continuación. En este caso nos indicará la cantidad de palabras que existen en el fichero llamado fichero.txt

Algo muy habitual es redirigir la salida de errores a ningún lugar, para ello haríamos

$ ls 2> /dev/null

Tubería (|)

Nos permite redirigir la salida estandar de un comando a la entrada de otro. Por ejemplo:

$ ps -aux | grep apache2

ps -aux nos devuelve un listado de procesos en ejecución, ese listado se le facilita al comando grep que lo que hace es buscar la palabra apache2 en lo que ps -aux le ofrece.

$ cat fichero.txt | wc

El comando cat escribe por pantalla en contenido del fichero que se le facilita como parámetros a continuación. En este caso, en lugar de escribirlo por pantalla se lo facilitará al comando wc (que sirve para contar palabras) por lo que tras ejecutar el comando anterior obtendremos el total de palabras que contiene fichero.txt

Comandos

pwd

Nos indica la ruta en que nos encontramos

$ pwd

cd

Sirve para cambiar al directorio que facilitemos como argumento o si no facilitamos argumento nos redirige al directorio personal

$ cd

Redirige al directorio personal del usuario

$ cd /home/alumno/Desktop

Cambia el directorio actual a /home/alumno/Desktop

$ cd Desktop

Cambia el directorio actual al directorio Desktop de la carpeta en que nos encontremos

mkdir

Nos permite crear directorios

$ mkdir /home/alumno/examenes

Crea el directorio examenes en la ruta /home/alumno

$ mkdir trabajos

Crea el directorio trabajos en la ruta en que nos encontremos

touch

Sirve para crear archivos vacíos

$ touch /home/alumno/examenes/lengua

Crea un fichero vacío llamado lengua dentro de la ruta /home/alumno/examenes

$ touch trabajoDeLengua

Crea un fichero vacío llamado trabajoDeLengua dentro de la carpeta en que nos encontremos

rm

Borra archivos o directorios

$ rm /home/alumno/configuracion.bckup

rmdir

Borra directorios vacíos

$ rmdir /home/alumno/directorioVacio

ls

Nos permite listar el contenido de un directorio. Veremos también sus variantes ls -l, ls -a y ll

$ ls

Lista el contenido del directorio en que nos encontremos

$ ls /home/alumno

Lista el contenido del directorio /home/alumno

$ ls Descargas

Lista el contenido del directorio Descargas (que esté dentro de la ruta en que nos encontremos)

$ ls -l

Lista en modo ¿detallado o columnas? el directorio en que nos encontremos. También se le pueden facilitar como argumentos rutas absolutas o relativas.

$ ls -a

Lista todo el contenido (incluyendo ficheros ocultos) del directorio en que nos encontremos. También se le puede facilitar como argumentos una ruta absoluta o relativa.

$ ll

Lista el contenido (incluyendo ficheros ocultos) del directorio en que nos encontremos y además muestra la información relativa a permisos, propietarios, tamaño y fecha de creación. En la sección de permisos hay mas información.

whoami

Nos muestra el usuario con el que estamos trabajando. Algo que si tenemos configurado bash por defecto se puede ver en el prompt como vimos en el apartado terminal/consola.

$ whoami

su

Permite cambiar de usuario

$ su profesor

Cambia del usuario actual al usuario profesor

$ sudo su

Cambiamos al usuario administrador (root). Generalmente no es recomendable hacer esto (consultar el apartado posterior)

sudo

En la wikipedia obtenemos la siguiente explicación de sudo:

El programa sudo (del inglés super user do) es una utilidad de los sistemas operativos tipo Unix, como Linux, BSD, o Mac OS X, que permite a los usuarios ejecutar programas con los privilegios de seguridad de otro usuario (normalmente el usuario root) de manera segura, convirtiéndose así temporalmente en superusuario. Se instala por defecto en /usr/bin.

En el apartado anterior ya vimos como utilizar este comando para convertirnos en usuarios administradores de forma permanente. En la medida de lo posible evitaremos ese uso y trabajaremos como usuarios normales anteponiendo sudo cuando de forma consciente queramos ejecutar un determinado comando como root.

$ sudo chmod 740 fichero

Como root ejecutamos el comando chmod (para el resto de valores consultar sección Permisos)

man

Muestra la ayuda del comando que se indique a continuación.

$ man cat

Muestra la ayuda del comando cat

$ man nano

Muestra la ayuda del comando nano

Para salir de la ayuda se presiona la tecla q.

top

Muestra un resumen detallado del estado actual de la máquina en relación al consumo de sus recursos hardware y sus procesos

$ top

Para salir se presiona la tecla q.

nano

Abre un editor de texto

$ nano manual

Abre el editor de texto con el contenido del fichero manual. En caso de no existir el fichero lo creará.

Para guardar el contenido tras modificar el fichero pulsaremos control + o y para salir del editor pusaremos control + x.

cat

Muestra el contenido de un fichero.

$ cat manual

grep

Dibuja las líneas que coinciden con un determinado patrón.

$ cat manual | grep gato

Marca todas las líneas del fichero manual que contengan la palabra gato.

ifconfig

Nos muestra la configuración de red.

$ ifconfig

(Añadir imagen del resultado)

ping

Envía un paquete a la ip de destino. Nos sirve para saber si en una determinada IP hay un equipo a la escucha.

$ ping 192.168.4.100

Si obtenemos respuesta sabremos que en esa IP hay una máquina

shutdown

Apaga la máquina.

$ shutdown

reboot

Reinicia la máquina.

$ reboot

apt-get

Nos permite gestionar los paquetes de la máquina. Es una tarea que deberemos hacer como administradores.

$ sudo apt-get update

Actualiza los repositorios del equipo.

$ sudo apt-get upgrade

Actualiza los paquetes instalados en el equipo

$ sudo apt-get install apache2

Descargará, instalará y configurará el paquete apache2 junto con las dependencias que tenga el paquete.

$ sudo apt-get remove apache2

Desinstalará el paquete apache2

ssh

Nos permite conectarnos a otra máquina. La sintaxis es la siguiente:

$ ssh usuario@ip_dstino

Por ejemplo

$ ssh alumno@192.168.7.101

service

Nos permite iniciar, parar o reiniciar un servicio de la máquina. La sintaxis es la siguiente:

$ service nombre_servicio start|stop

Por ejemplo:

$ service apache2 start

Arranca el servicio apache2 (servidor web)

$ service proftpd stop

Detiene el servicio proftpd (servidor de FTP)

ifup

Nos permite activar una determinada interface de red.

$ sudo ifup eth0

Activa la interface denominada eth0 (interface cableada)

ifdown

Nos permite desactivar una determinada interface de red

$ sudo ifdown wlan0

Desactiva la interface denominada wlan0 (interface wireless)

ps

Muestra un listado de los procesos en ejecución

$ ps -aux

Podemos combinarlo con grep para facilitarnos la búsqueda de un determinado servicio

$ ps -aux | grep apache2

pidof

Nos devuelve el identificador del proceso (pid) del servicio que solicitemos

$ pidof apache2

kill

Mata procesos.

$ kill -9 pid

Mata el proceso del cual pongamos su pid. Es decir, no se escribe pid sino que se escribe el identificador del proceso.

killall

Mata procesos por su nombre.

$ killall apache2

Mata todos los procesos de apache2.

$ killall tail

Mata todos los procesos que estén ejecutando tail.

df

Muestra el espacio en disco. Lo ejecutaremos con el modificar -h para que la información que veamos resulte mas legible.

$ df -h

exit

Cierra la sesión actual.

$ exit

scp

Copia archivos entre máquinas distintas. La sintaxis es la siguiente:

$ scp origen destino

Teniendo en cuenta que tanto origen como destino pueden ser archivos locales o remotos. Cuando nos archivos remotos utilizaremos la sintaxis usuario@ip:/ruta. Por ejemplo:

$ scp hola.txt pablo@192.168.4.100:/home/pablo

Copia el fichero local llamado hola.txt en una máquina con la IP 192.168.4.100 en su ruta /home/pablo y lo hace con un usuario que se llama pablo. Veamos otro ejemplo:

$ scp pablo@192.168.4.100:/home/pablo/hola.txt /usr/share

Copia el fichero hola.txt que se encuentra en la máquina de IP 192.168.4.100 en la ruta /home/pablo accediendo a la máquina en cuestión con el usuario pablo. Deja el fichero en la ruta /usr/share

results matching ""

    No results matching ""