{"id":20,"date":"2013-02-11T11:04:57","date_gmt":"2013-02-11T11:04:57","guid":{"rendered":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/?p=20"},"modified":"2016-02-04T15:24:36","modified_gmt":"2016-02-04T15:24:36","slug":"primeros-comandos","status":"publish","type":"post","link":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/primeros-comandos\/","title":{"rendered":"Primeros comandos"},"content":{"rendered":"<p>Una vez el usuario ingresa correctamente en el sistema, Linux ejecuta el int\u00e9rprete de comandos, el cual permanecer\u00e1 aceptando e interpretando \u00f3rdenes hasta que finalice la sesi\u00f3n. Algunos comandos que podemos usar en Linux est\u00e1n integrados en el propio int\u00e9rprete y se denominan <strong>comandos internos<\/strong>. Para ejecutarlos, el int\u00e9rprete no necesita transferir el control a ning\u00fan programa externo. El resto de <strong>comandos externos<\/strong> deben corresponder a alg\u00fan programa ubicado en alg\u00fan punto del sistema y que el int\u00e9rprete sea capaz de localizar.<\/p>\n<p>Cuando tecleamos un comando, el int\u00e9rprete mira primero si es interno, en cuyo caso lo ejecuta de inmediato. Si no, hay dos casos posibles: que especifiquemos el comando con una ruta absoluta o simplemente con el nombre. En el primer caso, tampoco hay problema, ya que el int\u00e9rprete puede localizar con facilidad el programa y ejecutarlo. En el segundo, necesita buscarlo en alguno de los directorios especificados en la variable de entorno PATH.<\/p>\n<h3>El prompt<\/h3>\n<p>Como ya hemos comentado, el int\u00e9rprete de comandos muestra el prompt para indicar al usuario que est\u00e1 listo para recibir comandos.\u00a0 El prompt puede tener formatos muy diversos. Habitualmente suele ser <strong><em>usuario@m\u00e1quina:directorio$<\/em><\/strong> con algunas particularidades. \u00ab<em>m\u00e1quina<\/em>\u00bb puede ser el nombre que tenga la m\u00e1quina o su IP si no tiene. \u00ab<em>directorio<\/em>\u00bb ser\u00e1 el directorio actual o ~ si nos encontramos en el nuestro directorio.<\/p>\n<h3>Viendo el contenido de un directorio<\/h3>\n<p>Si queremos ver el contenido del directorio actual, podemos utilizar el comando <em>ls<\/em>. Sin embargo, si lo hacemos la primera vez que hemos entrado en la m\u00e1quina y estamos en nuestro directorio, posiblemente no veamos nada.<\/p>\n<p>En realidad s\u00ed que hay archivos en nuestra cuenta, lo que pasa es que est\u00e1n ocultos. Si queremos verlos podemos usar la opci\u00f3n <em>a<\/em> de la siguiente manera:<\/p>\n<pre>ls -a<\/pre>\n<p>El resultado ser\u00e1 algo parecido a esto:<\/p>\n<figure id=\"attachment_21\" aria-describedby=\"caption-attachment-21\" style=\"width: 506px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/ls-a.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-21\" src=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/ls-a.png\" alt=\"Resultado de usar la instrucci\u00f3n ls con la opci\u00f3n a\" width=\"506\" height=\"47\" srcset=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/ls-a.png 506w, http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/ls-a-300x27.png 300w\" sizes=\"auto, (max-width: 506px) 100vw, 506px\" \/><\/a><figcaption id=\"caption-attachment-21\" class=\"wp-caption-text\">Resultado de usar la instrucci\u00f3n ls con la opci\u00f3n a<\/figcaption><\/figure>\n<p>El archivo en azul no es tal, es un directorio. En este listado tan solo vemos los nombres de los archivos, pero a menudo nos interesar\u00e1 tener m\u00e1s informaci\u00f3n. Con la opci\u00f3n <em>l<\/em> obtendremos un listado m\u00e1s completo con informaci\u00f3n sobre los permisos del archivo, el tama\u00f1o en bytes, el propietario del archivo, el grupo al que pertenece, el tama\u00f1o y la hora de creaci\u00f3n:<\/p>\n<figure id=\"attachment_22\" aria-describedby=\"caption-attachment-22\" style=\"width: 506px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/ls-la.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-22\" src=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/ls-la.png\" alt=\"Resultado de usar la instrucci\u00f3n ls con las opciones l y a\" width=\"506\" height=\"179\" srcset=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/ls-la.png 506w, http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/ls-la-300x106.png 300w\" sizes=\"auto, (max-width: 506px) 100vw, 506px\" \/><\/a><figcaption id=\"caption-attachment-22\" class=\"wp-caption-text\">Resultado de usar la instrucci\u00f3n ls con las opciones l y a<\/figcaption><\/figure>\n<p>Finalmente, si tenemos archivos muy grandes, podemos a\u00f1adir la opci\u00f3n <em>h<\/em> que nos muestra el tama\u00f1o en Kb<\/p>\n<figure id=\"attachment_23\" aria-describedby=\"caption-attachment-23\" style=\"width: 506px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/ls-lah.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-23\" src=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/ls-lah.png\" alt=\"Resultado de usar la instrucci\u00f3n ls con las opciones l, a y h\" width=\"506\" height=\"180\" srcset=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/ls-lah.png 506w, http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/ls-lah-300x106.png 300w\" sizes=\"auto, (max-width: 506px) 100vw, 506px\" \/><\/a><figcaption id=\"caption-attachment-23\" class=\"wp-caption-text\">Resultado de usar la instrucci\u00f3n ls con las opciones l, a y h<\/figcaption><\/figure>\n<p>Hay muchas m\u00e1s opciones disponibles que se pueden consultar haciendo <em>ls &#8211;help<\/em><\/p>\n<h3>Que alguien me eche una MANo<\/h3>\n<p>Las opciones que hemos visto del comando ls son s\u00f3lo algunas de las muchas disponibles para este comando. Esto es habitual en muchos otros comandos, por lo que a menudo se hace dif\u00edcil recordar todas las opciones. Adem\u00e1s de la opci\u00f3n <em>&#8211;help<\/em> en Linux es posible obtener ayuda acerca del uso de un comando a trav\u00e9s del manual al que se puede acceder a trav\u00e9s del comando <em>man<\/em> seguido del nombre del comando. As\u00ed,\u00a0<em>man ls<\/em> mostrar\u00eda el manual de uso de <em>ls<\/em>, m\u00e1s completo que <em>ls &#8211;help<\/em><\/p>\n<p>Para abandonar la visualizaci\u00f3n de las p\u00e1ginas del manual, pulsa la tecla &#8216;q&#8217;.<\/p>\n<h3>\u00bfD\u00f3nde estoy?<\/h3>\n<p>Dada la complejidad de la estructura del sistema de ficheros de Linux, siempre cabe la posibilidad de que en alg\u00fan momento, despu\u00e9s de navegar por \u00e9l, no sepamos exactamente cu\u00e1l es nuestro directorio actual. Siempre podemos conocerlo a trav\u00e9s del comando <em>pwd (print working directory)<\/em>.<\/p>\n<h3>Limpiando la pantalla<\/h3>\n<p>Para limpiar la pantalla utilizaremos el comando <em>clear<\/em>.<\/p>\n<h3>Finalizar la sesi\u00f3n<\/h3>\n<p>Para finalizar la sesi\u00f3n de Linux usaremos la instrucci\u00f3n <em>logout<\/em>.<\/p>\n<h3>\u00bfDa pereza teclear tanto?<\/h3>\n<p>Uno de los inconvenientes de la l\u00ednea de comandos es la necesidad de especificarlo todo con mucho m\u00e1s detalle que, por ejemplo, en una interfaz gr\u00e1fica. Pueden resultar especialmente complicados la especificaci\u00f3n de rutas o ciertos nombres de fichero. Para facilitar la escritura de \u00f3rdenes, bash ofrece un mecanismo autom\u00e1tico de completado de texto mediante el tabulador.<\/p>\n<p>El int\u00e9rprete intenta completar dependiendo de lo que se haya tecleado, aunque lo m\u00e1s habitual es que primero intente buscar un comando y luego un fichero o directorio. Por ejemplo, supongamos que queremos listar el contenido del directorio <em>\/usr\/local\/bin<\/em> aprovechando esta caracter\u00edstica.<\/p>\n<ol>\n<li>Escribimos &#8216;ls \/u&#8217; y pulsamos el tabulador. Autom\u00e1ticamente se completa la ruta como <em>\/usr\/<\/em>.<\/li>\n<li>A\u00f1adimos a la ruta una &#8216;l&#8217; (<em>\/usr\/l<\/em>) y pulsamos el tabulador. Bash hace sonar una se\u00f1al de aviso para indicar que hay m\u00e1s de una forma posible de completar el texto. Pulsando de nuevo el tabulador nos muestra las tres posibilidades, que son tres directorios que comienzan por &#8216;l&#8217; debajo de <em>\/usr<\/em>.<\/li>\n<li>Tecleamos una &#8216;o&#8217; haciendo que la ruta quede como <em>\/usr\/lo<\/em> y pulsamos el tabulador. Como la ambig\u00fcedad ha quedado resuelta, el texto se completa como <em>\/usr\/local\/<\/em>.<\/li>\n<li>Finalmente, escribimos una &#8216;b&#8217; y pulsamos de nuevo el tabulador. La ruta se vuelve a completar quedando como <em>\/usr\/local\/bin<\/em>.<\/li>\n<\/ol>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Una vez el usuario ingresa correctamente en el sistema, Linux ejecuta el int\u00e9rprete de comandos, el cual permanecer\u00e1 aceptando e interpretando \u00f3rdenes hasta que finalice la sesi\u00f3n. Algunos comandos que podemos usar en Linux est\u00e1n integrados en el propio int\u00e9rprete y se denominan comandos internos. Para ejecutarlos, el int\u00e9rprete no necesita transferir el control a &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/primeros-comandos\/\" class=\"more-link\">Seguir leyendo<span class=\"screen-reader-text\"> \u00abPrimeros comandos\u00bb<\/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":[1],"tags":[],"class_list":["post-20","post","type-post","status-publish","format-standard","hentry","category-gnulinux","entry"],"_links":{"self":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/posts\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":9,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/posts\/20\/revisions"}],"predecessor-version":[{"id":134,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/posts\/20\/revisions\/134"}],"wp:attachment":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/media?parent=20"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/categories?post=20"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/tags?post=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}