Comandos unix

5

Click here to load reader

Transcript of Comandos unix

Page 1: Comandos unix

COMANDOS UNIX

Comando Option Argumentos Descripción Ejemplo

uname

-i Plataforma de hardware

-s Nombre del sistema operativo

-r Versión del SO

-a Muestra toda la información

-n Hostname

cal Muestra el calendario del mes actual

mes año Mes 12 de 2004

ls

Listar archivos ls

-l [Ruta] Lista extendida ls -l /etc/

-i [Ruta] Muestra el inode de cada archivo ls -i

-n [Ruta] Muestra el UID y el GUI ls -n archivo

ld directorio Ver información detallada de un directorio sin ver su contenido ls –ld mydir/

-R [Ruta] Lista de manera recursiva (Directorios y subdirectorios) ls –R dir

-F [Ruta] Muestra los tipos de archivo de cada archivo o directorio listado. Directorio (/), ejecutable (*), Archivo de texto (None), Enlace simbólico(@)

ls –F

date Fecha actual date

man

command Manual del comando command

-s number comando Sección número number man –s 4 passwd

-l comando Busca manual online man –l passwd

-k comando Busca manual por palabra clave man -k calendar

pwd Muestra el directorio de trabajo actual

file filenames Determina ciertos tipos de archivos file dir/ Felipe.txt

cd

Cambiar directorio. Sin argumentos retorna al home directory

/directory/… Cambia a la ruta especificada (Ruta absoluta) cd /home

directory/… Cambia al directorio (Ruta relativa) cd felipe/

.. Retorna al directorio padre cd ../felipe

~ Va al directorio home del usuario actual cd ~/Descargas

~user2 Va al home del usuario user2 cd ~daniel

- Retorna al directorio anterior cd -

cat archivos Despliega el contenido de uno o más archivos de texto cat dante1 dante2

more archivo Despliega el contenido de un archivo de texto por pantallas

head -n filename Muestra las primeras n líneas de un archivo de texto head -6 felipe.txt

tail -n filename Muestra las últimas n líneas de un archivo de texto tail -5 felipe.txt

+n filename Muestra desde la línea n hasta el final del archivo tail +5 felipe.txt

wc

-l filename Muestra el número de líneas del archivo de texto filename wc –l filename

-w filename Muestra el número de palabras del archivo de texto filename

-c filename Muestra el número de bytes del archivo de texto filename

-m filename Muestra el número de caracteres del archivo de texto filename

cp origen destino Copia el archivo origen al destino especificado en los argumentos. Cuando no se tienen opciones el origen no puede ser un directorio.

cp felipe.txt /home

-r origen destino Copia recursiva (Opción necesaria para directorios) cp –r dir1/ dir2/

-i origen destino Copia interactiva (Pide confirmación) cp –ri arch pepe

mv

file1 file2 Renombrar file1. Nuevo nombre: file2

dir1 dir2 Mover dir1 a dir2. Si dir2 no existe se estaría renombrando dir1

origen destino Mover origen a destino (Archivo o directorio)

-i origen destino Mover origen a destino (Archivo o directorio). Se pide confirmación

touch new_files Crear un nuevo archivo touch sena.txt

mkdir directory_name Crea un directorio vacío mkdir mydir1 mydir2

-p directory_names Crea el directorio y los subdirectorio especificados en el argumento mkdir a/b/c/d

rm filename Remover archivo (Sin argumentos no aplica para directorios) rm Felipe.tar.gz

-i filename Pide confirmación rm –i Felipe.tar.gz

-r directories Remover el directorio, incluyendo los subdirectorios rm -r mydir

ln -s origen file_destino Enlace simbólico del archivo origen en el destino especificado. ln -s /var/tmp/dante dante_link

vi filename Abre el archive filename vi Felipe.txt

-r filename Recuperar el archivo

-R filename Abre el archivo en modo de SOLO LECTURA vi -R Felipe.vi

view filename Visualiza un archivo en modo de solo lectura view felipe.txt

VAR=value Establecer una variable de la Shell (Variable de entorno) MONEDA=”Pesos”

export variable Exporta una variable de Shell (Variable de entorno)

unset variable Borra una variable de Shell

set Muestra todas las variables con sus respectivos valores

Page 2: Comandos unix

env Muestra todas las variables

export Muestra todas las variables

‘ ’ Ignora los metacaracteres dentro de las comillas simples ($,*,?)

“ ” Ignora los metacaracteres dentro de las comillas dobles a excepción de: (`) usado para ejecutar comandos, (\) Previene interpretar el próximo carácter como un metacaracter, $ (command) Ejecuta un comando dentro del paréntesis.

history Muestra el historial de comandos mostrando el número de línea

-n Muestra el historial sin el número de línea

-4 Muestra los últimos 4 comandos

-r Invierte el orden

r Repite el último comando ingresado

r número Repite el comando de acuerdo a la numeración del historial

< Redirecciona al estándar input

> Redirecciona al archivo especificado a la derecha (Se sobreescribe) history > my_history.txt

>> Redirecciona al archivo especificado a la derecha (Se añade al archivo)

2> Redireccion de los errores estándar

| command | command Redirecciona la salida estándar de un comando a la entrada estándar de otro comando. (Los argumentos del segundo comando son los arrojados por el primer comando)

who | wc –l Se cuenta el número de líneas del resultado de who

. ~/.profile Los cambios realizados al archivo .profile toman efecto de inmediato

. ~/.kshrc Los cambios realizados al archivo .kshrc toman efecto de inmediato source ~/.cshrc Los cambios realizados al archivo .cshrc y .login toman efecto de

inmediato

chmod

symbol_mode file Cambia los permisos de un archivo usando el modo simbólico:

u: Propietario g: Grupo o: Otros a: All (todos)

r: Lectura w: Escritura x: Ejecución

+: Añadir - : Quitar =: Absoluto

chmod g-r dante chmod u+x,go+r dante chmod a=rw dante

octal_mode filename Cambia los permisos de un archivo usando el modo octal

chmod 755 dante

umask

three_digits_octal Afecta los permisos iniciales para archivos y directorios cuando éstos son creados

umask 022

Muestra el valor de umask

getfacl filename(s) Muestra las entradas ACL configuradas para los archivos especificados

setfacl

-m acl_entries filename Crea o modifica una entrada ACL para el archivo especificado. ACL entries:

u[ser]::perm

g[roup]::perm

o[ther]:perm

u[ser]:UID:perm or u[ser]:username:perm

g[roup]:GID:perm or g[roup]:groupname:perm

m[ask]:perm

setfacl -m u:userb:7 file2 (Permisos de rwx para userb) setfacl -m m:rwx file2 (Se cambia el valor de la mask para permitir permisos de rwx) setfacl -r -m u:usera:7 file1 (Recalcula la máscara con base en los permisos asignados a usera)

-s acl_entries filename Sustituye una ACL antigua con una ACL nueva setfacl -s u::rwx,g::rw-,o:r--,m:rw-,u:usera:rwx file1 setfacl –s u::7,g::6,o:4,m:6,u:usera:7 file2

-d acl_entries filename Eliminauna o más entradas ACL setfacl -d u:usera file2 setfacl -d u:userb file2

-r filename recalcula la máscara ACL con base en las entradas ACL, cuando se usaron con anterioridad las opciones –m ó –s

setfacl -r -m u:usera:7 file1 (Recalcula la máscara con base en los permisos asignados a usera)

Busca la expresión pattern (Patrón) e imprime las líneas que lo contienen. Pueden aparecer las siguientes expresiones regulares en el patrón de búsqueda. Ejemplos:

Page 3: Comandos unix

grep

pattern filenames

'^pattern' : Todas las líneas que comiencen con pattern 'pattern$' : Todas las líneas que finalicen con pattern 'p.....n' : Todas las líneas que contienen p, cinco caracteres y la letra n '[a-z]*' : Coincidencias que comiencen con una letra minúscula '[Pp]attern' : Coincidencias con Pattern o pattern '[^a-m]attern' : concidencias que no contengan letras a-m y finalice con attern

-i pattern filenames Busca sin importar mayúsculas y minúsculas

-l pattern filenames Lista el nombre de los archivos que coinciden con la búsqueda

-n pattern filenames Muestra el número de línea

-v pattern filenames Busca los archivo que no coinciden con pattern

-c pattern filenames Cuenta las líneas que contienen el patrón de búsqueda (pattern)

-w pattern filenames Busca la expresión como una palabra completa.

egrep

pattern filenames El comando egrep busca en el contenido de uno o más archivos para un patrón usando expresiones regulares extendidas. x|y : Busca x o y (|) : Grupos de caracteres NOTA: Aplican las mismas opciones del comando grep (-i, -l, -n, -v, -c, -w)

egrep '[a-z]+body' /etc/passwd (Busca cualquier ocurrencia que comience con una o varias letras minúsculas y termine en body. Ej: nobody) egrep '(Network|uucp) Admin' /etc/passwd

fgrep string filenames Buscar un archivo que contengan la cadena literal o un grupo de caracteres

find

path -name filename Busca el archivo a partir de la ruta path find / -name passwd

path -size [+|-]n Busca archivos más grandes que +n, o archivos más pequeños que -n o archivos iguales a n. El valor de n representa bloques de 512 bytes.

find ~ -size +10

path -atime [+|-]n Archivos que han sido accedidos en más de n días, menos de n días o igual a n días.

find /home/Felipe -atime -10

path -mtime [+|-]n Archivos que han sido modificados hace más de n días, hace menos de n días o igual n días.

find . –mtime +1

path -user loginID Busca todos los archivos que son propiedad del usuario loginID find / –user felipe

path -type [f|d] Busca archivos dependiendo del tipo, for example, f (file) or d (directory).

find /home -type f

path expresión -exec command {} \;

Ejecuta el comando command después de la búsqueda find / -name virus –exec rm{} \;

path expresión -ok command {} \;

Igual al anterior pero se pide confirmación para aplicar el comando a cada archivo encontrado en la búsqueda.

path expresión -ls Displays the current path name and associated statistics, such as the inode number, the size in kilobytes, protection mode, the number of hard links, and the user.

ps -e Imprime información acerca de cada proceso en el sistema, incluyendo PID, TTY, TIME y CMD (Nombre del comando)

ps -e

-f Genera una lista detallada que incluye UID, parent process identification number (PPID), and process start time (STIME)

ps -ef | more

pgrep

name_process Busca el proceso PIC especificado en el patrón. Devuelve el valor del PID.

-x name_process Busca los PID que coinciden exactamente con el patrón

-n name_process Muestra el PID más reciente creado por le proceso

-U uid Muestra solo los PID que pertenecen a un usuario específico. Puede usarse como argumento user o UID

-l name_process Muestra el nombre del proceso junto con el PID

-t term Muestra solo aquellos procesos que están asociados con una terminal

kill -l Muestra todos los nombres de señales.

[-signal] PIDs En este caso se pone el nombre del a señal (La señal por defecto es 15, la señal 9 termina el proceso instantáneamente)

pkill name_process

-9 -x name_process pkill -9 -x process_name

jobs Lists all jobs that are currently running or are stopped in the background. A job is a process that the shell can manage. There are three types of jobs that shells manage: foreground jobs (Ocupa la terminal), background jobs (No ocupa la terminal. Se usa &), and stopped jobs (Ctrl+Z).

bg %n Corre el job en el background n: Número del job (job ID)

bg %n

fg %n Corre el job en el foreground (Toma la terminal actual) fg %n

Control-Z Detiene un foreground job y lo pone en background como un stopped job.

Page 4: Comandos unix

stop %n Detiene un job que se ejecuta en el background (Solo aplica para ksh)

alias alia_name=commands Crea un alias de commands. commands debe estar entre comillas (simples o dobles), no debe haber espacios después del igual y si hay más de un comando deben separarse con punto y coma

alias hls=’history;ls’ alias cp=’cp -i’ alias rm=’rm -i’ rm \file1 (No pide confirmación)

unalias alias_name Elimina un alias

function name { commands; } Crea una función. Debe haber un espacio entre la primera llave y el primer comando, y entre la última llave y el último comando,

function cusers { who | wc –l ; }

typeset -f Muestra el listado de funciones con su contenido

+f Muestra solo el nombre de la función

set -o Muestra las opciones configuradas en la Shell (estado on/off)

set -o noclobber Previene la sobreescritura cuando se usa la redirección estándar. Desactivación del clobbering

+o noclobber No previene sobreescritura por redirección

test Si la condición es verdad el estado de salida de comandos test es 0. En caso contrario sería 1.

test "$LOGNAME" = "user1"

-r path Testea si un usuario tiene permisos de escritura sobre un archivo. El estado de salida se modifica en 0 si es exitoso o 1 en caso contrario.

test -r /etc/group echo $? (Muestra estado de salida)

[ -r /etc/group ] (Igual que el primer comando)

-d path Determina si el archivo especificado es un directorio

&& Ejecuta un comando solo si el anterior es exitoso mkdir newdir && cd newdir

|| Un comando es ejecutado solo si el anterior falla

if, then, else, execute

$ if command1 > then > execute command2 > else > execute command3 > fi

El comando if se evalúa el estado de salida de un comando e inicia acciones adicionales basadas en el valor devuelto.

$ if test "$LOGNAME" = root > then echo Hello System Administrator > else > echo Hello "$LOGNAME" > fi OTRA FORMA $ if [ "$LOGNAME" = "root" ] > then echo hello System Administrator > else > echo hello "$LOGNAME" > fi

while $ while command1 > do > command2 > done

Command1 es una condición true o false. Se puede evaluar con test o usando corchetes [].

case

$ case value in > pat1) command > command > ... > command > ;; > pat2) command > command > ... > command > ;; > ... > patn) command > command > ... > command > ;; > esac

tar

c archivefile filenames Crea un nuevo archivo tar tar cvf files.tar file1 file2 file3

t Lista la tabla de contenidos del archivo tar tar tf files.tar (Visualiza los archivos contenidos en files.tar)

x Extrae los archivos del archivo tar tar xvf files.tar

f

Especifica el archivo de almacenamiento o dispositivo de cinta. El dispositivo de cinta por defecto es / dev/rmt/0. Si el nombre del archivo es "-", el comando tar se lee de la entrada estándar cuando se lee de un archivo tar o escribe a la salida estándar si la creación de un archivo tar.

tar cvf files.tar file1 file2 file3

v Ejecuta en modo detallado, escribe a la salida estándar. tar cvf files.tar file1 file2 file3 (Crea un archive llamado files.tar formado por file1, file2, file3)

Page 5: Comandos unix

h Sigue enlaces simbólicos como archivos o directorios estándar.

jar c archivefile filenames Crea un nuevo archivo jar. Almacena en un solo archivo y luego comprime.

jar cvf files.tar file1 file2 file3

t Lista la tabla de contenidos del archivo tar

x Extrae los archivos del archivo tar

f

Especifica el archivo de almacenamiento o dispositivo de cinta. El dispositivo de cinta por defecto es / dev/rmt/0. Si el nombre del archivo es "-", el comando tar se lee de la entrada estándar cuando se lee de un archivo tar o escribe a la salida estándar si la creación de un archivo tar.

v Ejecuta en modo detallado, escribe a la salida estándar.

h Sigue enlaces simbólicos como archivos o directorios estándar.

compress [ -v ] filenames Comprime un archivo. NOTA: Se reemplaza el archivo original por un archivo con extensión .Z

compress dante compress -v files.tar

zcat filenames Visualiza el contenido de archivos comprimidos con compress zcat dante.Z | more zcat files.tar.Z | tar xvf -

uncompress

[ -v ] filenames.Z El comando uncompress descomprime un archivo de nuevo a su estado original.

$ uncompress -v files.tar.Z files.tar.Z: -- replaced with files.tar

-c filenames.Z Usted puede utilizar el comando uncompress con la opción-c para enviar el contenido de un archivo comprimido a la pantalla (stdout)

uncompress -c files.tar.Z | tar tvf -

gzip [ -v ] filenames Comprime un archivo. NOTA: Se reemplaza el archivo original por un archivo con extensión .gz NOTA2: gzip tiene un mayor nivel de compresión que compress

gzip dante1 dante2 compress -v files.tar

gunzip filenames.gz

gzcat filenames.gz Visualiza el contenido de archivos comprimidos con gzip gzcat dante.gz | more gzcat files.tar.gz | tar xvf -

zip target_file.zip source_files El comando zip comprime los archivos múltiples en un único archivo. El comando jar y el comando zip crean archivos que son compatibles entre sí. El comando unzip puede descomprimir un archivo jar, y el comando jar puede descomprimir un archivo zip.

zip file.zip file2 file3

unzip -l zipfile Para una lista de los archivos en un archivo zip, ejecute el comando unzip-l

unzip -l comp.zip

unzip zipfile Descomprime el archivo .zip unzip file.zip

rlogin hostname Establecer una sesión remota en otro sistema. Es necesario que exista el archivo .rhosts en el home del usuario

rlogin server2

rlogin -l -l username hostname rlogin -l user2 host2

rsh hostname command Utiliza el comando rsh para ejecutar un programa en un sistema remoto sin tener que iniciar sesión en el sistema remoto.

rsh host2 ls

telnet hostname telnet host2

rcp

[-r] source_file hostname:destination_file

Para copiar archivos de un directorio local a un host remoto rcp dante host2:/tmp

[-r] hostname:source_file destination_file

Para copiar archivos de un host remoto a un directorio local rcp host2:/tmp/dante /tmp

[-r] hostname:source_file hostname:destination_file

Para copiar archivos de un host remoto a otro host remoto rcp host2:/tmp/dante host1:/tmp

ftp hostname Establecer una sesión con un servidor FTP. Usted puede utilizar el comando lcd en el ftp> en la pantalla para cambiar el directorio de trabajo actual en el sistema local. NOTA: Pare terminar sesión: bye o quit. get: Descargar un archivo mget file1 file2: Descargar varios archivos mput file1 file2: Transferir varios archivos al servidor ftp