miércoles, 31 de enero de 2018

Comandos de Linux III (Comenzando a usar el Shell)

Comenzando a usar el Shell 

 

 


Una vez logueados a un sistema GNU/Linux, el mismo nos provee de una shell, la cual nos permite ingresar los comandos del sistema.
El mas utilizado en los sistemas GNU/Linux es bash, pero también tenemos otros, los cuales son los siguientes:

/bin/sh
/bin/bash
/bin/dash
/bin/tcsh
/bin/csh


El prompt de bash es el símbolo $ para un usuario no privilegiado y # para el usuario root. El mismo lo podemos configurar desde el archivo /etc/bashrc  

Para cada usuario en particular se puede modificar en el siguiente archivo:

~/.bashrc

que se encuentra en el /home del usuario.  

Los comandos no son ejecutados hasta que se presione "enter" y la sintaxis es la siguiente:

$comando [opciones] [argumentos]

En el siguiente ejemplo:


$ ls -F /etc

ls es el comando, siendo -F la opción y el directorio /etc el argumento.


Hasta ahora, veníamos ejecutando de a un comando por vez. ahora vamos a ver, varias formas de ejecutar varios comandos en una sola vez.
En el caso de que no tengan coneccion entre si utilizamos el punto y coma (;) como en el siguiente ejemplo:    
      

Esto, va a ejecutar un ls en el directorio que  nos encontremos parados, y luego mostrara la fecha con el comando date

Cabe destacar  que un comando termina independientemente de cómo finaliza y se ejecuta a continuación el siguiente.

En otros casos (por ejemplo si necesitamos ejecutarlos en un script, o varios en una sola linea) podemos llegar a necesitar utilizar los operadores && y || en los casos que el o los comandos subsiguientes dependan de si se ejecuto correctamente el comando previo.

En el caso de && solo ejecutara el comando subsiguiente si el primero tuvo éxito, veamos un ejemplo:

[juan@juan ~]$ ls /nada && date
ls: no se puede acceder a '/nada': No such file or directory
[juan@juan ~]$

En este caso, el comando date no fue ejecutado, debido a que hubo un error en el comando ls, al no existir el directorio /nada

[juan@juan ~]$ ls Plantillas/ && date
mié ene 31 13:51:58 -03 2018
[juan@juan ~]$
 
En este caso fue exitosa la ejecución del comando date, ya que el directorio  Plantillas/ si existe (independientemente de que no tenga contenidos.

Variables 

Las variables, contienen información, que puede ser modificada por el usuario o por el sistema. Si queremos modificar el prompt de Bash lo hacemos modificando la variable $PS1

Por Ejemplo:

[juan@juan ~]$PS1=”[soy \u en \h dir actual \W]\$”
[soy juan en juan dir actual etc]$

Las opciones son:

\u        Nombre del usuario
\h        Nombre del host
\W        Directorio de trabajo
\A        Hora actual

(para ver mas opciones les recomiendo ver el man de bash: $man bash )

Tambien se incluyen variables predefinidas que podemos ver con el comando env
[juan@juan ~]$ env
LS_COLORS=rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;05;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;40:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.zst=38;5;9:*.tzst=38;XDG_MENU_PREFIX=gnome-
LANG=es_AR.UTF-8
GDM_LANG=es_AR.UTF-8
HISTCONTROL=ignoredups
DISPLAY=:0
HOSTNAME=juan.local
COLORTERM=truecolor
USERNAME=juan
XDG_VTNR=2
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
XDG_SESSION_ID=4
USER=juan

---(Cortado intencionalmente)----
_=/usr/bin/env

La variable PATH le indica a la shell actual donde buscar los comandos que son ejecutados cuando no se le especifica una ruta. 
Si tengo un comando en un directorio que no esta en la variable PATH, para ejecutarlo tengo que escribir la ruta completa,

Para definir un nuevo directorio en la variable PATH se puede hacer de la siguiente forma.

[juan@juan ~]$ PATH=$PATH:/otro/directorio

Posteriormente para exportar la variable, como de entorno para que la pueda usar cualquier proceso de mi shell actual, utilizo el comando export de la siguiente manera:
[juan@juan ~]$ export PATH

Continuaremos en otro articulo.

No hay comentarios:

Publicar un comentario

Bienvenidos

Instalando VeraCrypt

En este primer video-tutorial, veremos el procedimiento para instalar VeraCrypt en Windows 10 y crear un volumen encriptado.   ...