Subido por Antonio Rodriguez Santos

ordenes de sistemas operativos

Anuncio
1.- Sesiones Linux
passwd Cambia la contraseña
exit Abandona el sistema
ctrl + d Para abandonar el sistema
who Devuelve información de los usuarios que hay conectados en el sistema
whoami Devuelve información del usuario con el que nos hemos conectado.
date Devuelve la fecha y la hora del sistema
cal Muestra un calendario
logname Devuelve el nombre de usuario con el que se ha accedido al sistema
uname Devuelve información sobre la versión del sistema operativo
uname – a Devuelve la información sobre la versión y sobre la revisión de la versión
tty Devuelve la ruta de nuestro terminal /dev/tty1
echo Visualiza un texto alfanumérico o el contenido de una variable de entorno
echo Hola
echo $variable
banner Visualiza el texto como si fuera un cartel
banner $variable
banner Hola
clear Limpia la pantalla
man Muestra información sobre un comando (ayuda)
man who
2.- El shell
Metacaracteres (caracteres comodín)
$ Prompt.
> Prompt secundario. Nos indica que debemos finalizar la instrucción porque está
incompleta
? Sustituye un carácter
* Sustituye uno o varios caracteres. Puede sustituir a ninguno
[ ] Sustituye el rango de valores que se encuentra incluido entre corchetes
ls carta[123]
ls carta[a-z]
Agrupamiento de órdenes
; Ejecuta secuencialmente varias órdenes ls;who;date
&& Ejecuta una orden sólo si la orden anterior ha tenido éxito en su ejecución
|| Ejecuta una orden sólo si la orden anterior no ha tenido éxito en su ejecución
& Ejecuta una orden en segundo plano.
Caracteres con significado especial
\ Se antepone al carácter que no queremos que interprete el shell. Permite eliminar el
significado de un carácter (permite escapar un carácter)
echo \$a (muestra $a)
' ' (comillas simples) El shell no interpreta nada de lo que hay entre éstas comillas
echo '$a' (muestra $a)
" " (comillas dobles) Evita la interpretación de los caracteres incluidos en ellas excepto
el dólar ($), las comillas dobles (“), las simples (‘) y la barra invertida (\), que sí los
interpreta
` ` (acentos graves) Provoca la ejecución anticipada de una orden orden
cp `ls` /home/jperez/backup (ejecuta primero ls y el resultado se lo entrega a
cp)
3.- Archivos y directorios
ls lista los directorios y ficheros que hay en el directorio activo.
ls –l Muestra información adicional como máscara (tipo de fichero y permisos),
número de enlaces, propietario, grupo de usuarios, tamaño, fecha y hora de la
última modificación y nombre.
ls –a Lista los ficheros y directorios del directorio activo incluyendo el directorio
en el que nos encontramos, el directorio padre del directorio activo y los ficheros
ocultos.
ls –R Muestra una lista recursiva de los ficheros y directorios que cuelgan del
directorio activo.
cd Para cambiar de directorio. Sin argumentos nos sitúa en el directorio HOME.
cd /home/alumno
pwd Devuelve la ruta absoluta del directorio activo (en el que nos encontramos)
mkdir Crea directorios
rmdir Borra directorios
4.- Manipulación de archivos
cp archivo_origen archivo_destino Para copiar ficheros
cp –i Pide confirmación en caso de sobrescritura de un fichero
ln archivo_origen archivo_destino Para crear enlaces de un fichero
ln –i Pide confirmación en caso de sobrescritura de un fichero
mv archivo_origen archivo_destino Para renombrar o mover ficheros.
mv –i Pide confirmación en caso de sobrescritura de un fichero
rm archivo Borra un fichero
cat fichero Para ver el contenido de un fichero
cat > fichero Para crear un fichero. Para salir de la edición Ctrl+D
cat >> fichero Para añadir texto al contenido de un fichero. Para salir de la
edición Ctrl+D
more fichero Muestra el contenido de un fichero paginándolo
También cat ruta_fichero | more
pg fichero Muestra el contenido de un fichero paginado. Pagina con la barra
espaciadora.
tail –5 fichero Muestra las 5 últimas líneas de un fichero. Sin opciones (-5) muestra
las 10 últimas líneas
tail -n +5 fichero Muestra a partir de la línea 5 del fichero hasta el final
head -5 fichero Muestra las 5 primeras líneas de un fichero
sort fichero Muestra el contenido de un fichero ordenado en orden alfabético
nl fichero Muestra el contenido de un fichero con sus líneas numeradas
wc Devuelve la cantidad de palabras, lineas o caracteres que contiene un fichero
wc -w fichero
wc -l fichero
wc -c fichero
grep Permite buscar texto en un fichero:
grep texto fichero
touch fichero Para crear un fichero que no tiene contenido alguno
cut -opciones fichero Corta columnas de un fichero de texto
cut -f1 -d":" /etc/passwd
cut -c10-50 carta
gzip -opciones archivos
Comprime el contenido de los ficheros. El nombre del fichero comprimido tendrá
extensión .gz y deberá descomprimirse antes de poder usarse. Para comprimir
más de un archivo, o directorios completos, deberá utilizarse además el comando
tar.
-d: Descomprime el archivo (se corresponde con el comando gunzip).
Ejemplos: gzip fichero
gzip -d fichero.gz (gunzip fichero.gz).
tar -opciones paquete archivos
Agrupa uno o más archivos en un paquete para después comprimirlo, copiarlo, ...
Es una instrucción compleja y con gran cantidad de opciones, entre ellas:
-f La información generada por el proceso se escribe en el fichero especificado en
vez de mostrarse por pantalla.
-c Crea un nuevo archivo de tipo tar.
-r Agrega archivos a un paquete existente.
-t Muestra el contenido de un paquete.
-u Agrega archivos al paquete sólo si estos son más recientes que los existentes.
-x Extrae o desempaqueta archivos de un paquete.
-z Comprime con gzip el paquete generado.
-j Comprime con bzip2 el paquete generado.
-v Proporciona los nombres de los archivos procesados.
Los archivos creados mediante tar tienen extensión .tar. Cuando el archivo tar se
comprime con gzip la extensión es .tar.gz y si se comprime con bzip2 será
.tar.bz2.
Ejemplos:
tar -cvzf paquete.tar directorio (empaqueta y comprime)
tar -xvzf paquete.tar (desempaqueta y descomprime)
tar -tf paquete.tar (muestra el contenido)
split -b nnn fichero trozos Corta el fichero en porciones de nnn bytes que se
llamarán: trozosaa, trozosab, trozosac, ...
El fichero se puede unir de nuevo usando:
cat trozosaa trozosab ... > fichero
o
cat trozos* > fichero
vi fichero Editor de ficheros de texto
< Redireccionamiento de entrada: redireccionamos los datos de entrada que necesita
una orden
mail jperez < carta
> Redireccionamiento de salida: redireccionamos los datos que produce una orden
date > fichero_fecha
>> Redirección de salida añadiendo
who >> fichero_fecha
2> Redirecciona los errores a un fichero
ls directorio 2> fichero_errores
&> redirecciona la salida y los errores
ls directorio &> fichero_salida
| Pipeline: encadena la salida de una orden con la entrada de otra
who |grep asir102
5.- Permisos
ls -l Muestra permisos de ficheros
chmod Permite cambiar los permisos de un archivo o de un directorio
Sintaxis no númerica
chmod u+r carta (añade permiso de lectura para el dueño)
chmod g-w carta (quita permiso de escritura el grupo)
chmod o=x carta (establece solo el de ejecución para otros)
Sintaxis numérica: r(4), w(2) y x(1). Se suman los que tengan permiso del
usuario (1º), del grupo (2º) de los demás (3º)
chmod 741 carta (7 = 4+2+1; 4 = 4+0+0; 1 = 0+0+1)
umask máscara Establece la máscara de permisos
chown nuevo_dueño fichero Cambia el propietario de un fichero
chgrp nuevo_grupo fichero Cambia el grupo asociado a un fichero
newgrp nombre_grupo Cambia de grupo activo de un usuario. Los nuevos ficheros
creados se asociarán a este grupo
newgrp Sin argumentos devuelve al usuario al grupo activo inicial al que se asoció el
usuario
su nombre_usuario Para cambiar de usuario. Es como iniciar una nueva sesión
adduser usuario Crea usuario
deluser usuario Borra usuario
addgroup grupo Crea grupo
delgroup grupo Borra grupo
Importante:
1. Por razones obvias el supervisor ostenta todos los permisos y derechos de acceso a
cualquier archivo o directorio del sistema. En el peor de los casos será el único que
podrá solventar una situación desesperada. No está sometido al sistema de protección
de archivos de UNIX.
2. Los permisos de acceso se suelen configurar de forma que se tenga un control total
sobre los ficheros propios, menor sobre los del resto de componentes del grupo del
propietario, muy limitado sobre el resto, y nulo o mínimo sobre los archivos del sistema,
que deben tener su acceso restringido al supervisor, quien debe asignar los permisos
imprescindible para el uso de órdenes a los usuarios apropiados.
Los permisos son asignados o modificados exclusivamente por el propietario (o el
supervisor).
3. El tipo de fichero (ordinario, directorio, especial, etc.) es utilizado por el sistema para
el tratamiento del archivo. Ciertas órdenes, como cd, precisan que el argumento sea de
tipo directorio mienta otras sólo actúan sobre archivos ordinarios.
4. Aunque eliminemos todos nuestros derechos sobre un archivo del que somos
propietarios, podemos volver a recuperarlos con la orden chmod. El único caso en que
perdemos definitivamente el control es el transferir su propiedad a otro usuario con la
orden chown. A partir de ese momento es el nuevo propietario el que puede modificar
los atributos de acceso.
5. Para ejecutar un archivo es preciso poseer permiso de ejecución, no sólo sobre dicho
archivo, sino sobre todos los directorios de la ruta o "pathname" especificada para
acceder a él.
El código numérico de permisos que se vayan a eliminar con la orden umask se refiere
siempre a la máscara inicial, aunque ésta ya hubiese sido modificada por ejecuciones
previas de umask.
Si se especifican más permisos para eliminar que los inicialmente asignados, se
eliminan todos.
Para restaurar la máscara inicial basta ejecutar la orden umask 000. La orden umask si
argumentos nuestra la máscara activa (con una cifra inicial más).
6. Al transferir la propiedad de un archivo a otro usuario conviene previamente mover o
copiar dicho archivo a su directorio de trabajo u otro donde el nuevo propietario disfrute
de los permisos pertinentes.
Un usuario puede pertenecer a varios grupos pero en cada momento sólo tiene activada
su pertenencia a uno de ellos.
El concepto de grupo asociado a un archivo se refiere en realidad al resto de los
usuarios del grupo, excluido el propietario, que incluso puede no pertenecer al grupo.
Análogamente, en el "resto" se suponen excluidos el propietario y los usuarios del grupo
asociado al archivo.
Al crear un archivo, el propietario asignado es el usuario que lo crea, y el grupo, su
grupo activo.
7. El sistema reconoce ciertos usuarios especiales, como el controlador de impresora lp.
Si ese usuario lp no tiene asignado el pertinente permiso de ejecución sobre los
directorios incluidos en la ruta o pathname del archivo, no podrá acceder a él y por
tanto no podrá imprimirlo. Por ello no siempre es aconsejable eliminar todos los
permisos a resto de usuarios.
Si un usuario pretende cambiar su grupo activo por otro al que no pertenece, UNIX
contesta cortésmente "Sorry".
8. La orden newgrp sin argumentos devuelve al grupo activo inicial al que se nos asocia
en el proceso login.
9. La orden su sin argumentos permite acceder al usuario root (si conociéramos su
clave de acceso). El usuario root es el administrador del sistema o superusuario. La
orden su abre una nueva subsesión en UNIX. Por ello, para regresar al identificador
inicial no se debe volver a usar su sino la orden exit.
La orden su obliga a cambiar de nombre de usuario pero no de directorio y puede que
con ello perdamos el acceso a los archivos que antes controlábamos. Si se desea
cambiar las características de la sesión para disponer de la configuración asociada al
nuevo usuario como si se hubiera accedido a él con un proceso login, hay que utilizar la
sintaxis su -newuser (con guión delante del nuevo identificador).
6.- Procesos. Estado y control de procesos
ps Lista los procesos que hay en curso (asociados al usuario). El terminal asociado.El
tiempo de CPU utilizado.
ps –e Lista todos los procesos que están en ejecución en la CPU (del servidor).
ps –ef Muestra información más completa por cada proceso inclido el PPID.
& Ejecuta una orden en segundo plano devolviendo el control al terminal
$ Variable de entorno, contiene el PID del proceso que se ejecuta en ese momento
! Variable de entorno, guarda el PID del último proceso que se ejecutó en segundo
plano
7.- Procesos. Planificación
at hora fecha [ + incremento ] [< lista_trabajos ] Ejecución diferida de órdenes en
el momento especificado.
at 11:00 Aug 17
Entre la hora y la fecha podemos escribir: am (mañana) o pm (tarde)
Fecha:




mes y día (May 12)
mes, día y año ( May 12 2004)
día de la semana ( Monday)
días especiales (today, tomorrow)
Hora:



now
noon
midnight
Incremento:






+ 3 hours
minutes
days
weeks
months
years
at –l Vemos el número asociado a cada trabajo diferido.
atrm nn Elimina un trabajo de la cola de trabajos diferidos (nn es el número del
trabajo)
batch [ < lista_trabajos ] Ejecuta una orden diferida (de la lista de trabajos) cuando
la carga del sistema lo permita (copias de seguridad por ejemplo). Se ejecutan en
segundo plano.
nice –n orden Modificar el nivel de prioridad en la ejecución de órdenes o programas.
Nota: prioridad por defecto es 10.
nice –5 deja la prioridad en 15 (le suma 5)
nice –-5 deja la prioridad en 5 (le resta 5)
El rango de prioridad va de -20 (prioridad más alta) a 19 (más baja)
nohup prog & Esta orden inhibe la terminación de un proceso ante la salida del
sistema. Ejecuta el programa en segundo plano y termina con él aunque se salga del
sistema.
crontab Programación de tareas periódicas. Cada tarea ocupa una línea con seis
valores separados con espacios. (Los minutos, Las horas, El día del mes, El mes, El día
de la semana (Un nº del uno al seis. El 0 equivale al Domingo)
Ejemplo: 0 11 15 * * orden (a las 11:00 horas del día 15 de cada mes)
Ejemplo: 0 */3 1 * * orden (cada 3 horas del día 1 de cada mes)
Ejemplo: 0 * 1-15 * * orden (los 15 primeros días de cada mes)
crontab –e Edita el archivo de órdenes actual del crontab
crontab archivo Establece el archivo de especificaciones para cron
crontab –l Muestra el archivo de órdenes actual
crontab –r archivo Borra el archivo de órdenes actual
NOTA: la salida de las órdenes que se programen con at o crontab deben ser
redirigidas a ficheros de log
NOTA: se puede controlar qué usuarios pueden o no pueden usar los servicios de cron.
Esto se logra a través de los siguientes archivos (es necesario crearlos):


/etc/cron.allow
/etc/cron.deny
Para impedir que un usuario utilice el comando crontab, basta con agregar su nombre
de usuario al archivo /etc/cron.deny y para permitirle su uso se agrega
al /etc/cron.allow; si por alguna razón se desea negar el uso de cron a todos los
usuarios, entonces se puede escribir la palabra ALL al inicio de cron.deny
8.- Procesos.Comunicación entre procesos
| pipe, encauza procesos
orden | tee fichero genera una salida paralela en un fichero especificado. La salida
estándar sigue produciéndose y además se envía una copia de la misma al fichero
especificado para su posterior análisis
orden | tee -a fichero Añade al fichero la salida de la orden
kill -n pid envía una señal a un proceso. El valor n es el número de señal; pid es el
identificador del proceso. Señales:
0 - Para salir de un shell
1 - Deja un terminal inactivo (colgado).
2 - Para enviar una interrupción (ctrl.+c) al proceso.
9 - Para matar a un proceso (no puede ignorar la señal).
15 - (señal por defecto) Muerte del proceso. Sin embargo algunos no mueren con
esta señal.
9.- Comunicaciones
write usuario Para enviar un mensaje a otro usuario. Hace falta que el usuario destino
esté conectado y tenga activada la opción mesg y
write usuario escribe mensaje a usuario
write usuario < mensaje (texto del mensaje sale del fichero)
write usuario tty7 Si se quiere detallar a qué terminal va el mensaje (en el caso
de que el usuario esté conectado en varios)
mesg Muestra el estado actual de la opción de recepción de mensajes
mesg (sin opciones) Activa la recepción de mensajes (acepta los mensajes que
nos envían con write).
mesg y Activa la recepción de mensajes (acepta los mensajes que nos envían con
write).
mesg n Desactiva la recepción de mensajes (rechaza los mensajes que nos envían
con write).
NOTA: mesg cambia el permiso de escritura del fichero terminal (tty7 por
ejemplo) para todos los usuarios.
wall Escribe un mensaje en el muro (mensaje a todos los usuarios conectados al
sistema). El mensaje va precedido del texto Broadcast message from... indica la
procedencia del mensaje (from root, from terminal)
wall (sin opciones) para escribir el texto del mensaje
wall < mensaje Desde un fichero
mail nombre_usuario Para enviar un correo a un usuario
mail nombre_usuario Para escribir el mensaje
mail nombre_usuario < mensaje Texto del correo desde fichero
mail Para entrar en el programa de administración de correo:
Intro o + leer el siguiente mensaje
Con – pasamos al mensaje anterior
Con n podemos leer el mensaje número n
Con d (delete) borramos un mensaje
Con q salimos del correo, borrando los mensajes suprimidos, recibidos o grabados
antes de salir
Con x salimos del correo sin modificar nada (sin modificar el buzón)
news Muestra las noticias no leídas. Para crear una noticia, basta con crear un fichero
con la noticia y copiarlo en el directorio de noticias (/usr/news); es necesario tener
permiso para escribir en ese directorio
news –a Muestra todas las noticias
news –n Muestra las cabeceras de las noticias no leídas
calendar Agenda de eventos. Muestra los eventos de hoy y los de mañana. Para utilizar
la agenda, se crea un fichero con nombre calendar en el directorio activo con la
siguiente sintaxis:
jun 4 partido de basket
6/4 ir al cine
(admite ambas sintaxis. Usar el tabulador entre la fecha y el evento)
10.- Conexión remota
ping -cn ip envía n paquetes a la ip especificada
telnet acceso remoto a otro ordenador a través de una red
telnet host
ssh acceso remoto seguro a otro ordenador a través de una red
ssh usuario@host
scp transferencia de ficheros entre máquinas
subir (de máquina local a remota):
scp archivolocal usuario@maquina_remota:archivoremoto
bajar (de máquina remota a local):
scp usuario@maquina_remota:archivoremoto archivolocal
Descargar