Upload
feli-tos
View
248
Download
0
Embed Size (px)
Citation preview
8/19/2019 Gnu Linux Asir
1/22
Comandos Unix
GNU/Linux
GNU/Linux es uno de los términos empleados para referirse a la combinación delnúcleo o kernel libre similar a Unix denominado Linux, que es usado con herramientasde sistema GNU. Su desarrollo es uno de los ejemplos ms prominentes de soft!arelibre" todo su códi#o fuente puede ser utili$ado, modificado % redistribuido libremente
por cualquiera bajo los términos de la G&' (L icencia P ública G eneral de GNU, eninglés: G eneral P ublic License) % otra serie de licencias libres.*
+ pesar de que 'inux (núcleo) es, en sentido estricto, el sistema operatio,- partefundamental de la interacción entre el núcleo % el usuario (o los pro#ramas deaplicación) se maneja usualmente con las herramientas del pro%ecto GNU o de otros
pro%ectos como GN/0. Sin embar#o, una parte si#nificatia de la comunidad, as1
como muchos medios #enerales % especiali$ados, prefieren utili$ar el término Linux para referirse a la unión de ambos pro%ectos
+ las ariantes de esta unión de pro#ramas % tecnolo#1as, a las que se les adicionandiersos pro#ramas de aplicación de propósitos espec1ficos o #enerales se las denominadistribuciones. Su objetio consiste en ofrecer ediciones que cumplan con lasnecesidades de un determinado #rupo de usuarios. +l#unas de ellas son especialmenteconocidas por su uso en seridores % supercomputadoras.2 donde tiene la cuota masimportante del mercado. Se#ún un informe de 34C, GNU5'inux es utili$ado por el 678de los principales 9:: seridores del mundo,; otro informe le da una cuota de mercadode 8 7< en los 9:: ma%ores supercomputadores.9 Con menor cuota de mercado el
sistema GNU5'inux también es usado en el se#mento de las computadoras de escritorio, porttiles, computadoras de bolsillo, teléfonos móiles, sistemas embebidos,ideoconsolas % otros dispositios
0l pro%ecto GNU, que fue iniciado en *
8/19/2019 Gnu Linux Asir
2/22
Comandos Unix
Componentes
E Nucleo o KernelE Entorno gráfico, compuesto de F
o seridor #rafico ersión del xE!indo!sEs%stem de unix, en principio fue
el pro%ecto xfree7 , ho% en dia pro%ecto xor#.
o Gestor de escritorios (Adm, #dm)
o Un escritorioF los ms populares en 'inux, en orden alfabético son
GN/0, 40, '?40, ?fce % ?f .
E Como sistema de programaciónF >iene capacidad para compilar C, CHH, Iaa,+da. @a% arios entornos de desarrollo inte#rados disponibles para GNU5'inuxinclu%endo, +njuta, 4eelop, UltimateHH, CodeFFJlocAs, NetJeans 340 %0clipse. >ambién existen editores extensibles como 0macs o Kim. GNU5'inuxtambién dispone de capacidades para len#uajes de #uión (script), aparte de losclsicos len#uajes de pro#ramación de shell, o el de procesado de textos por
patrones % expresiones re#ulares llamado a!A , la ma%or1a de las distribucionestienen instalado &%thon, &erl, &@& % =ub%.
E Aplicaciones de usuarioF en paquetes .deb % .rpm
E Softare de código cerrado para GNU/LinuxF 4urante la etapa tempranahab1a pocas aplicaciones de códi#o cerrado para GNU5'inux. Con el tiempo sefueron portando pro#ramas no libres al sistema GNU5'inux, entre ellos +dobe=eader , +dobe Llash, Goo#le &icasa, pera, entre otros.
kernel ó núcleo
El kernel ó núcleo de linux se puede definir como el corazón de este sistema operativo.Es el encargado de que el software y el hardware de tu ordenador puedan trabajar
juntos.
as funciones m!s importantes del mismo" aunque no las únicas" son#
• $dministración de la memoria para todos los programas y procesos en ejecución.
• $dministración del tiempo de procesador que los programas y procesos en
ejecucion utilizan.
&a#ina - de --
http://es.wikipedia.org/wiki/GNOMEhttp://es.wikipedia.org/wiki/KDEhttp://es.wikipedia.org/wiki/LXDEhttp://es.wikipedia.org/wiki/Xfcehttp://es.wikipedia.org/w/index.php?title=Xf&action=edit&redlink=1http://es.wikipedia.org/wiki/Chttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Javahttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Adahttp://es.wikipedia.org/wiki/Entorno_de_desarrollo_integradohttp://es.wikipedia.org/wiki/Anjutahttp://es.wikipedia.org/wiki/KDevelophttp://es.wikipedia.org/wiki/KDevelophttp://es.wikipedia.org/wiki/Ultimate%2B%2Bhttp://es.wikipedia.org/wiki/Code::Blockshttp://es.wikipedia.org/wiki/NetBeans_IDEhttp://es.wikipedia.org/wiki/Eclipse_(software)http://es.wikipedia.org/wiki/Emacshttp://es.wikipedia.org/wiki/Vimhttp://es.wikipedia.org/wiki/Int%C3%A9rprete_de_comandoshttp://es.wikipedia.org/wiki/Int%C3%A9rprete_de_comandoshttp://es.wikipedia.org/wiki/Awkhttp://es.wikipedia.org/wiki/Pythonhttp://es.wikipedia.org/wiki/Perlhttp://es.wikipedia.org/wiki/PHPhttp://es.wikipedia.org/wiki/Rubyhttp://es.wikipedia.org/wiki/C%C3%B3digo_cerradohttp://es.wikipedia.org/wiki/Software_privativohttp://es.wikipedia.org/wiki/Adobe_Readerhttp://es.wikipedia.org/wiki/Adobe_Readerhttp://es.wikipedia.org/wiki/Adobe_Flashhttp://es.wikipedia.org/wiki/Google_Picasahttp://es.wikipedia.org/wiki/Operahttp://es.wikipedia.org/wiki/N%C3%BAcleo_(computaci%C3%B3n)http://es.wikipedia.org/wiki/N%C3%BAcleo_(computaci%C3%B3n)http://es.wikipedia.org/wiki/GNOMEhttp://es.wikipedia.org/wiki/KDEhttp://es.wikipedia.org/wiki/LXDEhttp://es.wikipedia.org/wiki/Xfcehttp://es.wikipedia.org/w/index.php?title=Xf&action=edit&redlink=1http://es.wikipedia.org/wiki/Chttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Javahttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Adahttp://es.wikipedia.org/wiki/Entorno_de_desarrollo_integradohttp://es.wikipedia.org/wiki/Anjutahttp://es.wikipedia.org/wiki/KDevelophttp://es.wikipedia.org/wiki/Ultimate%2B%2Bhttp://es.wikipedia.org/wiki/Code::Blockshttp://es.wikipedia.org/wiki/NetBeans_IDEhttp://es.wikipedia.org/wiki/Eclipse_(software)http://es.wikipedia.org/wiki/Emacshttp://es.wikipedia.org/wiki/Vimhttp://es.wikipedia.org/wiki/Int%C3%A9rprete_de_comandoshttp://es.wikipedia.org/wiki/Awkhttp://es.wikipedia.org/wiki/Pythonhttp://es.wikipedia.org/wiki/Perlhttp://es.wikipedia.org/wiki/PHPhttp://es.wikipedia.org/wiki/Rubyhttp://es.wikipedia.org/wiki/C%C3%B3digo_cerradohttp://es.wikipedia.org/wiki/Software_privativohttp://es.wikipedia.org/wiki/Adobe_Readerhttp://es.wikipedia.org/wiki/Adobe_Readerhttp://es.wikipedia.org/wiki/Adobe_Flashhttp://es.wikipedia.org/wiki/Google_Picasahttp://es.wikipedia.org/wiki/Operahttp://es.wikipedia.org/wiki/N%C3%BAcleo_(computaci%C3%B3n)http://es.wikipedia.org/wiki/N%C3%BAcleo_(computaci%C3%B3n)
8/19/2019 Gnu Linux Asir
3/22
Comandos Unix
• Es el encargado de que podamos acceder a los perif%ricos&elementos de nuestro
ordenador de una manera cómoda.
'asta que empezó el desarrollo de la serie (.) del núcleo" existieron dos tipos de
versiones del núcleo#
• Versión de produccion: a version de produccion" era la version estable hasta el
momento. Esta version era el resultado final de las versiones de desarrollo o
experimentales.
*uando el equipo de desarrollo del núcleo experimental" decidia que tenia un
núclo estable y con la suficiente calidad" se lanzaba una nueva versión de
producción ó estable. Esta versión era la que se debia utilizar para un uso
normal del sistema" ya que eran las versiones consideradas m!s estables y libres
de fallos en el momento de su lanzamiento.
• Versión de desarrollo: Esta versión era experimental y era la que utilizaban los
desarrolladores para programar" comprobar y verificar nuevas caracter+sticas"
correcciones" etc. Estos núcleos solian ser inestables y no se debian usar sin
saber lo que se hacia.
*omo interpretar los numeros de las versiones de las series por debajo de la 2.6#
• as versiones del núcleo se numeraban con , numeros" de la siguiente forma#
$$.--.**
AA# ndicaba la serie&versión principal del núcleo. /olo han existido la 0 y (. Este
número cambiaba cuando la manera de funcionamiento del kernel habia sufrido
un cambio muy importante.
BB# ndicaba si la versión era de desarrollo ó de producción. 1n número impar"
significaba que era de desarrollo" uno par" que era de producción.
CC: Indicaba nuevas revisiones dentro de una versión, en las que lo único que
se habia modificado eran fallos de programación.
• nos e!emplos nos a"udaran a entenderlo me!or:
e!#: versión del núcleo $.%.&: 'úcleo de la serie $ (AA)$*, versión de
producción % (BB)% par*, primera versión de la serie $.% (CC)&*
&a#ina 2 de --
8/19/2019 Gnu Linux Asir
4/22
Comandos Unix
e!$: versión del núcleo $.%.#: 'úcleo de la serie $, versión %, en el que se han
corregido errores de programación presentes en la version $.%.& (CC)#*
e!+: versión del núcleo $..&: versión & del núcleo de desarrollo $..
Con la serie 2.6 del núcleo, el sistema de numeración asi como el modelo de desarrollo
han cambiado. -as versiones han pasado a numerarse con % digitos " no eisten
versiones de produccion " desarrollo.
• -as versiones del núcleo se numeran ho" en dia con % digitos, de la siguiente
forma: AA.BB.CC.//.
AA: Indica la serie0versión principal del núcleo.
BB: Indica la revision principal del núcleo. 'umeros pares e impares no tienen
ningun significado ho" en dia.
CC: Indica nuevas revisiones menores del núcleo. Cambia cuando nuevas
caracteristicas " drivers som soportados.
//: 1ste digito cambia cuando se corrigen fallos de programación o fallos de
seguridad dentro de una revisión.
2o" en dia se suele usar el nucleo distribuido con la distribucion que el usuario utili3a.
4on las distribuciones las encargadas de distribuir núcleos estables a sus ausuarios "
estos nucleos se basan en el núcleo (5vanilla5* distribuido por -inus 6orvalds " el equipo
de programadores del núcleo.
Dónde conseguir el núcleo
1l núcleo denominado 5vanilla5 (sin alteraciones " suministrado por -inus 6orvalds* se
puede ba!ar de un gran número de servidores en internet pero el sitio oficial es
http:00777.8ernel.org0 . 1n este enlace tienes la lista internacional oficial de servidoresespe!os , de donde es posible ba!arse cualquier versión del núcleo (última " antig9as*.
Cada distribución distribu"e sus nucleos por los canales de actuali3ación habituales para
cada una de ellas.
&a#ina ; de --
http://www.kernel.org/http://www.kernel.org/mirrors/http://www.kernel.org/mirrors/http://www.kernel.org/http://www.kernel.org/mirrors/http://www.kernel.org/mirrors/
8/19/2019 Gnu Linux Asir
5/22
Comandos Unix
Estructura del sistema
programasbibliotecas compartidas
núcleoManejo de señales
Planificación de la CPU
Controladores de dispositivos
Gestión de memoria
Sistema de E/S
Sistema de archivos
módulos cargables
Organización de directorios en Linux
!irectorio !escripción
5 =a1$ (root ), forma la base del sistema de archios.
5boot +rchios del Aernel (compilados).
5bin +rchios ejecutables esenciales para todos los usuarios.
5de +rchios de dispositios.
5etc +rchios de confi#uración.
5etc5rc.d +rchios de iniciali$ación (=ed @at).
5home Generalmente, directorios de los usuarios.
5home5ftp Contenido del seridor L>&.
5home5httpd Contenido del seridor MMM.
5lib 'ibrer1as esenciales % módulos del Aernel.
5mnt 4irectorios donde montarOO diersos dispositios temporalmente.
5mnt5cdrom 4irectorio donde se montaOO el C4E=/.
5mnt5flopp% 4irectorio donde se montaOO el disquete.5proc 3nformación sobre partes del sistema.
5root 4irectorio del usuario principal del sistema.
5sbin +rchios ejecutables para tareas de administración.
5tmp >emporal.
5usr &ro#ramas, documentación, fuentes,...compartidos por todo el sistema
5ar +rchios ariables del sistema, bitcoras, temporales,...
&a#ina 9 de --
8/19/2019 Gnu Linux Asir
6/22
Comandos Unix
'a tabla 2.*: muestra los principales subdirectorios del directorio usr .
!irectorio !escripción
5usr5?**= &aquete ?Lree7 (?EMindo!s) =elease .
5usr5bin +rchios ejecutables para usuarios.
5usr5dict 'istados de palabras (diccionarios).5usr5doc 4ocumentación.
5usr5doc5L+P L.+.P. (o &.U.L.).
5usr5doc5@M> @M>Os.
5usr5etc +rchios de confi#uración del sistema.
5usr5#ames Iue#os.
5usr5include +rchios de encabe$ado.
5usr5info Sistema de información GNU info.
5usr5lib 'ibrer1as
5usr5local Ierarqu1a de archios locales.
5usr5man /anuales.
5usr5sbin +rchios ejecutables de administración no itales.
5usr5share 4atos independientes de la arquitectura.5usr5src Códi#o fuente.
5usr5src5linux Códi#o fuente del kernel de 'inux.
'a tabla 2.** muestra los principales subdirectorios del directorio var .
!irectorio !escripción
5ar5catman /anuales formateados localmente.
5ar5lib 3nformación del estado de aplicaciones.
5ar5local Kariables del aplicaciones en 5usr5local.
5ar5locA +rchios de cerrojo.
5ar5lo# Jitcoras del sistema.
5ar5named +rchios del 4NS.
5ar5nis Jase de datos para N3S (Net!orA 3nf. Serice).5ar5presere +rchios de respaldo después de una ca1da para i o ex.
5ar5run +rchios releantes a pro#ramas corriendo.
5ar5spool Colas de trabajos para reali$ar mas tarde.
5ar5spool5at +rchios creados por comando at .
5ar5spool5cron +rchios creados por comando crontab.
5ar5spool5lpd +rchios de impresora.
5ar5spool5mail +rchios de correo de cada usuario.
5ar5spool5mqueue +rchios de correo de salida.
5ar5spool5ne!s +rchios de noticias de salida.
5ar5spool5smail +rchios de correo de smail .
5ar5tmp >emporal.
Formato de los comandos y ayuda
'os comandos en linux son much1simos % cada uno tiene un formato especialFcomando "opciones# "argumentos#
'as opciones % ar#umentos ar1an de un comando a otro. No siempre tienenar#umentos, aunque casi siempre tienen much1simas opciones.
&a#ina de --
8/19/2019 Gnu Linux Asir
7/22
Comandos Unix
/emori$ar todo es mu% dif1cil. &ara saber como utili$ar un comando se usa la a%uda.man comando
A$U!A
E man comando a%uda sobre un comandoE man QA literal permite buscar un literal en la a%udaE man bash a%uda sobre el interprete de comandos0structurada por secciones * órdenes de usuario - llamadas al sistema 2 funciones de bibliotecas 9 formatos de ficheros 7 órdenes de administración de sistemaman QS - chmod (o simplemente man - chmod)E directorio 4CS del C4 (ho!to % mini (miniho!to))
L%S !&SP%S&'&(%S
Se en de manera similar a los ficheros tipo carcter tipo bloque ESe identifican porF
tipo, número ma%or % número menor E0stn normalmente en 5de
5de5hda* 5de5fd: 5de5tt% 5de5null 5de5pts
'os crea el superusuario mAnod 5de5cosa b : ; (crea al deice cosa en modo de transferencia de
bloque Rsi fuera carcter c con un alor minimo de : % alor max. 4e ;,cosa:,cosa*,..)
mAnod 5de5sdb b : ; (creo un deice para un pendrie)
C)EA) !&SC% !E A))AN*UE
E dd ifTima#endeldisco ofT5de5fd:
dd ifT5de5hd? ofThd?.iso
eso crea una copia identica del disco a un fichero .iso
dd ifThd?.iso ofT5de5hd?
con esto restauras el sistema a lo que tenias cuando hiciste la copia
&a#ina 6 de --
8/19/2019 Gnu Linux Asir
8/22
Comandos Unix
mount Eo loop hd?.iso 5mnt5hd?
con esto, sobre tu disco duro puedes modificar el contenido del fichero .iso,
GES'&%N !E USUA)&%S
E adduser nombreusuario crea un directorio en 5home con el nombre del usuario %crea la cuenta de usuarioE adduser usuario #rupo aade un usuario al #rupoE deluser borra un usuarioE deluser usuario #rupo elimina un usuario de un #rupoE add#roup crea un #rupoE del#roup elimina un #rupoE useradd,userdel lo mismo pero mas bsico, sin pre#untasE #roups usuario #rupos a los que pertenece un usuario
E pass!d nombreusuario establece un pass para la cuentaE ! Qsf muestra información de los usuarios, cuentas, consolasabiertas, % que hacen en cada una de ellasE fin#er me indica los usuarios conectadosE !ho usuario me da información de un usuarioE chfn usuario permite cambiar el nombre real de un usuarioE chsh Qs Shell usuario permite cambiar el shell con el que inicia la sesion unusuarioF
*V es necesario conocer los shell disponibles, para ello esnecesario editar el contenido del fichero 5etc5shells
-V ejecutamos el comando indicando el shell
E usermod WopcionesX lo#in&ermite modificar la cuenta de usuario una e$ ha sido creada. &oseelas mismas opciones que la orden useradd.%pciones+
Ec /odifica el Rnombre del usuario.Ed /odifica el directorio de trabajo del usuario (directorio home).Es /odifica el shell que usar por defecto el usuario.E# /odifica el #rupo base del usuario.
EG 3ndica a que otros #rupos pertenecer el usuario.E' Jloquea la contrasea, deshabilitando la cuenta de usuario.EU 4esbloquea la contrasea, habilitando la cuenta de usuario para
iniciar sesión.
'&P%S !E S,ELL
E Journe shell Futili$ado para const%ruir nueos comandos mediante #uiones (bash)+l iniciar utili$a etc5profile (parte comun del entorno para todos) %Y5.bashZprofile (archio personal del usuario)
4esde otro interprete Y5.bashrc % 5etc5bashrc+l salir Y5.bashZlo#out
&a#ina 7 de --
8/19/2019 Gnu Linux Asir
9/22
Comandos Unix
E CshellF los #uiones (scripts) se constru%en en c (>csh)&dAsh o Ash F otros shell menos conocidos
Cada shell define un entorno con ariables propias % definidas por el usuario. 'asariables definidas t1picamente en el shell Jash, suelen serF
(aria-le !escripción
43S&'+[ 4onde aparecen la salidas de ?EMindo!s.
@/0 4irectorio personal.
@S>N+/0 Nombre de la mquina.
/+3' +rchio de correo.
&+>@ 'ista de directorios donde buscar los pro#ramas.
&S* &rompt.
S@0'' 3ntérprete de comandos por defecto.
>0=/ >ipo de terminal.
US0= Nombre del usuario.
'as ariables de entorno se definen, en J+S@, con el comando exportFexport (A)&A.LE 0alor
0xisten ficheros que personali$an % definen estas ariables.E 5etc5profileE Y5.bashZprofileE Y5.bashZlo#inE Y5.profileE Y5.bashrc
C%NS%LAS
+lt H LnV cambia de una consola a otra+lt H ctrl. H LnV cambia a una consola estando en modo #rafico+lt H L6 uele a la consola en modo #rafico
!&)EC'%)&%S
E p!d muestra el directorio actualE ls muestra el contenido de un directorio. pcionesF
Ea muestra los ocultos (deben empe$ar por .)EL distin#ue los diferentes tipos de ficheros (\para los ejecutables)EEcolor i#ual que QL pero los distin#ue por coloresEl lista los archios con formato lar#oEi con inodosE= recursioEt ordenado por tiemposEr orden inersoEd no meterse en directorios
$ ls -l-rw-r--r-- 1 skina users 17680 Nov 29 16:52 GNU-GPL.tex
-rw-r--r-- 1 skina users 257 Nov 0 19:52 !ake"i#e-rw-r--r-- 1 skina users 1562 Nov 29 1:7 autori%a&ion.txt-rw-r--r-- 1 skina users 61 '&t 2 21: (i(#io.tex
&a#ina < de --
8/19/2019 Gnu Linux Asir
10/22
Comandos Unix
)rwxr-xr-x 2 skina users 102 Nov 2 01:02 (in*-rw-r--r-- 1 skina users 99 Nov 0 19:26 &re)itos.tex-rw-r--r-- 1 skina users 550 Nov 0 19:8 &urso+#inux.tex)rwxr-xr-x 2 skina users 072 Nov 0 22:55 i,aes*)rwxr-xr-x skina users 102 Nov 0 00:09 insta##*
*V Grupo T &ermisos-V Grupo T Número de archios que contiene2V Grupo T Usuario propietario del archio o directorio;V Grupo T Grupo propietario del archio o directorio9V Grupo T >amao del archio o directorioV Grupo T Lecha % hora de creación del archio o directorio6V Grupo T Nombre del archio o directorio
E stat fichero información de inodo
E mAdir directorio crear directorio, con Qp si no existe la estructura intermedia lacreaE rmdir directorio borrar directorio, con Qp elimina los dir aciosE cd directorio cambia de directorioE cd .. sube un directorioE cd 5 a al dir rai$E cd Y a al dir home del usuario
N%1.)ES E &N%!%S
- 'inux soporta arios sistemas de ficherosF minix, ext-, ext2 , fat (Mindo!s), ...
E Un fichero se representa por un inodo (index node)E 3nformación bsica (stat fichero)F
E >ipoE &ropietarioE &ermisosE 'on#itudE Lechas % horas de creación, modificación % acceso.E Número de nombres
E /apa de bloquesFE &unteros directos (arios, depende de tamao de inodo)
E &untero indirecto simple- &untero indirecto dobleE &untero indirecto tripleE 'os punteros nulos sealan a#ujeros (se leen ceros)
!&)EC'%)&%S $ ENLACES
- Un directorio es un tipo de fichero con pares inodoEnombre (ls Qi)- Un inodo puede tener arios nombres (Se#unda columna de ls Ql)- 0nlace duro (da otro nombre a un inodo) (inodo+, uno) E] (inodo+, otro) ln otro uno
- 0nlace simbólico (indirección de nombres) uno E] otro ln Es otro uno ( Ker última columna de ls Ql)
&a#ina *: de --
8/19/2019 Gnu Linux Asir
11/22
Comandos Unix
+ niel de usuario los enlaces duros apenas se usan. Sire para asociar diferentesnombres de archio a un mismo inodo directamente.Arc2i0o3 &N%!% Arc2i0o4
0n cambio, los enlaces sim-ólicos son mu% útiles para asociar diferentes nombres de
archio indirectamenteFArc2i0o4 Arc2i0o3 &N%!%
5&C,E)%S
'inux diferencia entre ma%usculas % minusculas, la lon#itud max. de losnombres es de -9 caracteres, los caracteres comodines sonF
• \ cualquier conjunto de car
• ^ un unico car
• WaeiouX\ fichero que empiece en ocal
los comodines tambien se pueden utili$ar en los directorios.0jFls 5\5\5ch\ (archios que empiecen por ch en los dos primeros nieles de
subdirectorios)
E cat nombref muestra el contenido del fichero (sin pausas)E more nombref muestra el contenido del fichero (pa#inado)E less nombref muestra el contenido del fichero % permite moerte con loscursores
E cp ori#en destino copia ficheros % estructuras de directorio. pcionesFEf fuer$a a sobrescribir Er copia tambien subdirectoriosEi pre#unta antes de sobrescribir E se escriben en pantalla todas las operaciones que se
realicenEu solo sobrescribe si es mas nueoEp conserando atributos
E m WEfriuX ori#en destino muee a otro lu#ar o cambia el nombreE rm WEfriuX borra tanto archios como directoriosE rm Qr directorio borra un directorio % sus subdirectorios aunque no estén acios
E ln Qs fichori#en fichenlace crea un enlace al fichero ori#enE find directorio busca ficheros
t%pe f ficheros normalest%pe d directoriost%pe l enlaces simbólicos
. !hereis busca ficherosE du ficheros o directorios uso de disco
Ea inclu%e ficherosE file ficheros heur1sticos para aeri#uar el tipo de fichero
PROPIETARIOS
->odo usuario tiene una identificación (uid)
&a#ina ** de --
8/19/2019 Gnu Linux Asir
12/22
Comandos Unix
E &ertenece a uno o arios #rupos (#id)E >odo fichero pertenece a un usuario % un #rupoE >odo proceso se ejecuta en nombre de un usuario % un #rupo
normalmente el que lo lan$ó a eces el propietario del pro#rama (setuid)
E 0xisten usuarios % #rupos priile#iados (root)E &ara cambiar el propietario hacen falta priile#ios
cho!n usuario fichero
PE)1&S%S !E 5&C,E)%S
E chmod u#oaWHEXTr!xu#o fichero modifica los permisos de un ficherou usuarios, # #rupo, o otros, a allr lectura, ! escritura, x ejecución
0jF chmod o#Er fich chmod oT# fich chmod ;; fich
E ch#rp #rupo fichero asi#na un fichero a un #rupo, lue#o seria necesario dar oquitarle permisos pero los del #rupo podran er el ficheroE cho!n usuario o #rupo fichero cambia el propietario de un fichero
cho!n alumnoFprin#aus Y5documentos5linux.pdf ls El Y5documentos5linux.pdf Er!Er!ErEE * alumno prin#aus -7; ene - -*F:< linux.pdf linuxFY_ id aitor uidT9::(aitor) #idT9::(aitor) #ruposT9::(aitor)linuxFY_ cho!n 9:: Y5documentos5linux.pdf linuxFY_ ls El Y5documentos5linux.pdf Er!Er!ErEE * aitor prin#aus -7; ene - -*F:< linux.pdf
E umasA mascara fichero da los permisos por defecto mediante una mascaraejF umasA :66 todos los permisos para el propietario
PE)1&S%S !E L%S A)C,&(%S
&ara cada uno de estos tres tipos de usuarios podemos
definir tres permisos diferentesFE Permiso de Lectura (r por =ead) &ara un archio permite que se lea su contenido. &ara un directorio, permite que se muestren los ficheros que contiene.E Permiso de Escritura (! por Mrite) &ara un archio
permite modificarlo o borrarlo. &ara un directorio permite que el usuario aada o elimine archios.E Permiso de E6ecución (x, por e?ecute) &ara unarchio ejecutable permite que sea ejecutado. &ara undirectorio permite que un usuario lo recorra, es decir,
puede entrar leer o escribir en él.
&a#ina *- de --
8/19/2019 Gnu Linux Asir
13/22
Comandos Unix
UN&!A!ES 5&S&CAS
Particiones y formateo
Un dispositio de bloques, como el disco duro, ha de particionarse % formatearse.
'as particiones se hacen con el pro#rama fdisAF
fdis7 dispositi0o
por ejemplo, el disco duro ser1aF fdisA 5de5hdaUna e$ dentro se puede manipular % crear toda clase de particiones. Con la tecla m, seobtiene a%udaFE 'a tecla p muestra las particiones actualesE 'a tecla n crea nueas particionesE 'a tecla d borra particiónE 'a tecla t cambia el tipo de partición. &or defecto, 'inux.
E 'a tecla #raba las particiones en el dispositioE 'a tecla 8 sale del pro#rama.
0l formateo en linux se hace conF
m7fs 9t tipo dispositi0o
donde tipo es el tipo de sistema de ficherosF ext-, ext2, fat, msdos, etc.E mAfs Qt tipo WEcX dispositio crea un sistema de ficheros en la unidad indicada(es como formatear) (con la opcion Ec detecta bloques defectuosos).
0jF mAfs Qt ext- 5de5fd: formatea un disAette
E mount WdispositioX WsituaciónX WopcionesX monta un sistema de ficheros bajo una jerarqu1a de directoriosE mount nos muetra un listado de dispositios montados 0jF mount 5de5hdc 5cdrom Qt iso
8/19/2019 Gnu Linux Asir
14/22
Comandos Unix
E df muestra informacion de las particionesE mAs!ap WEcX dispositio WtamaoX define una partición como de tipo s!apE s!apon dispositio s!apoff dispositio actia o desactia una partición s!apE free información sobre el usio de la memoria % de la partición s!apE mAnod se utili$a para crear ficheros de dispositios (er manual)
'inux tiene la posibilidad de montar las im#enes de cd5dd sin tener que #rabarlas.+sumo que sabes como crear directorios % que sabes qué es Rmontar un sistema deficheros.
Con unos cuantos comandos de consola podremos montar distintos tipos de im#enesde C454K4 fcilmente.
Montar una imagen ISO:
sudo mount Et isocuecorrespondiente a un solo archio .isoF
bchunA archio.bin archio.cue nueoarchio.iso
+hora %a tendrs un nueo archio iso que podrs montar como se explica ms arriba.
Montar imágenes N! "imágenes de Nero Burning om#:
&ara poder montar estas im#enes tendremos que conertirlas a 3S. &ara ello usaremosel pro#rama nrg4iso, para instalarlo haremosF
sudo aptE#et install nr#-iso
% cuando %a esté instalado, para conertir la ima#enF
nr#-iso archio.nr# nueoarchio.iso
% para montar la ima#en 3S simplemente debes se#uir las instrucciones detalladas ms
arriba.
&a#ina *; de --
8/19/2019 Gnu Linux Asir
15/22
Comandos Unix
Montar imágenes M$% y M$S
4e nueo utili$aremos un pro#rama para conertir antes la ima#en mdf a iso. 0l pro#rama tiene el ori#inal nombre de mdf4iso. &ara instalarloF
sudo aptE#et install mdf-iso
% una e$ instalado conertiremos el archio /4L a 3SF
mdf-iso archio.mdf nueaima#en.iso
Montar imágenes IM!
Usaremos el pro#rama CC!4&S%. 0ste pro#rama no lo he podido descar#ar desde losrepositorios oficiales de Ubuntu pero de todos modos no estar1a de ms que intentes
instalarlo por aptE#et as1F
sudo aptE#et install ccd-iso
&ara instalarlo de este modo descar#amos el archio que sera al#o as1 como Rccd-isoE:.-.tar.#$ (puede ariar la ersión) % primero lo descomprimimos as1F
tar Ex$f ccd-isoE:.-.tar.#$
+hora que tendremos una carpeta llamada Rccd-iso, hacemos lo si#uienteF
cd ccd-iso
.5confi#ure
maAe
maAe install
Con esto %a tendremos instalado el pro#rama ccd-iso. Linalmente para conertir laima#en ccd a iso hacemosF
ccd-iso ima#en.im# ima#en.iso
[ montaremos la ima#en iso recien creada como se explica ms arriba en esta misma#u1a.
AL&AS $ C%NCU))ENC&A
E alias rmTrm iE alias lsT Rls QlaE etc ` permite crear un comando con tus opciones faoritasE para ejecutar arios comandos secuencialmente
&a#ina *9 de --
8/19/2019 Gnu Linux Asir
16/22
Comandos Unix
sleep -" sleep -" sleep - tarda se#undos
E para ejecutar comandos en concurrencia sleep - sleep - sleep - tarda - se#undos
E para ejecutar comandos en -V plano (nos deuele el control al sistema) sleep :
E +#rupamientoF (sleep 9" date) date
(date " !ho) tee dir !c
(cd 5 " ls) !c El
P)%CES%S
E ps muestra los procesos que se estan ejecutandoE ps ax muestra todos los procesos en ejecución del sistema % de todos los
usuarios
E top muestra el estado del sistema % de los procesosE jobs muestra el estado de los procesos en ejecuciónE f# 8nVtrabajo pasamos un trabajo que esta en -V plano a *V plano. Si estamos
ejecutando un trabajo % pulsamos Ctrl.HC lo cancelamos % si pulsamos ctrl.H lo pasamos a -V plano % lo podremos continuar con f#
E b# 8ntrabajo continua ejecutando en -V plano un proceso paradoE Aill 8ntrabajo termina con el trabajoE Aill WEsealX &34 elimina un proceso % sus hijos
E< o EAill F seaAl de muerte
E* o @U& F seal de reinicio de proceso
E pstree muestra procesos en rbol
E nice lan$a un proceso con una determinada prioridad E-:`*< por defecto es : solo el root puede establecer alores
ne#atios (max prioridad)E renice cambia la prioridad de un proceso
&a#ina * de --
8/19/2019 Gnu Linux Asir
17/22
Comandos Unix
)E!&)ECC&%NA1&EN'%S
(0stndar por teclado ) 0ntrada &rocesos Salida (estndar por pantalla)
&odemos redireccionar la entrada o salida a cualquier otro dispositio.
0jemploF ls Ql ] fichero en1a la salida a un fichero con la salida del comando ls.
? salida @ entrada
E SalidaF &o,an)o ar&ivo
E Salida sin borrarF &o,an)o ar&ivo
E 0ntradaF &o,an)o 3 ar&ivo
E 0rroresF &o,an)o 4 ar&ivo
E 0rrores sin borrarF &o,an)o 4 ar&ivo
E >uber1aF &o,an)o1 &o,an)o2 es lo mismo queF
&o,an)o1 "i&ero.t,&o,an)o2 3 "i&ero.t,
0l operador de redirección de salida es destructio (]), si existiera f- lo destru%esobrescribiendo la nuea información. &ara no destruirlo se utili$ar1a elredireccionador (??)>
cat f* ] f- co#e la entrada de f* % pone como salida f-, es decir, copia f* en f-.
C%1AN!%S !E ')A'A1&EN'% !E 'E'% $ 5&C,E)%S !E 'E'%
(isualiBar fic2eros
Cat crea, isuali$a % concatena un fichero de texto
cat ] fichero crea el fichero de texto. &ara terminar con la entrada pulsar CtrolH4
cat fichero isuali$a el fichero
cat fichero fichero ] f- concatena el fichero Rfichero % lo #uarda en el fichero
f-.
more listado edita ficheros lar#os, para bajar l1neas pulsar 0nter, para pa#inar, la
barra espaciadora. &ara salir pulsamos 8 o anulamos el proceso con Control H C.
less listado edita ficheros de texto pero se diferencia con more en que podemos
utili$ar todas las teclas de dirección.
Comparación de fic2eros
&a#ina *6 de --
8/19/2019 Gnu Linux Asir
18/22
Comandos Unix
&ara comparar ficheros utili$aremos cmp f* f- compara los dos ficheros, % nos
dar como salida en el primer carcter que no son i#uales los dos ficheros. >ambién podemos comparar con el comando diff f* f- nos mostrar las l1neas diferentes
en los dos ficheros.
&ara comparar se suele utili$ar el comando comm f* f- muestra tres columnas, la primera sern las l1neas únicas del fichero f*, la se#unda las l1neas únicas del ficherof- % la tercera columna, las l1neas comunes de los dos ficheros.
%rdenar un fic2ero
&ara ordenar un fichero de texto se utili$a el comando sort fichero, sort Qn lomostrar en orden numérico % sort Qr en orden inerso. +s1 por ejemplo sort fichero
Qn Qr o sort fichero Qnr ordena en forma inersa un fichero numérico.
'ratamiento con lineas caracteres ; pala-ras
!c fichero muestra número de l1neas, número de palabras % número de
caracteres.!c Ql fichero muestra nV de l1neas
!c Qc fichero muestra nV de caracteres
!c Q! fichero muestra nV de palabras
head % tail muestra las primeras o las últimas n l1neas de un fichero
head Q9 fichero muestra las 9 primeras l1neas de fichero.
tail Q2 fichero muestra las 2 últimas l1neas de fichero.
grep busca una cadena de caracteres en una serie de ficheros que especificamoscomo parmetros. Sus opciones sernF
Ec F cuenta las l1neas en las que aparece la cadena.El F muestra los nombres de los ficheros en los que aparece la cadena.Ei F no diferencia entre ma%úsculas % minúsculas.
EF inierte la concordancia (que no conten#a la cadena a buscar)
• filtro de primer carcter.
principio de l1nea.
_ final de l1nea.
0jemploF mostrar el nombre de los ficheros en el directorio de trabajo en los queaparece al#una l1nea que comience por c.
grep –l ^c. $HOM/!
4onde c. Son las l1neas que comien$an por c.[ _home5\ es la ruta del directorio de trabajo(_home) % el \ indica a todos los ficheros del directorio de trabajo.
0jemploF contar el número de l1neas en un fichero que entra como parmetro % quetermina por c.
&a#ina *7 de --
Caracteres comod1n para búsqueda con #re#
8/19/2019 Gnu Linux Asir
19/22
Comandos Unix
#rep Qc .c_ fichero
4onde Qc indica a #re# que cuente el número de l1neas % .c_ las l1neas que terminan por c.
Pipes o tu-erDas
Son mecanismos que permiten comunicar procesos entre s1, es decir, la salidaestndar de un proceso ser la entrada del otro. Se utili$a el carcter paraconcatenar los procesos.
ls more isuali$a el listado (ls) l1nea a l1nea.
ls sort more i#ual que el anterior pero el listado ser1a ordenado.
cat nombres sort ] ordenado isuali$a el fichero nombres ordenado
almacenndolo en el fichero Rordenado.
.s8ueda de fic2eros
5ind+ busca a partir de un directorio que entra como parmetro, una serie deficheros.
E name R R F se#ún el nombre % entre comillas un patrón de búsqueda.Criterios de búsqueda de L3N4 Esi$e tamao F busca ficheros con tamao T a ejF Esi$e H*:-;.
Euser id usuarioF busca ficheros se#ún el usuario.
0jemploF buscar a partir del directorio rai$, aquellos ficheros que comien$an poruna letra minúscula, el resultado #uardarlo en un fichero llamado nombres.
fin" / #name %a#&'!( ) nombres
4onde 5 especifica el directorio rai$. Qname reali$a una búsqueda por nombre con find de el interalo WaE$X (letras minúsculas) donde RWaE$X\ especifica a los ficheros que comien$an por minúscula % le si#ue
cualquier cosa. 0l operador ] nombres, redireccionar la salida al fichero nombres.
fin" /tmp –name !.c( –si&e *+,-
Jusca en el directorio 5tmp ficheros que el nombre ten#a extensión .c % con tamao ma%or a *:-; b%tes.
ps Qef #rep _US0= (lista los procesos de un usuario)
awk: Procesamiento de archivos generalizado
0l comando awk es un len#uaje de pro#ramacion. 0n otra leccion, daremos mas detalles
de este utilisimo comando. Sin embar#o, muchas cosas se pueden hacer sin ma%oresconocimientos de awk.
awk lee lineas de un archio. Cada linea se parte en campos, se#un un separador, por
defecto espacio en blanco. + cada linea se le aplica uno o mas procedimientos de a!A.Un procedimiento consta de dos partesF
&a#ina *< de --
8/19/2019 Gnu Linux Asir
20/22
Comandos Unix
*atron*a&&ion
0l patron es una expresion re#ular (er \\), i#ual que re o se)" la accion es un
Bpro#ramaB, que se aplica a los campos de cada linea.
Keamos unos ejemplosF
awk rint $1 ar&
Notese el uso de las comillas, necesarias para eitar problemas con el shell. 3mprime el primer campo de cada lineaEE es decir, imprime la primera columna de un archio.
awk rint $2 $1 ar&
3mprime la se#unda, se#uida por la primera, columna de un archio
>ambien pueden usarse expresiones aritmeticasF
awk rint $1$1 $2 - 5.0 ar&
'o cual imprime el cuadrado de la primera columna, etc.
Seleccionemos las lineas que continen el texto B@idro#enoB
awk *i)roeno*rint $1 $2.116 ar&
Si el pro#rama de awk es mu% complicado, puede residir en un archioF
awk -" ,iro ar&
0sto le aplica el pro#rama Bmipro#B al archio a!A.
'os seleccionadores J0G3N % 0N4 seleccionan procedimientos que se ejecutanrespectiamente al principio % fin de procesaminetoF
awk s ; s < $1 =N>rint s ar&
(notese que se puede dar retorno de linea dentro de las comillas.) 0ste pro#rama suma la primera columna del archio arch. 0l pro#rama se basa en la (afortunada) casualidadque awk pone todas las ariables numericas a cero inicialmente. Una ariable (s en el
ejemplo anterior es numerica cuando se usa aritmeticamente.
&a#ina -: de --
8/19/2019 Gnu Linux Asir
21/22
Comandos Unix
Compilación de fuentes&ara compilar es imprescindible instalar los paquetes de desarrollo bsicosF #cc, libcde,% maAe mediante este comandoF
at-et insta## && #i(&-)ev ,ake'as fuentes de los pro#ramas suelen enir en un archio tar.#$ (tarball). &aradescomprimir el archio se haceFtar xv%" ar&ivo.tar.%
0ste comando descomprime normalmente el contenido en un directorio. Una e$ dentrodel directorio, lo recomendable es leer al#ún archio que se llame 3NS>+''.>?> o=0+4/0.>?> % se#uir sus instrucciones.'o habitual es se#uir los si#uientes pasosF*. ./config
Comprueba que todas las herramientas % liber1as necesarias estn instaladas.'ue#o, confi#ura la compilación.
-. makeCompila la aplicación2. sudo make install
0sto copia los archios necesarios recién compilados a los directorios de sistema para que cualquier usuario pueda ejecutar la aplicación. 0s necesario ejectuar este comando como root, su o sudo %a que se a a escribir en directorios dondeun usuario normal no deber1a tener permisos.0s normal que el pro#rama confi# requiera instalar librer1as de desarrollo de C. 0n estecaso ha% que buscar la que se pida. Una pista es buscar medianteFat-&a&e sear& librería re -)ev
0l nombre de las librer1as de desarrollo terminan en Ede. &or ejemplo, libcEde es lalibrer1a de desarrollo de las librer1as de C bsicas % es requerida en casi cualquier compilación.
Comandos 8ue dan información so-re el 2ardare de la ma8uina
E ls2 0sto produce una salida tan extensa que lo mejor es exportarlo aun archio htmlF
sudo lshw -html > /tmp/hw.html && firefox /tmp/hw.html
E lspcilspcmciaE lsus-
er solamente los dispositios actiosF lsusb | grep -v 0000:0000E -iosdecodeE dmidecode
o /arca ersión % fecha de la J3S
o >ipo de hard!are soportado
o /arca % modelo de la placa, tipo de socAet, tamao mximo memoria
por slot % mximo soportado.
&a#ina -* de --
8/19/2019 Gnu Linux Asir
22/22
Comandos Unix
o 3nformación sobre los puertos % de los slot pci, asi como de los utili$ados
% los libres.
E less /proc/cpuinfonos muestra toda la información de nuestro procesador % en el caso de ser de
doble núcleo, aparece como si fueran dosE less /proc/meminfo
podemos er cuanta memoria tenemos % cuanta est disponible.E ls2al inf. Sobre los dispositios
lshal | grep info.product | cut -d -f! | sort
otras erra,ientas re?uieren insta#a&i@n:- xosview: uso )e #a &u / #a ,e,oria- hardinfo An"or,a&i@n )e# siste,a are&i)o a# =verest )e Bin)ows
E "ucesos del sistema
Ciste,a- a),inistra&i@n- Disor )e su&esos
E #onitor del sistema
Ciste,a- a),inistra&i@n- ,onitor )e# siste,a
E $dministracion de servicios
Ansta#ar (oot-u !anaer Eatitu)e insta## (u,