Manual de consola Bash de Linux

Combinación de teclas

editar

ctrl+l o ctrl+L - borra pantalla

ctrl+alt+F1... F6 - cambio de consola

ctrl+alt+F7...F12 - cambio a escritorio

ctrl+z - suspender proceso

ctrl+d - final de archivo EOF - cancela

tab - completa nombre de carpetas o archivos

ctrl+backspace - cierra X o sea sales del sistema X y vuelves a Consola Linux

Árbol de directorios

editar

/ "root" punto de montaje de particiones

/bin archivos binarios ejecutables; contiene todos los comandos básicos del sistema, accesibles a todos los usuarios

/boot archivos para bootear el sistema, como son el kernel y los archivos necesarios para el booteador

/dev archivos de dispositivos; archivos que representan los dispositivos periféricos
/dev/eth0 primera tarjeta de red Ethernet
/dev/hda disco en la primera línea IDE
/dev/hdb disco en la segunda línea IDE
/dev/scd0 disco en la primera puerta SCSI
/dev/ttyS0 primer puerto serial

/etc archivos de configuración del sistema
/etc/bashrc configuración del shell bash
/etc/fstab información sobre el sistema de archivos
/etc/passwd definición de los del sistema
/etc/profile configuración del entorno (rutas, variables de entorno, aliases, etc)
/etc/shadow contraseña encriptada de cada usuario

/home directorio que contiene subdirectorios para los archivos personales de cada uno de los usuarios

/lib librerías compartidas; archivos de librerías dinámicas para C y otros lenguajes

/mnt punto de montaje para particiones temporales
/mnt/cdrom
/mnt/floppy

/proc sistema de archivos virtual con información sobre el kernel y los procesos; son archivos virtuales y no ocupan espacio en el disco

/root directorio home del administrador root

/sbin binarios esenciales del sistema; ejecutables por el administrador (root), accesibles durante el booteo y en modo monousuario

/tmp directorio para archivos temporarios

/usr segundo nivel de jerarquía en el sistema de archivos; contiene subdirectorios con archivos del software de usuario
/usr/bin comandos/programas de usuario, ejecutables no necesarios durante el booteo ni en modo monousuario
/usr/doc documentación
/usr/etc configuraciones de usuario
/usr/include archivos de cabecera (headers) de C
/usr/lib librerías
/usr/local jerarquía local, usada en software instalado localmente o /usr/local/bin
/usr/local/lib
/usr/local/sbin
/usr/local/share
/usr/man manuales; archivos utilizados por el comand man
/usr/sbin binarios no esenciales de administración del sistema, accesibles después del booteo
/usr/X11R6 X Window system (servidor del entorno gráfico)

/var archivos variables del sistema
/var/log
/var/mail
/var/spool datos de la cola de impresión

Comandos de Consola Básicos

editar

ls
Descripción: = list. listar contenido de directorios.

Ejemplos:
ls -l [ d | rwx | r-x | r-x 2 ] jjc jjc 4096 2008-10-17 09:12 carpeta ]
ls -fl
ls -tr
ls -ks

Para listar todos los archivos, incluido los archivos ocultos

ls -a

Para listar en orden de creacion (por fecha)

ls -ltr

cp
Descripción: = copy. copiar ficheros/directorios.

Ejemplos:
cp -rfp directorio /tmp
cp archivo archivo_nuevo

rm
Descripción: =remove. borrar ficheros/directorios.
Ejemplos:

rm -f fichero
rm -rf directorio
rm -i fichero

mkdir
Descripción: =make dir. crear directorios.

Ejemplos:
mkdir directorio

rmdir
Descripción: =remove dir. borrar directorios, deben estar vacíos.

Ejemplos:
rmdir directorio

mv
Descripción: =move. renombrar o mover ficheros/directorios.

Ejemplos:
mv directorio directorio
mv fichero nuevo_nombre
mv fichero a_directorio

cat
Descripción: Visualiza y concatena ficheros. Para salir [ Contr + D ]

Ejemplos:
cat file
cat >file
cat arch* >> fileOut

chmod
Descripción: cambia los permisos de lectura/escritura/ejecución de ficheros/directorios, para poder modificar los permisos de un fichero debes ser propietario del mismo o root.

Ejemplos:
chmod +r fichero
chmod u=rwx directorio -R
chmod o=rw file
chmod g=u
chmod 754 fichero // concede los permisos [- | rwx | r-x | r--]
chmod a+rw fichero // all user rw

chown
Descripción: =change owner. Permite al propietario de un fichero asignarle otro usuario como propietario

Ejemplos:
chown new_propietario fichero
chown new_propietario directorio -R
chown propietario:grupo fichero // cambia el propietario y grupo del fichero

chgrp
Descripción: similar a chown pero cambia el grupo propietario

Ejemplos:
chgrp root:root fichero
chgrp pello:usuarios directorio -R

ln
Descripción: =link. para crear enlaces, accesos directos.

Ejemplos:
ln file/directorio enlace // crea un enlace al mismo registro del disco
ln -s file/directorio enlace // crea un enlace simbólico (acceso directo) al fichero indicado
Un enlace duro es otro nombre para un mismo archivo del sistema de ficheros mientras que un enlace simbólico es un enlace al fichero.

En los enlaces simbólicos, si se borra el archivo apuntado el enlace queda inservible, mientras que en los enlaces duros no hay diferencia entre el archivo apuntado y sus enlaces, por lo que eliminar uno no afecta a los otros.

file
Descripción: nos dice de que tipo es un fichero.

Ejemplos:
file fichero, file *

echo
Descripción: muestra en pantalla el texto que le siga.

clear
Descripción: limpia la pantalla de la terminal

date
Descripción: indica la fecha y hora. Para ver un calendario usar

cal
Descripción: muestra un calendario con el mes actual en pantalla

man
Descripción: muestra la pagina de manuales de un comando o programa para ver todas sus opciones y posibilidades

Ejemplos:
man comando

pwd
Descripción:muestra el directorio en el que nos encontramos

less
Descripción: muestra el contenido de un texto por pantalla permitiendo desplazarse por el mismo (mejor que 'more')

more
Descripción:muestra el contenido de un texto por pantalla permitiendo desplazarse por el mismo

Tuberías

editar

En el mundo Unix una tubería es una forma de comunicar dos comandos. Con ellas se consigue conectar la salida estándar de un programa con la entrada estándar de otro. Veamos algunos ejemplos: ls -R | less ls -R | more

Redirecciones

editar

Permiten modificar el comportamiento de algunos programas de forma que no generen o reciban información por la vía habitual sino redirigiendo los datos por otra vía, fácil de comprender con algunos ejemplos: Almacena el listado de un directorio en un fichero: ls > listado.txt Crea un fichero de la salida del programa cat: cat > fichero.text [para salir: Contr + D] Redirige la entrada a un proceso desde un fichero: proceso < file.text Concatena la salida con un fichero ya existente: cat 2.dat >> 1.dat (mas...)


Comodines

editar

Podemos utilizar comodines para sustituir parte del nombre de un fichero o un grupo de ellos. Esta es una forma cómoda de referirnos a un conjunto de ficheros o directorios.

  • cualquier cadena

? cualquier carácter [axdf] uno de los caracteres entre corchetes [!asxd] cualquier carácter que no sea uno de los especificados Encadenamiento de órdenes Varias órdenes pueden ser encadenadas de diversas formas. Algo que debemos saber para poder aplicar esta posibilidad es que cada vez que una orden finaliza con éxito esta devuelve un valor 0 al sistema operativo. En caso de error se devuelve un valor distinto de 0 que podría utilizarse para descubrir que ha pasado. Veamos a continuación que posibilidades existen:

- ejecuta órdenes de forma secuencial independientemente del

resultado de cada una de ellas Ejemplo ls; ps && - ejecuta órdenes de forma secuencial mientras el resultado de cada una de ellas sea 1 Ejemplo sort 1.dat && echo "ok" || ejecuta órdenes de forma secuencial mientras el resultado de cada una de ellas sea 0 Ejemplo sort 1.dat || echo "error"


Comandos Avanzados

editar

alias Descripción: permite generar un comando personalizado por el usuario Ejemplos: alias move='mv -vi' // crea la operación move idéntica a 'mv -vi' alias -p // muestra los alias del usuario

dd Descripción: (duplicate disk) es un comando bastante útil para transferir datos desde un dispositivo/archivo hacia un dispositivo/archivo/etc. If = (Input file) Of = (Out file) Ejemplo: dd if=/dev/fd0 of=~/diskette.img dd if=/dev/zero of=administracion bs=1048576 count=15 // como /dev/zero/ no existe crea un fichero ‘administracion’ de leer 15 paquetes de 1048 kb de la entrada /dev/zero

split Descripción: partir ficheros en partes de un tamaño máximo Ejemplo: split -d -C 1400k administracion.pst trozo // parte el fichero administracion en 1,4 mb usando como prefijo trozoXX cat trozo* >> administracion.pst // recupera el fichero original

touch Descripción: actualiza la fecha de un archivo, si no existe el fichero lo crea. Ejemplo: touch file fecha

history Descripción: muestra un listado con los comandos ejecutados desde consola

whereis Descripción: muestra la ubicación de un comando o aplicación Ejemplo: whereis cat : nos localiza el binario ‘cat’, el manual y los source codes si estuvieran en la maquina

whatis Descripción: muestra una descripción del comando

nano Descripción: editor de texto rápido y cómodo

vi o vim Descripción: editor de texto mejor que cat, muy potente.

pico Descripción: editor de texto también bastante potente

read Descripción: lee una variable de entrada estándar y la guarda en una variable

seq Descripción: genera una secuencia de números

Filtros

editar

Las órdenes find, grep, sort, cut, paste, join, tr, wc, nl, head y tail (a veces conocidas con el sobrenombre de filtros), entre otras, realizan operaciones de búsqueda y manipulación de diversa naturaleza sobre ficheros de texto y, como veremos, se utilizan con frecuencia en la construcción de guiones shell.

head

Descripción: muestra el inicio de un archivo
Ejemplo:
head ~/mifile

tail

Descripción: muestra las ‘n’ últimas líneas de un fichero texto

este comando es útil ya que los archivos de registros "logs" crecen constantemente

Ejemplo:
tail ~/mifile
tail --f /var/log/messages
tail --f --line 15 /var/log/messages //También se puede
especificar el número de renglones que se deben observar en este

tac

Descripción: concatena ficheros y los muestra a la inversa la
última línea la primera y viceversa (inverso a cat)
Ejemplo:
tac file >> salida

wc

Descripción: cuenta el número de líneas de palabras, caracteres o
bytes en un archivo

sed

Descripción: cambia una cadena de caracteres por otra

diff

Descripción: muestra las lineas distintas entre dos archivos de

texto

Ejemplo:
diff mifile1 mifile2

cmp

Descripción: compara dos ficheros
Ejemplo:
cmp mifile1 mifile2

comm

Descripción: lista el numero de palabras comune en los dos
archivos
Ejemplo:
comm –nº mifile1 mifile2

locate

Descripción: localizar archivos

find

Descripción: Permite encontrar un ficheros y directorios que

cumplan cierta coincidencia con una patrón y sus nombres a partir de directorio recursivamente. Además podemos indicar que hacer con los ficheros que encuentren.

Ejemplos:
// si no se especifica el directorio buscara a partir del directorio actual y subdirectorios recursivamente
find <directorio> -name <nombre> // nombre del fichero a buscar
find <directorio> <expresión> -exec rm \{\} \; // cada fichero encontrado que cumpla la expresión es eliminado aplicando la ejecución rm
find <directorio> <expresion1> <expresion2> -exec <tarea1> <tarea2> recoge las expresiones y tareas como con un 'and' los ficheros que cumplan las dos expresiones que ejecuten las dos tareas

Algunos de los criterios que se pueden utilizar para realizar la búsqueda son:

-name <nombre>: nombre del fichero a buscar (se pueden utilizar comodines, en cuyo caso, se debería encerrar el nombre entre comillas).
-iname <nombre>: similar al anterior pero sin distinguir mayúsculas y minúsculas.
-user <usuario>: propietario al que debe pertenecer el fichero.
-group <grupo>: grupo al que debe pertenecer el fichero
-type c|b|d|l|f|p: tipo del fichero (carácter, bloque, directorio, enlace simbólico, fichero regular o FIFO).
-mtime [+|−]n: fichero modificado hace más de, menos de o exactamente n días.
-atime [+|−]n: fichero utilizado hace más de, menos de o exactamente n días.
-size [+|−]n: fichero con un tamaño de más, menos o exactamente 512 x n bytes.
-ctime [+n | n | -n] Encuentra ficheros que han sido creados hace mas de, exactamente o hace menos de ‘n’ días
-cnewer/anewer filename Encuentra ficheros modificados posteriormente al fichero especificado
!: negación de un criterio.
-o: O lógico de criterios.
-a: Y lógico de criterios.
\(expresion1 op expresion2\) op expresion3 uso de paréntesis

El comando find permite el uso de comodines: ? * [...]

find /usr -type f -size +1k -o !-user miguel –print 
// busca, a partir del directorio /usr, aquellos ficheros regulares cuyo tamaño sea superior a 1 KB o no pertenezcan al usuario miguel, y muestra los nombres de aquellos ficheros que cumplan el criterio.
find . -group proyecto -exec chmod a+rw \{\} \;
// busca, a partir del directorio actual, todos los ficheros y directorios que pertenezcan al grupo proyecto, y sobre cada uno de ellos ejecuta la orden chmod especificada con -exec. Nótese que la expresión “\{\}” será sustituida por el nombre de cada uno de los ficheros que se encuentren.

Algunos de las actuaciones que se pueden realizar para los resultados de la búsqueda son:

-print imprime por pantalla la ruta relativa y nombre del fichero
-printf %f\n // imprime los nombres de los ficheros continuando \n
-exec <command> ejecuta el comando para cada fichero encontrado.

El fichero encontrado es especificado en el comando por \{\}. El comando debe terminar con \; .Notese que la expresión exec devuelve true si ha finalizado con éxito y false en caso contrario.

-ok <command> similar a –exec pero pregunta antes de ejecutar el comando para cada fichero encontrado. Introducir y continuará la ejecución y escribir n saltara la ejecución de comando y continuara la búsqueda hasta el siguiente fichero encontrado. También terminará con \; .
-depth causa acciones a los ficheros de un directorio antes que al propio directorio, realiza la acción por profundidad.
-prune Skip the directory most recently matched.

grep Descripción: herramienta flexible y potente que busca cadenas ’patron’ de texto en ficheros.

Ejemplos:
grep [options] 'patron' [file ...]
- Si no se especifica el fichero se buscará por la entrada estándar.
- Si se especifican varios ficheros, se escribirá primero el nombre del fichero donde se ha encontrado y a continuación la cadena encontrada así para todo el fichero y todos los ficheros

Algunos de las opciones de búsqueda

-i/-y no distingue entre mayúsculas y minúsculas.
-n Muestra los nºde linea y las líneas que contengan el patrón.
-c Muestra el número de líneas que contiene la cadena.
-l Print names of files with matching lines but not the lines.
-h Print matching lines but not the filenames.
-v Muestra todas las lineas que no contienen el patrón.
-s Suppress error messages for non-existent or unreadable files.

Patrones en grep incluye el uso de comodines, rangos de caracteres y búsquedas en el principio o final de linea. Símbolos para la interpretación de patrones

grep <opciones> [Símbolo]<patron> <file>
^ compara el patrón al inicio de la linea.
$ compara el patrón al final de la linea.
[...] compara cualquiera de los conjunto de caracteres.
[^...] Match any character not enclosed in brackets.
[n-m] Match any characters in the range expressed by n-m.
. compara con cualquier carácter simple excepto newline.
c* Match any number of the preceding carácter.
.* Match zero or more occurrences of any character.
\{n\} Match exactly n occurrences of the preceding character or regular expression.
\{n,\} Match at least n occurrences of the preceding character or regular expression.
\{n,m\} Match any number between n and m of the preceding character or regular expression. Note: n and m must be between 0 and 256 inclusively.

tr Descripción: reemplaza o elimina cadenas/caracteres en un fichero de texto por la entrada estándar. El resultado lo imprime por la salida estándar.

Ejemplos:
tr [options] string1 [string2] < intext
tr "abc" "xyz" < file1 > file2 // sustituye a->x;b->y;c->z y se genera un nuevo documento outfile con el resultado, uso de la redirecciones en el comando tr.

Cuando especificamos string1 y string2 ambos deben tener la misma longitud, ya que cada carácter correspondiente a string1 se sustituirá por el correspondiente del string2.

-s comprime los caracteres especificados si estan repetidos de forma contigua sobre infile, dejando uno solo de ellos.
Ejemplos:
tr -s a-z”\n” < infile // comprime todas las letras a-z y “\n” repetidas de forma contigua a una sola.
-c complementario, reemplaza los caracteres no especificados, sobre infile por un solo carácter incógnita.
Ejemplos:
tr -c a-z ”*” < infile // remplaza todas los caracteres que no sean a-z por “*”
-d Delete characters in string1 about infile.
Ejemplo:
tr -d "!" < infile > outfile // elimina todas los !También es posible concatenarlo desde otro tipo de entrada estándar, se visualiza el fichero días traduciendo las cadenas
cat dias | tr a-z A-Z // convierte todo a mayúsculas, no se guarda el resultado.
tr -s "\n*" < infile // convierte varios caracteres nueva línea seguidos en una solo.
cat dias | tr -d aeiou > fileout // elimina todas las vocales del archivo dias.
cat nota | tr -c "[a-zA-Z0-9]" "_" // transforma todos los caracteres que no sean letras o números en subrayas.
cat nota | tr -cs "[a-zA-Z0-9]" "[\n*]" // transforma todos los caracteres que no sean letras o números en nueva línea, y comprime las nuevas líneas repetidas en una sola; deja cada palabra sola en un renglón.

Especificar un rango de caracteres. Por ejemplo a-d incluye los caracteres a,b,c,d. Los rangos no van entrecomillados.

Existen clases definidas por su uso común en el comando tr, de modo que no deberán definirse sus caracteres:

alnum 
alphabetic or numeric 
characters alpha alphabetic  
characters [A-Za-z] 
lower characters [a-z]
upper characters [A-Z]
digit numeric characters [0-9]
blank tab or a space
space white-space characters including the a space, form feed,
newline, carriage return, tab and vertical tab.
punct punctuation characters [~!@#$%^&*()_+|{}":<>?`-=\[];'/.,]
cntrl control characters - tab, newline, form feed, carriage re
print printable character - includes the space character but no
control characters
Ejemplos:
cat file | tr "[:lower:]" "[:upper:]" > file2 // Crea el fichero con mayúsculas

join Descripción: cruza la información de dos archivos,Normalmente, el primer campo de cada fichero registro se considera un "campo de unión o etiqueta". El comando join muestra en pantalla el campo de unión seguido del resto de la línea del primer fichero y a continuación del resto de la línea del segundo fichero excepto la etiqueta. Los resultados son mostrados por la salida estándar ha pantalla o pueden ser capturados por una redirección

join [options] file1 file2

si consideramos dos máquinas que deseamos registrar el arranque, y cada maquina genera un fichero de registro MAQUINA 1 MAQUINA 2

test: ok test: ok
check: ok check: ok
boot: launched boot: stopped
init: go init: fail

usamos el comando

join -t: file1 file2 

y obtenemos:

test: ok : ok
check: ok : ok
boot: launched : stopped
init: go : fail

Menú de Opciones

-t: especifica el carácter, en el caso :, separa los campos Si no se usa, cualquier whitespace is considerado a separador.

uniq Descripción: elimina lineas repetidas adyacentes del archivo entrada (solo deja una de ellas), la salida se ofrece por la salida estándar o genera un archivo salida si se especifica

uniq [options] file1 file2

Opciones

-c muestra el número de veces que se encuentra cada linea idéntica de forma consecutiva.
-d muestras solo las lineas repetidas de forma continua.
-u elimina todas las líneas repetidas de forma continua (no deja ninguna).
-n Ignores the first n fields of a line. Fields are delimited by spaces or tabs.
+n Ignores the first n characters of a line or field.

cut Descripción: Captura partes de ficheros, en un fichero por columnas de una tabla o campos para cada linea del archivo... captura la columna deseada para las lineas del fichero

cut [-b | -c | -f] list [options] [InFile]

Las columnas pueden ser especificadas como octetos, caracteres o delimitadas campos.

-c list Las columnas son especificadas por caracteres.

Por ejemplo

cut -c 1-4,7-10 file1 // Corta y muestra el rango de caracteres indicado para cada linea del 1 al 4 y de 7 al 10
-b list Columns are specified by byte positions.
-f list Las columnas son especificadas por campos. Los campos deberían ser separados por un carácter delimitador. El delimitador puede ser especificado con la opción     
-d. Sino el delimitador es un TAB.

Por ejemplo, sea un fichero:

test ok boot launched init go
test ok boot launched init go
test ok boot stopped init --
test ok boot launched init go
test ok boot launched init go
cut -f 2,3 file // muestra y selecciona los segundos y terceros campos de cada línea del archivo por columnas separadas por TAB.
-d x Specifies the delimitador de campo when the -f option is used.
-s Used with the -f option. Si una linea no contiene un delimitador de campo entonces se ignora la linea y no se capturan los campos.
Ejemplo:
cut -f 1,3 -d : -s file // muestra y selecciona los primeros y terceros campos de cada línea del archivo por columnas separadas por :, si una linea no tiene delimitadores se ignora la linea.

Paste Concatena las líneas correspondientes de archivos en columnas verticales e imprime los resultados a la pantalla, similar a join pero sin entender como etiquetas la primera parte de la linea, junta las lineas tal cual.

paste [-s] [-d char] [Files...]
Ejemplo:
$ cat height $ cat weight 5'4" 124lb 6'2" 180lb
$ paste height weight 5'4" 124lb 6'2" 180lb

Si uno de los ficeros tiene menos lineas que el otro, el fichero largo se continuara mostrando sin lineas del archivo acabado o con lineas en blanco Option

-d char By default, merged lines are delimited or separated by the TAB character. The -d option tells paste to separate columns with the character specified by char. Char can be a regular character or one of the following escape sequences.
\n Newline
\t Tab
\0 (Backslash followed by Zero) Empty string.
\\ Backslash

Escape sequences should be surrounded by quotes to keep the shell from interpreting them. You can separate columns with different characters by specifying more than one value for char.

For example, -d '-*' would separate the first and second columns with a dash (-) and the second and third column with an asterisk (*). If more columns exist, the paste command would alternate between using a dash and an asterisk as a delimiter.
-s Merge all lines from each input file into one line. Each newline in a file, except the last, is replaced with a TAB or a delimiter specified by the -d option. If multiple input files are specified then there will be one line per file printed in the order they are listed on the command line.


- If a minus sign (-) is specified as an input file then standard

input is used.

Sort Ordenando el contenido de fichero. Este comando toma una serie de datos por la entrada estándar. Y la saca por la salida estándar. sort [-fr] <file/s>

Ejemplos Básicos:
sort < file1 > file2

Esto ordenaría el contenido de file1 y lo direcciona al fichero file2. sort > file Esto redireccionará lo que se introduce por stdin (teclado) hacia un fichero llamado file. Existen tres modos de ordenar un fichero con sort: 1. Simple sort. Ordena las lineas de un fichero en orden numérico primero y alphabetical despues, los caracteres especiales son despreciados y ordena según el primer alfanumérico que encuentre, en caso de no haber, la linea de caracteres especiales se pondrá al inicio de las lineas de salida. Ejemplo, supongamos el siguiente documento, y observemos el efecto del comando sort: $ cat myfile .aborada caca almeja borneo =seaaa . judia almandraba kilo %%algibe

345 fjb 9553

    1. almendras

@@123 !!bee zeta $ sort myfile

. @@123 345 9553 .aborada caca almeja %%algibe almandraba

    1. almendras

!!bee borneo fjb judia kilo =seaaa zeta Simple Sort Option Description -o filename Saves output in the file, filename. -u (unique) líneas idénticas y adyacentes solo se muestran una vez. -c Check si la ordenación ha sido correcta, si se detecta un error por su salida se muestra un standard error por la salida estándar. -d Sort in dictionary order. Ignore all characters except letters, digits and blanks when determining sort order. -n Sort in numerical order (For example: -2.5, -1, 0, 0.54, 3, 18). Numerical order ignores leading spaces when determining the sort order and interprets a leading minus sign (-) as a negative number. Numbers may include a comma to separate thousands (e.g. 1,000 or 10,000). Las entradas no numeradas, estarán entre el negativos-cero y los números positivos. -f Ignore the uppercase/lowercase distinction. -M Order the first three characters as months. (e.g. jan < feb < mar ...). Uppercase letters precede a lowercase letters for the same month (e.g. JAN < Jan < jan < FEB) Las entradas inválidas son ordenadas antes que los meses. (e.g. misspelled < nomonth < jan). -i Ignore non-printing characters. Non-printing characters include control characters such as tab, form feed, carriage return, etc. Non-printing characters are those outside the ASCII range 040- -r Reverse the sort order. 2. Column sort.Se usa uno o varios campos separados en columnas. La orden de columna individualmente puede ser especificada. For example the file has two fields, first name and last name.The following command, sorts file by the second field. $ cat file Susan Jones Jill Zane John Smith Andrew Carter $ sort -k 2 file Andrew Carter Susan Jones John Smith Jill Zane Column Sorting Options Description -tc Specifies the character, c, that separates fields. For example, "-t," indicates that commas separate fields. Each occurrence of c is significant so cc represents an empty field. For example, if the separator character is a comma then in "a,,d" field one is "a", field two is empty and field three is "d". The default separator is any whitespace. -b Ignore leading whitespace (spaces and tabs) when determining the starting character of columns. When whitespace is used to separate columns, the -b option overrides the significance of multiple column separators. For example, "c" is the first character of the second field of "ab<space>cd", "ab<space><space>cd", and "ab<space><space><space>cd". -k Start[,End] Defines a sort key or a section of each line used for ordering. The sort key will begin with the field Start and end with the field End. If End is not specified, the key begins with Start and continues to the end of the line. More details on specifying sort keys below. 3. Merging . Files (presorted and unsorted) can be merged by sort order. For example, assume you have two files, f1 and f2, $ sort -o soutput f1 f2 merges files f1 and f2, sorts them and saves the output in the file soutput. It is equivalent to executing the following commands. $ cat f1 f2 > f3 $ sort -o soutput f3 $ rm f3 One command line option affects file merging. Option Description -m Merge only. Use on presorted input files. For example, if two files sf1 and sf2 are already sorted $ sort f1 -o sf1 $ sort f2 -o sf2 then $ sort -m -o soutput sf1 sf2 saves time by not resorting sf1 and sf2. It just integrates them.

Los bits SUID , SGID y sticky

editar

Habitualmente, los permisos de los archivos en Unix se corresponden con un número en octal que varía entre 000 (- | --- | --- | ---) y 777 (- | rwx | rwx | rwx); sin embargo, existen unos permisos especiales que hacen variar ese número entre 0000 y 7777: se trata de los bits de permanencia (1000), SGID (2000) y SUID (4000). El bit de SUID o setuid se activa sobre un fichero añadiéndole 4000 a la representación octal de los permisos del archivo y otorgándole además permiso de ejecución al propietario del mismo; al hacer esto, en lugar de la x en la primera terna de los permisos, aparecerá una s o una S si no hemos otorgado el permiso de ejecución correspondiente (en este caso el bit no tiene efecto): chmod 4777 /tmp/file1 chmod 4444 /tmp/file2 ls -l /tmp/file1 -rwsrwxrwx 1 root other 0 Feb 9 17:51 /tmp/file1* ls -l /tmp/file2 -r-Sr--r-- 1 root other 0 Feb 9 17:51 /tmp/file2* El bit SUID activado sobre un fichero indica que todo aquél que ejecute el archivo va a tener durante la ejecución los mismos privilegios que quién lo creó; dicho de otra forma, si el administrador crea un fichero y lo setuida, todo aquel usuario que lo ejecute va a disponer, hasta que el programa finalice, de un nivel de privilegio total en el sistema (Peligroso). Todo lo que acabamos de comentar con respecto al bit setuid es aplicable al bit SGID setgid pero a nivel de grupo del fichero en lugar de propietario: en lugar de trabajar con el EUID del propietario, todo usuario que ejecute un programa setgidado tendrá los privilegios del grupo al que pertenece el archivo. Para activar el bit de setgid sumaremos 2000 a la representación octal del permiso del fichero y además habremos de darle permiso de ejecución a la terna de grupo; si lo hacemos, la s o S aparecerá en lugar de la x en esta terna. Si el fichero es un directorio y no un archivo plano, el bit setgid afecta a los ficheros y subdirectorios que se creen en él: estos tendrán como grupo propietario al mismo que el directorio setgidado, siempre que el proceso que los cree pertenezca a dicho grupo. Pero, >cómo afecta todo esto a la seguridad del sistema? Evidentemente, estas tareas han de estar controladas de una forma exhaustiva, ya que si una de ellas se comporta de forma anormal (un simple core dump) puede causar daños irreparables al sistema; Veamos un ejemplo: un fichero setuidado clásico en cualquier clon es /bin/passwd, la orden para que los usuarios puedan cambiar su contraseña de entrada al sistema. Está claro que un usuario no tiene el nivel de privilegio necesario para ni siquiera pueda leer el fichero de claves, por lo que frente a este problema tan simple existen varias soluciones: podemos asignar permiso de escritura para todo el mundo al fichero de contraseñas, podemos denegar a los usuarios el cambio de clave o podemos obligar a pasar por el root cada vez que quieran cambiar su contraseña. Parece obvio que ninguna de ellas es apropiada para la seguridad del sistema (quizás la última lo sea, pero es impracticable en máquinas con un número de usuarios considerable). Por tanto, debemos asumir que el bit de setuid en /bin/passwd es imprescindible para un correcto funcionamiento del sistema. Si es creación propia es conveniente resetear su bit de setuid mediante chmod: Por otra parte, el sticky bit o bit de permanencia se activa sumándole 1000 a la representación octal de los permisos de un determinado archivo y otorgándole además permiso de ejecución; si hacemos esto, veremos que en lugar de una x en la terna correspondiente al resto de usuarios aparece una t (si no le hemos dado permiso de ejecución al archivo, aparecerá una T): chmod 1777 /tmp/file1 chmod 1774 /tmp/file2 ls -l /tmp/file1 -rwxrwxrwt 1 root other 0 Feb 9 17:51 /tmp/ file1* ls -l /tmp/file2 -rwxrwxr-T 1 root other 0 Feb 9 17:51 /tmp/ file2* Si el bit de permanencia de un fichero está activado (recordemos que si aparece una T no lo está) le estamos indicando al sistema operativo que se trata de un archivo muy utilizado, por lo que es conveniente que permanezca en memoria principal el mayor tiempo posible; esta opción se utilizaba en sistemas antiguos que disponían de muy poca RAM, pero hoy en día prácticamente no se utiliza. Lo que si que sigue vigente es el efecto del sticky bit activado sobre un directorio: en este caso se indica al sistema operativo que, aunque los permisos `normales' digan que cualquier usuario pueda crear y eliminar ficheros (por ejemplo, un 777 octal), sólo el propietario de cierto archivo y el administrador pueden borrar un archivo guardado en un directorio con estas características. Este bit, que sólo tiene efecto cuando es activado por el administrador (aunque cualquier usuario puede hacer que aparezca una t o una T en sus ficheros y directorios), se utiliza principalmente en directorios del sistema de ficheros en los que interesa que todos puedan escribir pero que no todos puedan borrar los datos escritos, si el equivalente octal de los permisos de estos directorios fuera simplemente 777 en lugar de 1777, cualquier usuario podría borrar los ficheros del resto.


Comandos para Control de Procesos y Tareas

editar

ps Descripción: Despliega todos los procesos del sistema, con nombre y tiempo de inicio. Ejemplos: ps – au ps -aux ps -l //despliega dos parámetros PRI y NI. El parámetro PRI indica la prioridad actual del proceso, el valor de NI es tomado en cuenta cuando se determina el PRI. Que es NI? : NI es llamado el número gentil o "nice number", este número es especificado por el "superusuario"("root") o dueño del proceso y afecta el orden final del PRI, le da prioridad a los menos gentiles. Sus valores oscilan desde -20 (menos gentil = más prioridad) y 20 (más gentil = menos prioridad)

jobs Descripción: Muestra todos los procesos en segundo plano

[comando] & Descripción: lanza el proceso en segundo plano

bg Descripción: reanuda un proceso en segundo plano

ctrl+z Descripción: detiene un proceso

fg Descripción: reanuda un proceso en primer plano tras haberlo detenido [control + z]

nohup Descripción: lanza un proceso independizandolo de la sesion, si esta se cierra el proceso sigue vivo

proc Descripción:

kill Descripción: Es utilizado para mandar señales a los procesos en Unix. Ejemplos: kill -HUP <pid>: Señala al proceso con numero <pid>, que vuelva a leer sus archivos de configuración. kill -INT <pid>: Señala al proceso con numero <pid>, que será interrumpido . kill -TERM <pid>: Señala al proceso con numero <pid>,que debe de terminar, a diferencia de -KILL , esta opción da la oportunidad al proceso de terminar. kill -STOP <pid>: Señala al proceso con numero <pid>, que pare momentáneamente. kill -CONT <pid>: Señala al proceso con numero <pid>, que continué, este comando se utiliza para reanudar un proceso que le fue aplicado -STOP. kill -KILL <pid>: Señala al proceso con numero <pid>,que termine de inmediato, el proceso es terminado abruptamente. killall: A diferencia de kill , killall permite mandar un señal al proceso por nombre. killall <nombre del proceso >: Envía la señal -TERM al proceso con el nombre especificado. NOTA: Por "default" la señal que toma kill y killall es -TERM.

nice Descripción: Este comando especifica/modifica el número NI de cada proceso. Ejemplo: nice -10 named: Esto bajaría la prioridad de named en 10 unidades. nice +10 named: Esto incrementaría la prioridad de named en 10 unidades.

snice y renice Descripción: El mismo funcionamiento que nice, excepto que utiliza el número de proceso : Ejemplo: snice -10 <pid>

top & htop: Descripción : (MONITOR DE PROCESOS) Esta herramienta muestra información sobre varios recursos del sistema y tiene un carácter dinámico, muestra uso de CPU por proceso, cantidad de memoria, tiempo desde su inicio, etc.

vmstat: Descripción: Es muy similar a top ya que es un condensado de los procesos del sistema, para que esta herramienta se vuelva dinámica se deben especificar los argumentos: vmstat -n <número de segundos por actualización >

free Descripcion: Estadísticas de uso de Memoria.

at

crontab

Comandos de Gestión/Administración del Sistema

editar

who Descripción: muestra quien esta usando el sistema, todos los usuarios autenticados

whoami Descripción: muestra con que usuario estas autenticado en el sistema

dmesg Descripción: Imprime los mensajes desplegados por el "kernel" al inicio.

depmod -a Descripción: Genera un archivo que contiene las dependencias de los módulos que son cargados para el "Kernel", capaz de reconocer cuáles módulos deben ser cargados para que un tercero sea utilizado en el sistema.

init q Descripción: Comando que vuelve a leer los parámetros que se encuentran en inittab .

halt descripción:

reset descripción: resetea la consola de texto

reboot descripción: reinicia el sistema

shutdown descripción:

exit descripción:

logout descripción:

sudo Descripción:

su ("Switch User" Cambiar de Usuario) Descripción: Sirve para cambiar de usuario sin desloguearse. Si no se indica ningún usuario, el usuario al que se cambia por defecto es el usuario ROOT.

passwd Descripción: modifica la contraseña de ingreso al sistema. El usuario ROOT tiene permiso para cambiarle la contraseña a cualquier usuario del sistema.

insmod Descripción: Habilita ("loads") el modulo que se especifica en la línea, para que el "kernel" sea capaz de utilizarlo.(ejemplo: insmod ip_alias.o )

ldconfig Descripción: Actualiza las librerías utilizadas por el sistema, recomendable ejecutarlo cada vez que se instale un programa.

env Descripción: Muestra las variables de entorno.

lsmod Descripción: Despliega la información referente a los módulos que están habilitados por el "kernel". slocate: Actualiza la base de información que es utilizada para encontrar archivos con el comando locate .

fuser Descripción: muestra que usuario tiene en uso o bloqueado un archivo o recurso

stat Descripción: Despliega información detallada sobre el archivo especificado como: fechas de modificación y cambio, dueño del archivo, etc.

uname -a Descripción: Información completa sobre el "Host".

uptime Descripción: Hora actual, tiempo que lleva el sistema corriendo desde el último "reboot", usuarios conectados al servidor, carga del sistema en los últimos 1,5 y 15 minutos.

ldd descripción: muestra las librerías que usa un programa

sysctl Descripción: Configurar los parámetros del kernel en tiempo de ejecución. Ejemplos: sysctl -a

ulimit Descripción: muestra los limites del sistema (máximo de ficheros abiertos, etc...) Ejemplos: ulimit

adduser o useradd Descripción: añadir usuario de sistema. Ejemplos: adduser pepe, adduser -s /bin/false pepe

userdel o deluser Descripción: = eliminar usuario de sistema Ejemplos: userdel pepe

usermod Descripción: = modificar usuario de sistema Ejemplos: usermod -s /bin/bash pepe

groupadd Descripción: agrego nuevo grupo

groupmod Descripción: modificar grupo

groupdel Descripción: borrar grupo

uname Descripción: = unix name. Información sobre el tipo de Unix en el que estamos, kernel, etc. Ejemplos: uname, uname -a

lsof Descripción: muestra los ficheros (librerías, conexiones) que utiliza cada proceso Ejemplos: lsof, lsof -i, lsof | grep fichero

lsmod Descripción: Muestra los módulos de kernel que están cargados. Ejemplos: lsmod

modprobe Descripción: Trata de instalar un modulo, si lo encuentra lo instala pero de forma temporal. Ejemplos: modprobe ip_tables, modprobe eepro100

rmmod Descripción: Elimina módulos del kernel que están cargados Ejemplos: rmmod <nombre de modulo>

logname Descripción: muestra el nombre de usuario

id Descripción: muestra datos de identificación del usuario

finger Descripción: da información de usuario

chfn Descripción: cambia la información del finger

w Descripción: muestra un detalle de los usuarios

last Descripción: información de los últimos usuarios que han usado el sistema set

Descripción: da información sobre el entorno del usuario

users Descripción: usuarios que acceden al sistema

groups Descripción: groups a los que pertenece el usuario

Comandos Para manejo de dispositivos

editar

Montar usb, cd, floppy, particiones windows fat32 y ntfs para ver las particiones y discos de nuestro equipo en el fichero /proc/partitions se nos mostraran las particiones del equipo pero no su sistema de ficheros. mount: Descripción: Permite que particiones del sistemas, CD-ROMs y floppys puedan ser leídas en el sistema. mount -t <file system(ext3,ntfs)> <(/dev/hda1,/dev/cdrom)> <(/mnt/DiskWin)>. La carpeta /mnt/DiskWin/ ('punto de montaje') debe haber sido creada anteriormente, en ella se montara el dispositivo /hda1/ xejemplo.

umount: Descripción: Desactiva la partición que se indicada, los parámetros que toma este comando son similares a los de mount .

lpr Descripción: imprime un fichero

pr Descripción: imprime un fichero junto a un encabezamiento

fdformat Descripción: Dar formato a un disquete: fdformat /dev/fd0.

mkfs Descripción: Crear un sistema de ficheros: • mkfs.msdos /dev/fd0, mkfs -t msdos /dev/fd0 o mkdosfs /dev/fd0 para crear un sistema de ficheros de MS-DOS (FAT12) en un disquete. • mkfs.ext3 /dev/hda3 o mkfs -t ext3 /dev/hda3 para crear un sistema de ficheros nativo de Linux en la tercera partición del primer disco duro.

fsck Descripción: Comprobar la consistencia: fsck.ext2 /dev/hda4, fsck -t ext2 /dev/hda4 o también e2fsck /dev/hda4 para realizar esta operación siendo necesario que la partición a comprobar no esté montada o que esté montada como de sólo lectura.

fdisk Descripción: Particionar un disco duro: fdisk /dev/hdb para particiona el segundo disco duro (nótese que no se indica ninguna partición concreta).

lspci / lsusb / lspcmcia Descripción: Muestra todas la lineas de información de dispositivos PCI / USB / PCMCIA Ejemplo: lspci | grep Wireless

df Descripción: = disk free. Espacio en disco disponible. Muy útil. Ejemplos: df, df -h La orden df informa del espacio total, ocupado y disponible para cada uno de los sistemas de ficheros, con el siguiente formato: S.ficheros Bloques de 1K Usado Dispon Uso % Montado en /dev/hda3 11820088 5320096 5899564 48 % / /dev/hda2 6822312 4840308 1982004 71 % /dos La opción -i sustituye los bloques por nodos-i, y la opción -T informa además del tipo de sistema de ficheros en cada caso.

du Descripción: = disk use. Uso de disco. Muestra el espacio que esta ocupado en disco o el espacio que ocupa un fichero en disco. Ejemplos: du *, du -sH /*, du -sH /etc El número de ficheros y directorios totales que se pueden crear, cuántos se han creado ya y cuántos más podemos crear. Estos datos se expresan en términos de nodos-i. El concepto de nodo-i sólo tiene sentido cuando nos referimos a los sistemas de ficheros nativos de Linux, es decir, ext2 o ext3. El número de nodos-i libres indica el número total de ficheros y directorios que podemos crear todavía.La orden du <directorio> nos muestra cuántos bloques lógicos de 1 KB ocupa el directorio indicado y cada uno de sus subdirectorios. Si utilizamos la opción -a, también aparecen los ficheros, y si utilizamos la opción -s obtenemos un resumen sin que aparezcan los detalles. Téngase en cuenta que también se contabilizan los bloques lógicos ocupados por los propios directorios que, como hemos dicho, son ficheros especiales.


Comandos Entorno De Red

editar

hostname: Descripción: El nombre del host.

host: Descripción:Determina la dirección IP del “Host” host -a despliega toda la información de DNS.

ping Descripción: herramienta de red para comprobar entre otras cosas si llegamos a un host remoto. Ejemplos: ping www.rediris.es ping -s 1016: Manda paquetes de ping de 1024 bytes (header 8 bytes), mientras que el "default" es 512.

netstat Descripción: la información sobre las conexiones de red activas. Ejemplos: netstat netstat -ln netstat -l netstat -a Todas la conexiones de Red originadas y recibidas por el "Host" netstat -r: Muestra la tabla de ruteo "routing table" del sistema netstat -i: Estadísticas de red de cada interfase

traceroute Descripción: herramienta de red que nos muestra el camino que se necesita para llegar a otra maquina. Ejemplos: traceroute www.rediris.es

ifconfig: Descripción: Permite configurar una interfaz de Red y ver el "status" de ésta. Es de la forma ifconfig <interfaz> Ejemplo: ifconfig enp1s0 ip netmask 255.255.255.0

iwconfig: Descripción: Permite ver una interfaz de Red Wireless y ver el "status" de ésta. Es de la forma ifconfig <interfaz> Ejemplo: iwconfig enp1s0 up

ifup: Descripción: Habilita la interfaz especificada Ejemplo: ifup enp1s0 .

ifdown: Descripción: Deshabilita la interfaz especificada, Ejemplo: ifdown enp1s0 .

nslookup: Descripción: Busca información en los servidores DNS Ejemplo: nslookup -query=mx osomosis.com , si no se especifican parámetros se entra en modo interactivo

route add: Descripción: Permite agregar tablas de ruteo de y hacia el "Host". Ejemplo: route add -net 206.171.55.16 255.255.255.240 eth0 Para guiar toda la información de la red 206.171.55.16 netmask 255.255.255.240 vía la interfaz enp1s0: route add default gw 206.171.55.51 enp1s0 Para rutear todo el tráfico por cierta interfaz

route -n: Descripción: Despliega la tabla de ruteo del "Host". NOTA: Debe de estar "IP Forwarding" ON en /etc/sysconfig/network, además el "kernel" debe de estar configurado para "IP Forwarding".

smbclient: Descripción: Funciona como un cliente , que simula conexiones windows que serán realizadas a través de Samba.

testparm: Descripción: Verifica la validez del archivo smb.conf utilizado por Samba.

wireshark

sniffit

Agrego enp1s0 donde va eth0 por que resulta que debido a la integración de systemd al kernel de linux ya la referencia hacia la red no es eth0 sino enp1s0.

Comandos de Paquetes

editar

dpkg Descripción: Trabaja con paquetes para linux, instala, crea, descomprime...


COMANDO DE COMPRESIÓN LINUX

editar

ZIP Comprimir: zip archivo.zip ficheros Descomprimir: unzip archivo.zip Ver contenido: unzip -v archivo.zip

GZIP (GNU ZIP) Comprimir (sin conservar el Fichero): gzip archivo (Nota: el archivo de salida será “archivo.gz”) Comprimir (conservando el Fichero): gzip -c archivo.txt > archivo.gz Descomprimir (sin conservar el Fichero): gzip -d gzip archivo.gz /destino Testear: gzip -t archivo.gz

RAR/UNRAR (Roshal ARchive) Comprimir: rar -a archivo.rar ficheros Descomprimir: unrar e archivo.rar Descomprimir: rar -x archivo.rar Ver Contenido: unrar l archivo.rar Ver contenido: rar -l archivo.rar Verificar contenido: unrar t archivo.rar Ver contenido: rar -v archivo.rar

TAR Empaquetar: tar -cvf archivo.tar /dir/a/comprimir/ Desempaquetar: tar -xvf archivo.tar Ver contenido: tar -tf archivo.tar Nota: tar empaqueta varios archivos en uno solo, pero no comprime. TAR GZ/BZ2 Comprimir: tar -czfv archivo.tar.gz ficheros Comprimir: tar -c ficheros | bzip2 > archivo.tar.bz2 Descomprimir: tar -xzvf archivo.tar.gz Descomprimir: bzip2 -dc archivo.tar.bz2 | tar -xv Ver contenido: tar -tzf archivo.tar.gz Ver contenido: bzip2 -dc archivo.tar.bz2 | tar -t

BZ2 Comprimir: bzip fichero Descomprimir: bzip2 -d fichero.bz2 Nota: gzip ó bzip2 sólo comprimen ficheros (no directorios, para eso existe tar). Es mejor que gzip, pero a cambio consume más memoria y mas tiempo de compresión.

ARJ (Archiver Robert Jung) Comprimir: arj a archivo.arj ficheros Descomprimir: unarj archivo.arj Descomprimir: arj -x archivo.arj Ver contenido: arj -v archivo.arj Ver contenido: arj -l archivo.arj

LHA Comprimir: lha -a archivo.lha ficheros Descomprimir: lha -x archivo.lha Ver contenido: lha -v archivo.lha Ver contenido: lha -l archivo.lha An AZ


Index of the Bash command line for Linux.

editar

alias: Crea un alias

apropos: Busca ayuda en las paginas de un manual (man -k)

apt-get: Search for and install software packages (Debian)

aspell: Spell Checker

awk: Find and Replace text, database sort/validate/index

b:

bash: GNU Bourne-Again SHell,

bc: Arbitrary precision calculator language,

bg: Send to background,

break: Exit from a loop,

builtin: Run a shell builtin,

bzip2: Compress or decompress named file(s);

c:

cal: Display a calendar,

case: Conditionally perform a command,

cat: Display the contents of a file,

cd: Change Directory,

cfdisk: Partition table manipulator for Linux,

chgrp: Change group ownership,

chmod: Change access permissions,

chown: Change file owner and group,

chroot: Run a command with a different root directory,

chkconfig: System services (runlevel),

cksum: Print CRC checksum and byte counts,

clear: Clear terminal screen,

cmp: Compare two files,

comm: Compare two sorted files line by line,

command: Run a command - ignoring shell functions,

continue: Resume the next iteration of a loop,

cp: Copy one or more files to another location

cron: Daemon to execute scheduled commands,

crontab: Schedule a command to run at a later time,

csplit: Split a file into context-determined pieces,

cut: Divide a file into several parts;

d: date Display or change the date & time

dc: Desk Calculator

dd: Convert and copy a file, write disk headers, boot records

ddrescue Data recovery tool

declare: Declare variables and give them attributes

df Display free disk space

diff Display the differences between two files

diff3 Show differences among three files

dig DNS lookup

dir Briefly list directory contents

dircolors Colour setup for `ls'

dirname Convert a full pathname to just a path

dirs Display list of remembered directories

dmesg Print kernel & driver messages

du Estimate file space usage

echo Display message on screen

egrep Search file(s) for lines that match an extended expression

eject Eject removable media

enable Enable and disable builtin shell commands

env Environment variables

ethtool Ethernet card settings

eval Evaluate several commands/arguments

exec Execute a command

exit Exit the shell

expect Automate arbitrary applications accessed over a terminal

expand Convert tabs to spaces

export Set an environment variable

expr Evaluate expressions

f false Do nothing, unsuccessfully

fdformat Low-level format a floppy disk

fdisk Partition table manipulator for Linux

fg Send job to foreground

fgrep Search file(s) for lines that match a fixed string

file Determine file type

find Search for files that meet a desired criteria

fmt Reformat paragraph text

fold Wrap text to fit a specified width.

for Expand words, and execute commands

format Format disks or tapes

free Display memory usage

fsck File system consistency check and repair

ftp File Transfer Protocol

function Define Function Macros

g

gawk Find and Replace text within file(s)

getopts Parse positional parameters

grep Search file(s) for lines that match a given pattern

groups Print group names a user is in

gzip Compress or decompress named file(s)

h

hash Remember the full pathname of a name argument

head Output the first part of file(s)

history Command History

hostname Print or set system name

i

id Print user and group id's

if Conditionally perform a command

ifconfig Configure a network interface

ifdown Stop a network interface

ifup Start a network interface up

import Capture an X server screen and save the image to file

install Copy files and set attributes

j

join Join lines on a common field

k

kill Stop a process from running

killall Kill processes by name

l

less Display output one screen at a time

let Perform arithmetic on shell variables

ln Make links between files

local Create variables

locate Find files

logname Print current login name

logout Exit a login shell

look Display lines beginning with a given string

lpc Line printer control program

lpr Off line print

lprint Print a file

lprintd Abort a print job

lprintq List the print queue

lprm Remove jobs from the print queue

ls List information about file(s)

lsof List open files

m

make Recompile a group of programs

man Help manual

mkdir Create new folder(s)

mkfifo Make FIFOs (named pipes)

mkisofs Create an hybrid ISO9660/JOLIET/HFS filesystem

mknod Make block or character special files

more Display output one screen at a time

mount Mount a file system

mtools Manipulate MS-DOS files

mv Move or rename files or directories

mmv Mass Move and rename (files)

n

netstat Networking information

nice Set the priority of a command or job

nl Number lines and write files

nohup Run a command immune to hangups

nslookup Query Internet name servers interactively

o

open Open a file in its default application

op Operator access

p

passwd Modify a user password

paste Merge lines of files

pathchk Check file name portability

ping Test a network connection

popd Restore the previous value of the current directory

pr Prepare files for printing

printcap Printer capability database

printenv Print environment variables

printf Format and print data

ps Process status

pushd Save and then change the current directory

pwd Print Working Directory

q

quota Display disk usage and limits

quotacheck Scan a file system for disk usage

quotactl Set disk quotas

r

ram ram disk device

rcp Copy files between two machines

read read a line from standard input

readonly Mark variables/functions as readonly

reboot Reboot the system

renice Alter priority of running processes

remsync Synchronize remote files via email

return Exit a shell function

rev Reverse lines of a file

rm Remove files

rmdir Remove folder(s)

rsync Remote file copy (Synchronize file trees)

s

screen Multiplex terminal, run remote shells via ssh

scp Secure copy (remote file copy)

sdiff Merge two files interactively

sed Stream Editor

select Accept keyboard input

seq Print numeric sequences

set Manipulate shell variables and functions

sftp Secure File Transfer Program

shift Shift positional parameters

shopt Shell Options

shutdown Shutdown or restart linux

sleep Delay for a specified time

slocate Find files

sort Sort text files

source Run commands from a file `.'

split Split a file into fixed-size pieces

ssh Secure Shell client (remote login program)

strace Trace system calls and signals

su Substitute user identity

sudo Execute a command as another user

sum Print a checksum for a file

symlink Make a new name for a file

sync Synchronize data on disk with memory

t

tail Output the last part of files

tar Tape ARchiver

tee Redirect output to multiple files

test Evaluate a conditional expression

time Measure Program running time

times User and system times

touch Change file timestamps

top List processes running on the system

traceroute Trace Route to Host

trap Run a command when a signal is set(bourne)

tr Translate, squeeze, and/or delete characters

true Do nothing, successfully

tsort Topological sort

tty Print filename of terminal on stdin

type Describe a command

u

ulimit Limit user resources

umask Users file creation mask

umount Unmount a device

unalias Remove an alias

uname Print system information

unexpand Convert spaces to tabs

uniq Uniquify files

units Convert units from one scale to another

unset Remove variable or function names

unshar Unpack shell archive scripts

until Execute commands (until error)

useradd Create new user account

usermod Modify user account

users List users currently logged in

uuencode Encode a binary file

uudecode Decode a file created by uuencode

v

v Verbosely list directory contents (`ls -l -b')

vdir Verbosely list directory contents (`ls -l -b')

vi Text Editor

vmstat Report virtual memory statistics

w

watch Execute/display a program periodically

wc Print byte, word, and line counts

whereis Report all known instances of a command

which Locate a program file in the user's path.

while Execute commands

who Print all usernames currently logged in

whoami Print the current user id and name (`id -un')

Wget Retrieve web pages or files via HTTP, HTTPS or FTP

write Send a message to another user

x

xargs Execute utility, passing constructed argument list(s)

yes Print a string until interrupted

. Run a command script in the current shell

      1. Comment / Remark

Tomado de:

editar
  1. http://www.pello.info/referencia_linux.html
  2. http://www.osmosislatina.com/linux/comandos.jsp
  3. http://geneura.ugr.es/~gustavo/linux/
  4. http://docencia.udea.edu.co/cci/linux/
  5. http://www.todolinux.com/webs/todolinuxphp/index.php
  6. http://aprendeenlinea.udea.edu.co/lms/moodle/file.php/109/Sesion3/Comandos_de_Consola.htm
  7. http://www.ibiblio.org/pub/Linux/docs/LuCaS/Manuales-LuCAS/docunixsec/unixsec-html/node56.html