Estructura y Niveles de Arranque en Linux
Estructura y Niveles de Arranque en Linux
Archivos importantes
********lsusb lista los dispositivos USB. Puede mostrar información de los buses
USB en el sistema y los dispositivos conectados a ellos.
101.2
[Link]
******************* /etc/inittab
Nivel de ejecución 0:
Halt. Este nivel de ejecución se encarga de detener todos los procesos activos en
el sistema, enviando a la placa madre una interrupción para el completo apagado del
equipo.
Nivel de ejecución 1:
Single. Nivel de ejecución monousuario, sin acceso a servicios de red. Este nivel
es regularmente utilizado en tareas de mantenimiento del sistema, y el usuario que
ejecuta es root.
Nivel de ejecución 2:
Al igual que el nivel de ejecución monousuario, pero con funciones de red y
compartición de datos mediante nfs.
Nivel de ejecución 3:
Sistema multiusuario, con capacidades plenas de red, sin entorno gráfico. Este
nivel de ejecución es el recomendado para sistemas de servidor, ya que evita la
carga innecesaria de aplicaciones consumidoras de recursos.
Nivel de ejecución 4:
Nivel especificado, pero no se utiliza
Nivel de ejecución 5:
Al igual que el nivel de ejecución 3, pero con capacidades gráficas. Ideal para
entornos de escritorio.
Nivel de ejecución 6:
Reboot. Este nivel de ejecución se encarga de detener todos los procesos activos en
el sistema, enviando a la placa madre una interrupción para el reinicio del equipo.
***************** /etc/init.d
Contiene una serie de enlaces simbólicos en los directorios rc n.d,
un directorio para cada nivel de ejecución n, controlan si un script es iniciado al
ingresar un nivel de ejecución o si es detenido al abandonarlo.
Estos enlaces comienzan con una K o una S, seguidas por un número de dos dígitos y
luego por el nombre del servicio
Aquí se puede observar que los servicios audit y autofs tienen entradas K nn en
todos los niveles de ejecución y entradas S nn en los niveles de ejecución 3 y 5.
La S indica que el servicio se inicia al ingresar a ese nivel de servicio, y la
entrada K indica que debería detenerse.
El componente nn del nombre del enlace indica el orden de prioridad en que debe
iniciarse o detenerse el servicio.
En este ejemplo, audit se inicia antes de autofs, y se detiene con posterioridad.
**********************shutdown
Es un proceso similar al comando halt con la diferencia que primero preguntara
amablemente a los procesos abiertos y usuarios que cierren sesión antes de cerrar a
la fuerza todos los procesos restantes.
/etc/init.d
son ficheros o directorios de configuración que arrancan el sistema.
Todos los ficheros y directorios que empiezan por rc o init,
añadir
update-rc.d SERVICIO defaults
quitar
update-rc.d -f SERVICIO remove
*******************telinit
********/var/log/messages
aquí encontraremos los logs que llegan con prioridad info (información), notice
(notificación) o warn (aviso).
********BIOS
Encuentra la siguiente información cuando
revises la configuración de la BIOS:
• La cantidad de memoria RAM en el sistema.
• El tipo de interfaz del disco duro y la capacidad de
cada uno.
• Puertos seriales disponibles en el sistema y el IRQ
utilizado para cada uno.
• Números de IRQ
• Marca y modelo de la tarjeta SCSI.
********bootloader
está diseñado exclusivamente para preparar todo lo que necesita el sistema
operativo para funcionar
Normalmente se utilizan los cargadores de arranque multietapas, en los que varios
programas pequeños se suman los unos a los otros, hasta que el último de ellos
carga el sistema operativo.
La etapa de carga.
La etapa de ejecución.
Por otra parte, también se cargan los drivers necesarios mediante el initrd. El
initrd crea un sistema de archivos temporal usado en la fase de ejecución del
kernel.
Una vez que el kernel se ha cargado en memoria y está listo, se lleva a cabo su
ejecución.
Lo último que se lanza es el proceso init.
Al igual que todos los sistemas Unix, Debian arranca ejecutando el proceso init. El
archivo de configuración de init es el fichero /etc/inittab, en el que se indica
que el primer script que se debe ejecutar es el /etc/init.d/rcS.
Luego, y por compatibilidad, también ejecuta todos los archivos (excepto aquellos
con un `.' en su nombre) situados en /etc/[Link]/. Este último directorio está
reservado para el administrador del sistema y su utilización ha caído en desuso.
********kernel
El kernel ó núcleo de linux lo podríamos definir como el corazón del SO.
101.3
*****************/etc/inittab
Después de que arranque y el núcleo monte el sistema de ficheros de root, el primer
programa que ejecuta el sistema es init.
Este programa es el encargado de lanzar los scripts de inicialización del sistema y
de modificar el sistema operativo de su estado inicial de arranque al estado
estándar multiusuario.
También define los intérpretes de órdenes login: de todos los dispositivos tty del
sistema y especifica otras características del arranque y apagado.
Nivel de ejecución 0:
Halt. Este nivel de ejecución se encarga de detener todos los procesos activos en
el sistema, enviando a la placa madre una interrupción para el completo apagado del
equipo.
Nivel de ejecución 1:
Single. Nivel de ejecución monousuario, sin acceso a servicios de red. Este nivel
es regularmente utilizado en tareas de mantenimiento del sistema, y el usuario que
ejecuta es root.
Nivel de ejecución 2:
igual que el nivel de ejecución monousuario, pero con funciones de red y
compartición de datos mediante nfs.
Nivel de ejecución 3:
Sistema multiusuario, con capacidades plenas de red, sin entorno gráfico. Este
nivel de ejecución es el recomendado para sistemas de servidor, ya que evita la
carga innecesaria de aplicaciones consumidoras de recursos.
Nivel de ejecución 4:
Nivel especificado, pero no se utiliza
Nivel de ejecución 5:
Al igual que el nivel de ejecución 3, pero con capacidades gráficas. Ideal para
entornos de escritorio.
Nivel de ejecución 6:
Reboot. Este nivel de ejecución se encarga de detener todos los procesos activos en
el sistema, enviando a la placa madre una interrupción para el reinicio del equipo.
102.1
Dispositivo Orden
/dev/sda 1°
/dev/sdb 2°
/dev/sdc 3°
. . . . . .
Las particiones primarias -entre ellas quizás una extendida- se enumeran siempre
del 1 al 4.
Las particiones lógicas se enumeran siempre del 5 en adelante.
En Linux puede crearse un máximo de 63 particiones en discos IDE, y 15 particiones
en discos SCSI, conjugando en ambos casos entre particiones primarias, una
extendida y las correspondientes lógicas.
---- Sistemas de archivos comunes son los siguientes:
102.2
***************** /boot/grub/[Link]
grub-install /dev/sda
If you wish to re-install GRUB to the PBR of Partition #2 on a SCSI or SATA disk
(/dev/sda2):
# grub-install /dev/sda2
If you wish to re-install GRUB to the MBR on an IDE disk (/dev/hda):
# grub-install /dev/hda
If you wish to re-install GRUB to the MBR on a HP Smart Array disk (/dev/c0d0):
# grub-install /dev/cciss/c0d0
102.3
[Link]
******************* ldd
muestra información acerca de los requisitos de bibliotecas de un ejecutable.
ldd /bin/ls
***************** ldconfig
actualiza las librerías utilizadas por el sistema, recomendable ejecutarlo cada vez
que se instale un programa.
**************** /etc/[Link]
Archivo de configuracion dónde se buscan los ejecutables
/etc/[Link] especifica que deberán incluirse todos los archivos .conf del
subdirectorio [Link].d
/sbin/ldconfig -p | more
******************************** LD_LIBRARY_PATH
Es una variable de entorno usada para referenciar donde debe buscar las librerias
el sistema operativo
$ ./apli1
apli1: error in loading shared libraries: [Link]: cannot open shared object
file: No such file or directory
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/dir_lib
102.4
[Link]
*************** dpkg
Se trata de una herramienta de gestión de paquetes de nivel medio que puede
instalar y eliminar paquetes y visualizar la información de estado correspondiente,
su archivo de configuracion es "/etc/dpkg/[Link]"
#vi /etc/dpkg/[Link]
Sintaxtis :
Acciones
-i o --install : Instala un paquete
--configure : Reconfigura o configura un paquete instalado
-r o --remove : Borra un paquete pero deja los ficheros de configuración
-P o --purge : Elimina un paquete incluyendo los ficheros de configuración
-p o --print-avail :Muestra la información de un paquete instalado
-I o --info :Muestra la información de un paquete desinstalado
-L o --listfiles :Lista los archivos instalados asociados a un paquete
-S patrón o --search patrón : Lista todos los archivos instalados asociados a un
patron
Otras Opciones
#wget [Link]
2_i386.deb
#dpkg -i libltdl7_2.2.6b-2_i386.deb
#dpkg -p libltdl7
#dpkg -S libltdl7
#wget [Link]
1_all.deb
#dpkg -i lynx_2.8.8dev.5-1_all.deb
#wget [Link]
1_i386.deb
#dpkg -i lynx_2.8.8dev.5-1_all.deb lynx-cur_2.8.8dev.5-1_i386.deb
#dpkg --print-avail lynx
#dpkg -r lynx
*************** ATP
APT es una suite de herramientas que incluye una serie de programas, su archivo de
configuracion es "/etc/apt/[Link]" el cual no viene creado por defecto, se puede
encontrar una plantilla de configuracion en "/usr/share/doc/apt/examples/[Link]"
# vi /usr/share/doc/apt/examples/[Link]
{
// Options for apt-get
Get
{
Download-Only "true";
};
};
APT-CACHE
Busqueda de paquetes
apt-cache search "linux loader"
apt-cache search nmap
APT-GET
Es el equivalente a yum en debian, que permite facilmente realizar instalaciones,
actualizaciones de paquetes desde internet
Se basa en la busqueda de paquetes desde repositorios de software , el archivo de
configuración de los repositorios es
"/etc/apt/[Link]"
Sintaxis :
Comandos de apt-get
-d o --download-only
Descargar los archivos de los paquetes pero no los instalada, es usado por los
comandos upgrade,install,source
-f o --fix-broken
Intenta corregir problemas de dependencias, usado por install y remove
-m o --ignore-missing o --fix-missing
Ignora todos los paquetes que no se pueden obtener por causas de la red o algun
repositorio no disponible en ese momento.
-s o --simulate
Realiza una simulacion de accion sin modificar o instalar realmente los archivos
-y o --yes o --assume-yes
Genera una respuesta de "si" a cualquier pregunta
--no-upgrade
No actualiza un paquete si ya hay instalada una version anterior, lo usa el comando
"install"
#mkdir apt-get
#cd apt-get
#apt-get install --download-only unzip
#apt-get source unzip
#apt-get -y install dpkg-dev
#apt-get install --download-only unzip
#apt-get install unzip
#apt-get remove unzip
#apt-get install -s gcl-doc
DSELECT
Es un selector de paquetes que permite elegir los archivos a instalar en el
sistema, los extrae desde los repositorios definidos en el archivo
"/etc/apt/[Link]"
Instalación
#apt-get install dselect
#dselect
2 + enter
?
l
q
Ctl + c
APTITUDE
Es otro administrador de paquetes en Debian, puede ser usando en entorno grafico,
asi como en consola
Sintaxis :
Comandos de aptitude
upgrade
Actualiza la lista de paquetes
install
Instala paquetes
remove
des instalar paquete
full-upgrade o safe-upgrade
Actualizan los paquetes en el sistema, la opcion full-upgrade puede dañar el
software residente ya que no respeta version y/o dependencias.
search
Busca en la base de datos de paquetes
autoclean
Limpia la base de datos
#apt-get update
#apt-get install samba
#dpkg-reconfigure samba
Sintaxis :
#cd /root/
#mkdir rpm
#mv lynx_2.8.8dev.5-1_all.deb rpm/
#cd rpm/
#alien --to-rpm --scripts lynx_2.8.8dev.5-1_all.deb
102.5
[Link]
****************** RPM
Red Hat Package Manager (RPM) fue desarrollado por Redhat y fue publicado como
software libre bajo licencia GLP, por lo que distribuciones como
Mandriva, SUSE, lo tomaron como gestionador de sus sistema de paquetes.
Esta presente en arquitecturas como :
x86
x86-64
AMD64
EMT64T
IA-64
Alpha
Spark
[Link]
- nombrepaquete
Como samba, mysql-server
- Aquitectura (arch)
La arquitectura puede ser i386 que son los archivos compilados para CPU x86, los
paquetes con nomenclatura i586 o i686 son paquetes
optimizados para procesadores superiores a los tradicionales pentium IV.
Los paquetes para procesadores de 64bits trabajan bajo nomenclatura x86_64
Un paquete RPM , puede depender de otro para su instalación, para evitar eso es
posible usar el parametro "--nodeps" sin embargo esto no
garantiza un funcionamiento al 100% del mismo.
Sintaxis :
Comandos de RPM
-i :Instala un paquete
-U :Instalar o actualiza un nuevo paquete
-F o --freshen :Actualiza un paquete si solo ya existe la versión anterior
-q :Consulta si el paquete que esta instalado, que archivos contiene
-V o --verify :Verifica si los archivos de una paquete estan presentes y no han
cambiado desde la instalación
-e :Desinstala un paquete
--rebuild :Compila un paquete binario
****************** RPM2CIPIO
Los archivos RPM en realidad son archivos de formato cpio modificados, es posible
utilizar el programa "cpio" para obtener los archivos individuales
del paquete RPM. Para extraer los archivos de un paquete es necesario utilizar el
comando rpm2cpio.
Sintaxis: rpm2cpio
opciones
-i : restaura el archivo
-d: crea los directorios principales si es necesario.
-m: mantiene los ficheros si ya existen.
--make-directories
#mkdir sourcerpm1
#cd sourcerpm1
#wget [Link]
2.el6.x86_64.rpm
#rpm2cpio nmap-5.51-2.el6.x86_64.rpm > nmap-5.51-2.el6.x86_64.cpio
#cpio -i --make-directories < nmap-5.51-2.el6.x86_64.cpio
#ls
#cd bin/
#ls
#cd /root/
#mkdir sourcerpm2
#cd sourcerpm2
#wget [Link]
22.el6.x86_64.rpm
#rpm2cpio nc-1.84-22.el6.x86_64.rpm | cpio -i --make-directories
#cd /root/
#mkdir sourcerpm3 ; cd sourcerpm3
#yumdownloader mysql-server
#rpm2cpio mysql-server-5.1.69-1.el6_4.x86_64.rpm | cpio -i --make-directories
#ls
Sintaxis
Comandos de YUM
/etc/[Link]
¿Cómo sabe yum de dónde descargar los paquetes?
El punto de inicio es el directoio "/etc/[Link].d/" el cual contiene por lo
general varios archivos repo.
Esta es la ubicación por defecto para repos, pero otras ubicaciones pueden estar
especificadas en el archivo de configuración de YUM,
generalmente /etc/[Link].
****************************** /etc/[Link].d/
Un archivo repo común se divide en tres secciones, una para los paquetes normales,
una para los paquetes de depuración, y el último para los paquetes fuentes.
******************************** yumdownloader
Aunque YUM recupere automáticamente paquetes de los depósitos, usted quizá quiera
descargar RPMs y guardarlos, tal vez para instalarlos en un sistema sin conexión de
red, o para examinar sus contenidos, o por alguna otra razón. Usted puede utilizar
para esto el comando yumdownloader
yumdownloader nmap
yumdownloader --resolve mailx
103.1
[Link]
CONSOLA DE LINUX
Existen varias consolas en Linux sin embargo todas son similares
bash: Bourne Again Shell GNU, esta basada en la consola bourne de las versiones de
Unix y el la consola por defecto en Linux
bsh : Consola Bourne, es en la que esta basada bash justamente
tcsh: Basada en la antigua consola basada en C
csh : Consola C original , pero no se usa mucho en Linux
ksh : Consola Kron, con mejor desarrollo que las consolas C
zsh : Evolucion de ksh
La consola bash tiene se encuentra dentro del sistema Linux en "/bin/sh" sin
embargo es un enlace simbolico a "/bin/bash"
Tipos de flujos:
stdin, es el flujo de entrada estándar, que proporciona los datos de entrada a los
comandos.
stdout, es el flujo de salida estándar, que muestra los datos de salida de los
comandos.
stderr, es el flujo de error estándar, que muestra los datos de salida de error de
los comandos.
Operadores de redirección
> Crea un nuevo archivo que contiene la salida estandar, si el archivo existe
los sobre escribe
>> Añade la salida estandar al archivo existente, si el archivo no existe lo crea
2> Crea un nuevo archivo con el error estandar,si el archivo existe lo sobre
escribe
2>> Añade el error estandar al nuevo fichero
&> Crea un nuevo archivo, con la salida y el error estandar, si el archivo existe
lo sobre escribe.
< Envia el contenido del archivo especificado para utilizarlo como entrada
estandar.
<< Acepta el texto de las siguientes lineas como entrada estandar.
<> Hace que el archivo especificado se utilice para la entrada estandar como para
la salida estandar.
El /dev/null ??
Es archivo de dispositivo que no esta conectado a nada, se utiliza para deshacerse
de información
Ademas es posible asociarlo a la salida estandar o error estandar.
******************** BASH
El shell bash es uno de los numerosos shells disponibles para Linux.
También denominado Bourne-again shell, en honor a Stephen Bourne, creador del shell
inicial (/bin/sh)
Filename Globbing
Antes de ejecutar cualquier comando, el Shell realiza una búsqueda, en la línea de
comandos, de algunos caracteres especiales (metacaracteres), con la finalidad de
“interpretarlos” para que el comando solicitado se ejecute correctamente. Esta
operación descrita se conoce como “File Globbing”.
********************** echo
El comando echo imprime sus argumentos (o hace eco de los mismos) a la terminal tal
como se muestra en el Listado 3.
echo Word
echo A phrase
echo Where are my spaces?
echo "Here are my spaces."
******************************* Env
El comando env sin ninguna opción ni parámetro muestra las variables del entorno
actual.
#env
****************************** exec
El comando exec puede utilizarse para ejecutar otro programa que reemplace el shell
actual.
echo $$
Primero :
#mkdir lpi103-2
#cd lpi103-2
Comandos para
Comando cat
Es abreviatura del concatenar, enlaza de principio a fin un numero arbitrario.
Opciones :
cat text1
1 apple
2 pear
3 banana
cat text*
1 apple
2 pear
3 banana
9 plum
3 banana
10 apple
Comando od
Significa octal dump, volcado octal, muestra archivos en formato octal
Se usa cuando al mostrar un archivo en formato ASCII, los muestra con ciertos
problemas, en tal caso es posible mostrar el archivo en formato octal.
od tambien puede generar salida en formato hexadecimal como base 16, decimal base
10
Comando split
divide archivos grandes, en partes más pequeñas, por defecto lo hace en 1000 lineas
por cada archivo, e incluira un prefijo por defecto en orden
alfabetico, si no es especificado.
ejemplo : Dividimos text1 en archivos que contienen como máximo dos líneas
split -l 2 text1
cat xaa
cat xab
cat yab
cat y* x*
vi text3
1[TAB]manzana
2[TAB]pera
3[TAB]platano
expand -t 3 text3
expand -t 4 text2
expand -t 10 text2
vi text4
1 carro
2 avion
3 buque
cat text4
unexpand -t1 text4
unexpand --tabs=1 text4
Comando tr
Es un filtro que nos permite cambiar una determinada información de un archivo por
otra, es decir cambia caracterires individuales de la entrada
estandar.
Sintaxis :
Ejemplo:
Comando pr
El comando pr se usa para dar formato a los archivos para impresión, El encabezado
predeterminado incluye el nombre de archivo y la fecha y hora de creación de
archivo, junto con un número de página y dos líneas de encabezado en blanco
Opciones
#pr text2
#pr text2 | head
#cat /etc/profile | pr -d
Comando nl
Numera las líneas, lo cual puede ser conveniente cuando se estén imprimiendo
archivos.
#nl text1
#nl text1 | pr -f
Comando fmt
El cual da formato al texto para que se ajuste a los márgenes. Usted puede unir
varias líneas cortas así como dividir otras largas.
Opciones
-f o --ignore-case :Ignora mayusculas y minusculas
-n o --numeric-sort :Ordenacion numerica
-r o --reverse :Invertir el ordem
-k o --key :Campo de ordenación
Ejemplo:
#vi text6
101 Ortiz, Luis
102 Tapia, Sandro
103 Perez, Alfonso
104 Vargas, Beatriz
Comando uniq
Otro comando llamado uniq nos da otra forma para controlar la eliminación de líneas
duplicadas. El comando uniq normalmente funciona sobre archivos ordenados, y
elimina líneas consecutivas idénticas de cualquier archivo, esté ordenado o no.
ejempplo 1: ordena dos archivos de texto y luego elimina las líneas que sean
idénticas
#vi text8
Juan
Pedro
Maria
Rino
Rino
Marina
Pedrito
Hola
Hola
#uniq text8
------------------------ cut paste join
Comando cut
el cual extrae campos de archivos de texto. El delimitador de campo predeterminado
es el carácter de tabulación.
Opciones
-b o --bytes=lista :Corta la lista especificada por bytes
-c o --characters=lista :Corta la lista de caracteres especificado
-d :Delimitador de la columna a cortar
-f :Fila a cortar o extraer
#ifconfig
#ifconfig eth0 | grep HWaddr
#ifconfig eth0 | grep HWaddr | cut -d " " -f 10
#ifconfig eth0 | grep HWaddr | cut -d " " -f 11
#cut -c1-2 text8
Comando paste
El comando paste pega o fuciona archivos línea a línea
Comando join
Asocia o une campos con base en un campo que coincida
Ejemplo: Unir los archivos de personas (text6) y ubicacion de anexos (text9) basado
en el numero de anexo respectivamente
#cat text6
#vi text9
101 Lima
102 Trujillo
103 Arequipa
104 Cuzco
#cat text9
#join text6 text9
---------------------------- sed
Comando sed
Es uno de los comandos mas complejos en Linux, puede Modifica el contenido de los
ficheros enviando el fichero modificado a la salida estandar
Sintaxis:
Donde:
ejemplo : añadimos la banderilla 'g' (de global) para hacer que sed cambie todas
las ocurrencias.
Comando wc
Genera un contador de las palabras de un archivo (Word Count) para ver qué tan
grande es el archivo , muestra el número de líneas, palabras y bytes de un archivo
Muestra el número de :
Lineas
Palabras
Bytes
#ls -l text*
#wc text*
#wc -l text*
#wc -w text*
#wc -c text*
--------------------------head
Comando head
Permiten mostrar las primeras lineas de un archivo
#head /var/log/dmesg
#head -n 6 /var/log/dmesg
Comando tail
Muestra las ultimas 10 lineas de un archivo
Opciones:
Ejemplos:
#tail /var/log/syslog
#tail -n15 /var/log/syslog
#tail -f -n14 /var/log/syslog
------------------Expresiones regulares
Son herramientas para expresar patrones de texto, similares a comodines, que se
puede utilizar para especificar varios nombre de archivo.
Existen dos programas que hacen uso intensivo de las expresiones regulares, los
cuales son grep y sed
Tipos y Convensiones :
ejemplo :
b[aeiou]g (bag,beg,big,bog,bug)
- Expresiones de rango
Listan punto de inicio y punto final para una expresion separados por un guion
ejemplo :
a[2-4]z (a2z,a3z,a4z)
ejemplo:
a.z (a2z,abz,aQz) o cualquier cosa de 3 caracteres que comience por la a y
termine en z.
- Operadores de repetición
Una expresion regular puede ir seguida de un simbolo especial para denotar cuantas
veces debe aparecer un elemento coincidente.
ejemplo
.* : Especifica una coincidencia en cualquier cadena
S.*sung : coindicide cualquier cadena que contenga S y sung (Sam sung , samsung )
- Varias posibles cadenas
Es posoble especificar varias posibles coincidencias con la barra vertical (|)
ejemplo
carro|camioneta : expresiones que coincidan con carro y camioneta
- Paréntesis
Es el signo que rodea las sub expresiones , se usan para especificar como se deben
aplicar los operadores.
- Caracteres de escape
Es necesario cuando se desea comparar expresiones que contengan caracteres
especiales.
Ejemplos:
listar todos los archivos del directorio "/dev" que empiecen por "tty" y cuando más
tengan 5 caracteres
ls /dev/tty??
listar todos los archivos del directorio "/dev" que empiecen por "tty" y que
terminen en 1, 2, 3, ó 4.
ls /dev/tty*[1-4]
------------------ls : listados
Comando ls
Sintaxis:
ls [opciones] [archivo]
Ejemplos:
#ls -al
#ls -lh
#ls -F /usr /bin/ls
#ls -lh /etc/*.conf
-----------------cp : copiar
Comando cp
Copia un archivo, el origen puede ser uno o mas archivos miestras que el destino
solo puede ser uno.
Sintaxis :
Ejemplos
#cp -u /etc/fstab /root/[Link]
#cp -p /boot/grub/[Link] /root/[Link]
------------------mv : mover
Comando mv
Es la abreviatura de move, se suele utilizar para mover archivos y directorios, asi
como para renombrarlos
Sintaxis :
Opciones
-f o --force : Fuerza mover archivos existentes
-i o --interactive : Hace que mv pregunte antes de mover archivos existentes
#touch [Link]
#mv [Link] [Link]
#mv [Link] /opt
------------------rm : borrar
Comando rm
Es la abreviatura de remove
Sintaxis :
rm [opciones] archivos
Opciones
-f o --force : Fuerza la eliminacion de archivos existentes
-i o --interactive : Hace que rm pregunte antes de eliminar archivos existentes
-r o -R --recursive: Elimina en modo recursivo
CUIDADO CON : rm -R /
Sintaxis :
Ejemplos:
Sintaxis :
Ejemplos:
----------------touch
Comando touch
crea archivos en blanco, ademas modifica las marcas temporales (time stamps) de los
archivos creados
Marcas temporales:
- Hora de creación
- Hora de última modificación
- Hora de último acceso
Sintaxis :
touch [opciones] nombre-archivo
Ejemplo:
#touch file1
#touch -d "2 days ago 12:00" file1
#touch -d "tomorrow 02:00" file1
#touch -d "5 Nov" file1
------------------tar
Viene de tape archive (archivador de cinta) la mayoria de archivos de programa
fuente vienen en formato tar.
Es posible tambien usar comprimidores como gzip o bzip2
Sintaxis :
ejemplos
#mkdir lpi103-2
#mv text**** lpi103-2/
#tar -cvf [Link] lpi103-2/
#ls
#tar -zcvf [Link] lpi103-2/
#tar ztf [Link]
Descomprimir
#tar -xvzf [Link]
-------------- gzip
GZIP , sólo comprime fichero a fichero, no empaqueta varios ficheros, en uno ni
comprime directorios.
---------------bzip2
bzip2 sólo comprime fichero a fichero, no empaqueta varios ficheros en uno ni
comprime directorios.
---------------cpio
El programa cpio es similar a tar, se usa normalmente para enviar informacion a un
dispositivo de cinta.
Opciones
Ejemplos :
- Comprimir
find lpi103-2 |cpio -o > [Link]
- Listar
cpio -t < [Link]
- Extraer
mkdir descomprimido
cp [Link] descomprimido
cd descomprimido
cpio -i < [Link]
ejemplos
----------------file
El comando file, se utiliza para saber de qué tipo es un archivo
Sintaxis
Ejemplos:
#file text1
103.4
[Link]
----------------------xargs
El comando xargs lee la entrada estándar y luego crea y ejecuta el (o los) comandos
con la entrada divida en parámetros
Sintaxis:
Donde:
Opciones
-t: Permite ver el comando antes de ejecutarlo:
n: Permite definir el número de argumentos que vemos a pasar a cada
-I: Permite definir donde se van a definir los parámetros, por ejemplo:
----------------------- tree
muestra de forma "grafica" en consola el árbol de directorios, podríamos utilizar
el comando:
103.5
[Link]
Procesos:
--------------------------------------------------------------------
$> ps
lista procesos del usuario
$> ps ax
lista todos los procesos
$> ps axf
lista todos los procesos, jerarquía y ruta de los comandos
$> man ps
verifica fligs en la pagina del manual
Matar procesos:
--------------
Ejecuta un proceso que guarda en el archivo boom y lo manda a segundo plano
$> ls -l boom
$> ls -l boom
$> rm -f boom
$> top --> los primeros procesos son los que mas recursos consumen
? --> muestra la ayuda de top
O --> elije una columna para ordenar los procesos (por defecto es el cpu)
k --> cpu
n --> memoria
$> yes
ejecuta proceso en primer plano ctrl+c cancela la ejecucion del comando
$> jobs
lista los procesos ejecutados por el usuario
$> fg 1
vuelve a primer plano el proceso 1 de la lista anterior
ctrl + c -> interrumpe y cancela el proceso (trata de matar)
$> fg 1
ctcl + c
103.6
[Link]
/usr/bin/renice 7 3810
ps al
kill -9 27780
103.7
[Link]
----------------- grep
grep p text1
grep pea text1
grep "p*" text1
---------------------egrep
Su comportamiento es similar (pero no idéntico) al de grep -E, salvo que es más
flexible pero más lento
--------------------- fgrep
El comando fgrep se utiliza para buscar en uno o más archivos líneas que coincidan
con la cadena o palabra dadas. fgrep es más rápido que la búsqueda grep, pero menos
flexible: sólo puede encontrar texto, no expresiones regulares.
fgrep "p" text1
--------------------- sed
permite, borrar líneas, registros o sustituir cadenas de caracteres dentro de las
líneas.
103.8
[Link]
El Editor VIM
-------------
ESC : ingresa al modo comando
i : entra en modo insercion desde la misma linea
o : entra en modo insercion desde la sgte linea
1G : va a la primera linea
23G : va a la linea 23
:45 : va a la linea 45
G : va a la ultima linea
/palabra : busca una cadena
n : sigue buscando
dd : corta o borra una linea
d8d : corta o borra 8 lineas
yy : copia una linea
y7y : copia 7 lineas
p : pega el contenido del portapapel
5p : pega 5 veces el contenido del portapapel
u : deshace la ultima accion
ctrl+R : rehace la ultima accion
x : borra una letra
:w : graba el archivo actual
:wq : graba y sale
:w! : graba de forma forzada
:wq! : graba y sale forzadamente
:q! : sale forzadamente
:1,$s/busqueda/reemplaza/g :busca una cadena y la reemplaza
:! comando : ejecuta un comando en bash y vuelve a VIM
:e archivo : abre un nueva archivo en el sgte buffer
:b1 : va el primer buffer abierto
:b2 : va al segundo buffer, para cambiar de buffer hay que
grabar el buffer actual
:set number : muestra los numeros de linea
:set nonumber : quita los numeros de linea
:set paste : habilita el pegado sin auto identificacion
:set ts=3 : establece a 3 los espacios de los tabs
Insertar : entra en modo de reemplazo
:saveas archivo : guarda como nombre archivo
:shitf+a : entra en modo insercion al final dpel
D : elimina texto desde el cursosr actual hasta el final
de la linea
dG : elimina todo hasta la ultima linea
:wq! ++utf8 : guarda el fichero en modo UTFP (por defecto)
:nohl : cancela los resultados de busqueda
Instalar VIM
-------------
$> su -
$> yum -y install vim-enhanced
104
[Link]
104.1
fdisk /dev/sdb
imprimo la tabla de particiones
p
fdisk /dev/sda
d --> borra
n --> nuevamente crea particion
p --> lista las particiones
Desmontar el /data2
$> umount /data2
ó
$> umount /dev/sdb2
104.2
[Link]
----------- df
muestra información sobre sistemas de archivos montados
----------- du
proporciona información acerca de sistemas de archivos completos.
cuánto espacio usa su directorio principal o conocer el tamaño necesario para la
partición
du -hc *
du -shc /usr/*
----------- fsck
Utilidad para detectar, verificar y corregir los errores del sistema de archivos
Opciones:
-a repara de manera automática, no pide confirmación.
-n reporta los problemas sin repararlos.
-c busca bloques dañados y los agrega a la lista de bloques dañados.
-f forzar la revisión.
-v (verbose) genera más información.
-r modo interactivo. Espera nuestra respuesta.
-y si a todo.
-------------------- mke2fs
El comando mke2fs es usado para crear el sistema de archivos de Linux ext2 en un
dispositivo tal como una partición de disco duro o (en este caso) un disquete.
mke2fs esencialmente formatea el dispositivo y crea un dispositivo vacío compatible
con Linux que puede luego ser usado para almacenar archivos y datos. Inserte su
disquete en la unidad y ejecute el comando siguiente en el intérprete de comandos:
/sbin/mke2fs /dev/fd0
---------------------- debugfs
recuperar archivos borrados, es necesario desmontar la particion o montarla desde
un livecd
debugfs /dev/sda2
------------------ dumpe2fs
Mediante el comando dumpe2fs podemos ver el número de bloques que estan reservados:
dumpe2fs /dev/sda1
------------------ tune2fs
Ajusta los parámetros de los sistemas de archivos ext2 y ext3. Use esta herramienta
para agregar una bitácora a un sistema ext2 y convertirlo en un sistema ext3, así
como también para visualizar o establecer la cantidad máxima de montajes previos a
una verificación forzosa. También es posible asignar rótulos y activar o desactivar
diversas características opcionales.
104.4
Quotas de Disco
------------------------------------------------------------------------------
Nos conectamos al servidor virtual como root
Hard: Limite absoluto. Limite que no puede ser rebasado por el usuario bajo
circunstancia alguna.
Antes
-----------------------------------------------------------------------------------
--------
Disk quotas for
user alumno (uid 500):
Filesystem blocks soft hard inodes soft
hard
/dev/sda1 0 0 0 0 0
0
Despues
-----------------------------------------------------------------------------------
--------
Disk quotas for user alumno (uid 500):
Filesystem blocks soft hard inodes soft
hard
/dev/sda1 0 20480 20480 0 0
0
$> rm -f /home/alumno/crece
104.5
$> su -
$> cd
$> ls -l saludo
$> ls -l saludo
$> ls -l saludo
$> ls -l saludo
$> ls -l alumno
$> umask
muestra la mascara de permisos con que se crean archivos o directorios
$> umask -S
muestra los permisos con que se crea los directorios
u=rwx, g=rx, o=rx
$> su - alumno
$> umask
umask -pS
-S para devolver los permisos de forma simbólica.
-p con fines de utilizarlos como entrada estandar.
0002
^^^^
||||
|||+- los otros (others)
||+-- el grupo (group)
|+--- el propietario (owner)
+---- el que nos dice que lo que sigue será interpretado de forma octal.
Podemos usar la opción -S para tener una mejor referencia de como
funciona en sistema octal.
u=rwx,g=rwx,o=rx
0 0 0 2
El primer 0 no tiene que ver con los permisos sino con la forma en que
estos serán dados (en octal).
Para saber que permisos serán dados debemos restar el valor dado a la máscara 777.
Quedaría de la siguiente forma:
777 - 002 = 775 = u=rwx,rwx,o=rx
Recordar que el primer 0 que aparece cuando ejecutas umask tiene como
objetivo especificar que lo que sigue es un número octal, y que debe
ser tratado como tal.
Aplicar umask
umask 047
umask -pS
umask -S u=rwx,g=wx,o=
mkdir pruebas
touch [Link]
ls -l
104.6
----------------------------------------------
Existen dos tipos de enlaces: blandos y duros
104.7
Búsqueda de Archivos
---------------------
find,locate,whereis
---------------------
$> updatedb
Actualiza la base de datos de la lista de archivos y directorios
existentes en el sistema
$> whereis vi
Muestra la ruta de binarios, librerias y documentacion del comando vi
$> which vi
Muestra la ruta del binario del comando vi