Breve introducción aos Sistemas OperativosEn galego
Comments
Content
Informática Básica – Prácticas (bloque 2)
Introdución aos Sistemas Operativos
Curso 2014/15
Profesores de prácticas:
Antonio Fariña
Verónica Bolón
Brais Cancela
Diego Fernández
Material feito por:
Juan R. López
Antonio Fariña
Óscar Pedreira
Susana Ladra
Diego Seco
Alberto Ordóñez
Guión
– Instalación de Ubuntu nunha máquina virtual con virtual-box
• Guía de instalación de ubuntu
– Elección de distribución
– Particionado
– O shell de linux:
• nocións básicas.
– Obtención de axuda, o entorno, comandos básicos.
– O superusuario (root). sudo.
– Sistemas de ficheiros.
• estrutura: o path.
• ficheiros
– permisos
• comandos relacionados.
– Usuarios e grupos
• privilexios
– Procesos
• execución en primeiro e segundo plano, finalización, espera.
• Redireccións e pipes.
– Instalación de software e paquetes
– Redes: comandos básicos
– Procesamento batch: scripting.
Usuarios anónimos moodle
• Usuario: 614G01002
• Clave: C14.z6540zbj3
(todo son “ceros”, non hai “Oes maiúsculas”)
Slots NX accesibles para IB
IP
Sistema
Operativo
10.10.5.160
UBUNTU12.04
10.10.5.161
UBUNTU12.04
• Nun terminal:
export USERNAME=xxx (sustitúe xxx polo teu nome de usuario)
/etc/ib/restaurarMV.sh
/etc/ib/MUBd.sh (arranca desde hdd)
/etc/ib/MUBD.sh (arranca desde DVD)
Obtención da máquina virtual “base”
•
Laboratorios “normais” (1.1, 1.2)
– Atoparás unha máquina virtual virtual box
no menú “applications > systemTools”
descarga a máquina virtual de proba
• mub.vdi, mub.ovf e mub.vmdk
• imaxe de cd de ubuntu.
•
Dispoñible a través de:
1. ftp a ftp.fic.udc.es usuario “anonymous”, directorio “/publico/ib” atoparás:
» Ubuntu-12.04, e ubuntu-10.04 imaxes para instalar ubuntu
» Mv-virtualbox_ini (máquina virtual xa preconfigurada, sen ubuntu).
» Mv-virtualbox_act (máquina virtual xa preconfigurada, con ubuntu).
– ou instala o teu propio ubuntu directamente (boa opción)
•
http://www.ubuntu.com/download/desktop (ou cunha das imaxes de ftp.fic.udc.es)
» Aplicacións como servidor: ssh/http/sftp/BD/…
» Quizais non precise de interfaz de ventás… (aforro o espazo)
Cliente?
–
Máis orientado a estación de traballo típica. Interfaz gnome/kde/…
• Outras…
Diferentes aplicacións/configuracións por defecto…
Pero sempre podemos partir dun sistema base, e instalar nós as aplicacións/servizos que desexemos
Antes de comezar
Elección da versión a instalar: 32bit Vs 64bit?
Arquitectura da máquina?
– 32 bit funcionará en todos.
• Pode haber aplicacións que aínda non estén portadas a 64bit?
– 64 bit. Requisitos de memoria? permite usar >4gb RAM.
• Servidores
• Aplicacións de edición de vídeo/imaxe prof.
•
UEFI (https://help.ubuntu.com/community/UEFI)
32 bit
Intel pentium (I, II, III, IV)
Intel centrino.
Intel Atom(Z5*, Z6*)
Antes de comezar
O meu computador: Onde instalar Ubuntu?
– Necesítase un disco duro completo? Unha unidade flash?
– Necesito unha partición. Teño unha partición dispoñible?
• Exemplo:
MBR
•
Windows: (c) Windows (d)
Ubuntu
Nota: Se xa teño Windows igual me interesa reducir unha partición existente
para lle facer oco á nova partición que usarei para Ubuntu.
– De haber máis de 1 S.O. deberemos instalar
un cargador que permita elexir que S.O.
queremos iniciar:
• Lilo, grub 2.
– O MBR (Máster boot Record) típicamente
conterá o cargador
Antes de comezar
O meu computador: Exemplo típico de almacenamento.
– O MBR (Máster boot Record) ou primeiro sector do disco (512bytes)
– Secuencia típica de arranque.
• Na bios seleccionarase de que HDD arrancar.
• O firmware para o arranque (bootstrapping) carga o sector de arranque e executa o
código máquina do cargador do MBR.
• O cargador executa normalmente a info de carga que se atopará ao comezo da
partición primaria activa
• …
Antes de comezar
Reducir unha partición existente (desde windows)
Interesante se queremos instalar linux nun equipo que xa ten Windows.
–
Icono Equipo > (pinchar con botón dereito)
> Administrar
Elexir canto espazo queremos para linux
100000
25000
163356
Antes de comezar
O noso computador virtual: VIRTUALBOX
– Url: http://www.virtualbox.org/
– GPL:
•
Pódese baixar e instalar.
– Simula un computador x86 virtual.
•
•
•
CPU: (1+ cores)
Memoria (128Mb, 512Mb, 2Gb?)
Almacenamento … (ollo á orde de arranque)
–
–
•
•
•
•
•
Discos duros (1 ou +)
cd-rom/dvd-rom. (1 ou +)
» Virtual? (p.ex montado a partires dunha imaxe “iso” dun cd).
» Unidade do pc?
Tarxeta gráfica
Rede
Son
Usb,
Bios,…
Antes de comezar
O noso computador virtual: VIRTUALBOX
–
Exemplo:
Antes de comezar
O noso computador virtual: VIRTUALBOX
–
–
Nova máquina virtual:
Indicar nome
Antes de comezar
O noso computador virtual: VIRTUALBOX
–
–
–
Nova máquina virtual:
Indicar nome
Indicar cantidade de memoria
Antes de comezar
O noso computador virtual:
VIRTUALBOX
–
–
–
–
Nova máquina virtual:
Indicar nome
Indicar cantidade de memoria
Crear hdd
2
3
1
4
Antes de comezar
O noso computador virtual:
VIRTUALBOX
–
–
–
–
–
3
Nova máquina virtual:
Indicar nome
Indicar cantidade de memoria
Crear hdd
Engadir un cdrom ao sistema
1
2
Antes de comezar
O noso computador virtual:
VIRTUALBOX
–
–
–
–
–
–
Nova máquina virtual:
Indicar nome
Indicar cantidade de memoria
Crear hdd
Engadir un cdrom ao sistema
Rede en modo NAT.
(a máquina compartirá a rede
do host).
Antes de comezar
O noso computador virtual:
VIRTUALBOX
–
–
–
–
–
–
–
Nova máquina virtual:
Indicar nome
Indicar cantidade de memoria
Crear hdd
Engadir un cdrom ao sistema
Rede en modo NAT.
(a máquina compartirá a rede
do host).
Establecer a orde de arranque:
– Cdrom | hdd |, etc. Ou…
– Hdd | cdrom| …
Antes de comezar
O noso computador virtual:
VIRTUALBOX
–
–
–
–
–
–
–
Nova máquina virtual:
Indicar nome
Indicar cantidade de memoria
Crear hdd
Engadir un cdrom ao sistema
Rede en modo NAT.
(a máquina compartirá a rede
do host).
Establecer a orde de arranque:
– Cdrom | hdd |, etc. Ou…
– Hdd | cdrom| …
Resumo configuración
Antes de comezar
A máquina virtual preinstalada (lab) ou descargable (wifi):
ftp a ftp.fic.udc.es usuario “anonymous”, directorio “/publico/ib”
Configuración por defecto.
–
–
–
–
–
–
Nome: ubuntu
RAM = 512Mb
1 Hdd de 5gb
Cdrom a montar/montado (iso)
Rede en modo NAT.
Establecer a orde de arranque:
– Cdrom | hdd |, etc. Ou…
– Hdd | cdrom| …
–
Contén preinstalado un Debian.
– Pódese arrancar
– (Hai que pulsar F12 durante
o arranque para que
arranque desde o disco
duro)
– Unha vez arrancado debian:
– Usuario: ib
– Password: ib
Instalación de ubuntu
Arranque da máquina base
(Arranque desde o disco duro)
– Esta máquina trae xa preinstalado un S.O. linux/debian (e o cargador GRUB)
Instalación de ubuntu
Arranque da máquina base
– Login en debian preinstalado: usuario = password = ib
– Apagar (teclear su, clave ib) $shutdown –r now
Unha vez arrancado
debian:
– Usuario: ib
– Password: ib
Instalación de ubuntu
Inicio da instalación
– Arráncase desde o CD
• Antes hai que engadir a imaxe “ubuntu-12.04.3-desktop-i386.iso” como unidade
de CD-ROM da nosa máquina virtual
1
2
Instalación de ubuntu
Inicio da instalación
– Arráncase a máquina virtual desde o CD
Instalación de ubuntu
Probar ubuntu ou instalar ubuntu?
Instalación de ubuntu
Preparado para instalar ubuntu
Instalación de ubuntu
Preparación do disco duro: ¡particionado!
– O noso sistema xa ten un sistema operativo (debian) instalado.
– Poderiamos elexir a 1ª
opción e instalar ubuntu
directamente xunto a
Debian GNU/Linux, pero
preferimos particionar
manualmente as nosas
particións.
- Opción “Algo más”
Instalación de ubuntu
Preparación do disco duro: ¡particionado!
– Usamos o espazo libre para crear particións para o “ubuntu”
– Neste caso crearemos 2 novas particións: 1 para o sistema e outra de swap
Instalación de ubuntu
Preparación do disco duro: ¡particionado!
– Usamos o espazo libre para crear particións para o “ubuntu”
– Neste caso crearemos 2 novas particións: 1 para o sistema e outra de swap
Partición para o sistema raíz: /
Especificar tamaño
Tipo ext4. (obrigatorio no vbox dos laboratorios!!)
Punto montaxe= /
Formatear (activado)
Instalación de ubuntu
Preparación do disco duro: ¡particionado!
– Usamos o espazo libre para crear particións para o “ubuntu”
– Neste caso crearemos 2 novas particións: 1 para o sistema e outra de swap
Partición de “área de intercambio”
(tipo=swap)
Especificar tamaño (o restante)
Tipo swap (área de intercambio).
Punto montaxe= deshabilitado (non se monta)
Formatear (non necesario)
Instalación de ubuntu
Preparación do disco duro: ¡particionado!
– En definitiva temos 3 particións no noso disco duro:
•
/dev/sda1
–
•
/dev/sda2
–
•
Contén o outro sistema operativo (debian linux)
É o sistema raíz (/) no que instalaremos o ubuntu
»
Tipo ext4. (obrigatorio no vbox dos laboratorios!!)
»
Formatear
»
Punto montaxe= /
/dev/sda3
–
Usarémolo como espacio de intercambio
– instalar cargador de arranque (grub2)
•
•
no primeiro disco duro (/dev/sda)
Poderemos arrancar ubuntu e debian
– Continuamos a instalación
•
•
Formatearase /dev/sda2
Instálase ubuntu no /dev/sda2
Instalación de ubuntu
Un inciso, facer particionado: se o hdd estivese baleiro:
Instalación de ubuntu
Elección da zona horaria
– España (Madrid)
Instalación de ubuntu
Distribución do teclado
– P.ex.: Compróbese que detecta ben a “ñ” e o “;” Senón click detectar
Instalación de ubuntu
Crear usuario inicial
– Será administrador!
– Usuario: ib
– Contrasinal: ib
(ou a que ti queiras)
Instalación de ubuntu
Copiando ficheiros
– Creación sist. ficheiros
– Copia ficheiros e configuración de paquetes.
Instalación de ubuntu
Finalización instalación e reinicio
Pulsar enter
Instalación de ubuntu
Arranque novo sistema
– Elección de sistema no menú de GRUB.
Ubuntu novo
Debian antigo
Instalación de ubuntu
Login en ubuntu
– (co usuario creado previamente: ib)
Instalación de ubuntu
Configuración rede en labs. Wifi. (se fose necesario: 1 de 2)
– (co usuario creado previamente: ib)
Instalación de ubuntu
Configuración rede en labs. Wifi. (se fose necesario: 2 de 2)
– (co usuario creado previamente: ib)
antes
despois
Guión
– O shell de linux
• Nocións básicas
Algunhas nocións básicas: o shell e o entorno,...
–
Existen varios shell que podemos usar dentro dun terminal, e onde introduciremos comandos:
•
•
–
–
sh, bash, csh, zsh, tcsh.
Por defecto comezamos co shell “bash” (aínda que se pode cambiar).
Saír do shell: exit ou CTRL+D
Solicitude de axuda sobre un comando (e outras funcións):
•
man
– man paxina
– man –k cadena
•
–
comando –h ou comando --help
O entorno:
•
Existen unha serie de variables de entorno (HOSTNAME, PATH, HOME,TERM,...) que poden ser modificadas.
Tamén se poden engadir novas variables ao entorno (export var=valor)
– export: export sen argumentos amosa o contido de todas as variables.
export PATH=$PATH:/home/ib/bin
## modifica a variable PATH engadíndolle /home/ib/bin
export X=“a variable X toma este valor” ## crea a variable X
– unset $PATH unset $X
##elimina a variable
– echo $PATH echo $X
##amosa o contido das variables $PATH e $X
Nótese que para facer referencia a ditas variables se pon un $ diante do nome. exemplo: cd $HOME
•
–
Existe un ficheiro de configuración do shell no que se definen algunhas destas variables: “.bashrc”, “.profile”...
Alias de comandos: (alias nome=comando). Dalle un nome a un comando que introduzcamos
• alias quenson = whoami
• alias LS='ls -lsa‘ cando tecleemos o comando LS invócase ls -lsa
–
Algúns comandos básicos
•
ls, cat, exit, pwd, echo, hostname, passwd, locate, which, cd, whoami, finger, clear, reset,
free (memoria/swap libre), ...
(algúns verémolos máis adiante!, pero recordade mirar para que sirven!)
Algunhas nocións básicas: o shell
O superusuario / usuario root (e o comando sudo)
– Administrador do sistema.
– Moitos comandos requiren ser executados en “modo root” (superusuario).
– Un usuario “non-root” pode ser engadido ao grupo dos administradores e poderá usar o comando sudo.
•
•
sudo: Permitirá executar comandos en modo “root”.
Exemplo:
–
–
ib@ib:~$ shutdown –r now
shutdown: Es necesario ser superusuario
–
–
–
ib@ib:~$ sudo shutdown –r now
[sudo] password for ib:
... the system is shutting down...
O comando su, permítenos
Abrir un shell con outro usuario: su <nome usuario>
–
–
ib@ib:~$ sudo su usuario2
usuario2@ib:~$
Abrir un shell de administrador (superusuario): su (sen argumentos)
–
ib@ib:~$ sudo su
Apagar/reiniciar o sistema desde a liña de comandos (requiren ser superusuario)
shutdown
–
–
–
–
–
–
shutdown –h now (halt agora)
shutdown –h 20:10
shutdown –h +10
shutdown –r now (restart)
shutdown –P now (poweroff: apagar tras shutdown, implica –h)
shutdown –k now (avisa aos usuarios de que vou apagar o sistema, pero non o apaga).
reboot, halt, poweroff pódense usar para reiniciar ou parar o sistema
wall <ficheiro> (envia a mensaxe a todos os terminais conectados actualmente. shutdown usa wall para avisar aos usuarios de que o
sistema se vai apagar)
Guión
– Sistemas de ficheiros
• Arquivos
• Directorios e estrutura do s.f.
Sistemas de ficheiros
Arquivos: tipos
– O arquivo é a base do sistema de ficheiros:
•
Nel almacénase información: imaxe, texto, html,…
– Debe ter un nome:
•
•
•
•
1..255 caracteres: Calquera caracter salvo a “/”
Arquivos “ocultos” comezan por “.”
Diferencia entre maiúsculas e minúsculas!
a.txt e A.txt son ficheiros diferentes
Comodíns: *, ? ... cando nos queremos referir a eles. (p.ex: ls *.txt ou rm –f /home/??.txt)
–
*:
sustitúe a 0+ caracteres
?: sustitúe a 1 único caracter
– Tipos:
•
•
•
Arquivos ou ficheiros ordinarios.
Directorios ou carpetas: agrupa a outros arquivos de forma estructurada.
Arquivos especiais: normalmente asociados a dispositivos conectados ao computador:
– De bloque: un disco duro ou dvdrom (hda0,sda0),
– De caracter: unha impresora (lp0, psaux)…
Cada ficheiro pertencerá a un propietario e pode ter permisos asignados de lectura, escritura, e
execución (ficheiro executable).
Permisos asignados a: usuario | usuarios do grupo | outros usuarios
Sistemas de ficheiros
Arquivos: permisos
•
Un nome,
•
Un propietario e un grupo (véxase chown e chgrp)
•
Un tipo (ficheiro ‘-’, un directorio ‘d’, un link ‘l’, dispositivo de bloque ‘b’ ou carácter ‘c’, ...)
•
Un tamaño, data de modificación, data de creación
Unha serie de permisos: (véxase chmod)
•
Asociados aos usuarios do grupo ao que pertence o ficheiro
•
Asociados a outros usuarios (nin o propietario nin os membros do grupo).
Sistemas de ficheiros
Estructura xerárquica: o PATH
ib
– A estructura do S.F. é xerárquica:
•
•
Típicamente é arbórea (directorios/subdirectorios/…)
Existencia de links (o que a converte nun grafo)
– Cada ficheiro pode estar no directorio raíz (/) ou máis abaixo na xerarquía de directorios.
O camiño desde a raíz ata o ficheiro coñécese como PATH.
•
/home/ib/Carta.txt
– Directorio actual: rutas relativas Vs absolutas
•
•
•
O directorio raíz é o: /
O directorio de traballo actual é o : .
O directorio pai é o: ..
•
Ruta absoluta: desde o directorio raíz:
(o comando pwd indícamo.)
– cat /home/ib/examples.desktop
•
Ruta relativa (ao dir actual):
– cd /home/ib [enter]
– cat examples.desktop
•
(cambia de directorio ata o /home/ib)
O directorio inicial dun usuario é o: ~
– cd ~
(cambia de directorio ata o directorio inicial,
p.ex. a /home/ib, para o usuario “ib”)
Sistemas de ficheiros
Estructura do S.F: directorio raíz e organización do s.f.
– Todo comeza no “/” (directorio raíz)
Sistemas de ficheiros: comandos básicos
– Existen multitude de comandos: úsese o man para coñecer a súa utilidade.
•
•
•
•
•
•
•
•
•
•
•
•
Amosar o contido dun directorio, información dun ficheiro,... (ls)
Amosar o tipo dun ficheiro (file)
Navegar polo sistema de ficheiros: (cd | chdir)
Coñecer o directorio actual (pwd)
Crear/eliminar directorios (mkdir, rmdir)
Crear ficheiros baleiros (touch, vi, nano | pico)
Eliminar ficheiros e directorios (rm, rm -r)
Mover/copiar elementos: (mv, cp).
Crear links (ln)
Manexar particións (fdisk). Crear sf nunha partición| chequear erros. (mkfs,fsck)
Montar e desmontar sistemas de ficheiros (mount/umount)
Amosar espacio utilizado (du, df).
•
Manexar permisos: (chmod, chown, chgrp)
•
•
•
•
•
•
•
Para ficheiros de texto: contido (cat, more, less, head, tail), estatísticas (wc)
Comparar 2 ficheiros: (diff, cmp)
Buscar dentro dun ficheiro (grep)
Empaquetar | comprimir ficheiros e directorio (tar, gzip, bzip2, p7zip,...)
Buscar ruta de ficheiros (whereis, which, locate, updatedb)
Buscar ficheiros que encaixen cun modelo (find –name “modelo“, -perm 777 –user ib)
dd...
para máis info
ver apéndice
Sistemas de ficheiros: particionado, formateado
Dispositivos de almacenamento e particións.
– Un disco duro é un dispositivo de almacenamento que pode conter ata 4 particións primarias*, e delas
–
unha pode ser extendida (e á súa vez conter múltiples particións lóxicas).
¿Onde están os dispositivos do sistema? /dev
•
•
•
/dev/hda1, /dev/hda2,... particións 1 e 2 do primeiro dispositivo IDE
/dev/sda1, /dev/sdb1,... 1ª partición do 1º e do 2º dispositivo SATA respectivamente
Disco 1
sda
O primeiro disco do sistema (/dev/sda) ten 3 particións:
/dev/sda1
/dev/sda2, que contén o sistema de ficheiros raíz “/”
Disco 2
sdb
/dev/sda3 que contén unha partición lóxica /dev/sda5
O segundo disco do sistema (/dev/sdb) ten 1 partición:
/dev/sdb1, que contén os directorios de usuario (/home)
Disco 4
sdd
O cuarto dispositivo do sistema (/dev/sdd) ten 1 partición:
/dev/sdd1, neste caso consiste nun “pendrive” cun
sistema de ficheiros en formato “ntfs”
Sistemas de ficheiros: particionado, formateado
Disco 1
– Particionado:
•
O comando fdisk permite manipular táboas de particións para ver/crear/modificar as particións
existentes nun dispositivo de almacenamento.
p print estado
n nova partición (/dev/sda1, /dev/sda2...)
d eliminar partición
t cambiar tipo de partición (ext4, swap,...)
w escribir táboa de particións a disco (!! Realiza os cambios, non se pode “desfacer” !!)
q saír (sen almacenar cambios).
h axuda.
(tipos de s.f.: ext4, ext3, ntfs, vfat, linux swap,...)
– Creación dun s.f. (formateado)
• mkfs (mkfs.ext4, mkfs.ext3, mkfs.ntfs,...)
– sudo mkfs –t ext3 /dev/sdd1 equivale a sudo mkfs.ext3 /dev/sdd1
(crea un sistema de ficheiros “ext3” no dispositivo sdd1 (1ª partición do disco 4)
– sudo mkfs –t ext4 /dev/sda2 equivale a sudo mkfs.ext4 /dev/sda2
(crea un sistema de ficheiros “ext4” no dispositivo sda2 (2ª partición do disco 1)
Sistemas de ficheiros: mount, umount. Punto montaxe
Montar/desmontar s.f.
–
Antes de acceder a un s.f. cómpre montalo para facelo accesible. Isto require elexir un punto do
sistema de ficheiros (un directorio) que se denominará punto de montaxe (p.ex. /mnt/pendrive). O
punto de montaxe será a ruta a partires da cal se accederá á raiz do s.f. montado. (p.ex.
/mnt/pendrive/windows accederá á ruta c:\windows, se o s.f. montado é a unidade c: dunha partición
con windows).
mount [opcións] <dispositivo> <punto montaxe>
-t (tipo), -o (ro, rw, ... é dicir: readonly, readwrite)
•
•
mount -t ext4 /dev/sda1 /mnt/debian
cd /mnt/debian/home
debian
umount <dispositivo> ou umount <punto montaxe>
•
•
umount /mnt/debian, ou tamén
umount /dev/sda1
Que está montado actualmente? (varias formas de sabelo)
– mount (sen argumentos),
– df ou df -h
– cat /etc/mtab (este ficheiro garda información de que particións xa están montadas e como)
Desconectar un dispositivo usb con seguridade umount!!
/dev/sda3
/dev/sda1
Forzamos que se escriban a disco os datos modificados, que puidesen estar aínda en buffers
de memoria: buffer caché!! evitamos perder eses datos e que o s.f. quede incoherente.
Sistemas de ficheiros: montaxe, /etc/fstab
O ficheiro /etc/fstab
– Permite establecer que sistemas de ficheiros se montarán por defecto ao arrancar a máquina, ou
simplemente establece que s.f. se monta e/ou onde ao montar un dispositivo dado.
–
Podemos sustituir /dev/sd?? no /etc/fstab por un UUID ou Identificador único de cada partición. O
UUID non cambia aínda que engadamos novos dispositivos ao computador, ou modifiquemos a orde
dos discos Identifícaos unívocamente. O comando blkid permite obter o UUID de cada dispositivo
–
[u]mount <punto de montaxe> (non hai que especificar modo, dispositivo, etc, pois xa o sabe o fstab)
•
•
–
$mount /mnt
$umount /mnt
monta a partición /dev/sda3 (que ten UUID =“06 ….d7”, é de tipo ext3) no directorio /mnt
desmonta a partición /dev/sda3
mount –a e umount –a monta/desmonta todos os dispositivos indicados no /etc/fstab (ou no
/etc/mtab no caso de umount).
Sistemas de ficheiros: montaxe, /etc/fstab
Sen saber o que se fai, pero facéndoo simple...
– Posto que montar/desmontar unidades externas soe ser moi común... tamén hai outra forma sinxela
de facelo, se estamos en gnome: engadir o applet “montador de discos”.
– Pero nós debemos saber “que fai internamente”!! mount/umount
Gnome (p.ex. En ubuntu 10.04)
En ventana de nautilus…
Seleccionar dispositivo…
E despois “montar”
Sistemas de ficheiros, outros: chequeo do s.f. / swap
– Chequeo de erros nun s.f.
• Debe estar “non montado”.
• fsck [–f] /dev/dispositivo […]
– Ex: fsck –f /dev/sda3 Opción “–f” forza a que se faga o chequeo incluso de o s.f.
está “limpo”
– Desactivar intercambio, configurar partición como de intercambio, activar
intercambio.
•
•
•
•
swapoff –a desactiva o intercambio
free
amosa memoria libre (e intercambio dispoñible)
mkswap /dev/sda2 configura unha área de intercambio linux en /dev/sda2
swapon –a activa de novo as áreas de intercambio
Guión
– Xestión de usuarios
• Usuarios
– Contrasinal
• Grupos
Xestión de usuarios: usuarios e grupos
–
Linux é un S.O. multiusuario.
•
cada usuario terá uns privilexios que definen que pode facer.
•
cada usuario pode ser incluido nun grupo (que á súa vez pode ter uns privilexios), de modo que o usuario pase
a “disfrutar” dos privilexios do grupo.
•
Un usuario terá (entre outros): un id de usuario, un grupo ou máis aos que pertence (p.ex. users, admin), un
directorio de usuario $HOME, un contrasinal, e un shell que arrancará por defecto.
–
–
Os ficheiros que almacenan esta información son: /etc/passwd e /etc/shadow (password encriptado)
Creación de novos usuarios e grupos
– adduser <usuario>
usa configuración por defecto para a conta do usuario (/etc/login.defs, /etc/skel*, /etc/shells)
– addgroup <grupo>
crea o grupo <grupo>
– adduser <usuario> <grupo>
engade o <usuario> dado ao grupo <grupo>
Ficheros relacionados coas contas de usuario son:
•
/etc/passwd: contén información sobre cada usuario: ID, grupo principal, descrición,
directorio de inicio, shell, etc. Tamén contén o password encriptado, salvo que se usen
shadow passwords.
exemplos
» adduser pepe
/etc/shadow: ten passwords encriptados dos usuarios se se emplean shadow passwords.
» adduser pepe admin
/etc/group: contén os membros de cada grupo.
» cat /etc/passwd |grep pepe
/etc/skel: directorio que contén o contido do directorio para novos usuarios
(amosa o seguinte) “pepecolegas:x:1001:pepe,root,ib”
» deluser pepe ; delgroup pepecolegas elimina usuario pepe e grupo “pepecolegas”
Xestión de usuarios: cambio de contrasinal
– Passwd: Cambiar a contrasinal dun usuario.
Un usuario conectado (nun terminal) pode cambiar a súa contrasinal co comando:
•
passwd cambia a contrasinal do usuario actual (pídenos a contrasinal vella)
•
sudo passwd usuario fai o cambio da contrasinal do usuario “usuario”.
Nótese que cando o root chama a (sudo) passwd usuario, xa non se lle pide a contrasinal
vella, pois asúmese que o root ten permiso para modificar/restablecer contrasinais.
•
Exemplos:
– passwd –d ib elimina a clave do usuario “ib”
– passwd ib
Guión
– Xestión de procesos
• Ver procesos
– Envío de sinais (deter, reanudar, terminar)
– Prioridade
• Tarefas
– Primeiro e segundo plano
Procesos
–
No sistema haberá moitos procesos:
•
Procesos de sistema (p.ex init), e procesos asociados a servizos (daemons) como poden ser o sshd,
httpd,inetd, etc.
•
Procesos de usuarios do sistema, asociados ás aplicacións/programas que os usuarios estean executando nun
momento dado.
–
Un proceso pode estar executándose, listo para execución, ou en espera.
–
Algúns comandos típicos relativos ao manexo de procesos :
–
•
ps:
p.ex $ps -l -u ib (amosa os procesos do usuario “ib”).
•
pstree
•
top: amosa os procesos que máis cpu consumen. (top –c amosa o comando completo).
•
kill <señal> PID:
•
killall <proceso>
pulsa “q” para saír.
exemplo $kill -9 1266
exemplo $killall a.out
Por defecto os procesos que lancemos nun shell inícianse en primeiro plano, pero poden enviarse a
segundo plano ou background, iniciándoos con “&”.
•
ls –l > a.txt primeiro plano
•
ls –l > a.txt & segundo plano.
Procesos en primeiro e segundo plano
–
jobs. Amosa tarefas. Basicamente, procesos que están correndo (en segundo plano) nun terminal.
Tamén se amosa o estado dos procesos.
–
fg %[id.tarefa] trae dita tarefa a primeiro plano (toma o control).
•
Se non estaba en execución, pasará a executarse.
Exemplo: fg %1
–
bg %[id.tarefa] envía a segundo plano unha tarefa que xa fora suspendida temporalmente.
•
–
Se estaba parado, seguirá parado ata que reciba unha señal para “continuar”.
Señais (kill)
•
•
Matar un proceso con PID=2563
•
Deter un proceso con PID=2563
– CTRL+C mata o proceso activo
– CTRL+Z durme o proceso activo
– Equivale a kill -9 2563, ou a kill -KILL 2563
– Equivale a kill -STOP 2563
Continuar a execución do proceso con PID= 2563
– kill –CONT 2563
–
nice / renice
(prioridade máis alta = -20, máis baixa = +19, defecto = 0).
•
nice –n 19 ls –lR / inicia tarefa “ls –lR” co nivel de prioridade +19.
•
renice +5 –p PID
•
renice -5 –p PID Permiso denegado! Isto débese a que sen ser root non podemos subirlle a prioridade máis
establece a prioridade do proceso PID a +5.
aló da prioridade de inicio dos procesos de usuario (0 = valor típico por defecto para procesos de usuario).
Redireccións e tubos (pipes)
– Existen 3 ficheiros especiais en /dev: stdin, stdout, stderr
– Todo proceso poderá referirse a eles:
• stdin
• stdout
• stderr
– Podemos redireccionar estas “saídas especias” cara a outro ficheiro.
– ls / > listado.txt
(equivalente á seguinte)
– ls / 1> listado.txt
(amosarán o contido do directorio raíz, e gárdano no ficheiro “listado.txt”).
– ls / >> listado.txt (non sobreescribe o ficheiro. Engade ao final de listado.txt).
– ls /xaxbxc.txt
ls: /xaxbxc.txt: no existe fichero o directorio.
– ls / /xaxbxc.txt 1>listado.txt 2>erros.txt
» meterá no ficheiro “listado.txt” a listaxe de ficheiros do directorio raíz.
» meterá no ficheiro “erros.txt” o texto “ls: /xaxbxc.txt: no existe fichero o directorio”
– Podemos direccionar tamén a entrada estándar “desde un ficheiro”
– more < “listado.txt” (amosa por pantalla, páxina a páxina o contido de “listado.txt”
– Tuberías: Podemos enviar a saída dun proceso á entrada estándar doutro.
–
–
–
–
ls /dev |more
(pasa a saída do “ls /dev” ao comando more para amosar info pantalla a pantalla)
ls -R /home | grep .txt (grep filtra as liñas que conteñan “.txt” de todas as que devolve o “ls –R /home”).
find / -name sdtin | more
find / -name *ib* | more
Guión
– Instalación de software
• Apt
• synaptic
Instalación de paquetes/aplicacións
As aplicacións a instalar soen estar en repositorios (ver/etc/apt/sources.list )
–
–
–
–
Main: soft libre (modificación e redistribución é permitida xeralmente). Soporte garantido.
Restricted: soft moi usado, pero non “completamente libre”. Necesario en alguns sistemas (p.ex drivers)
Universe: código distribuido libremente, sen soporte de canonical… se moi populares main.
Multiverse: non libre. O usuario pode instalalo baixo a súa responsabilidade (licencia? Soporte non dispoñible)
Instalación a partires de repositorios
– Centro de software de ubuntu
– Synaptic
– apt:
•
•
–
–
apt-get
install <paquete>
update
upgrade
dist-upgrade (actualización global do sistema)
remove <paquete>
autoremove
apt-cache search <paquete>
Nota, moitos cortafogos cortan este tipo de tráfico de rede, así que o host de destino podería
estar accesible (por exemplo para os servizos ssh, http,...), e non contestar a ping
– ifconfig [<interfaz>]
•
permite configurar interfaces de rede
•
Sen parámetros, amosa información relativa aos interfaces de rede (eth, wlan,...)
– nslookup
•
pregunta a un servidor de nomes [DNS] de forma interactiva
•
Exemplo:
– nslookup dns #pregunta a dirección IP do servidor DNS
– nslookup www.udc.es # devolve a dirección IP do servidor www.udc.es (193.144.48.10)
– finger <usuario>
•
informa sobre un usuario conectado ao sistema.
Guión
– Scripting
• Que é un script
– Exemplo
Scripting (básico)
– A primeira forma de facer un script consiste en incluir nun ficheiro varias liñas de
comandos. A continuación úsase chmod +x <ficheiro> para facelo executable.
– Nun script de shell...
•
ademais de ver unha serie de comandos agrupados...
•
É posible definir variables, usar estructuras de control, e funcións, pasarlle argumentos...
– Execución.
•
dar permiso de execución chmod +x script.sh agora xa é un ficheiro executable ./script.sh
•
sh script.sh (indicándolle ao shell sh, que execute o script).
Exemplo:
#!/bin/sh
# empaqueta con gzip.
#
echo “empaquetando $2 en $1.tar.gz”
tar czvf $1.tar.gz $2
Exemplo:
#!/bin/sh
#
# Recibe como argumento un num, di se é >0 ou <0
#
if [ $# -eq 0 ] ## se non se pasaron
argumentos.
then
echo "$0 : Debes introducir un numero enteiro"
exit 1
fi
if test $1 -gt 0
then
echo "$1 era un num. positivo"
else
echo "$1 era un num. negativo"
fi
Boletín de exercicios (toca practicar!)
– Unha vez que teñas instalado o ubuntu na máquina virtual, xa estarás en
disposición de cubrir o boletín de exercicios que atoparás no moodle.
– Vai realizando os exercicios e solucionando as preguntas que se inclúen no
boletín, e anota os resultados/respostas nun ficheiro. Se tes dúbidas pregunta ao
teu profesor de prácticas.
– A realización deste boletín axudarache a comprender e usar os comandos
básicos vistos na clase. A súa completa realización é recomendable. Recorda
que durante o control de prácticas deste bloque 2 se vos pedirá a que
contestedes unha serie de preguntas preguntas que poden incluir o uso de
calquera destes comandos.
Apéndice
LS
ls - list directory contents
SYNOPSIS :
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default).
if none of -cftuvSUX nor --sort.
Sort entries alphabetically
– Opcións:
•
•
•
•
•
•
•
•
-l formato longo (inclúe permisos, usuario,grupo,tamaño, data_modificación,…)
-h amosa o tamaño en formato “human readable” (kbytes, Mbytes,…)
-a amosa ficheiros ocultos (amosar entradas que comezan por ‘.’)
-R listar subdirectorios recursivamente
-r aplicar orde reverso ao ordear
-S ordear por tamaño do ficheiro
-t ordear por data de modificación
…
– Exemplos:
•
•
•
•
•
ls
ls
ls
ls
ls
–l
–l /tmp
-lR
-lR /
–th
MKDIR
mkdir - make directories
SYNOPSIS
mkdir [OPTION]... DIRECTORY...
DESCRIPTION
Create the DIRECTORY(ies), if they do not already exist.
– Opcións:
• -p crear tamén os pais se non existían
• …
– Exemplos: (asúmase que /home/ib/DIR e /home/ib/DIR2 non existen)
• mkdir /home/ib/DIR
crea o directorio “DIR”
• mkdir /home/ib/DIR2/subdir
amosa o erro:
mkdir: no se puede crear el directorio /home/ib/DIR2/subdir No existe el fichero o el directorio
• mkdir –p /home/ib/DIR2/subdir
crea o directorio “DIR2” e tamén o “DIR2/SUBDIR”
RMDIR
rmdir – remove empty directories
SYNOPSIS
rmdir [OPTION]... DIRECTORY...
DESCRIPTION
Remove the DIRECTORY(ies), if they are empty.
– Opcións:
• -p eliminar tamén os pais se están baleiros.
así `rmdir -p a/b/c' é similar a `rmdir a/b/c a/b a'
• …
– Exemplos (asúmase que estamos no directorio /home/ib, que contén subdirectorios DIR e DIR2/subdir)
• rmdir /home/ib/DIR
(é equivalente a
rmdir DIR)
elimina o directorio “DIR” (se está baleiro)
• rmdir DIR2/subdir
elimina o directorio “subdir” (se está baleiro), pero non o directorio DIR2
• mkdir –p DIR2/subdir
equivale a facer rmdir DIR2/subdir
seguido de rmdir DIR2
equivale a facer rmdir DIR2/subdir DIR2
PWD
pwd - print name of current/working directory
SYNOPSIS
pwd [OPTION]...
DESCRIPTION
Print the full filename of the current working directory.
– Opcións:
• -L amosa a información da variable PWD do entorno $PWD incluso se hai links
simbólicos na ruta actual
• -P [P]hysical. Amosa a ruta real (“seguindo links simbólicos se é preciso”)
– Exemplos (asúmase que estamos no directorio /home/ib, que contén un link “tmp” que apunta a /tmp)
• pwd
amosa /home/ib
CD | CHDIR
cd – changes the current/working directory
SYNOPSIS
cd [dir]...
o
chdir [dir]...
DESCRIPTION
Changes the current working directory to [dir]. If no [dir] is provided it moves to the ‘home’
directory of the current user.
– Opcións:
– Exemplos (asúmase que o directorio home do meu usuario é o
/home/ib, e que estou no directorio /home/
• cd
cambia de /home a /home/ib
(o directorio home do meu usuario)
• cd ~
cambia de /home a /home/ib
(o directorio home do meu usuario)
• cd /tmp/ib/temporal
cambia de /home/ib a /tmp/ib/temporal
• cd ~/..
cambia de /tmp/ib/temporal a /home
equivale a cd $HOME/..
)
RM
rm - remove files or directories
SYNOPSIS
rm [OPTION]... FILE...
DESCRIPTION
rm removes each specified file.
By default, it does not remove directories.
– Opcións:
• -r elimina directorios recursivamente
• -f forzar, ignora ficheiros non existentes (non amosa erro) e non pide
confirmacións
• -i interactivo, solicita confirmación antes de borrar cada ficheiro
• -I pide confirmación antes de borrar 3 ou + ficheiros, ou se opción -r activada
– Exemplos
• rm a b c d
## (asúmase que existen ficheiros a,b,c no directorio actual)
elimina os ficheiros ‘a’, ‘b’, e ‘c; amosa un erro de que ‘d’ non
existía e polo tanto non se pode borrar.
• rm –rf tmp
elimina o directorio ./tmp (se existe) incluso se non está baleiro
recórdese que “rmdir tmp” só o borraba se estaba baleiro.
MV
mv - move (rename) files
SYNOPSIS
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... -t DIRECTORY SOURCE...
DESCRIPTION
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
– Opcións:
• -u update, move só cando o ficheiro SOURCE sexa más novo que o de destino
(DEST), ou cando DEST non exista.
– Exemplos (sexan a,b,c ficheiros, e D un directorio)
• mv a a.txt
renomea ‘a’, para que pase a chamarse ‘a.txt’
• mv a b D
move os ficheiros ‘a’ e ‘b’ ao directorio D
• mv D DIR
¿que fai este comando?
CP
cp - copy files and directories
SYNOPSIS
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... -t DIRECTORY SOURCE...
DESCRIPTION
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. Target files can be overwritten if existed
– Opcións:
• -u [u]pdate, move só cando o ficheiro SOURCE sexa más novo que o de
destino (DEST), ou cando DEST non exista.
• -r [r]ecursive. Copia directorios recursivamente.
• -i [i]nteractive. Pide confirmación antes de sobreescribir un ficheiro existente.
• -n non sobreescribe ficheiros existentes en destino.
– Exemplos (sexan a,b,c ficheiros; e D e D/E directorios)
• cp a a.txt
fai unha copia do ficheiro ‘a’ á que se nomea ‘a.txt”
• cp a b c D
fai unha copia dos ficheiros ‘a’, ‘b’ e ‘c’ no directorio D.
• cp –n a b
como ‘b’ xa existe, e temos a opción ‘n’ ¿que sucede?
• cp –i a b
• cp
como ‘b’ xa existe, e temos a opción ‘i’ ¿que sucede?
–r D DIR
(asúmase que DIR non existe)
neste caso ¿que se fai?
LN
ln - make links between files
SYNOPSIS
ln [OPTION]... [-T] TARGET LINK_NAME
(1st form)
ln [OPTION]... TARGET
(2nd form)
ln [OPTION]... TARGET... DIRECTORY
(3rd form)
ln [OPTION]... -t DIRECTORY TARGET... (4th form)
DESCRIPTION
In the 1st form, create a link to TARGET with the name LINK_NAME.
In the 2nd form, create a link to TARGET in the current directory.
In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links
with (-s). When creating hard links, each TARGET must exist.
Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent dir.
– Opcións:
• -s crear link simbólico (links hard só en modo root)
• …
novolink
– Exemplos: (asúmase que estamos no directorio /mnt)
• ln –s /home/luis novolink
crea un link simbólico que apunta a /home/luis
($ls –l amosa: lrwxrwxrwx 1 ib ib
10 2010-06-22 16:28 novolink -> /home/luis)
($rm novolink/luis/Carta.txt borraría o ficheiro ‘/home/luis/Carta.txt’)
• ln –s /home/luis/Carta.txt
crea un novo link simbólico no directorio actual que apunta a
“/home/luis/Carta.txt”, o nome o ficheiro apuntado mantense.
• sudo ln /home/luis/Carta.txt cartaluis.txt
crea un link “hard” no directorio actual que apunta a ‘/home/luis/Carta.txt’
(hai restriccións ao respecto, como que estean no mesmo sist. ficheiros,...)
CHMOD (para cambiar permisos e +) 1 de 2
chmod - change file mode bits
SYNOPSIS
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
DESCRIPTION
chmod changes the file mode bits of each given file according to mode, which can be either a
symbolic representation of changes to make, or an octal number representing the bit pattern for the new
mode bits.
[MODO 1] The format of a symbolic mode is [ugoa...][[+-=][perms...]...], where perms is either zero or
more letters from the set rwxXst, or a single letter from the set ugo. Multiple symbolic modes can be
given, separated by commas.
A combination of the letters ugoa controls which users' access to the file will be changed: the
user who owns it (u), other users in the file's group (g), other users not in the file's group (o), or all
users (a). If none of these are given, the effect is as if a were given, but bits that are set in the
umask are not affected.
The operator + causes the selected file mode bits to be added to the existing file mode bits of
each file; - causes them to be removed; and = causes them to be added and causes unmentioned bits to be
removed except that a directory's unmentioned set user and group ID bits are not affected.
The letters rwxXst select file mode bits for the affected users: read (r), write (w), execute (or
search for directories) (x), execute/search only if the file is a directory or already has execute
permission for some user (X), set user or group ID on execution (s), restricted deletion flag or sticky
bit (t). Instead of one or more of these letters, you can specify exactly one of the letters ugo: the
permissions granted to the user who owns the file (u), the permissions granted to other users who are
members of the file's group (g), and the permissions granted to users that are in neither of the two
preceding categories (o).
[MODO 2] A numeric mode is from one to four octal digits (0-7), derived by adding up the bits with values
4, 2, and 1. Omitted digits are assumed to be leading zeros. The first digit selects the set user ID (4)
and set group ID (2) and restricted deletion or sticky (1) attributes. The second digit selects
permissions for the user who owns the file: read (4), write (2), and execute (1); the third selects
permissions for other users in the file's group, with the same values; and the fourth for other users not
in the file's group, with the same values.
[…]
CHMOD (para cambiar permisos e +) 2 de 2
Recordemos que un ficheiro/directorio ten permisos de usuario, grupo, e outros
-rwxr--r-- 1 ib ib 98 2012-09-27 13:07 a.txt
chmod permite cambiar ditos permisos de dúas formas básicas:
A. [ugoa...][[+-=][rwx...]…]
[ugoa...] especifica respectivamente: [u]ser, [g]roup, [o]thers, [a]ll. Deste modo os
permisos aplícanse aos 3 permisos de usuario, grupo ou outros; ou todos eles (all).
[+-=]
indica se se engade (+), quita (-) ou se establece un permiso a un valor (=)
[rwx…] permite manexar os permisos de lectura (r), escritura (w), ou execución (x).
Nótese que existen outros permisos (s, X, t) que non veremos aquí.
B. 0777 (díxitos en octal), onde cada díxito se refire respectivamente a [u]ser, [g]roup, [o]thers
Nota: O primeiro díxito refírese aos modos s,X,t (que non revisaremos aquí)
Cada díxito en octal pode tomar os valores [0..7], e representa 3 bits en binario:
ex: 5 = 101 equivale ao permiso r-x
7 = 111 equivale ao permiso rwx
Exemplos:
Permisos iniciais
----------r-xr-xrw----------
Chamada a chmod (sobre ficheiro F)
chmod 760 F
chmod u+rwx,g+rw F
chmod 740 F
chmod u+w,g-x,o-wr F
chmod 544 F
chmod a+r,u+w F
Permisos finais
-rwxrw----rwxr-----rw-r--r--
CHGRP
chgrp - change group ownership
SYNOPSIS
chgrp [OPTION]... GROUP FILE...
DESCRIPTION
Change the group of each FILE to GROUP.
Recordemos que un ficheiro/directorio ten un propietario e un grupo. chgrp actúa sobre o grupo
-rwxr--r-- 1 ib ib 98 2012-09-27 13:07 a.txt
– Opcións:
• -R recursivo sobre os ficheiros e directorios
• …
– Exemplos: (asúmase que existe o grupo ‘ib’, como exemplo arriba, e o grupo ‘grupo2’)
• chgrp grupo2 a.txt
fai que o ficheiro pase a pertencer ao grupo “grupo2”
CHOWN
chown - change file owner and group
SYNOPSIS
chown [OPTION]... [OWNER][:[GROUP]] FILE...
DESCRIPTION
chown changes the user and/or group ownership of each given file. If only an owner (a user name or
numeric user ID) is given, the user is made the owner of each given file, and files' group is not changed.
If the owner is followed by a ‘:’ and a group name (or numeric group ID), with no spaces between
them, the group ownership of the files is changed as well.
If a ‘:’ but no group name follows the user name, that user is made the owner of the files and the
group of the files is changed to that user's login group.
If the ‘:’ and group are given, but the owner is omitted, only the group of the files is changed;
in this case, chown performs the same function as chgrp.
If only ‘:’ is given, or if the entire operand is empty, neither the owner nor the group changes.
Recordemos que un ficheiro/directorio ten un propietario (owner). chown permíteo cambiar
-rwxr--r-- 1 ib ib 98 2012-09-27 13:07 a.txt
– Opcións:
• -R recursivo sobre os ficheiros e directorios
• …
– Exemplos: (asúmase que o ficheiro ‘a.txt’ é o indicado arriba, e existe un usuario ‘pepe’, e un grupo
chamado ‘grupo2’)
• chown pepe a.txt
fai que o ficheiro pase a pertencer ao usuario “pepe”
• chown :grupo2 a.txt
razónese que fai este comando
DF (espazo en sist. fich. montados)
df - report file system disk space usage
SYNOPSIS
df [OPTION]... [FILE]...
DESCRIPTION
df displays the amount of disk space available on the file system containing each file name
argument. If no file name is given, the space available on all currently mounted file systems is shown.
Disk space is shown in 1K blocks by default, unless the environment variable POSIXLY_CORRECT is set,
in which case 512-byte blocks are used.
If an argument is the absolute file name of a disk device node (ex. /dev/sda1) containing a mounted
file system, df shows the space available on that file system rather than on the file system containing
the device node (which is always the root file system).
This version of df cannot show the space available on unmounted file systems, because on most kinds
of systems doing so requires very nonportable intimate knowledge of file system structures.
– Opcións:
•
•
•
•
--total amosa suma de espazo nos sistemas de ficheiros dispoñibles
-h
human-readable. Amosa espazo en Kbytes, Mbytes,...
-k
block-size é establecido a 1Kbyte
-t type amosa só espazo para os sistemas de ficheiros con tipo x (ext3, ext4,...)
Bloques de 1K
Usado
Dispon Uso% Montado en
35602080 15317032 18476564 46% /
77474468 60853504 12685444 83% /disco3
153794688
9927092 136055192
7% /home
266871236 86097628 167217200 34%
DU (espazo en disco utilizado por cada ficheiro ou contido dun directorio)
du - estimate file space usage
SYNOPSIS
du [OPTION]... [FILE]...
du [OPTION]... --files0-from=F
DESCRIPTION
Summarize disk usage of each FILE, recursively for directories.
novolink
– Opcións:
-a
amosa espazo para ficheiros e directorios (cando FILE = directorio)
-h
human-readable. Amosa espazo en Kbytes, Mbytes,...
-m
block-size = 1Mbyte (amosa espazo en Mbytes)
-k
block-size = 1Kbyte (amosa espazo en Kbytes)
-b
block-size = 1byte (amosa espazo en bytes)
-s
summarize. Fai un resumo para cada argumento indicado [FILE]
--max-depth=N amosa resumo só para os directorios que estén ata N niveis
(subdirectorios) por debaixo do argumento indicado [FILE]
• --exclude=PATTERN exclúe os ficheiros que encaixen co patrón PATTERN
•
•
•
•
•
•
•
– Exemplos: ()
• du –m DIR
amosa información de uso para o directorio DIR. Espazo en Mbytes.
• du –s
• du /home/luis/Carta.txt –a
• du --exclude='*.dat' –b
amosa espazo utilizado no directorio actual, non conta ficheiros con extensión .dat
• sudo du –-max-depth=1 /home
amosa información de uso para os directorios de luis e pedro en /home
WHICH, WHEREIS, LOCATE, UPDATEDB
which - locate a command
SYNOPSIS
which [-a] filename ...
DESCRIPTION
which returns the pathnames of the files (or links) which would be executed in the current
environment, had its arguments been given as commands in a strictly POSIX-conformant shell. It does this
by searching the PATH for executable files matching the names of the arguments. It does not follow
symbolic links.
– Notas:
• Recordemos que o PATH indica os lugares onde se irán buscar executables
cando un usuario introduce un comando
echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
• which indícanos o lugar exacto onde reside un executable dado, só busca ditos
executables no PATH.
Se dito executable aparecen en 2 lugares diferentes (ex: /sbin/EXE e /bin/EXE)
which devolverá o primeiro dos directorios que aparezca no PATH
– Exemplos: ()
• which ls
/bin/ls
• which firefox
/usr/bin/firefox
WHICH, WHEREIS, LOCATE, UPDATEDB
whereis - locate the binary, source, and manual page files for a command
SYNOPSIS
whereis [-bmsu] [-BMS directory... -f] filename...
DESCRIPTION
whereis locates source/binary and manuals sections for specified files. The supplied names are
first stripped of leading pathname components and any (single) trailing extension of the form .ext, for
example, .c. Prefixes of s. resulting from use of source code control are also dealt with. whereis then
attempts to locate the desired program in a list of standard Linux places.
– Opcións:
• -b buscar só binarios
• -m buscar só seccións do manual (axuda)
• -s buscar só os ficheiros fonte
– Exemplos: ()
• whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
• whereis tar
tar: /bin/tar /usr/include/tar.h /usr/share/man/man1/tar.1.gz ...
binario
fontes
manual
WHICH, WHEREIS, LOCATE, UPDATEDB
locate - find files by name
SYNOPSIS
locate [OPTION]... PATTERN...
DESCRIPTION
locate reads one or more databases prepared by updatedb(8) and writes file names matching at least
one of the PATTERNs to standard output, one per line.
If --regex is not specified, PATTERNs can contain globbing characters. If any PATTERN contains no
globbing characters, locate behaves as if the pattern were *PATTERN*.
By default, locate does not check whether files found in database still exist. locate can
never report files created after the most recent update of the relevant database. Necesita que se chame
a UPDATEDB para actualizar a BD que se usa!!
FIND
find - search for files in a directory hierarchy
SYNOPSIS
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
DESCRIPTION
GNU find searches the directory tree rooted at each given file name by evaluating the given
expression from left to right, according to the rules of precedence (see section OPERATORS), until the
outcome is known (the left hand side is false for and operations, true for or), at which point find moves
on to the next file name.
[...]
– Opcións:
•
•
•
•
•
•
•
•
-maxdepth N: descender como máximo N niveles desde el directorio origen especificado.
-name patrón: mira que o nome do ficheiro/directorio coincida co patrón indicado (*r.txt,...)
-mtime N: ficheiro que fose modificado N*24 horas antes do momento actual
-size N [cwbkMG]: o ficheiro usa N unidades de espazo. c=byte, b=512bytes, k=1kbyte,
M=1Mbyte, G=1Gigabyte.
-type X: tipo de ficheiro d=directorio, f=ficheiro regular, l = link simbólico, e outros(b,c,p,s,D)
-user uname: o propietario é o usuario uname.
-perm permisos: permisos coincidan cos permisos especificados (p.ex. 777)
... (moitas máis opcións!!!)
atoparía ficheiros chamados p1.c con permisos 777 e do usuario ib
GREP
grep, egrep, fgrep, rgrep - print lines matching a pattern
SYNOPSIS
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
DESCRIPTION
grep searches the named input FILEs (or standard input if no files are named, or if a single
hyphen-minus (-) is given as file name) for lines containing a match to the given PATTERN. By default,
grep prints the matching lines.
In addition, three variant programs egrep, fgrep and rgrep are available. egrep is the same as
grep -E. fgrep is the same as grep -F. rgrep is the same as grep -r. Direct invocation as either egrep or
fgrep is deprecated, but is provided to allow historical applications that rely on them to run unmodified.
– Opcións:
•
•
•
•
•
•
•
-e patrón: usa o patrón tal e como aparece en “patrón”
-R: recursivo, le todos os ficheiros de cada directorio recursivamente
-f FILE: carga os patróns de FILE, un patrón por liña.
-i, --ignore-case: non distingue entre maiúsculas e minúsculas
-c: contar o número de liñas que emparellan co patrón (en lugar de amosar as liñas).
-n, --line-number: precede cada liña do resultado co número da liña que emparella
... (moitas máis opcións!!!)
– Exemplos: ()
• grep alias .bashrc
o resultado son as liñas que conteñen “alias” no .bashrc
CAT
cat - concatenate files and print on the standard output
SYNOPSIS
cat [OPTION]... [FILE]...
DESCRIPTION
Concatenate FILE(s), or standard input, to standard output.
– Opcións:
• -b: numera las líneas que no están en blanco.
• -n: numera todas las líneas
• ... (moitas máis opcións!!!)
– Exemplos: ()
• cat .bashrc
amosa o contido do ficheiro .bashrc
• cat /etc/hosts /etc/hostname
...
amosa o contido dos ficheiros /etc/hosts e /etc/hostname (concatenados)
MORE e LESS
more a file perusal filter for crt viewing
SYNOPSIS
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [file ...]
DESCRIPTION
More is a filter for paging through text one screenful at a time. This version is especially
primitive. Users should realize that less(1) provides more(1) emulation and extensive enhancements.
less - opposite of more
SYNOPSIS
less [-[+]aBcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
[-b space] [-h lines] [-j line] [-k keyfile]
[-{oO} logfile] [-p pattern] [-P prompt] [-t tag]
[-T tagsfile] [-x tab,...] [-y lines] [-[z] lines]
[-# shift] [+[+]cmd] [--] [filename]...
DESCRIPTION
Less is a program similar to more (1), but which allows backward movement in the file as well as
forward movement.
– Son 2 programas que nos permiten amosar o contido dun ficheiro “páxina a páxina”.
– Opcións:
•
•
ver “man”
... (moitas máis opcións!!!)
– Exemplos: ()
•
•
•
more /etc/fstab
less /etc/fstab
ls –lR $HOME
|more
lista recursivamente o contido da conta do usuario actual, e amosa resultado por pantalla, pero
“páxina a páxina” (en lugar de facelo todo continuamente).
...
HEAD e TAIL
head - output the first part of files
SYNOPSIS
head [OPTION]... [FILE]...
DESCRIPTION
Print the first 10 lines of each FILE to standard output. With more than one FILE, precede
each with a header giving the file name. With no FILE, or when FILE is -, read standard input.
tail - output the last part of files
SYNOPSIS
tail [OPTION]... [FILE]...
DESCRIPTION
Print the last 10 lines of each FILE to standard output. With more than one FILE, precede each
with a header giving the file name. With no FILE, or when FILE is -, read standard input.
– Son 2 programas que nos permiten as primeiras ou últimas liñas dun ficheiro respect.
– Opcións:
Para head:
– -c N amosa só os primeiros N bytes do ficheiro.
– -n N amosa as primeiras N liñas (en lugar de típicamente amosar as primeiras 10 liñas)
Para tail:
– -c N amosa só os últimos N bytes do ficheiro.
– -n N amosa só as últimas N liñas
•
... (moitas máis opcións!!!)
– Exemplos: ()
•
•
head /etc/fstab
tail /etc/fstab
; head –n 5 /etc/fstab
; tail –n 5 /etc/fstab
WC
wc - print newline, word, and byte counts for each file
SYNOPSIS
wc [OPTION]... [FILE]...
wc [OPTION]... --files0-from=F
DESCRIPTION
Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is
specified. With no FILE, or when FILE is -, read standard input.
– Opcións:
•
•
•
•
•
-c bytes conta o número de bytes do ficheiro.
-l liñas
conta o número de liñas do ficheiro.
-w words conta o número de palabras do ficheiro.
-L
amosa a lonxitude da liña máis longa.
... (moitas máis opcións!!!)
DIFF e CMP (comparar ficheiros)
cmp - compares two files byte by byte
SYNOPSIS
cmp [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]
diff – compares files line by line
SYNOPSIS
diff [OPTION]... FILES
– Son 2 programas que nos permiten as primeiras ou últimas liñas dun ficheiro respect.
– Opcións:
Para cmp:
– -i skip salta os primeiros “skip” bytes (que non son comparados).
– -n limit compara como máximo “limit” bytes do ficheiro.
Para diff:
– -i: (ignore case). Non distingue maiúsculas e minúsculas
– ...
•
... (moitas máis opcións!!!)
– Exemplos: (asúmase que a.txt e b.txt son ficheiros existentes)
•
•
cmp a.txt b.txt
a.txt b.txt son distintos: byte 11, línea 1
diff a.txt b.txt
1c1
< total 78060
--> total 78064
4,5c4,5
< -rwxr-xr-x 1
< -rw-r--r-- 1
--> xx-rwxr-xr-x
> -rw-r--r-- 1
tar (+ gz, + bzip2)
tar The GNU version of the tar archiving utility
SYNOPSIS
tar [-] A --catenate --concatenate | c --create | d --diff --compare | --delete | r --append | t -list | --test-label | u --update | x –extract --get [options] [pathname ...]
DESCRIPTION
Tar stores and extracts files from a tape or disk archive.
The first argument to tar should be a function; either one of the letters Acdrtux, or one of the long
function names. A function letter need not be prefixed with ``-'', and may be combined with other singleletter options. A long function name must be prefixed with --. Some options take a parameter; with the
single-letter form these must be given as separate arguments. With the long form, they may be given by
appending =value to the option.
– Opcións:
•
•
•
•
•
•
-c: crear un novo archivo
-v: verbose (mostra o proceso por pantalla)
-f: almacena a saída no ficheiro
-x: extraer
-z: comprimir con gzip (equivale a --gzip o --gunzip)
-j: comprimir con bzip2 (equivale a --bzip2)
... (moitas máis opcións!!!)
– Exemplos:
•
•
•
tar
tar
tar
cvf archivo.tar
DIR/* ficheiro1 ficheiro2
créase o ficheiro archivo.tar que contará DIR/* ficheiro1 ficheiro2
czvf archivo.tar.gz DIR/*
créase o ficheiro archivo.tar.gz DIR/*
xzvf comprimido.tar.gz
descomprímese o ficheiro (que estaba comprimido con gzip) comprimido.tar.gz
•
tar cjvf comprimido.tar.bz2
chequear que faría isto...
dd
dd - convert and copy a file
SYNOPSIS
dd [OPERAND]...
dd OPTION
DESCRIPTION
Copy a file, converting and formatting according to the operands.
– Opcións:
• bs=BYTES: copia BYTES bytes de cada vez (defecto=512)
• count=BLOCKS: copia só BLOCKS bloques
• skip=BLOCKS: salta BLOCKS bloques (non os procesa) ao inicio do ficheiro de entrada
(BLOCKS and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB
=1000, K =1024, MB =1000*1000, M =1024*1024, xM, =M GB =1000*1000*1000, G =1024*1024*1024,
and so on for T, P, E, Z, Y)
• if=FILE: nome do ficheiro de entrada
• of=FILE: nome do ficheiro destino, en lugar de usar a saída estándar (por defecto)
• conv=CONVS: aplica diferentes opcións de conversión:
– lcase: pasar a minúsculas
– ucase: pasar a maiúsculas
– ...
• ... (moitas máis opcións!!!)
– Exemplos:
•
•
dd if=entrada.txt of=saida.txt conv=lcase
procesa os datos do ficheiro entrada.txt, cópiaos en saída.txt e fai a conversión
proposta
dd if=entrada.txt skip=4 bs=10 of=saida.txt
copia todos os datos de entrada.txt en saida.txt, salvo os 40 primeiros bytes.
de non especificar “of=saida.txt” amosaría o resultado por pantalla
dd if=entrada.txt skip=4 bs=10 > saida.txt
OUTROS: file, touch, vi, nano|pico, emacs,...
file – amosa o tipo dun ficheiro (ou directorio)
exemplos:
• file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked
(uses shared libs), for GNU/Linux 2.6.15, stripped
• file /etc/mtab /etc/mtab: ASCII text
touch – cambia as datas (modificación, último acceso) dun ficheiro. Se non existe, créase un baleiro.
opciones:
• -a :cambiar só a data de acceso.
• -m :cambiar só a data de modificación.
• -c :non crear se non existía.
exemplos:
• touch a.txt