Está en la página 1de 6

Los 16 comandos del shell de Linux que todos los usuarios de escritorio?

s Linux deberan conocer por sjvn01 el ?03-10-2012 12:00 AM . Algunas personas an tienen la absurda creencia de que, para usar Linux, es obliga do conocer la sintaxis y los comandos del shell de Linux como la palma de la man o. Bobadas. Con cualquier distribucin de escritorio Linux moderna, usar comandos de Linux como ps, grep o ls es igual de necesario que utilizar comandos de DOS en Windows. Con la salvedad, naturalmente (al igual que en Windows), de que en ocasiones res ulta de gran ayuda utilizar las fantsticas instrucciones de lnea de comandos de AS CII. El 99% de las veces los usuarios de escritorios Linux no tienen ningn problema co n entornos como Cinnamon, GNOME, Unity o KDE, aunque en el caso de los administr adores de sistemas, la realidad es algo distinta, ya que los administradores de sistemas Linux utilizan comandos de shell todo el tiempo. No obstante, muy de vez en cuando es til tener algunas nociones bsicas sobre coman dos de Linux, de modo que esto es lo que necesitas saber. Principios bsicos del shell Para tener un shell de Linux necesitas iniciar una terminal, la cual a su vez ej ecuta un shell de comandos de Linux. Existen muchos shells de este tipo, entre e llos el C shell (csh), el Bourne shell (sh) o el Korn shell (ksh). En la mayora d e las distribuciones Linux actuales el shell predeterminado es el Bourne again s hell (bash) (haciendo un juego de palabras sobre el Bourne shell, uno de los pri meros intrpretes de Unix, ya que en ingls born again significa renacido ). Para ver qu shell tienes, ejecuta el comando siguiente: echo $SHELL .En Linux, el smbolo del dlar ($) representa una variable del shell. Se trata de v ariables que el shell, o cualquier programa del shell, puede utilizar. Algunas d e ellas estn establecidas por defecto al iniciar el PC Linux. Por ejemplo, $SHELL ; $LOGNAME es tu nombre de inicio de sesin, y $PATH identifica los directorios en los que tu shell busca los comandos. El comando echo devuelve cualquier cosa que escribas. Si lo que escribes tiene a lgn significado concreto para el shell, como por ejemplo una variable del shell, te devolver el valor de la variable.

El shell utilizado es importante, tanto para los usuarios expertos como para cua lquiera que escriba secuencias de comandos de shell. En el caso de un usuario de escritorio Linux que necesite acudir al shell solo espordicamente, en realidad n o importa mucho. Lo verdaderamente importante es utilizar las maysculas y minsculas correctas del t exto. Por ejemplo,ls, versin de Linux del comando dir de MS-DOS, proporciona un l istado de los archivos del directorio de trabajo actual, mientras que ls simplem ente proporciona un mensaje de error de comando no encontrado . Otro aspecto importante del shell de Linux es la posibilidad de encadenar los co mandos, una de las caractersticas ms ingeniosas de Unix/Linux desde sus comienzos. La forma ms sencilla de encadenar comandos es mediante la barra vertical o tubera ,

que en el teclado suele estar ubicada al lado de la barra invertida. La tubera as igna la salida del primer comando a la entrada del comando siguiente. Los comandos de Linux tienen su propia sintaxis, igual que la gramtica que intent aste aprender en la escuela en tu asignatura de lengua. Sin embargo, a diferenci a de tu profesor de lengua, Linux no tiene compasin alguna con los errores. Si es cribes mal un comando, no suspenders ni estropears nada, pero no funcionar. La sintaxis bsica es: comando opcin archivo

.De modo que, por ejemplo: ls -la .indica la versin larga abajo actuales. de todos los nombres de los archivos de los directorios de tr

No obstante, esto podra dar lugar a una interminable retahla de archivos en la pan talla, por lo que es una buena ocasin para utilizar las tuberas: ls -la | more .De este modo, el comando more hace que la secuencia de archivos y directorios s e visualice en una pantalla de cada vez.

La mayora de los comandos de Linux tambin pueden usarse con comodines, caracteres que representan caracteres desconocidos de los nombres de archivo. Por ejemplo, se puede usar el comodn * para representar cualquier cadena de caracteres. El ast erisco (*) equivale a cualquier nmero de caracteres, mientras que el signo de int errogacin (?) equivale a un solo carcter. De modo que, por ejemplo: ls -l a* .devuelve la versin larga de los archivos y directorios existentes en el director io de trabajo actual cuyos nombres comienzan por a minscula: abc.txt, alphabetsou p.jpg, albatross.zip. El comando ls a?cd .devuelve todos los nombres de archivos y directorios que empiezan por una a seg uida de cualquier otro carcter, y cuyos dos ltimos caracteres sean cd: abcd, axcd (pero no albatrosscd). Me sigues hasta aqu? Pues vamos con los comandos. Los mejores comandos man: Si quieres saber lo que hace cada comando, utiliza el comando man (manual). Por ejemplo: man ls .muestra la informacin relativa al comando de listado del contenido de directorio s. Las pginas de man fueron escritas para tcnicos por desarrolladores y administrador

es de sistemas, por lo que pueden resultar un poco densas. Por tanto, si te vuel ves loco para entender la informacin de man, echa un vistazo al artculo 30 Best So urces For Linux / *BSD / Unix Documentation On the Web (Las mejores 30 fuentes d e documentacin de Linux/*BSD/Unix de la Web), que enlaza con la documentacin web r elativa a las distribuciones Linux ms importantes, a menudo ms fcil de comprender q ue las pginas de man. Otro recurso prctico es el libro Linux Pocket Guide de Danie l Barrett. Hace tiempo se crea que, si de verdad se quera aprender Linux y Unix, era necesari o leer las pginas de man. En 2012, con todas las interfaces grficas de usuario dis ponibles, esto ha dejado de ser cierto, pero si realmente se quiere comprender l os entresijos de Linux, las pginas de man continan siendo un excelente punto de pa rtida. su y sudo: El comando su (del ingls switch user , cambiar usuario) te permite inicia r sesin como un usuario diferente. Suele conocerse tambin como superusuario , ya que en algunos sistemas te permite iniciar sesin como todopoderoso usuario raz del sis tema. Dado que las probabilidades de causar problemas son bastante elevadas, rec omiendo no utilizar nunca este comando para acceder como usuario raz a menos a se as el administrador del sistema. En estos casos es mucho ms seguro utilizar el comando sudo, que permite ejecutar otro comando como si fueses el usuario raz. En ambos casos, necesitas la contrasea del sistema. En la mayora de las distribuci ones de escritorio Linux, esta contrasea es la misma que la asignada al primer us uario. Y es que asignaste una contrasea cuando instalaste por primera vez el sist ema, verdad? grep: Este comando permite buscar en lneas conjuntos de datos de texto sin format o que se correspondan con una expresin regular. Por tanto, constituye una herrami enta fundamental para cualquier usuario de secuencias de comandos o shell de Lin ux. Por ejemplo: grep foo /etc/passwd .devuelve cualquier lnea del archivo de contrasea que contenga la cadena as que grep -i "foo" /etc/passwd .busca cualquier lnea del archivo de contrasea que tenga alguna variacin de foo , como FOO o fOo . El comando grep tambin puede usarse para buscar de forma recurrente, es decir, pa ra leer todos los archivos de cada directorio en busca de la cadena foo : grep -r "foo" /home/sjvn .Asimismo, se utiliza tambin a menudo con el comando de tubera para buscar cadenas especficas de la salida de otro comando. De este modo: ls -la | grep foo* .muestra cualquier archivo o directorio que hubiese sido encontrado porls y cuyo nombre empezara por foo . Si los archivos con los nombres foo, foobar y foolish es tuvieran en el directorio de trabajo actual, este grupo de comandos emparejados los mostrara. Las expresiones regulares permiten hacer muchas cosas a nivel bsico, y esconden t foo , mientr

ambin un enorme potencial cuando se les presta la debida atencin a un nivel ms avan zado. Para obtener ms informacin sobre ellas y saber cmo usarlas, visita el sitio w eb Regular-Expressions.info. ps: Informa sobre el estado de los procesos e indica qu programas se estn ejecutan do actualmente. Junto con grep, este es el comando que yo suelo utilizar ms a men udo. Supongamos que tienes un programa que no est funcionando como es debido y no pued es desactivarlo desde el escritorio. (S, me refiero a ti, Firefox). Entonces ejec uto: ps -ef | grep firefox .Este comando hace lo siguiente: En primer lugar, busca todos los programas que se estn ejecutando en mi PC en este momento. A continuacin, selecciona los archivos que contienen firefox y los muestra en mi mon itor. Cada lnea incluye tambin el nmero de ID del proceso. Y con todo esto, ahora puedo ut ilizar kill: Un comando cuyo nombre habla por s solo, ya que aniquila el susodicho proce so de Firefox o cualquier otro proceso que desee eliminar. Por ejemplo: kill 1234 .acabara con cualquier programa que tenga el ID de proceso 1234. Y para asegurarm e totalmente de que el programa est liquidado, muerto y enterrado, usara el comand o: kill -9 1234 .La marca -9 equivale a liquidar con perjuicio extremo en el mbito de comandos de Linux. clear: Tienes demasiadas cosas en la pantalla de tu terminal? Solo tienes que eje cutar clear y desaparecer todo. Y si luego necesitas buscar la informacin que has borrado de la pantalla, utiliza las teclas de flecha arriba y abajo para recuper ar del historial los comandos recientemente emitidos y volver a ejecutarlos segn sea necesario. Comandos de directorios cp: Significa copiar y hace exactamente lo que uno se imagina: copia uno o ms archi vos con un nombre diferente o en un directorio distinto. He aqu algunos de los us os ms habituales: cp fred.txt ethel.txt .Copia el archivo fred.txt en el mismo directorio actual, asignndole el nuevo nom bre ethel.txt. cp fred.txt /home/sjvn/docs/fred.txt .Copia fred.txt en el directorio /home/sjvn/docs. cp *.txt /home/sjvn/docs/ .Copia todos los archivos que terminan en .txt en el directorio /home/sjvn/docs/

. cp -r /home/sjvn/docs/* /home/sjvn/backup .Copia todos los archivos, directorios y subdirectorios del directorio /home/sjv n/docs en el directorio /home/sjvn/backup. hostname: Nombre del ordenador en el que has iniciado sesin actualmente. En un si stema de escritorio, el 99% de las veces se corresponde con tu PC. mv: Significa mover y funciona igual que cp, excepto por el hecho de que los archi vos se mueven de una ubicacin a otra o se cambia su nombre. De modo que si escrib o: mv fred.txt ethel.txt .en lugar de tener dos archivos, fred.txt y ethel.txt (tal como suceda en el ejem plo del comando cp), tendra nicamente el archivo ethel.txt despus de moverlo. pwd: Visualiza e imprime el directorio de trabajo actual. Saber dnde te encuentra s siempre es importante en el territorio Linux. rm: Significa quitar to: rm fred.txt .eliminar definitivamente fred.txt. Recomiendo encarecidamente ejecutar el comando rm con la marca interactiva -i. E llo hace que el programa te pregunte si realmente deseas eliminar un archivo ant es de quitarlo. De modo que pondra: rm -i fred.txt .por si escribo mal el nombre del archivo, o peor an, por si utilizo un comodn de forma incorrecta. En Linux, recuperar archivos eliminados suele ser una odisea. Informacin del sistema uname: Este comando proporciona informacin bsica del PC resumida en una lnea. Suele incluir el nombre del equipo, el kernel de Linux que se est ejecutando, la arqui tectura del sistema y el nombre de la distribucin. y es el equivalente a eliminar en Linux. De modo que si ejecu

Para obtener informacin ms detallada, utiliza el comando cat, que muestra informac in de texto con los recursos del sistema de tu PC Linux. Los ms tiles son los sigui entes: cat /proc/cpuinfo: Muestra las estadsticas crticas de tu CPU. cat /proc/version: Muestra ms detalles sobre la distribucin de Linux que se est eje cutando actualmente. cat /etc/printcap: Muestra todas las impresoras instaladas actualmente. set | more: El emparejamiento de los comandos set | more te proporciona ms, proba blemente mucha ms informacin de la que jams has querido tener sobre tu entorno de e scritorio actual. De modo que, si lo nico que quieres es informarte sobre uno o d

os elementos del entorno del sistema, te aconsejo que ejecutes un comando como: echo $PATH que muestra los directorios en los que tu sistema busca los archivos ejecutables . El final, o ms bien el principio Todo lo que he mostrado aqu representa nicamente la punta del iceberg de los coman dos de Linux. Existen cientos de libros y sitios web que ofrecen informacin mucho ms amplia sobre cmo usar los comandos, por s solos o en programas de shell. El obj etivo de este artculo es proporcionar la ayuda suficiente necesaria para obtener una informacin del sistema ms detallada que la ofrecida por la interfaz grfica de u suario. Si deseas saber ms, puedes visitar las pginas LinuxCommand.org o Linux in a Nutshe ll. Y si lo que quieres es convertirte en un mago de la programacin shell de Linu x, te recomiendo empezar con el libro Learning the bash Shell de Cameron Newham.

También podría gustarte