Академический Документы
Профессиональный Документы
Культура Документы
Introduccion a GNU/Linux
Leonardo A. Naranjo Vega
Universidad Nacional Aut
onoma de M
exico
naranjo.vega.leonardo@gmail.com
6 de enero de 2015
GNU/Linux
Contenido
1 Historia de GNU/Linux y distribuciones.
2 Instalaci
on de GNU/Linux.
3 Sistema de archivos
4 Shell
5 Referencia de comandos
GNU/Linux
No es un curso avanzado.
Explicarles algunos conceptos relacionados con la instalacion.
Introducirlos en el uso basico del sistema operativo.
Terminal.
Editor (vim o emacs).
Shell scripts.
Instalaci
on de software.
Seguridad.
Usos (CMS).
GNU/Linux
Historia de GNU/Linux y distribuciones.
GNU/Linux
Historia de GNU/Linux y distribuciones.
GNU/Linux
Historia de GNU/Linux y distribuciones.
GNU/Linux
Historia de GNU/Linux y distribuciones.
GNU/Linux NO es UNIX
= GNU/Linux
GNU/Linux
Historia de GNU/Linux y distribuciones.
GNU/Linux
Instalaci
on de GNU/Linux.
GNU/Linux
Instalaci
on de GNU/Linux.
Creaci
on de las particiones necesarias para la instalaci
on.
Instalaci
on del sistema operativo.
Configuraci
on del gestor de arranque.
GNU/Linux
Instalaci
on de GNU/Linux.
Creacion de particiones
GNU/Linux
Instalaci
on de GNU/Linux.
GNU/Linux
Instalaci
on de GNU/Linux.
Configuracion de grub2
1
GNU/Linux
Sistema de archivos
Sistema de archivos
GNU/Linux
Sistema de archivos
Sistema de archivos
Es un conjunto de estructuras de datos que normalmente
reside en una parte del disco y que contiene archivos y
directorios.
Un sistema de archivos en GNU/Linux tiene la forma de un
arbol, siendo el directorio root la parte de hasta arriba.
Cada uno de los subdirectorios en el arbol puede contener mas
subdirectorios (rama) o archivos (hoja).
En GNU/Linux todo (teclado, monitor, tarjeta de video,
RAM, etc.) se representa por medio de un archivo (/dev/sda).
El tama
no del nombre de los archivos en GNU/Linux
depende del sistema de archivos, normalmente es de 255
caracteres. (stat -f /home).
GNU/Linux
Sistema de archivos
GNU/Linux
Sistema de archivos
GNU/Linux
Shell
Shell
GNU/Linux
Shell
Shell
Es un software que proporciona una interfaz entre el usuario y el
sistema operativo. El usuario introduce comandos, que el shell
interpreta y, a continuaci
on, los enva al sistema operativo.
GNU/Linux
Shell
GNU/Linux
Shell
GNU/Linux
Shell
Directorio home
GNU/Linux
Shell
Lnea de comandos
Es una sentencia compuesta por un comando, sus opciones y
argumentos (i.e. ls -lh).
En la lnea de comandos, cada una de las secuencias de
caracteres (sin considerar espacios en blanco) es llamada
token.
La lnea de comandos tiene una sintaxis, la cual es:
$ comando [opciones] [arg1] [arg2] [argn]
comando: Es el nombre de alg
un comando en GNU/Linux,
como: ls, echo, pwd, etc.
opciones: Es una letra o conjunto de letras, precedidas por un
guion, que modifican el comportamiento del comando.
argumentos: Puede ser el nombre de un archivo, una cadena
de caracteres, un n
umero u otro objeto sobre el que el
comando act
ua.
GNU/Linux
Shell
$
$
$
$
$
ls
man ls (Ver el manual en lnea del comando ls)
ls -l
ls -lh
ls -lh examples.desktop hola.c
GNU/Linux
Shell
Metacaracteres
GNU/Linux
Shell
GNU/Linux
Shell
Metacaracter
Uso
>
>>
<
|
GNU/Linux
Shell
Ejemplos de redireccion
$
$
$
$
$
$
$
$
$
ls -lh
ls -1
ls -1 >temp
cat <temp o cat temp
wc -l temp o wc -l <temp
rm temp
ls -1 | wc -l
ls -1 | sort -r
dpkg -l | grep ii | wc -l (N
umero de paquetes instalados)
GNU/Linux
Shell
Uso
?
[ccc]
GNU/Linux
Shell
$
$
$
$
$
$
$
$
GNU/Linux
Shell
Metacaracter
Uso
\c
0 ...0
...
GNU/Linux
Shell
$
$
$
$
$
$
GNU/Linux
Shell
Otros metacaracteres
Metacaracter
Uso
;
&
Terminador de comandos
Manda a ejecutar un comando en segundo
plano
Valor de la variable de shell var
Valor de la variable de shell var; evita confusi
on cuando esta concatenada con texto.
Comentarios
Asigna el valor value a la variable var
Ejecuta p2 solamente si p1 se ejecuto correctamente
Ejecuta p2 solamente si p1 no se ejecuto
correctamente
$var
${var }
#
var=value
p1&&p2
p1||p2
GNU/Linux
Shell
GNU/Linux
Referencia de comandos
Referencia de comandos
GNU/Linux
Referencia de comandos
.com
System Info
ls directory listing
date show the current date and time
ls -al formatted listing with hidden files
cal show this month's calendar
cd dir - change directory to dir
uptime show current uptime
cd change to home
w display who is online
pwd show current directory
whoami who you are logged in as
mkdir dir create a directory dir
finger user display information about user
rm file delete file
uname -a show kernel information
rm -r dir delete directory dir
cat /proc/cpuinfo cpu information
rm -f file force remove file
cat /proc/meminfo memory information
rm -rf dir force remove directory dir *
man command show the manual for command
cp file1 file2 copy file1 to file2
df show disk usage
cp -r dir1 dir2 copy dir1 to dir2; create dir2 if it du show directory space usage
doesn't exist
free show memory and swap usage
mv file1 file2 rename or move file1 to file2
whereis app show possible locations of app
if file2 is an existing directory, moves file1 into
which app show which app will be run by default
directory file2
Compression
ln -s file link create symbolic link link to file
tar cf file.tar files create a tar named
touch file create or update file
file.tar containing files
cat > file places standard input into file
tar xf file.tar extract the files from file.tar
more file output the contents of file
tar czf file.tar.gz files create a tar with
head file output the first 10 lines of file
Gzip compression
tail file output the last 10 lines of file
tar xzf file.tar.gz extract a tar using Gzip
tail -f file output the contents of file as it
tar cjf file.tar.bz2 create a tar with Bzip2
grows, starting with the last 10 lines
compression
Process Management
tar xjf file.tar.bz2 extract a tar using Bzip2
ps display your currently active processes
gzip file compresses file and renames it to
top display all running processes
file.gz
kill pid kill process id pid
gzip -d file.gz decompresses file.gz back to
killall proc kill all processes named proc *
file
bg lists stopped or background jobs; resume a
stopped job in the background
Network
fg brings the most recent job to foreground
ping host ping host and output results
fg n brings job n to the foreground
whois domain get whois information for domain
dig domain get DNS information for domain
File Permissions
dig -x host reverse lookup host
chmod octal file change the permissions of file
wget file download file
to octal, which can be found separately for user,
wget -c file continue a stopped download
group, and world by adding:
4 read (r)
Installation
2 write (w)
Install from source:
1 execute (x)
./configure
Examples:
make
chmod 777 read, write, execute for all
make install
chmod 755 rwx for owner, rx for group and world
dpkg -i pkg.deb install a package (Debian)
For more options, see man chmod.
rpm -Uvh pkg.rpm install a package (RPM)
SSH
Searching
Shortcuts
Ctrl+C halts the current command
Ctrl+Z stops the current command, resume with
fg in the foreground or bg in the background
Ctrl+D log out of current session, similar to exit
Ctrl+W erases one word in the current line
Ctrl+U erases the whole line
Ctrl+R type to bring up a recent command
!! - repeats the last command
exit log out of current session
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
ls (Continuacion)
Notas
Si el argumento de ls es un directorio, este listara el contenido
de dicho directorio.
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
cd (change directory)
Sintaxis
$ cd [nombre directorio]
Nota
Si no se proporciona un argumento a cd entonces el directorio
home se convierte en el directorio actual.
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
Sintaxis
$ pwd
Notas
El nombre del directorio actual (ruta absoluta) tambien se
encuentra guardado en la variable de entorno PWD.
$ echo $PWD
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
Sintaxis
$ mkdir [opciones] nombre directorio
Opciones u
tiles
-p: Crear tantos directorios como sea necesario.
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
Sintaxis
$ mv [opciones] origen destino
Notas
El destino no existe.
Renombra archivos o directorios.
Si el destino existe entonces se sobrescribe (archivo
archivo).
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
mv (Continuacion)
Sintaxis 2
$ mv [opciones] origenes destino
Notas 2
El destino debe existir y tiene que ser un directorio.
Mueve archivos o directorios al directorio destino.
Origenes es una lista de uno o mas archivos o directorios
(mezclados).
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
mv (Continuacion)
Opciones u
tiles
-i: Pregunta antes de sobrescribir alg
un archivo.
-f: Sobrescribe sin preguntar antes nada (comportamiento por
omision).
-v: Imprime las acciones que se estan llevando a cabo.
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
Sintaxis 1
$ cp [opciones] [origen] [destino]
Notas
El destino no existe.
Copia archivos. Cuando se utiliza la opci
on -r, copia
directorios recursivamente.
Si el destino existe (archivo archivo), este se sobrescribe.
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
cp (Continuacion)
Sintaxis 2
$ cp [opciones] [origenes] [destino]
Notas 2
El destino existe y es un directorio.
Copia archivos o directorios (mezcla) al directorio destino.
Origenes es una lista de archivos o directorios (-r).
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
cp (Continuacion)
Opciones u
tiles
-i: Pregunta antes de sobrescribir alg
un archivo.
-r: Copia directorios de forma recursiva.
-n: No sobrescribe el archivo en caso de que exista (no
pregunta nada).
-v: Da informacion detallada de lo que se esta llevando a cabo.
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
less is more
Sintaxis
$ less [opciones] [archivo1] [archivo2] ... [archivoN]
Opciones u
tiles
-N: Muestra los n
umeros de lnea en el archivo.
+n: Ir a la lnea n.
Notas
Una vez que less se ha ejecutado se pueden utilizar los siguientes
comandos:
h: Muestra la ayuda.
e: Ir una lnea hacia adelante.
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
GNU/Linux
Referencia de comandos
Manejo de archivos y directorios
GNU/Linux
Referencia de comandos
Manejo de procesos
Manejo de procesos
GNU/Linux
Referencia de comandos
Manejo de procesos
ps (process status)
Sintaxis
$ ps [opciones]
Opciones u
tiles: Selecci
on de procesos
-e o -A: Lista todos los procesos.
-p pidlist Selecciona los procesos cuyo PID que se encuentre
en pidlist.
-C cmdlist: Selecciona los procesos cuyo nombre (CMD) se
encuentre en cmdlist.
-u userlist: Selecciona los procesos que pertenezcan a los
usuarios que se encuentren listados en userlist.
GNU/Linux
Referencia de comandos
Manejo de procesos
ps (Continuacion)
Opciones u
tiles: Formato de la salida (-o)
cmd: Comando con todos sus argumentos.
etime: Tiempo transcurrido de ejecuci
on (wall-clock time).
time: Tiempo de CPU acumulado.
pid: Identificador de proceso.
ppid: Identificador de proceso del padre.
Notas
Por omision, ps muestra los procesos que pertenecen al usuario
que invoco el comando y que estan asociados a la terminal actual
(PID, TTY, TIME y CMD).
GNU/Linux
Referencia de comandos
Manejo de procesos
GNU/Linux
Referencia de comandos
Permisos de archivos
GNU/Linux
Referencia de comandos
Permisos de archivos
GNU/Linux
Referencia de comandos
Permisos de archivos
GNU/Linux
Referencia de comandos
Permisos de archivos
chmod (Continuacion)
Opciones u
tiles
-R: Cambia los permisos de los archivos de forma recursiva.
-v: Imprime lo que el comando esta haciendo.