Terminal
Principales Comando de Linux
Introducción
Es un programa que trabaja sobre el sistema operativo (llegando a ser parte de el)
Permite al usuario interactuar de forma directa con el sistema.
Los primeros interpretes de comandos nacieron cuando aun no existian sistemas gráficos
Utilizan un ambiente de texto
También existen los shell gráficos (explorer.exe , nautilus, etc)
A pesar de que mayoritariamente se utilizan sistemas gráficos los shell de texto siguen utilizándose ampliamente sobre todo en sistemas Unix/Linux.
Algunos intérpretes de comandos
Texto
command.com
sh
bash
csh
Gráficos
explorer
nautilus
konqueror
BASH
Para ejecutar el interprete de comandos:
Ejecutar una consola virtual (CTRL-ALT F1) e ingresar al sistema
Ejecutar un Terminal (Boton derecho -> ejecutar terminal)
Por defecto en GNU/Linux se utiliza bash
Shell desarrollado por GNU, bajo GPL
Cuando se ejecuta aparece el símbolo $
Este simbolo nos indica que el intérprete está esperando por algún comando
Bash permite la ejecución de instrucciones dentro de un programa (shellscript)
Shorcuts de bash, permite un manejo más eficiente
CTRL + l: Limpia la pantalla, tiene el mismo efecto del comando clear
CTRL + d: Finaliza la Shell, tiene el mismo efecto que el comando exit
Flecha Arriba: retrocede en el historial de comandos.
Flecha Abajo: Avanza en el historial de comandos.
CTRL + r: Entra al modo Busqueda Historial, en este modo se autocompletan las ordenes que se encuentren en el historial de comandos.
SHIFT + RePag: Retrocede en una pagina la salida del shell, cumple la misma funcion de la barra scroll que tienen algunos terminales.
SHIFT + AvPag: Avanza en una pagina la salida del shell.
TAB: Autocompletar comandos.
Comando Para Privilegios.
sudo command # ejecuta command como raíz
sudo su # abrir shell raíz
sudo su user # abrir shell como usuario
sudo -k # olvidar tu contraseña sudo
gksudo command # visual sudo dialog (GNOME)
kdesudo command # visual sudo dialog (KDE)
sudo visudo # editar /etc/sudoers
gksudo nautilus # gestor ficheros raíz (GNOME)
kdesudo konqueror # gestor ficheros raíz (KDE)
passwd # cambiar tu contraseña
Comandos Network
ifconfig # muestra información de red
iwconfig # muestra información de wireless
sudo iwlist scan # escanea redes inalámbricas
sudo /etc/init.d/networking restart # resetear la red
(file) /etc/network/interfaces # configuración manual
ifup interface # traer interface online
ifdown interface # deshabilitar interface
Comandos de Display
sudo /etc/init.d/gdm restart # resetear X (Gnome)
sudo /etc/init.d/kdm restart # resetear X (kDE)
(file) /etc/X11/xorg.conf # mostrar Configuracion
sudo dpkg-reconfigure -phigh xserver-xorg # resetear configuración X
Ctrl+Alt+Bksp # resetear X display si congelado
Ctrl+Alt+FN # cambiar a tty N
Ctrl+Alt+F7 # cambiar de nuevo a X display
Comandos de Servicio del Sistema
start service # iniciar trabajo service (Upstart)
stop service # parar trabajo service (Upstart)
status service # comprobar si service está ejecutando (Upstart)
/etc/init.d/service start #iniciar service (SysV)
/etc/init.d/service stop # parar service(SysV)
/etc/init.d/service status # comprobar service(SysV)
/etc/init.d/service restart # resetear service(SysV)
runlevel # obtener runlevel actual
Comandos para Cortafuegos
ufw enable # encender el cortafuegos
ufw disable # apagar el cortafuegos
ufw default allow # permitir todas las conexiones por defecto
ufw default deny # drop all connections by default
ufw status # reglas y estado actual
ufw allow port # permitir tráfico en port
ufw deny port # bloquear port
ufw deny from ip # bloquear dirección ip
Comandos de Sistema
Recovery # Escribir “REISUB” mientras se
mantiene Alt y SysRq (PrintScrn) con aprox. 1
segundo entre cada letra. Tu sistema reiniciará
lsb_release -a # obtener la versión de Ubuntu
uname -r # obtener versión del kernel
uname -a # obtener toda la información del kernel
Comandos para Gestor de Paquetes
apt-get update # refrescar actualizaciones disponibles
apt-get upgrade #actualizar todos los paquetes
apt-get dist-upgrade # actualizar versión
apt-get install pkg # instalar pkg
apt-get remove pkg # desinstalar pkg
apt-get autoremove # eliminar paquetes obsotletos
apt-get -f install # intentar arreglar paquetes
dpkg –configure -a # intentar arreglar paquetes rotos
dpkg -i pkg.deb # instalar archivo pkg.deb
(file) /etc/apt/sources.list # lista de repositorios APT
Comandos Para Paquetes Especiales
ubuntu-desktop # Entorno Ubuntu estándar
kubuntu-desktop # escritorio KDE
xubuntu-desktop # escritorio XFCE
ubuntu-minimal # núcleo utilidades Ubuntu
ubuntu-standard # utilidades estándar Ubuntu
ubuntu-restricted-extras # no libres, pero utiles
kubuntu-restricted-extras # ídem KDE
xubuntu-restricted-extras # ídem XFCE
build-ess
ential # paquetes usados para compilar
linux-image-generic # última imagen genérica del kernel
linux-headers-generic #últimas cabeceras
Comandos de Aplicaciones
nautilus # gestor de ficheros (GNOME)
dolphin # gestor de ficheros (KDE)
konqueror # Navegador web (KDE)
kate #editor de texto (KDE)
gedit # editor de texto (GNOME)
Comandos básicos
Son los comandos para realizar diversas tareas (copiar, mover, borrar, renombrar, crear directorios, crear archivos, cambiar propiedades, etc).
Todo comando permite el uso de "opciones", estas modificaran el comportamiento del comando.
Es posible combinar estos comandos para realizar tareas complejas.
Como convención se utilizara "$" para indicar que el comando debe ejecutarse en bash.
Ejemplo: ejecutar el comando para listar archivos/directorios
$ ls -lar
El comando es "ls"
Las opciones son "lar"
ls (listar directorios y archivos)
Muestra el contenido de un directorio en particular
Opciones:
l: Escribe (en formato de una sola columna) los permisos del fichero, el numero de enlaces que tiene, el nombre del propietario, el grupo al que pertenece, el tamaño (en bytes), una marca de tiempo y el nombre del fichero. De forma predeterminada la marca de tiempo que se muestra es el de la ultima modificación.
a: Incluye en el listado archivos ocultos (cuyos nombres comienzan con ".").
h: Human-readable, indica una letra al lado del tamaño, pudiendo ser K: Kilobytes, M: Megabytes, G: Gigabytes.
F: Permite difereciar los tipos de archivos de los directorios, donde los directorios con un caracter "/" al final del nombre, los archivos ejecutables con un "*" y los enlaces simbolicos con una "@".
R: Realiza un listado recursivo dentro de cada directorio.
Al utilizar la opción "l" muestra:
|Permisos | Enlaces | Dueño | Grupo | Tamaño | Fecha | Nombre|
Descripción:
Permisos: El Primer carácter indica el tipo de archivo el que puede ser "-"(archivo), "d"(directorio) o "l"(enlace simbólico), las 9 letras restantes se dividen en tres conjuntos de tres caracteres cada uno (rwx donde r=lectura, w=escritura, x=ejecucion, -=sin permiso), donde el primer conjunto representa los permisos para el usuario, el segundo conjunto representa los permisos para el grupo y el tercer conjunto representa los permisos para el resto de los usuarios del sistema.
Enlaces: Numero de enlaces.
Dueño: Nombre del usuario propietario del archivo.
Grupo: grupo al que pertenece el archivo.
Tamaño: Tamaño del archivo en Bytes.
Fecha: fecha y hora de creacion del archivo o ultima modificacion.
cd (Cambiar de directorio)
Con este comando se puede navegar por el sistema de archivos
Para ingresar a un directorio:
$ cd nombre_directorio
Para retroceder al directorio padre
$ cd ..
Para ir a cualquier directorio (utilizando el nombre absoluto)
$ cd /dir1/subdir/dirfinal
Para ir al directorio /etc/apt/
$ cd /etc/apt
Para ir al directorio de la cuenta
$ cd /home/linux
$ cd
pwd (Mostrar directorio de trabajo)
¿Como saber en que lugar del árbol de directorio nos encontramos ?
Se debe usar el comando "pwd"
$ pwd
du (peso de un directorio)
Para ver el peso de un directorio (incluyendo sus subdirectorios) se utiliza "du"
¿Cuanto pesa el directorio /home/linux ?
$ du -sh /home/linux
Para ver el espacio disponible de disco se usa el comando "df"
$ df -h
mkdir (crear directorios)
El comando "mkdir" creará un/os directorio/s
Uso:
$ mkdir directorio1 directorio2 directorio3 ...
rmdir (borrar directorios)
Se puede indicar a "mkdir" para que crear una serie de subdirectorios
Para crear los siguientes directorios: asignaturas/2005/informatica/codigos
$ mkdir -p asignaturas/2005/informatica/codigos
Para borrar un directorio se usa rmdir (el directorio debe estar vacio)
touch (crear archivos vacios)
El comando "touch" crear un/os archivo/s vacio/s
Uso:
$ touch arch1.txt arch2.c arch3.java ...
cp (copiar archivos y directorios)
El comando "cp" permite copiar archivos y directorios
Uso:
$ cp archivo_origen lugar_archivo_destino
Ejemplo: copiar /etc/apt/source.list en la cuenta
$ cp /etc/apt/source.list /home/linux
Tambien se le puede indicar como 2do parametro el directorio actual (donde se esta posicionado, para verificar use pwd), usando "."
$ cp /etc/apt/source.list .
Para copiar un directorio se debe utilizar la opción revursiva "r"
$ cp -r directorio_origen destino
mv (mover/renombrar archivos)
El comando "mv" permite el mover (corta, pegar) como renombrar un archivo o directorio
Uso:
$ mv origen destino
Si el destino es otro directorio "mueve"
Si el destino es el mismo directorio "renombra"
rm (borrar archivos y directorios)
El comando "rm" borra archivos y directorios; Puede borrar mas de un archivo
$ rm archivo1 archivo2 archivo3 ...
Para borrar un directorio incluyendo todo su contenido se debe usar la opción "r"
$ rm -r directorio
Si no queremos que confirme el eliminar se usa la opción "f" (usar con mucho cuidado)
$ rm -rf directorio
ln (Enlaces simbólicos)
El comando "ln" crea enlaces, utilizando la opción "s" se crean enlaces simbólicos
Uso:
$ ln -s archivo enlace_a_archivo
$ ln -s directorio enlace_a_directorio
Ejecutar aplicaciones
En la "Shell" no es posible asociar extensiones a programas.
Para abrir un archivo debe ejecutarse primero la aplicación.
Se debe utiliza la ruta absoluta.
P. E: ejecutar la calculadora "gcalctool" que se encuentra en /usr/bin
$ /usr/bin/gcalctool
Algunas veces es posible utilizar solo el nombre de la aplicacion
$ gcalctool
Para saber que comando ejecuta un icono del panel ver sus propiedades
Boton derecho -> propiedades -> Comando:...
Permisos
Para visualizar los permisos de un archivo/directorio "ls -l"
t p g o
d rwx rwx rwx
t=tipo, p=propietario, g=grupo, o=otros.
La información es la misma que entrega nautilus
Tipo de usuario:
propietario
grupo
otros
Permiso:
r: lectura
w: escritura
x: ejecución
chmod (cambia permisos)
Para facilitar el cambio de permisos se utiliza el sistema octal
Se utiliza un dígito para el tipo de usuario, por lo que se usan 3
El primero para el "propietario" (el más significativo)
El segundo para el "grupo"
El tercero para "otros"
Cada digito se forma utilizando el siguiente código octal:
Tipo de Permiso: Codigo Octal:
Sin Permiso 0
Permiso de Ejecucion (x) 1
Permiso de Escritura (w) 2
Permiso de Lectura (r) 4
Ejemplo:
Al archivo "datos.txt" se le desea dar el siguiente permiso
Propietario: Lectura, escritura, ejecución
Grupo: Lectura, ejecución
Otros: Lectura
Propietario Grupo Otros
Lectura = 4 Lectura = 4 Lectura = 4
Escritura = 2 Escritura = 0 Escritura = 0
Ejecucion = 1 Ejecucion = 1 Ejecucion = 0
Total = 7 Total = 5 Total = 4
El comando a ejecutar:
$ chmod 754 datos.txt
Empaquetado
Cuando se distribuye un archivo en Unix/Linux se utilizanormalmente el formato tar.gz, (archivo.tar.gz)
El archivo se encuentra en dos formatos:
Empaquetado en la herramienta gnu tar, con la aplicación tar.
Comprimido en formato gz, con la aplicación gzip.
Se usa debido a que tar "recuerda" los permisos de archivos ydirectorios
El comando tar solo empaqueta (los reune en un solo archivo)
Se deben efectuar 2 pasos
Empaquetar
Comprimir
Para empaquetar se usa el comando
$ tar -cvf directorio.tar directorio_a_empaquetar
c : Empaquetar
v : Modo verbose (muestra lo que realiza el comando)
f : El lugar donde empaquetara (archivo.tar)
Para empaquetar el directorio ejemplos
$ tar -cvf ejemplos.tar ejemplos
Empaquetar/Comprimir
Para comprimir el archivo se suelen utilizar 2 programas distintos:
gzip (es el más extendido, su extensión es ".gz" )
bzip2 (más reciente, su extensión es "bz2")
gzip (generará ejemplos.tar.gz)
$ gzip ejemplos.tar
bzip2 (generará ejemplos.tar.bz2)
$ bzip2 ejemplos.tar
Empaquetar y Comprimir a la Vez
$ tar -zcvf archivo.tar.gz /directorio_destino
$ tar -jcvf archivo.tar.bz2 /directorio_destino
Desempaquetar/Descomprimir
Para volver a los archivos originales se debe
Descomprimir
Desempaquetar
Descomprimir/Desempaquetar
ejemplos.tar.gz
$ gunzip ejemplos.tar.gz
$ tar -xvf ejemplos.tar
ejemplos.tar.bz2
$ bunzip2 ejemplos.tar.bz2
$ tar -xvf ejemplos.tar
Se aprecia que la opción de tar "x"(desempaquetar) reemplaza a "c"
Desempaquetar y Descomprimir a la Vez
$ tar -zxvf archivo.tar.gz
$ tar -jxvf archivo.tar.bz2
Acceso Remoto
Mediante Internet podemos conectarnos a un equipo en cualquier lugar
Se utiliza la arquitectura cliente/servidor
Algunos de los protocolos
telnet
rsh
ssh
Actualmente por seguridad sólo se utiliza ssh
SSH :secure shell
Los datos viajan encriptados
Debe existir un Servidor de ssh en el destino
Para realizar la conexión debemos utilizar un cliente de ssh (ssh, putty, etc)
SSH
Nota: actualmente las direcciones aqui mostradas no existen.
Funciona en base a clave pública/privada,
Para ejecutar el cliente ssh en el terminal( consola, o shell)
$ ssh login@servidor
o
$ ssh -l login servidor
Para conectarse al servidor kalku con la cuenta juaramir
$ ssh juaramir@kalku.face.ubiobio.cl
o
$ ssh -l juaramir kalku.face.ubiobio.cl
Acceso remoto: Envio de archivos
Para enviar/recibir existen diversos protocolos , al igual que la conexión remota
ftp, sftp, scp (en realidad trabaja sobre ssh)
Por razones de seguridad se utiliza scp o sftp
La sintaxis en consola es la siguiente (es similar a cp)
Copiar un archivo
$ scp login@servidor:nombre_archivo .
Copiar un directorio
$ scp -r login@servidor:directorio .
Enviar un archivo
$ scp archivo login@servidor:
Enviar un directorio
$ scp -r directorio login@servidor:
Modo Grafico
Desde gnome 2.8 en adelante es posible enviar/recibir archivos por medio de nautilus
Se debe lanzar la conexión
Lugares -> Conectar con el servidor
Crear la conexión con los datos requeridos
protocolo, servidor, directorio, login, nombre conexión
Luego de haber creado la conexión, esta aparecerá en el escritorio o:
Lugares -> Servidores de red
Hacer doble click para conectarse (solicitará la clave)
Lo siguiente es utilizarlo como si fuera un directorio más del sistema
Comandos: cat, more, less
Estos comandos permiten visualizar un archivo de texto
cat: muestra todo el archivo
more: muestra el archivo línea por línea (enter) o página por página (barra espacio), para salir se debe presionar "q"
less: igual que more, pero permite retroceder
Editores de texto: vim, gedit
Para manipular un archivo de texto se debe utilizar un editor
Algunos de los disponibles en linux son:
vim
gedit
vim es un editor de textos, en modo consola
gedit es un editor de textos en modo gráfico
Bueno Aquí concluye este laaargo manual, espero les sea de utilidad.
Algunos Comandos:
Comandos básicos
(para mas información "man comando")
man páginas del manual (es un help muy potente)
ls listar (como dir)
rm borrar un fihero
cp copiar un fichero
pwd te dice el directorio en el que estás
cd directorio te sitúa en directorio
cd .. baja al directorio de nivel inferior
chown, chgrp, chmod, touch comandos para manejo de atributos de ficheros
find, locate buscar ficheros
cat, more, head listar ficheros (como type)
split partir ficheros
grep buscar texto en ficheros (muy potente)
Comandos para comunicaciones y redes
who lista de usuarios conectados
finger información sobre usuario
mail sencillo programa de correo
write manda un mensaje a la pantalla de un usuario
mesg bloqueo de mensajes de write
wall mensaje a todos los usuarios
talk establecer una charla con otro usuario
banner saca letrero en pantalla con el texto que se le pase
cal saca el calendario en pantalla
clear limpia la pantalla
date saca fecha y hora actuales
passwd cambiar contraseña de un usuario
Entorno gráfico xwindow
Iniciar X startx
Abrir nuevas sesiones startx -- :2 , :3 , :4 , etc.
Configuración de XF86 /etc/X11/XF86Config
Configuración de servidor X /etc/X11/Xserver
Configurar X XF86Setup (entorno gráfico, tienes que instalar xserver_vga) /usr/sbin/xbase-configure (entorno línea de comandos)
Salir de las X ctrl-alt-backspace
Fichero donde está el programa que arranca las X /etc/X11/window-managers
Comprimir y descomprimir
Descomprimir un *.tar.gz tar -xvzf
Descomprimir un *.tar (el tar es un tar_gz al que se le ha pasado gunzip) tar -xvf
Descomprimir un *.gz gzip -d
Empaquetar sin comprimir tar
Comprimir ficheros empaquetados gzip
Manejo de las unidades de diskettes y Cd-Rom
Montar diskette mount -t msdos /dev/floppy /mnt (/dev/floppy = /dev/fd0)
Montar Cd-Rom mount -t iso9660 /dev/cdrom /mnt (/dev/cdrom = /dev/hdb)
Listar unidad montada ls /mnt
Desmontar todo umount /mnt
Formatear floppy superformat /dev/fd0 hd (msdos) (hay que tener instalado fdutils) superformat /dev/fd0 sect=21 cyl=83
mkfs.ext2 /dev/fd0 (crea sistema de ficheros ext2)
Manejo de ficheros
Enlace simbólico entre ficheros ln -sf /dev/ttyS0 /dev/mouse (puerto serie 1)
ln -sf /dev/ttyS1 /dev/modem (puerto serie 2)
Número de inodo ls -i
Número de enlaces de un fichero ls -l
Borrar enlaces rm fichero (si no tiene enlaces borra el fichero)
Borrar directorios rm -r
Ver espacio libre en disco df (disco entero)
du -sh (directorios y ficheros)
Buscar un fichero find / -name mime.types (la / es la raiz donde quieres buscar)
Instalación y manejo de paquetes en Debian
dpkg -i Instalar paquete
dpkg --info Información del paquete
dpkg -c Muestra la lista de ficheros contenidos
dpkg --contents Lista todos los ficheros contenidos con sus directorios
dpkg -f Muestra información de versión del paquete
dpkg --unpack Desempaqueta
dpkg --purge Borra un paquete incluidos los ficheros de configuración
dpkg -r Borra un paquete pero no borra los ficheros de configuración
dpkg -L Lista el paquete si está instalado
dpkg -l Lista los paquetes instalados
Convertir paquetes de RedHat a Debian
alien -d fichero.rpm convierte fichero rpm a deb
alien -d fichero.tgz convierte fichero tgz a deb
alien -i fichero.rpm convierte fichero rpm a deb y lo instala
alien -i fichero.tgz convierte fichero tgz a deb y lo instala