LINUX BASICO
This FAQ is dedicated to Prof. Dr. Klaus Schilling. -- "And I want
it to be a multitasking, extensible System with cursor-addressable
charactercell-only user interface, not more and not less. (of course I
want to
use the 'less' command, so don't mistake it as a pun)"
|
Comandos Basicos y Administracion
|
3.1 Ok, ya instale mi linux, ahora que
hago??? Bueno, primero hay que familiarizarse con los comandos de
linux Lista de comandos basicos
Como en todo sistema operativo, primero hay que familizarse con la
organizacion de los directorios, aprender a manejar archivos y a usar
comandos. En suma: Aprender a administrar nuestro sistema de forma
eficiente.
- Que son las consolas virtuales? Las consolas virtuales
aparecieron por primera vez en minix y en FreeBSD, proveen acceso a
"multiple login sessions" lo que significa varios usuarios pueden
loguearse en el sistema y cada uno de ellos pueden ejecutar diversas
tareas a la vez. Con ALT + alguna de las teclas F1, F2, F3, etc cambiamos a
otra VT (virtual terminal) usualmente hay un maximo de 6 VT's disponibles.
- Como hago para editar un archivo en linux? Usando un editor de texto. Cual?
Cualquiera, basta que sepas utilizarlo :o) Esta es una lista de los
editores de texto mas faciles de utilizar:
- Pico: supongamos que queremos
editar el archivo "motd" localizado en el directorio /etc/ entonces
tipeamos: pico /etc/motd y ponemos "Bienvenidos a Linux" Para salvar
el archivo apretamos (CTRL) + (letra o) y para salir del editor (CTRL)
+ (letra x) Listo, cada vez que un usuario se loguee en el sistema
vera la frase "Bienvenidos a Linux"
- Midnight Commander: Mas que un
editor de texto es un administrador de archivos, no obstante te
permite editar archivos, para entrar al midnight commander tipea "mc"
(sin las comillas) posicionate en el archivo a modificar y apreta la
tecla F4 para editar el archivo, una vez que modificaste el archivo a
tu gusto/necesidad presiona la tecla F2 para salvar y F10 para salir
del MC.
- Como estan organizados los directorios en linux?
- The Linux filesystem.
- /bin Aca estan los comandos que
linux necesita durante el boot
- /sbin Como en /bin aqui residen
los comandos (binarios ejecutables) pero estos en general no van a
ser usados por los usuarios normales a menos que tengan permiso
- /dev los archivos de /dev son
los que acceden los dispositivos del sistema tales como modem,
mouse, memoria. /dev/ttyS es usado para acceder tus puertos seriales
/dev/cua es obsoleto. En comparacion con windows:
- /dev/ttyS0 es COM1 de windows
- /dev/ttyS1 es COM2 de windows
- /dev/ttyS2 es COM3 de windows
- /dev/ttyS3 es COM4 de windows
- /dev/hda1 es el archivo para
acceder la primera particion de un disco rigido IDE.
- /dev/sda1 accede la primera
particion de un disco rigido SCSI.
- /dev/lp0 accede los puertos
paralelos Ej. impresoras es el equivalente de LPT1 de windows.
- /dev/null es un "agujero
negro" la informacion mandada a /dev/null se pierde para siempre
- /usr/X11R6 contiene X Window si
es que esta instalado
- /usr/bin /bin /usr/local/bin
Contienen los binarios ejecutables
- /etc Contiene utilidades, files de configuracion etcetera
- /usr/include contiene los
"include files" para el compilador C, estos archivos la mayoria .h
(headers) declaran subrutinas, constantes, etc, usadas para escribir
programas en C.
- /usr/g++-include contiene
archivos para el compilador C++
- /usr/lib contiene las librerias
"stub" y "static" cuando compilas un programa, este programa es
linkeado a las librerias encontradas en /usr/lib
- /proc Contiene archivos creados
por el kernel, por lo que como podras imaginar esta opcion necesita
estar activada en el kernel (filesystem support for /proc) Estos
archivos NO existen en el disco, el kernel los crea en la memoria
- /tmp Este directorio contiene archivos temporarios creados por determinados
programas, normalmente, dichos archivos se encuentran presente en este
directorio cuando sus correspondientes programas se encuentran corriendo en
el sistema, aunque pueden quedar alli si el programa se detiene prematuramente.
Los archivos contenidos en /tmp pueden ser borrados siempre y cuando
NO
pertenezcan a programas que estan corriendo en la memoria en dicho
momento.
- 3.2 Algo muy básico: Como ejecuto un programa en
linux? 1- Supongamos que sabemos que tenemos ya instalado un
programa que viene con nuestra distribucion. Tenemos que saber cual es el
nombre del binario ejecutable del programa Ej. para ejecutar minicom
tipeamos minicom en la consola, que es el nombre del binario
ejecutable de dicho programa.
- Como hago para encontrar un archivo? hay muchos directorios, no se
donde esta...
Con el comando find: Tipea find /
-name nombre_del_archivo
Con el comando locate: Tipea locate
nombre_del_archivo
- 3.4 Otra cosa basica: Como instalo un
programa?? Depende de que formato tenga el archivo que vayas a
instalar
- 1- RPMs:
- El comando para instalar un
file.rpm es rpm -i file.rpm y para hacer un upgrade rpm -U file.rpm
- Para comprobar si el paquete esta instalado tipea rpm -qa | grep
nombre_del_programa Mas informacion acerca del manejo de rpms en RPM-tutorial
- 2- DEB: El comando para instalar
un file.deb es dpkg -i file.deb
- 3- Formato tar.gz o tgz: Descomprimilo utilizando
gzip -dc file.tar.gz | tar xf - Ejemplo: gzip -dc BitchX.tar.gz | tar xf -
Vas a ver que en el directorio donde descomprimiste el archivo
aparece un nuevo subdirectorio denominado BitchX hace cd /directorio/BitchX
luego tipea ls y lee el archivo INSTALL y/o el README dado que ahi vas a
encontrar la informacion que necesitas para instalar correctamente
el programa. Si dicha aplicacion que vas a instalar incluye el archivo
"configure" y el archivo "Makefile" hace primero ./configure luego
make y make install No obstante SIEMPRE hay que leer la documentacion que
trae un programa para no meter la pata...you have been WARNED :o)
- 4- Formato tar.bz2: bzip2 -dc
file.bz2 | tar xf -
- Como hago para averiguar que tipo de archivo es? Con el comando
file tipea file nombre_del_file
Ejemplo: tengo un archivo denominado "rc5des" sin extension por lo que no
me doy cuenta
si es o no un binario ejecutable, por lo que tipeo:
serena:~# file rc5des
rc5des: ELF 32-bit LSB executable, Intel 80386, version 1, statically
linked, stripped
Conclusion: rc5des es un binario ejecutable
- Como hago para reconocer que tipo de archivo es segun su
extension? Extensiones (listado
alfabetico).
- Cuales son los tipos de sistemas de archivos soportados por linux
en el kernel?
- Entendiendo las permisiones de archivos cuando
tipeas ls -l archivo/directorio vas a ver algo como:
-rw-r--r-- 1 serena system 3894 Aug 21 03:41 oconv.py
Como se interpretan estas permisiones?
Hay 3 tipos de permisiones:
r (en octal 4) lee (read) archivo o directorio
w (en octal 2) modifica/borra (write) archivo o directorio
x (en octal 1) ejecuta (execute) archivo o busca el directorio
| Octal
|
Binario |
|
|
| Numero
|
Numero |
Permisiones |
Descripcion |
| 0 |
000 |
None |
Ningun permiso garantizado |
| 1 |
001 |
--x |
Ejecutable |
| 2 |
010 |
-w- |
Modificable |
| 3 |
011 |
-wx |
Modificable/Ejecutable |
| 4 |
100 |
r-- |
Legible |
| 5 |
101 |
r-x |
Legible/Ejecutable |
| 6 |
110 |
rw- |
Legible/Modificable |
| 7 |
111 |
rwx |
Legible/Modificable/Ejecutable |
u usuario al que pertenece el archivo/directorio
g grupo al que pertenece dicho archivo/directorio
o todos los demas usuarios
Las permisiones para estos 3 tipos de usuarios puede estar
dado por una cadena de 9 caracteres
| Octal |
Owner |
Group |
Others |
Complete |
| Number |
Field |
Field |
Field |
Code |
| 777 |
rwx |
rwx |
rwx |
rwxrwxrwx |
| 755 |
rwx |
r-x |
r-x |
rwxr-xr-x |
| 700 |
rwx |
--- |
--- |
rwx------ |
| 666 |
rw- |
rw- |
rw- |
rw-rw-rw- |
- Existe algun defrag para linux? Si, existe, defrag-0.70.tar.gzSi
posees sistemas de archivos ext2fs probablemente no lo necesites dado que
ext2 ya posee codigo extra para prevenir la fragmentacion.
- 3.6 Como monto mi cdrom en linux? mount -t
iso9660 /dev/cdrom /mnt Requiere: soporte para sistema de archivos
iso9660 en el kernel, parametros correctos en /etc/fstab la linea referida
al cdrom debe verse asi:
/dev/TU_CDROM /mnt/cdrom iso9660 noauto,ro 0 0 (para saber cual es
"TU_CDROM" tipea dmesg | more
- 3.7 Como monto mi floppy en linux? mount -t
tipo_de_sistema_de_archivos /dev/fd0 /mnt Requiere: soporte para el
sistema de archivos usado por el floppy en el kernel, parametros correctos
en /etc/fstab y , soporte para la diskettera
- 3.8 Como monto mi particion FAT en linux?
mount -t vfat /dev/hdaX /mnt donde X es la particion de DOS ej. hda1
Requiere: una particion con algo llamado windows ;) soporte para VFAT en
el kernel y parametros correctos en /etc/fstab
- 3.9 Como monto mi particion os/2 HPFS en
linux? mount -t hpfs /dev/hdaX /mnt
- Y como hago para desmontar algo?Usando el comando umount /mnt
- Como uso las mtools? Las mtools son un conjunto de utilitarios que
permiten manipular archivos DOS, tipicamente son utiles para manejar diskettes
sin necesidad de montar y desmontar dicha unidad. Los comandos que incluye son:
mcopy, mcd, mdir, mmd, mdel, mdeltree. Inserta tu floppy y tipea mdir para
ver su contenido. Para copiar archivos usa mcopy origen
destino Mas informacion man mtools
- 3.5 Es posible modificar el tamanio de mis
particiones, me compre un nuevo disco y quiero ampliar el espacio dedicado
a linux? Si, es posible
Metodo 1: El mas facil, conseguir una copia del partition magic 4.0 que
soporta archivos ext2.
- Como averiguo que procesos estan corriendo en mi maquina?
Tipea ps aux para ver los procesos que estan corriendo, si queres matar
algun proceso, tipea kill numero_de_pid
- Como mato un proceso cuando kill numero_de_pid no funciona?
Tipea kill -9 numero_de_pid (mas informacion: man kill y kill -l)
- Que es un proceso "zombie"? Es un proceso que no ocupa
memoria, ni CPU, ni IO ni disco. Lo unico que ocupan es un "slot" en la
tabla de procesos. Dado que el kernel tiene un limite para el numero de
procesos simultaneos (esten o no ocupando CPU), el tener procesos zombies
puede llegar a ser un problema.
- Que son los archivos "core"? Un archivo core es creado por la
mayoria de los programas cuando sufren un "crash" Contienen informacion
destinada a reparar el problema que causo el "crash" del programa.
Normalmente el programa (debugger) utilizado para leer estos archivos core
es el gdb que analiza que programa creo este archivo core y los motivos
del crash. Los archivos core pueden ser removidos si no se desea analizar
esta informacion.
- Cual es la diferencia entre la memoria shared, buffered, swap, user
y free?
- Shared: Memoria que es o puede ser potencialmente compartida por
multiples procesos, esto se aplica generalmente a ejecutables, librerias,
archivos que posean mmap() read only
- Swap: Fue explicada anteriormente
- Buffers y Cached: Esta memoria va a ser usada una vez que la memoria
free se halla agotado
- Free: Memoria que es efectivamente gastada, esto significa que cuando
un proceso que estaba ocupando esta memoria termina o un archivo es
borrado, esta memoria vuelve a estar libre
- Used: Significa que esta memoria corresponde al proceso que la esta
usando
- Que es y como funciona una shell?
Una shell es un programa que interpreta los comandos que el usuario el
usuario tipea y los transforma en intrucciones para el sistema operativo en
cuestion. Una shell es solo eso, una interface que permite al usuario
interaccionar con el sistema operativo, al igual que el sistema X-Window, el
cual permite al usuario ejecutar commandos mediante el mouse y el teclado.
Hay varios tipos de shell, entre las mas populares, estan la Bourne
shell (sh), Korn shell (ksh), C shell (csh), Secure Shell (SSH). Como siempre
es necesario aclarar que ninguna es mejor o peor que otra, sin embargo la
documentacion existente sobre la Bourne Shell es, sin lugar a duda la mas
numerosa. Ver /etc/shells para ver tipo, y path de cada una de las shells
disaponibles en tu sistema.
- 3.3 Problema muy común: Ayudaaaa!! bash command not
found!!!! pero si yo tengo instalado el programa!!!! Esto puede
deberse a 2 razones
1- Que estes tipeando el nombre incorrecto del binario
ejecutable de tu programa (recorda que es case sensitive o sea que las
mayusculas y minusculas cuentan)
2- Que el directorio el donde se
encuentra el binario ejecutable de tu programa NO este en PATH, los
binarios de un programa se encuentran en /usr/bin /bin /usr/local/bin, etc para
saber si estos directorios se encuentran en tu PATH tipea echo $PATH vas a
ver una lista de directorios, si por ejemplo /usr/local/bin no esta en esa
lista tipea export PATH="$PATH:/usr/local/bin" esto agrega el directorio
/usr/local/bin a tu PATH. (ver punto siguiente)
- Environment variables y aliasing en Bash
Cuando ejecutamos un programa se dice que este se ejecuta en un determinado
"ambiente" y ese "ambiente" esta definido por el proceso que llama a dicho
programa. Las "variables de ambiente" almacenan informacion sobre tu directorio
cuando te logueas, username, tipo de shell, tipo de terminal y otra informacion
opcional que el usuario puede definir. Estas variables pueden ser configuradas
de manera muy simple por el usuario, en este FAQ se ejemplifican las variables
mas usadas, para obtener una lista completa de todas las variables de ambiente
man bash y para ver la configuracion completa tipea printenv
PATH mencionada anteriormente, sintaxis
PATH=/usr/local/bin y luego export PATH para agregar dicha
variable dentro del ambiente
EDITOR sintaxis EDITOR=vi y luego export editor
MAIL sintaxis MAIL=/var/spool/mail/serena y luego export mail
DISPLAY sintaxis DISPLAY=hostname:0.0 y luego export
display
Cuando bash es invocado, como shell interactiva, lo primero que hace es leer
y ejecutar los comandos localizados en el archivo /etc/profile luego de leer
este archivo, busca los ficheros ~/.bash_profile, ~/.bash_login y ~/.profile
en este orden, leyendo y ejecutando solo lee el primero que encuentre. De
esta manera podemos agregar las variables de ambiente en ~/.bash_profile por
ejemplo para que de esta manera, cada vez que nos logueemos en el sistema e
invoquemos bash, este leea nuestras variables localizadas en este archivo.
Aliasing: Seguramente te habrás preguntado alguna vez: "por qué tengo que
tipear mount -t vfat /dev/fd0 /mnt cada vez que tengo que montar un floppy,
quisiera tener una forma más fácil sin escribir ese comando tan largo... " El
archivo ~/.bashrc almacena los alias que no son más que abreviaciones usadas
para facilitar al usuario sus tareas administrativas.
# ~/.bashrc: executed by bash(1) for non-login shells.
export PS1='\h:\w\$ '
umask 022
# Alias para el floppy
alias floppy ="mount -t vfat /dev/fd0 /mnt"
# Así definido este alias, lo único que tenemos que tipear es la palabra
# floppy en vez de todo
el comando mount -t vfat /dev/fd0 /mnt # Alias para ver archivos y
directorios encoloresconelcomando'ls'exportLS_OPTIONS='--color=auto'
eval 'dircolors'
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
- Archivos de inicio del sistema (Equivalentes del Autoexec.bat
de DOS)
Cuando el sistema bootea lee archivos para autoconfigurarse, luego de que
el kernel ha booteado se inicia un proceso denominado init (PID1)
que lee la configuracion del archivo /etc/inittab Este archivo varia en
las diferentes distribuciones, no osbtante estos son los puntos
principales que uno debe comprender:
sintaxis
id:runlevels:action:process
id identifica una linea en un archivo, para getty especifica la
terminal en la que corre
runlevels
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have
networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault: #default runlevel in redhat 5.1
actionAccion a tomar por la linea. Ej respawn
process Comando a ejecutar
En una normal operacion init se asegura que getty este
funcionando normalmente para que los usuarios
puedan loguearse en el sistema.
Single user mode: Algunas tareas adminitrativas requieren este runlevel Ej.
correr fsck en una particion /usr o para tratar de recuperar el sistma tipeando
init durante el prompt de lilo.
Trademarks are owned by their owners.
Although the information given in this document is believed to be correct,
the author will accept no liability for the content of this document. Use
the tips and examples given herein at your own risk.
Copyright © 1998, 1999 by Brocoli & $erena (tm). This document may be
distributed only subject to the terms and conditions set forth in
the LDP license.
LINUX
Introduccion Red Hat SUSE Slacware
Internet Linux en la red Comandos Lilo Trucos Por qué?
Instalación Básico Kernel L.U.G.a.r. SUSE 5.3 Proyecto Lucas
FIPS
|
|