Consejos para familiarizarse con la línea de comando [cerrado]


29

Cuando migré por primera vez de Windows a Ubuntu, lo más desalentador que tuve que hacer fue utilizar la línea de comandos.

Escribir comandos es una experiencia extraña cuando solo estás acostumbrado a señalar y hacer clic.

Cuando hablo con nuevos usuarios de Ubuntu, a menudo se sienten incómodos con la idea de hablar directamente con su computadora.

¿Existe una guía simple y amigable para ayudar a los nuevos usuarios a familiarizarse con la línea de comandos?

¿Tienes algún consejo para hacer la experiencia más fácil o más divertida?


44
Para lo que vale, Ubuntu se esfuerza (al menos, más duro que cualquier otra distribución de Linux) para no hacer que use la línea de comandos si no lo desea. Pero siempre habrá cosas que son mucho más fáciles / más rápidas de hacer en la línea de comandos que en una GUI. Por lo tanto, es una buena idea aprender al respecto (y una buena pregunta).
David Z

Respuestas:


17

Si está buscando una buena guía para aprender la línea de comando, mi favorito es LinuxCommand.org

La guía le mostrará los conceptos básicos de la línea de comando e incluso lo guiará a escribir scripts de shell útiles.

Dicho esto, la mayoría de los usuarios no necesitarán usar la línea de comando para la mayoría de las operaciones diarias. No creo que la línea de comando deba disuadir a los usuarios de migrar a Ubuntu. Pero una vez que aprendas el poder de la línea de comando, ¡no podrás vivir sin ella!


15

Aquí hay algunos comandos comunes para manipular el sistema de archivos:

  • cp [src] [dest] - copia src a dest
  • mv [src] [dest] - mueve src a dest (también usado para renombrar)
  • cd [dir] - cambia el directorio actual a dir
  • pwd - imprime el directorio actual
  • cat [file] - imprime el contenido del archivo en la pantalla
  • rm [file]- elimina un archivo 1
  • rmdir [dir] - elimina un directorio vacío

Prefijar cualquiera de los comandos con sudohace que el comando se ejecute como usuario root.

1 - no escriba sudo rm -rf /ya que borrará el sistema de archivos


55
Je, +1 para la advertencia de sudo rm :)
Nicholas Knight

2
No olvide una nota sobre el infame forkbomb ": () {: |: &} ;:" que esencialmente bifurca un número infinito de nuevos procesos y ralentiza gradualmente el sistema hasta que se quede sin recursos que requieren un reinicio del sistema. Para obtener más información, consulte en.wikipedia.org/wiki/Fork_bomb .
Evan Plaice

12

1) Completar pestaña:

Un gran ahorro de tiempo. Si está escribiendo un comando, solo necesita escribir lo suficiente del comando para proporcionar un segmento inicial que solo se puede extender de una sola manera y luego puede presionar TAB una vez para expandir su segmento inicial a todo el comando. Entonces, por ejemplo, en mi sistema se umo TABexpande a umount. (En mi sistema, ya que los segmentos iniciales son extensibles solo de una manera es una función de lo que ha instalado, etc.) Si no escribe lo suficiente para que la finalización sea inequívoca, TAB no se expandirá, pero un segundo TAB mostrará un lista de posibles terminaciones. Entonces, en mi sistema, um TAB TABproduce:

umask       umax_pp     umount      umount.hal

La finalización de tabulación también funciona en las rutas: cd /home/me/docs/reallylo TABsi es única, se expandirá cd /home/me/docs/reallylongdirnamey, si no es única, ofrecerá una lista de continuaciones candidatas como se indicó umanteriormente.

2) man some-commando some-command --helpo some-command -h:

Si no puede recordar cómo funciona un comando, puede obtener documentación allí mismo en el shell. manSuele proporcionar el mayor detalle. Por lo general, uno o ambos argumentos --helpy -hpara un comando proporcionan un breve resumen.

3) head:

man some-commandtoma el control del terminal y evita que ingrese comandos mientras se muestra el texto del hombre. man some-command | headmostrará las primeras 10 líneas. man some-command | head -nmostrará las primeras n líneas. En ambos casos, recupera su solicitud, de modo que puede tener el texto del hombre en la pantalla al ingresar su comando.


Cuando uso man some-command, el hombre me permite desplazarme hacia arriba y hacia abajo por la página. ¿No es eso habitual?
Michael Crenshaw

@ mac9416: De hecho. Nunca lo había intentado antes: - [Modificó la respuesta para tener esto en cuenta. ¡Gracias!
vanden

Sí, manusa un buscapersonas (generalmente less). Si desea examinar un archivo de manera similar, escriba less somefile. Si te acostumbras vim, puedes usar las jkteclas para desplazarte.
Umang

Para ser justos, la finalización de pestañas no está disponible en todos los shells.
Nathan Osman el

@George Edison: es cierto. Pero, si se trata de un nuevo usuario en cuestión (como está en la pregunta), es muy probable que no haya cambiado el shell por defecto y, por lo tanto, habrá completado la pestaña.
vanden

7

¡Cambia a zsh!

Si bien es muy parecido a bash, tiene muchas características adicionales agradables listas para usar (como, por ejemplo, corrección de errores tipográficos, incluso en un componente de ruta anterior o un widget útil para llamar a la ayuda del comando actual (a través de run-help; Presiono ESC-h después de, por ejemplo, haber escrito mplayer, y se abre la página del manual. Después de cerrarlo, regreso a la línea anterior)).

Recomiendo el siguiente libro, que cubre zsh, bash y algunos otros shells:
From Bash to Z Shell: Conquering the Command Line . Si bien ya tiene algunos años, me alegro de que esto no me haya impedido comprarlo. Esta recomendación también es válida si no desea cambiar a zsh.

He estado usando mucho la línea de comandos desde hace unos años (localmente y a través de SSH), solo recientemente hice el cambio a zsh (principalmente debido a mi solicitud bash personalizada, que no es compatible). Aquí está mi configuración de zsh (integrada en mi repositorio de dotfiles ).

Puede usar chsh -s /bin/zshpara cambiar su shell (a través de / etc / passwd), o simplemente llamarlo desde su shell actual, es decir, escriba zshsu indicador de bash (es probable que tenga que instalarlo primero ( sudo apt-get install zsh).


5

"apropos" (o su equivalente: "man -k") para encontrar un comando para hacer algo.

$ apropos [my query]

Por ejemplo, para encontrar el comando para copiar archivos:

$ apropos copy

enumerará un montón de comandos, de los cuales

cp (1) - copy files and directories

es uno.

"cp" es el comando y "1" es la sección de los manuales donde aparece. La sección 1 son los comandos generales del usuario (otras secciones incluyen cosas como llamadas a la biblioteca, que no le interesarán). Para restringir la búsqueda a solo la sección 1, use:

$ apropos -s1 [my query]

Para obtener más información sobre el comando, use "man". p.ej

$ man cp

+1 por ser el primero en mencionar man. ¡Bravo!
jathanism

4

Intenta usar pescado

fish es un shell de línea de comandos fácil de usar para sistemas operativos tipo UNIX como Linux.

Entre otras cosas, presenta una finalización de pestaña más avanzada que bash, que puede ser muy útil mientras aprende.

texto alternativo

https://www.pablumfication.co.uk/2010/02/26/fish/

http://fishshell.org/index.php


1
Me encanta la función de búsqueda de historial. Simplemente escriba cualquier cosa, presione la tecla de flecha hacia arriba y está buscando en su historial esas mismas palabras. Gran ahorro de tiempo.
Javier Rivera el

el enlace a fishshell.org está desactualizado. fishshell.com es el nuevo.
NES

2

history | grep SOMETHING - encuentra el comando que usó antes que contiene ALGO.

fortune - :-)


2
Para esto, uso Ctrl+R SOMETHING(con la diferencia de que esto da la última ocurrencia). Repita Ctrl+Rpara encontrar más ocurrencias de SOMETHINGen el historial de comandos.
Bert Van Vreckem

2

Para aprender a usar un comando, agregue un espacio y luego "--ayuda" al final del mismo; esto le indica cómo usarlo y le da una lista de opciones.

p.ej

cp --help

¡Advertencia, esto no funciona con todos los comandos!
SilverWolf - Restablece a Monica


2

Recomiendo usar CLI Companion :

CLI Companion es una herramienta para almacenar y ejecutar comandos de Terminal desde una GUI. Las personas que no estén familiarizadas con la Terminal encontrarán que CLI Companion es una forma útil de familiarizarse con la Terminal y liberar su potencial. Los usuarios experimentados pueden usar CLI Companion para almacenar su extensa lista de comandos en una lista de búsqueda.

ingrese la descripción de la imagen aquí

Lo obtienes ejecutando:

sudo add-apt-repository ppa:clicompanion-devs/clicompanion-nightlies
sudo apt-get update
sudo apt-get install clicompanion

Si no desea agregar el PPA, intente este archivo para 12.04 (última versión 1.1-6, lanzada el 14/04/2012, consulte esta página para ver las versiones más recientes) o elimine el PPA después de instalar con sudo add-apt-repository -r ppa:clicompanion-devs/clicompanion-nightlies.


1

Encuentre un libro de Ubuntu con un buen índice de línea de comandos, ciérrelo a cero y colóquelo cerca de la computadora. Oblígate a usarlo. Un buen recurso es el libro "Ubuntu Linux Toolbox 1000+ command", que cubre todo lo que necesita saber (http://www.amazon.com/Ubuntu-Linux-Toolbox-Commands-Debian/dp/0470082933)

Sin embargo, si no ejecuta un servidor, en el escritorio de Ubuntu casi todo está disponible con la GUI.


0

Aprendí muchísimo sobre el uso de la línea de comandos y me sentí cómodo trabajando dentro de ella leyendo The Bash Cookbook de O'Reilly and Associates. Es un libro sobre secuencias de comandos Bash, pero los fragmentos del formato del libro de cocina lo hacen muy accesible. Como beneficio adicional, si piensa "Caramba, me gustaría hacer X, pero no sé cómo", puede usar la tabla de contenido para buscar X (e Y y Z para el caso) y obtenga una buena idea sobre cómo hacerlo (y una explicación decente de cómo funciona con punteros a otras recetas y recursos que pueden ampliar aún más su comprensión).


0

He estado leyendo el libro oficial de Ubuntu Server, The (2nd Edition) para aprender la administración del sistema, y ​​no solo me he vuelto más experto en usar la línea de comandos, sino que también he comenzado a aprender el funcionamiento interno del sistema operativo.

Usar Ubuntu Server Edition me ayuda a aprender la línea de comandos más fácilmente, porque no tengo la GUI para recurrir.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.