Linux

Podemos clasificar las utilidades por consola de linux acorde a su función, y analizarlas de forma sistematica. Aprovecharemos las capacidades de ejecución de notebooks de bash para ilustrar los comandos, pero debe tenerse en cuenta que la linea inicial de cada bloque %%bash no esta asociada con su ejecución en una consola linux al igual que el uso de ! al inicio de linea. Ambos casos son la forma de indicarle al notebook que debe ejecutar en modo bash en la consola linux.

Comentarios y escritura en consola

Podemos imprimir mensajes en la consola (e incluso a archivos) con ayuda de echo y printf, teniendo mayor control este último.

La indicación de comentarios en bash (texto que no posee efecto en ejecución) se logra indicando el simbolo # a partir de la parte de la linea que se desee interpretar como un comentario.


In [1]:
%%bash
# Esto es un comentario y por tanto no ejecuta nada
echo "Esto no es un comentario" # pero esto si es un comentario


Esto no es un comentario

Ayuda

Si desconocemos las opciones y descripción de una instrucción podemos usar el argumento --help que la mayoria de instrucciones soportan o la instrucción man seguida de la instrucción que deseamos.


In [2]:
%%bash
apt --help


apt 1.2.12 (amd64)
Usage: apt [options] command

apt is a commandline package manager and provides commands for
searching and managing as well as querying information about packages.
It provides the same functionality as the specialized APT tools,
like apt-get and apt-cache, but enables options more suitable for
interactive use by default.

Most used commands:
  list - list packages based on package names
  search - search in package descriptions
  show - show package details
  install - install packages
  remove - remove packages
  autoremove - Remove automatically all unused packages
  update - update list of available packages
  upgrade - upgrade the system by installing/upgrading packages
  full-upgrade - upgrade the system by removing/installing/upgrading packages
  edit-sources - edit the source information file

See apt(8) for more information about the available commands.
Configuration options and syntax is detailed in apt.conf(5).
Information about how to configure sources can be found in sources.list(5).
Package and version choices can be expressed via apt_preferences(5).
Security details are available in apt-secure(8).
                                        This APT has Super Cow Powers.

In [3]:
man apt

man genera una nueva instancia en la visualización de la consola y muestra información más detallada que --help normalmente.

Instalación

Partiendo de una distribución Debian/Ubuntu tenemos las siguientes utilidades: apt y dpkg.

La instrucción apt (cuya descripción y opciones se muestra en la celda superior) soporta los argumentos -y para confirmación de instalación, -q para proceso silencioso y -f para forzado, entre otros.

Algunas funciones de gestión de paquetes aún no se encuentran en apt por lo que aún debe usarse su predecesor apt-get y en combinación con apt-cache.


In [4]:
!apt search jupyter


Sorting... Done
Full Text Search... Done
python-ipython-genutils/xenial,xenial,xenial,xenial 0.1.0-1 all
  IPython vestigial utilities for Python 2

python-traitlets/xenial,xenial,xenial,xenial 4.0.0-1 all
  Lightweight Traits-like package for Python 2

python-traitlets-doc/xenial,xenial,xenial,xenial 4.0.0-1 all
  Lightweight Traits-like package for Python

python3-ipython-genutils/xenial,xenial,xenial,xenial 0.1.0-1 all
  IPython vestigial utilities for Python 3

python3-traitlets/xenial,xenial,xenial,xenial 4.0.0-1 all
  Lightweight Traits-like package for Python 3


In [5]:
!apt show ipython


Package: ipython
Version: 2.4.1-1
Priority: optional
Section: universe/python
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 3.379 kB
Depends: python-decorator, python-pexpect, python-simplegeneric, python (>= 2.7), python (<< 2.8)
Suggests: ipython-doc, ipython-notebook, ipython-qtconsole, python-matplotlib, python-numpy, python-profiler, python-zmq (>= 2.1.11)
Homepage: http://ipython.org/
Download-Size: 610 kB
APT-Sources: http://co.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
Description: enhanced interactive Python shell
 IPython can be used as a replacement for the standard Python shell,
 or it can be used as a complete working environment for scientific
 computing (like Matlab or Mathematica) when paired with the standard
 Python scientific and numerical tools. It supports dynamic object
 introspections, numbered input/output prompts, a macro system,
 session logging, session restoring, complete system shell access,
 verbose and colored traceback reports, auto-parentheses, auto-quoting,
 and is embeddable in other Python programs.
 .
 This package contains the basic terminal shell. For the qt console
 install ipython-qtconsole and for the html notebook install
 ipython-notebook.

Si el paquede .deb ya lo tenemos descargado, podemos usar la instrucción dpkg como dpkg -i NOMBREPAQUETE.deb.

Todas estas funciones, si requieren afectar el sistema, requieren de permisos de administrador. Para ello accedemos como sudo -i y a continuación la contraseña, o su NOMBREADMIN y luego la contraseña del usuario administrador.

Si se requiere de un proceso de compilación, dependerá de los directorios afectados la necesidad de ser administrador, y se procede normalmente como:

./configure
make
make install

Sin embargo, se recomienda leer el archivo README o INSTALL que encontrará normalmente para detallar las opciones especificas del make.

Archivos

Para la gestión de archivos y directorios podemos encontrar las siguientes utilidades.

Podemos consultar el directorio actual por medio de la instrucción pwd y hacer cambio de directorio con la instrucción cd. La ruta de un directorio o archivo puede indicarse de forma absoluta (indicación desde el raíz) o de forma relativa (desde el directorio actual). Cuando indicamos la ruta absoluta, la ruta siempre debe iniciar por /, mientras que la ruta relativa inicia directamente con el nombre de archivo o directorio que se encuentra en el directorio actual o con . para hacer redundancia en el directorio actual o .. para salirse un directorio. Tambien puede indicarse el directorio home del usuario actual como ~, y para la instrucción cd en particular, la omisión de la ruta lleva a este directorio.


In [6]:
%%bash
pwd # Muestra directorio actual
cd .. # Se sale un directorio
pwd # Muestra directorio actual (superior al anterior en este caso)


/home/cosmoscalibur/Dropbox/UdeM/Herramientas Computacionales/Clases
/home/cosmoscalibur/Dropbox/UdeM/Herramientas Computacionales

Podemos hacer consulta de los archivos y directorios existentes por medio de la utilidad ls, la cual posee argumentos que permiten controlar el nivel de información que obtenemos sobre estos.


In [7]:
%%bash
echo "listar archivos"
ls
echo "listar archivos, incluyendo archivos ocultos"
ls -a
echo "listar archivos, incluyendo archivos ocultos e indicando propiedades"
ls -al
echo "listar archivos, incluyendo archivos ocultos e indicando propiedades con indicación de peso con prefijos"
ls -alh


listar archivos
comandoslinux.jpg
directorio_prueba
ejecutar_prueba.sh
Jupyter Notebook Basico.ipynb
Jupyter+Notebook+Basico.pdf
Jupyter Notebook Intermedio.ipynb
Jupyter+Notebook+Intermedio.pdf
jupyter.png
Linux Basico.ipynb
presentacion_herramientas.md
presentacion_herramientas.pdf
prueba2.txt
listar archivos, incluyendo archivos ocultos
.
..
comandoslinux.jpg
directorio_prueba
ejecutar_prueba.sh
.ipynb_checkpoints
Jupyter Notebook Basico.ipynb
Jupyter+Notebook+Basico.pdf
Jupyter Notebook Intermedio.ipynb
Jupyter+Notebook+Intermedio.pdf
jupyter.png
Linux Basico.ipynb
presentacion_herramientas.md
presentacion_herramientas.pdf
prueba2.txt
listar archivos, incluyendo archivos ocultos e indicando propiedades
total 776
drwxrwxr-x 4 cosmoscalibur cosmoscalibur   4096 ago  7 22:19 .
drwxrwxr-x 5 cosmoscalibur cosmoscalibur   4096 ago  2 21:18 ..
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur 228685 nov 13  2007 comandoslinux.jpg
drwxrwxr-x 2 cosmoscalibur cosmoscalibur   4096 ago  7 22:18 directorio_prueba
-rwxr-xr-x 1 cosmoscalibur cosmoscalibur     10 ago  7 21:56 ejecutar_prueba.sh
drwxr-xr-x 2 cosmoscalibur cosmoscalibur   4096 ago  7 19:45 .ipynb_checkpoints
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur  23401 ago  7 19:20 Jupyter Notebook Basico.ipynb
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur 142209 ago  7 19:21 Jupyter+Notebook+Basico.pdf
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur   5686 ago  7 19:27 Jupyter Notebook Intermedio.ipynb
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur  94082 ago  7 19:27 Jupyter+Notebook+Intermedio.pdf
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur  12760 ago  7 18:35 jupyter.png
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur  35593 ago  7 22:19 Linux Basico.ipynb
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur  11375 ago  2 21:24 presentacion_herramientas.md
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur 139557 ago  2 21:24 presentacion_herramientas.pdf
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur    292 ago  7 22:18 prueba2.txt
listar archivos, incluyendo archivos ocultos e indicando propiedades con indicación de peso con prefijos
total 776K
drwxrwxr-x 4 cosmoscalibur cosmoscalibur 4,0K ago  7 22:19 .
drwxrwxr-x 5 cosmoscalibur cosmoscalibur 4,0K ago  2 21:18 ..
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur 224K nov 13  2007 comandoslinux.jpg
drwxrwxr-x 2 cosmoscalibur cosmoscalibur 4,0K ago  7 22:18 directorio_prueba
-rwxr-xr-x 1 cosmoscalibur cosmoscalibur   10 ago  7 21:56 ejecutar_prueba.sh
drwxr-xr-x 2 cosmoscalibur cosmoscalibur 4,0K ago  7 19:45 .ipynb_checkpoints
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur  23K ago  7 19:20 Jupyter Notebook Basico.ipynb
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur 139K ago  7 19:21 Jupyter+Notebook+Basico.pdf
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur 5,6K ago  7 19:27 Jupyter Notebook Intermedio.ipynb
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur  92K ago  7 19:27 Jupyter+Notebook+Intermedio.pdf
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur  13K ago  7 18:35 jupyter.png
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur  35K ago  7 22:19 Linux Basico.ipynb
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur  12K ago  2 21:24 presentacion_herramientas.md
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur 137K ago  2 21:24 presentacion_herramientas.pdf
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur  292 ago  7 22:18 prueba2.txt

Las primeras columnas de los listados con propiedades se corresponden a los permisos de los archivos. La primera columna corresponde a si es un directorio d o un archivo regular -. Las siguientes columnas en grupos de 3 asocian a los permisos del usuario propietario, usuarios del grupo y resto de usuarios, siendo la primera columna del grupo para indicar lectura r, la segunda escritura w y la última ejecución x. La carencia de dichas propiedades se designa con -.

Para crear archivos o actualizar la huella de tiempo se puede usar la instrucción touch seguida del nombre del archivo. Si se usa para la creación de un archivo, este será por defecto un archivo de texto plano.

El contenido de un archivo de texto plano se puede poblar con ayuda de los simbolos > y >> que se encargar de direccionar las salidas de la consola hacia el archivo deseado. Si desea sobreescribir los archivos use la primera opción, pero si los desea continuar use la segunda opción.


In [8]:
%%bash
touch prueba.txt
ls -lh *txt
ls > prueba.txt # Se redirige la salida de ls al archivo prueba.txt, el cual se sobre escribe
ls -lh *txt


-rw-rw-r-- 1 cosmoscalibur cosmoscalibur 292 ago  7 22:18 prueba2.txt
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur   0 ago  7 22:20 prueba.txt
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur 292 ago  7 22:18 prueba2.txt
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur 292 ago  7 22:20 prueba.txt

Para la lectura de los archivos es posible usar distintas utilidades según se requiera una forma interactiva o estatica, o un conjunto de lineas especificas. Así, tenemos utilidades como head, tail, more y less.


In [9]:
!more prueba.txt


comandoslinux.jpg
directorio_prueba
ejecutar_prueba.sh
Jupyter Notebook Basico.ipynb
Jupyter+Notebook+Basico.pdf
Jupyter Notebook Intermedio.ipynb
Jupyter+Notebook+Intermedio.pdf
jupyter.png
Linux Basico.ipynb
presentacion_herramientas.md
presentacion_herramientas.pdf
prueba2.txt
prueba.txt

In [10]:
%%bash
echo "Primeras dos lineas"
head -n 2 prueba.txt
echo "ultimas dos lineas"
tail -n 2 prueba.txt


Primeras dos lineas
comandoslinux.jpg
directorio_prueba
ultimas dos lineas
prueba2.txt
prueba.txt

Si deseamos realizar una copia del archivo, usamos la instrucción cp. Para cambiar su ubicación o renombrar se usa la instrucción mv (renombrar es lo mismo que cambiar la locación del archivo).


In [11]:
%%bash
cp prueba.txt prueba2.txt # Se hace una copia de prueba.txt en prueba2.txt
mv prueba.txt prueba3.txt # Se cambia el nombre de prueba.txt a prueba3.txt
ls prueba*.txt # Se valida la existencia de los archivos con patron 'prueba' al inicio y extensión '.txt'.


prueba2.txt
prueba3.txt

Si deseamos eliminar de manera permanente el archivo prueba3.txt, usamos la instrucción rm. Tanto para copiar como para borrar de debe usar el argumento -R si se desea la acción sobre directorios.


In [12]:
%%bash
rm prueba3.txt
ls prueba*.txt


prueba2.txt

Para crar un directorio se usa la instrucción mkdir.


In [13]:
%%bash
mkdir -p directorio_prueba # El argumento '-p' es para no generar error si ya existe el directorio y lo conserva
ls -d */ # De esta manera se listan solo directorios


directorio_prueba/

Se desea crear un enlace simbolico del archivo prueba2.txt en el directorio nuevo, esto con el fin de tener un acceso rapido desde dicha ubicacion. Para este fin se usa la instrucción ln.


In [14]:
%%bash
ln -fs prueba2.txt directorio_prueba/prueba.txt # El argumento 'f' remueve el enlace si ya existe.
# El argumento 's' es para indicar un enlace simbolico.
ls -oh directorio_prueba/


total 0
lrwxrwxrwx 1 cosmoscalibur 11 ago  7 22:20 prueba.txt -> prueba2.txt

Es posible tambien concatenar archivos de texto plano, por medio de cat. El resultado de la concatenación se redirige a la salida estandar de la consola.


In [15]:
!cat prueba2.txt prueba2.txt


comandoslinux.jpg
directorio_prueba
ejecutar_prueba.sh
Jupyter Notebook Basico.ipynb
Jupyter+Notebook+Basico.pdf
Jupyter Notebook Intermedio.ipynb
Jupyter+Notebook+Intermedio.pdf
jupyter.png
Linux Basico.ipynb
presentacion_herramientas.md
presentacion_herramientas.pdf
prueba2.txt
prueba.txt
comandoslinux.jpg
directorio_prueba
ejecutar_prueba.sh
Jupyter Notebook Basico.ipynb
Jupyter+Notebook+Basico.pdf
Jupyter Notebook Intermedio.ipynb
Jupyter+Notebook+Intermedio.pdf
jupyter.png
Linux Basico.ipynb
presentacion_herramientas.md
presentacion_herramientas.pdf
prueba2.txt
prueba.txt

Búsqueda

Podemos hacer busqueda en archivos y en directorios de texto o archivos respectivamente. Para ello podemos usar las instrucciones grep, find y locate.


In [16]:
%%bash
echo "Buscar texto en un archivo"
grep Jupyter prueba2.txt
echo "Buscar texto en salida de consola"
ls -l | grep prueba
echo "Buscar archivo en un directorio"
find . -iname "Jupyter*"


Buscar texto en un archivo
Jupyter Notebook Basico.ipynb
Jupyter+Notebook+Basico.pdf
Jupyter Notebook Intermedio.ipynb
Jupyter+Notebook+Intermedio.pdf
Buscar texto en salida de consola
drwxrwxr-x 2 cosmoscalibur cosmoscalibur   4096 ago  7 22:20 directorio_prueba
-rwxr-xr-x 1 cosmoscalibur cosmoscalibur     10 ago  7 21:56 ejecutar_prueba.sh
-rw-rw-r-- 1 cosmoscalibur cosmoscalibur    292 ago  7 22:20 prueba2.txt
Buscar archivo en un directorio
./Jupyter Notebook Basico.ipynb
./Jupyter Notebook Intermedio.ipynb
./.ipynb_checkpoints/Jupyter Notebook Intermedio-checkpoint.ipynb
./.ipynb_checkpoints/Jupyter Notebook Basico-checkpoint.ipynb
./Jupyter+Notebook+Intermedio.pdf
./Jupyter+Notebook+Basico.pdf
./jupyter.png

Gestión de procesos

Podemos gestionar los procesos del sistema con las utilidades ps, top y kill. Las dos primeras permiten realizar observación de los procesos en ejecución en el sistema y ciertos argumentos para definir el detalle de la información de estos. Mediante kill y el identificador del proceso podemos elminar este.


In [17]:
%%bash
ps -u $USER


  PID TTY          TIME CMD
 4326 ?        00:00:00 systemd
 4328 ?        00:00:00 (sd-pam)
 4336 ?        00:00:00 gnome-keyring-d
 4338 ?        00:00:00 upstart
 4419 ?        00:00:00 upstart-udev-br
 4420 ?        00:00:01 dbus-daemon
 4466 ?        00:00:00 upstart-dbus-br
 4467 ?        00:00:01 upstart-dbus-br
 4471 ?        00:00:00 upstart-file-br
 4483 ?        00:00:00 gpg-agent
 4500 ?        00:00:00 lxsession
 4506 ?        00:00:00 gvfsd
 4511 ?        00:00:00 gvfsd-fuse
 4533 ?        00:00:07 openbox
 4537 ?        00:00:17 lxpanel
 4539 ?        00:00:00 pcmanfm
 4540 ?        00:00:04 xfce4-power-man
 4542 ?        00:00:00 xfconfd
 4557 ?        00:00:10 nm-applet
 4559 ?        00:00:00 update-notifier
 4570 ?        00:00:00 dunst
 4579 ?        00:02:54 pulseaudio
 4595 ?        00:00:00 ssh-agent
 4613 ?        00:00:00 gvfs-udisks2-vo
 4623 ?        00:00:00 menu-cached
 4634 ?        00:00:00 gvfs-mtp-volume
 4642 ?        00:00:00 gvfs-gphoto2-vo
 4647 ?        00:00:00 gvfs-afc-volume
 4656 ?        00:00:00 gvfs-goa-volume
 4710 ?        00:00:00 gvfsd-trash
 4719 ?        00:00:02 indicator-appli
 4720 ?        00:01:14 dropbox
 4891 ?        00:22:04 chrome
 4896 ?        00:00:00 cat
 4897 ?        00:00:00 cat
 4924 ?        00:00:00 chrome
 4932 ?        00:00:00 nacl_helper
 4940 ?        00:04:59 thunderbird
 4950 ?        00:00:00 chrome
 5016 ?        00:27:10 chrome
 5025 ?        00:00:00 chrome
 5090 ?        00:00:00 gconfd-2
 5139 ?        00:01:08 chrome
 5141 ?        00:00:00 chrome
 5143 ?        00:00:01 chrome
 5145 ?        00:00:00 chrome
 5148 ?        00:01:35 chrome
 5246 ?        00:00:26 chrome
 5993 ?        00:02:17 chrome
 6526 ?        00:00:00 gvfsd-http
 7687 ?        00:00:46 chrome
 7709 ?        01:25:19 chrome
11619 ?        00:02:35 chrome
11658 ?        00:00:02 x-terminal-emul
11659 ?        00:00:00 gnome-pty-helpe
11660 pts/0    00:00:00 bash
11693 pts/0    00:00:12 jupyter-noteboo
11815 ?        00:15:42 chrome
15535 ?        00:00:18 chrome
16963 pts/2    00:00:00 bash
18855 ?        00:00:17 chrome
19160 pts/3    00:00:00 bash
19869 ?        00:00:12 chrome
20444 ?        00:00:00 chrome
21280 ?        00:00:00 python3
21358 ?        00:00:00 bash
21359 ?        00:00:00 ps

Permisos

Los permisos permiten no solo el acceso a los archivos por parte de los usuarios, sino la posibilidad de restringir el tipo de operaciones sobre los archivos.

Permiso Valor Letra
Lectura 4 r
Escritura 2 w
Ejecución 1 x

Los permisos se pueden habilitar mediante + seguido de la letra asociada al permiso y el nombre del archivo, o mediante la indicación de la suma de valores de los permisos y en orden acorde a usuario propietario, usuarios del grupo y resto de usuarios.


In [26]:
%%bash
rm -f ejecutar_prueba.sh
echo "echo hola" > ejecutar_prueba.sh # Creamos un archivo para ejecución
echo "Propiedades del archivo"
ls -oh *sh # Validamos permisos de ejecución. Por defecto los permisos son solo lectura.
echo "Se ejecuta el archivo"
./ejecutar_prueba.sh # Ejecutamos y se genera error de permisos.
echo "Se puede obviar el error por parte del propietario mediante sh (bash/dash/zsh/..)"
bash ejecutar_prueba.sh
echo "Se cambian permisos y ejecuta nuevamente"
chmod 755 ejecutar_prueba.sh # Se otorga permiso de ejecución
./ejecutar_prueba.sh # Al ejecutar nuevamente se genera la salida esperada


Propiedades del archivo
-rw-rw-r-- 1 cosmoscalibur 10 ago  7 22:24 ejecutar_prueba.sh
Se ejecuta el archivo
Se puede obviar el error por parte del propietario mediante sh (bash/dash/zsh/..)
hola
Se cambian permisos y ejecuta nuevamente
hola
bash: line 6: ./ejecutar_prueba.sh: Permission denied

Internet

ping seguido de la url valida el estado de recepción y envio de paquetes al sitio indicado de manera continua hasta que se realice interrupción de la consola.
dig realiza detección de la IP del sitio.


In [19]:
%%bash
dig www.google.com


; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51776
;; flags: qr rd ra; QUERY: 1, ANSWER: 12, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.google.com.			IN	A

;; ANSWER SECTION:
www.google.com.		237	IN	A	190.248.1.32
www.google.com.		237	IN	A	190.248.1.59
www.google.com.		237	IN	A	190.248.1.45
www.google.com.		237	IN	A	190.248.1.18
www.google.com.		237	IN	A	190.248.1.39
www.google.com.		237	IN	A	190.248.1.38
www.google.com.		237	IN	A	190.248.1.31
www.google.com.		237	IN	A	190.248.1.53
www.google.com.		237	IN	A	190.248.1.24
www.google.com.		237	IN	A	190.248.1.46
www.google.com.		237	IN	A	190.248.1.52
www.google.com.		237	IN	A	190.248.1.25

;; Query time: 72 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Aug 07 22:20:44 COT 2016
;; MSG SIZE  rcvd: 235

Tambien es posible realizar descargas por medio de la consola con la instrucción wget.


In [20]:
!wget -O comandoslinux.jpg https://tanaceto.files.wordpress.com/2007/11/fwunixref_es.jpg


--2016-08-07 22:20:44--  https://tanaceto.files.wordpress.com/2007/11/fwunixref_es.jpg
Resolving tanaceto.files.wordpress.com (tanaceto.files.wordpress.com)... 192.0.72.18, 192.0.72.19
Connecting to tanaceto.files.wordpress.com (tanaceto.files.wordpress.com)|192.0.72.18|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 228685 (223K) [image/jpeg]
Saving to: ‘comandoslinux.jpg’

comandoslinux.jpg   100%[===================>] 223,33K   497KB/s    in 0,4s    

2016-08-07 22:20:45 (497 KB/s) - ‘comandoslinux.jpg’ saved [228685/228685]


In [21]:
!ls *jpg


comandoslinux.jpg

Compresión

Consulte con las opciones de ayuda de la consola, el uso de las instrucciones tar, gzip, file-roller (ubuntu), zip, unzip, 7z (los ultimos tres debe instalarlos).

Otros

Existen muchas utilidades linux esenciales, las cuales puede explorar por su cuenta. Algunas de ellas para su consulta son:

  • du
  • df
  • uname
  • wc
  • whereis
  • date
  • call
  • source
  • bc

Variables de entorno y archivos de configuración

Encontrará de utilidad para gestiones administrativas y rutinas bash, algunas variables de entorno. Estas se expresan sus valores usando \$ al inicio del nombre. Algunas variables de entorno comunes son:


In [22]:
%%bash
echo $HOME # Directorio Home del usuario actual
echo $PATH # Ruta de los ejecutables
echo $USER # Nombre de usuario del usuario actual


/home/cosmoscalibur
/home/cosmoscalibur/.local/share/umake/android/android-sdk/tools:/home/cosmoscalibur/.local/share/umake/android/android-sdk/platform-tools:/home/cosmoscalibur/.local/share/umake/bin:/home/cosmoscalibur/.local/share/umake/android/android-sdk/tools:/home/cosmoscalibur/.local/share/umake/android/android-sdk/platform-tools:/home/cosmoscalibur/.local/share/umake/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
cosmoscalibur

Algunos archivos de configuración importantes son:

  • ~/.bashrc
  • ~/.profile
  • ~/.bash_aliases