{"id":974,"date":"2014-10-14T21:37:43","date_gmt":"2014-10-14T19:37:43","guid":{"rendered":"https:\/\/diocesanos.es\/blogs\/equipotic\/?p=974"},"modified":"2014-10-14T00:46:17","modified_gmt":"2014-10-13T22:46:17","slug":"linux-para-novatos-comandos-basicos-para-usar-en-la-terminal","status":"publish","type":"post","link":"https:\/\/diocesanos.es\/blogs\/equipotic\/2014\/10\/14\/linux-para-novatos-comandos-basicos-para-usar-en-la-terminal\/","title":{"rendered":"Linux para novatos: Comandos b\u00e1sicos para usar en la terminal"},"content":{"rendered":"<p>\u00abLa terminal es muy sencilla y a la vez sumamente poderosa, te permite interactuar con el sistema operativo sin necesidad de una interfaz gr\u00e1fica.<\/p>\n<p>Si bien las distribuciones Linux hacen cada vez m\u00e1s completas y funcionales sus <em>GUI<\/em> (del ingl\u00e9s <em>graphical user interface<\/em>), <strong>la terminal siempre ha estado y estar\u00e1 all\u00ed para ayudarte y no lo contrario<\/strong>, como quiz\u00e1 hayas pensado. De hecho, en algunas distribuciones es el primer contacto entre el usuario y el sistema.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2014\/10\/shell.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-975\" src=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2014\/10\/shell.jpeg\" alt=\"shell\" width=\"253\" height=\"200\" \/><\/a><\/p>\n<p>Si comienzas a usar la terminal con regularidad, no solo le perder\u00e1s el miedo, sino que notar\u00e1s que es una potente herramienta que permite mantener y administrar todo tu sistema de manera \u00e1gil y funcional.\u00bb<\/p>\n<p>Basado en un art\u00edculo original de <a href=\"http:\/\/bitelia.com\/2014\/04\/comandos-basicos-terminal\" target=\"_blank\">Bitelia<\/a><\/p>\n<p><!--more--><\/p>\n<h2>C\u00f3mo abrir un \u00abterminal\u00bb<\/h2>\n<ul>\n<li>En cualquier GNU\/Linux tenemos la llamada terminal o consola que abre un shell o int\u00e9rprete de comandos. En Ubuntu la abrimos buscando en en el Dash o tablero de Unity: \u00ab<b>Terminal<\/b>\u00ab, desde el men\u00fa de \u00ab<em>Aplicaciones<\/em>\u00bb -&gt; \u00ab<em>Accesorios<\/em>\u00bb -&gt; \u00ab<em>Terminal<\/em>\u00bb\u00a0 o pulsando la combinaci\u00f3n de teclas <kbd>Ctrl<\/kbd>+<kbd>Alt<\/kbd>+<kbd>T<\/kbd><\/li>\n<\/ul>\n<ul>\n<li>Tambi\u00e9n se puede pasar al <b>modo texto<\/b> (int\u00e9rprete de comandos) desde el modo gr\u00e1fico pulsando:<kbd>Ctrl<\/kbd>+<kbd>Alt<\/kbd>+<kbd>F1<\/kbd> o bien con: <kbd>F2 F3 F4 F5 F6<\/kbd>. Esto hace que el sistema salga del modo gr\u00e1fico y acceda a alguna de las seis consolas virtuales de Linux, a las cuales tambi\u00e9n se puede acceder cuando se arranca en modo de texto.<br \/>\nPara volver al modo gr\u00e1fico hay que presionar <kbd>Ctrl<\/kbd>+<kbd>Alt<\/kbd>+<kbd>F7<\/kbd>.<\/li>\n<\/ul>\n<h2>pwd<\/h2>\n<p><strong>pwd<\/strong> (de <em>print working directory<\/em> o imprimir directorio de trabajo), es un conveniente comando que imprime nuestra ruta o ubicaci\u00f3n al momento de ejecutarlo, as\u00ed evitamos perdernos si estamos trabajando con m\u00faltiples directorios y carpetas. Su sintaxis seria:<\/p>\n<pre><code>$ pwd\r\n<\/code><\/pre>\n<h2>ls<\/h2>\n<p><strong>ls<\/strong> (de listar), permite listar el contenido de un directorio o fichero. La sintaxis es:<\/p>\n<pre><code>$ ls directorio\r\n<\/code><\/pre>\n<p>Si omites \u00abdirectorio\u00bb mostrar\u00e1 el contenido del directorio actual. El comando <strong>ls<\/strong> tiene varias opciones que permiten organizar la salida, lo que resulta particularmente \u00fatil cuando es muy grande. Por ejemplo, puedes usar \u00ab<em>-a\u00bb<\/em> para mostrar los archivos ocultos y \u00ab<em>-l\u00bb<\/em> para mostrar los usuarios, permisos y la fecha de los archivos. As\u00ed como para todos los comandos Linux, estas opciones pueden combinarse, terminando en algo como:<\/p>\n<pre><code>$ ls -la directorio<\/code><\/pre>\n<h2>cd<\/h2>\n<p><strong>cd<\/strong> (de <em>change directory<\/em> o cambiar directorio), es como su nombre indica el comando que necesitar\u00e1s para acceder a una ruta distinta a la que te encuentras. Por ejemplo, si estas en el directorio \u00ab\/home\u00bb y deseas acceder a \u00ab\/home\/libros\u00bb, seria:<\/p>\n<pre><code>$ cd libros\r\n<\/code><\/pre>\n<p>Si est\u00e1s en \u00ab\/home\/libros\u00bb y deseas subir un nivel (es decir ir al directorio padre, \u00ab\/home\u00bb), ejecutar\u00edas:<\/p>\n<pre><code>$ cd ..\r\n<\/code><\/pre>\n<h2>touch<\/h2>\n<p><strong>touch<\/strong> crea un archivo vac\u00edo, si el archivo existe actualiza la hora de modificaci\u00f3n. Para crear el archivo \u00abprueba1.txt\u00bb en \u00ab\/home\/profesor\u00bb, seria:<\/p>\n<pre><code>$ touch prueba1.txt\r\n<\/code><\/pre>\n<h2>mkdir<\/h2>\n<p><strong>mkdir<\/strong> (de <em>make directory<\/em> o crear directorio), crea un directorio nuevo tomando en cuenta la ubicaci\u00f3n actual. Por ejemplo, si estas en \u00ab\/home\/profesor\u00bb y deseas crear el directorio \u00abejercicios\u00bb, ser\u00eda:<\/p>\n<pre><code>$ mkdir ejercicios\r\n<\/code><\/pre>\n<p><strong>mkdir<\/strong> tiene una opci\u00f3n bastante \u00fatil que permite crear un \u00e1rbol de directorios completo que no existe. Para eso usamos la opci\u00f3n \u00ab<em>-p\u00bb<\/em>:<\/p>\n<pre><code>$ mkdir -p ejercicios\/uno\/dos\/tres\r\n<\/code><\/pre>\n<h2>cp<\/h2>\n<p><strong>cp<\/strong> (de <em>copy<\/em> o copiar), copia un archivo o directorio origen a un archivo o directorio destino. Por ejemplo, para copiar el archivo \u00abprueba.txt\u00bb ubicado en \u00ab\/home\/profesor\u00bb a un directorio de respaldo (que ha de existir previamente), podemos usar:<\/p>\n<pre><code>$ cp prueba.txt \/home\/respaldo\/prueba.txt\r\n<\/code><\/pre>\n<p>En la sintaxis siempre se especifica primero el origen y luego el destino. Si indicamos un nombre de destino diferente, <strong>cp<\/strong> copiar\u00e1 el archivo o directorio con el nuevo nombre.<\/p>\n<p>El comando tambi\u00e9n cuenta con la opci\u00f3n \u00ab<em>-r\u00bb<\/em> que copia no s\u00f3lo el directorio especificado sino todos sus directorios internos de forma <em>recursiva.<\/em> Suponiendo que deseamos hacer una copia del directorio \u00ab\/home\/profesor\/ejercicios\u00bb que a su vez tiene las carpetas \u00abejercicio1\u00bb y \u00abejercicio2\u00bb en su interior, en lugar de ejecutar un comando para cada carpeta, ejecutamos:<\/p>\n<pre><code>$ cp -r \/home\/profesor\/ejercicios \/home\/respaldos\/\r\n<\/code><\/pre>\n<h2>mv<\/h2>\n<p><strong>mv<\/strong> (de <em>move<\/em> o mover), mueve un archivo a una ruta espec\u00edfica, y a diferencia de <strong><em>cp<\/em><\/strong>, lo elimina del origen finalizada la operaci\u00f3n. Por ejemplo:<\/p>\n<pre><code>$ mv prueba.txt \/home\/respaldos\/prueba2.txt\r\n<\/code><\/pre>\n<p>Al igual que <strong><em>cp<\/em>,<\/strong> en la sintaxis se especifica primero el origen y luego el destino. Si indicamos un nombre de destino diferente, <strong>mv<\/strong> mover\u00e1 el archivo o directorio con el nuevo nombre.<\/p>\n<h2>rm<\/h2>\n<p><strong>rm<\/strong> (de <em>remove<\/em> o remover), es el comando necesario para borrar un archivo o directorio. Para borrar el archivo \u00abprueba.txt\u00bb ubicado en \u00ab\/home\/profesor\u00bb, ejecutamos:<\/p>\n<pre><code>$ rm \/home\/profesor\/prueba.txt\r\n<\/code><\/pre>\n<p>Este comando tambi\u00e9n presenta varias opciones. La opci\u00f3n \u00ab<em>-r\u00bb<\/em> borra todos los archivos y directorios de forma recursiva. Por otra parte, \u00ab<em>-f\u00bb<\/em> borra todo sin pedir confirmaci\u00f3n. Estas opciones pueden combinarse causando un borrado recursivo y sin confirmaci\u00f3n del directorio que se especifique. Para realizar esto en el directorio \u00abrespaldos\u00bb ubicado en el \u00ab\/home\u00bb, usar\u00edamos:<\/p>\n<pre><code>$ rm -rf \/home\/respaldos\r\n<\/code><\/pre>\n<p><strong>Este comando es muy peligroso, por lo tanto es importante que nos documentemos bien acerca de los efectos de estas opciones en nuestro sistema para as\u00ed evitar consecuencias nefastas.<\/strong><\/p>\n<h2>rmdir<\/h2>\n<p><strong>rmdir<\/strong> (de <em>remove directory<\/em> o remover directorio), elimina un directorio siempre que \u00e9ste est\u00e9 vac\u00edo (en caso contrario dar\u00e1 un error). Para eliminar \u00ab\/home\/respaldos\u00bb usar\u00edamos:<\/p>\n<pre><code>$ rmdir \/home\/respaldos<\/code><\/pre>\n<h2>chown<\/h2>\n<p><strong>chown<\/strong> (de \u00a0<em>change owner<\/em> o cambiar propietario), permite ceder la propiedad a otro usuario y\/o asign\u00e1rselo a un grupo al que pertenezcamos. Para ceder la propiedad del archivo \u00abprueba.txt\u00bb al usuario \u00abalumno\u00bb escribir\u00edamos:<\/p>\n<pre><code>$ chown alumno prueba.txt<\/code><\/pre>\n<p>Este comando tambi\u00e9n presenta varias opciones. La opci\u00f3n \u00ab<em>-R\u00bb<\/em> aplica el cambio a todos los archivos y directorios de forma recursiva. Para ceder la propiedad al usuario \u00abalumno\u00bb y al grupo \u00abpracticas\u00bb del\u00a0 directorio \u00ab\/home\/ejercicios\u00bb escribir\u00edamos:<\/p>\n<pre><code>$ chown -R alumno:practicas \/home\/ejercicios<\/code><\/pre>\n<p><em><strong><span style=\"text-decoration: underline;\">NOTA<\/span><\/strong>: Tambi\u00e9n existe el comando <strong>chgrp<\/strong> para cambiar de grupo a un documento o carpeta.<\/em><\/p>\n<h2>chmod<\/h2>\n<p><strong>chmod<\/strong> (de <em>change mode<\/em> o cambiar modo) permite cambiar los permisos de un archivo o directorio. Este comando en concreto tiene varias sintaxis permitidas de la que explicaremos la m\u00e1s sencilla: <strong>chmod [opciones] modo[,modo]\u0085 fichero<\/strong><\/p>\n<p>Para ello tenemos que tener claros los distintos grupos de usuarios:<\/p>\n<ul>\n<li><strong>u<\/strong>: usuario due\u00f1o del fichero<\/li>\n<li><strong>g<\/strong>: grupo de usuarios asociado al fichero<\/li>\n<li><strong>o<\/strong>: todos los otros usuarios<\/li>\n<li><strong>a<\/strong>: todos los tipos de usuario (due\u00f1o, grupo y otros)<\/li>\n<\/ul>\n<p>Tambi\u00e9n hay que saber la letra que abrevia cada tipo de permiso:<\/p>\n<ul>\n<li><strong>r<\/strong>: \u00a0 permiso de lectura<\/li>\n<li><strong>w<\/strong>: permiso de escritura<\/li>\n<li><strong>x<\/strong>:\u00a0 permiso de ejecuci\u00f3n (exploraci\u00f3n en directorios)<\/li>\n<\/ul>\n<p>Asigna permisos de lectura, escritura y ejecuci\u00f3n para los usuarios \u00abotros\u00bb a todos los archivos de la carpeta:<\/p>\n<pre>$ chmod o=rwx *<\/pre>\n<p>Asigna todos los permisos a todos los usuarios para el archivo \u00abfichero.txt\u00bb:<\/p>\n<pre>$ chmod a=rwx fichero.txt<\/pre>\n<p>Quita todos los permisos para los usuario del grupo y los usuarios otros.<\/p>\n<pre>$ chmod go= *<\/pre>\n<p>Da todos los permisos al due\u00f1o del fichero, a los del grupo del due\u00f1o le asigna permisos de lectura y escritura y a los otros usuarios les quita todos los permisos. La opci\u00f3n \u00ab<em>-R\u00bb<\/em> aplica el cambio a todos los archivos y directorios de forma recursiva.<\/p>\n<pre>$ chmod -R u=rwx,g=rw,o= \/home\/ejercicios<\/pre>\n<table style=\"height: 41px;\" border=\"0\" width=\"457\" align=\"center\" bgcolor=\"eeeeee\">\n<tbody>\n<tr>\n<td class=\"fuente8\"><b>Nota:<\/b>un espacio despu\u00e9s de la coma \u00ab,\u00bb en los distintos modos de permisos que se indiquen hace fallar el comando.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Da permisos \u00fanicamente de lectura a todos los tipos de usuario.<\/p>\n<pre>$ chmod a=r *<\/pre>\n<p>De un modo parecido a lo que acabamos de ver, tambi\u00e9n se pueden a\u00f1adir o quitar permisos con los operadores + y -. Para ello se indica el tipo de usuario y el permiso que se resta o a\u00f1ade. Algo como esto:<\/p>\n<p>Esto quita todos los permisos a todos los tipos de usuario.<\/p>\n<pre>$ chmod a-wrx *<\/pre>\n<p>Este comando asigna permisos de lectura a todos los usuarios y permisos de escritura al due\u00f1o del archivo y el grupo del due\u00f1o.<\/p>\n<pre>$ chmod a+r,gu+w *<\/pre>\n<p>Este comando asigna permisos de escritura al usuario due\u00f1o y a todos los usuarios les a\u00f1ade permiso de lectura.<\/p>\n<pre>$ chmod u=w,a+r *<\/pre>\n<h2>du<\/h2>\n<p><strong>du<\/strong> (de <em><span class=\"st\">disk usage<\/span><\/em> o uso de disco), estima el espacio ocupado por el directorio y todos sus subdirectorios. Suele utilizarse con el par\u00e1metro \u00ab-h\u00bb para facilitar la lectura de las unidades de medida (Gigas, Mengas, Kb). Para analizar la ocupaci\u00f3n de los contenidos almacenados en \u00ab\/home\/ejercicios\u00bb usar\u00edamos:<\/p>\n<pre><code>$ du -h \/home\/ejercicios<\/code><\/pre>\n<p>Si s\u00f3lo nos interesa conocer el resumen de todo el directorio a\u00f1adir\u00edamos el par\u00e1metro \u00ab-s\u00bb:<\/p>\n<pre><code>$ du -hs \/home\/ejercicios<\/code><\/pre>\n<h2>df<\/h2>\n<p><strong>df<\/strong> ( de <em>disk filesystem<\/em> o sistema de archivos) muestra el espacio de disco utilizado en cada volumen o partici\u00f3n montado. La opci\u00f3n \u00ab-T\u00bb muestra el sistema de archivo tambi\u00e9n. A\u00f1ade \u00ab-h\u00bb para utilizar m\u00faltiplos en las unidades de medida (Gigas, megas, etc):<\/p>\n<pre><code>$ df -Th<\/code><\/pre>\n<h2>find<\/h2>\n<p><strong>find<\/strong> (de encontrar). Busca el archivo o carpeta que le indiques:<\/p>\n<pre>$ find \/home -name prueba.txt<\/pre>\n<p>El comando anterior buscar\u00eda en todos los sitios las carpetas y archivos que se llamen \u00abprueba.txt\u00bb a partir de la carpeta \u00ab\/home\u00bb<\/p>\n<p>Si no estamos muy seguros del nombre podemos indic\u00e1rselo con comodines. Supongamos que el nombre de lo que buscamos contiene \u201cejercicio\u201d, en la misma carpeta de antes:<\/p>\n<pre>$ find \/home -name *ejercicio*<\/pre>\n<p>Tiene otras opciones avanzadas que permiten discriminar por tipo de archivo, fechas de creaci\u00f3n\/acceso\/modificaci\u00f3n, tama\u00f1o, propietario y\/o permisos, entre otros.<\/p>\n<h2>clear<\/h2>\n<p><strong>clear<\/strong> (de limpiar), es un sencillo comando que limpiara nuestra terminal por completo dej\u00e1ndola como reci\u00e9n abierta. Para ello ejecutamos:<\/p>\n<pre><code>$ clear\r\n<\/code><\/pre>\n<p><strong>Como <em>bonus<\/em> os recomiendo utilizar <em>man<\/em><\/strong> que muestra una documentaci\u00f3n completa del comando proporcionado. Para <em>clear<\/em>, por ejemplo:<\/p>\n<pre><code>$ man clear\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u00abLa terminal es muy sencilla y a la vez sumamente poderosa, te permite interactuar con el sistema operativo sin necesidad de una interfaz gr\u00e1fica. Si bien las distribuciones Linux hacen cada vez m\u00e1s completas y funcionales sus GUI (del ingl\u00e9s graphical user interface), la terminal siempre ha estado y estar\u00e1 all\u00ed para ayudarte y no &hellip; <a href=\"https:\/\/diocesanos.es\/blogs\/equipotic\/2014\/10\/14\/linux-para-novatos-comandos-basicos-para-usar-en-la-terminal\/\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">Linux para novatos: Comandos b\u00e1sicos para usar en la terminal<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40,5],"tags":[112,17,4,111],"class_list":["post-974","post","type-post","status-publish","format-standard","hentry","category-formacion-2","category-linux-2","tag-comandos","tag-formacion","tag-linux","tag-terminal"],"_links":{"self":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts\/974","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/comments?post=974"}],"version-history":[{"count":0,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts\/974\/revisions"}],"wp:attachment":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/media?parent=974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/categories?post=974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/tags?post=974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}