Linux Parte I

download Linux Parte I

of 10

Transcript of Linux Parte I

  • 8/6/2019 Linux Parte I

    1/10

    Sistemas Operativos Monopuesto IES Monte NarancoUT7: Comandos de consola Windows y Linux

    1. ESTRUCTURA DEL SISTEMA LINUX.ARCHIVOS Y DIRECTORIOS

    La estructura en Linux es jerrquica en forma de rbol. Se parte de un directorio principal raz,representado por el carcter "/". Del que cuelga toda la estructura del sistema.

    En DOS existe una limitacin del nmero de archivos y directorios que se pueden crear dentro deun directorio. Esta limitacin responde a la cantidad de caracteres con la que luego sereverenciar el archivo y que no tiene que exceder de 63. En Linux no hay lmite (conocido).

    1.1 Nombres de archivos

    En cuanto a los caracteres para los nombres de archivo, se puede utilizar cualquiera, a excepcindel carcter /, ya que tiene un significado especial. Es conveniente no utilizar caracteresespeciales, acentos, etc. No se pueden incluir espacios en blanco ni es conveniente emplearcaracteres como los siguientes en los nombres de archivo:! # & ( ) ` '' ; | > < @ $ { } * ? \ Tab Spacebar Backspace + -

    Lo ms importante es destacar que en Linux los nombres de archivo son diferentes en maysculay en minscula. Se recomienda utilizar todos en minscula.

    1.2 Tipos de archivos

    En Linux existen bsicamente 5 tipos de archivos

    Archivos ordinarios: son de texto o programas

    Enlaces fsicos: es un segundo nombre asignado a un archivo, es un enlace.

    Enlaces simblicos: es para asignar ms de un nombre a un archivo. No sirven para directorios. Esun archivo que contiene el nombre de otro archivo. Se utiliza el parmetro -s

    Diferencia entre los enlaces: a diferencia de los enlaces fsicos que existen dentro de laestructura de archivos, los simblicos solamente hacen referencia al nombre de otroarchivo.

    Directorios: contienen informacin sobre otros archivos

    Archivos especiales: suelen representar dispositivos fsicos (impresoras, unidades dealmacenamiento..) y linux los trata como archivos ordinarios.

    1.3 Directorios

    Los directorios en Linux son archivos especiales cuya funcin es la de almacenar archivos u otros

    directorios, cada directorio, a excepcin del raz, consta de los directorios . y .. , que indicandirectorio actual y directorio padre, respectivamente.

    1

  • 8/6/2019 Linux Parte I

    2/10

    Sistemas Operativos Monopuesto IES Monte NarancoUT7: Comandos de consola Windows y Linux

    1.4 Caractersticas del sistema de archivos

    El sistema de archivo es el modo en que el sistema operativo organiza los archivos en el discoduro y es el que permite al usuario crear, borrar y acceder a los archivos sin necesidad de saberel lugar exacto en el que se encuentran.

    El File System de Linux es particular, respecto de los convencionales de Microsoft, no existenunidades fsicas, sino ficheros que hacen referencia a ellas, integrados en la estructura dearchivos como cualquier otro.

    En Linux cada bloque es de 512 kb o mltiplos (al igual que el cluster es la estrella del sistema dearchivo FAT en Linux ext2, ext3, ext4 es el bloque).

    1.5 Partes del sistema de archivo

    El bloque de carga o bloque cero: Esta reservado para almacenar un programa que utiliza elsistema para gestionar el resto de las partes del sistema de archivo.

    El superbloque o bloque uno: Contiene informacin sobre el sistema de archivo

    Tabla de inodos: Es el equivalente a las entradas de la FAT, por cada archivo o directorio, Linuxtiene asociado un elemento en esta tabla y contiene un nmero. Este nmero identifica laubicacin del archivo o directorio dentro de la zona de datos.

    Zona de datos: En esta zona estn almacenados los ficheros y directorios.

    1.6 Metacaracteres

    Se utilizan para sustituir determinados caracteres cuando hacemos referencia a nombres dearchivo o directorio.

    Carcter Accin

    ? Sustituye un carcter

    * Sustituye cualquier carcter o conjunto de caracteres

    [ ] Representan un solo carcter de los incluidos entre los corchetes, que se sustituirnpor el carcter en el nombre del archivo o directorio en la posicin en que estn

    situados. Pueden incluir rangos separados por un guin.! Permite negar o excluir caracteres

    1.7 Caminos o trayectorias en Linux

    Existen trayectorias relativas y absolutas. Los nombres completos de las trayectorias absolutosvan desde el directorio raz hasta el propio archivo o directorio. Hay que tener en cuenta que enLinux no existe la referencia a ninguna unidad lgica, solamente al directorio raz. En cuanto alas trayectorias relativas se refiere desde la posicin actual.

    2

  • 8/6/2019 Linux Parte I

    3/10

    Sistemas Operativos Monopuesto IES Monte NarancoUT7: Comandos de consola Windows y Linux

    2. COMANDOS EN LINUX

    2.1 AYUDA

    man comandocomando - -helpinfo comandowhatis comando

    2.2 OPERACIONES GENERALES

    clear limpia la pantallauname a muestra informacin de la versin del ncleo del S.O

    cal [mes ao] muestra calendariodate [mmddaaaa] muestra/cambia la fechawho indica quienes estn conectadoswhoami indica el usuario que inicio sesinhistory muestra el historial de los comandos introducidos por el usuarioset variables del sistemauptime tiempo de conexin del sistemadmesg Nos da una lista con todos los mensajes que se han producido durante el arranque delsistema.

    2.3 MOSTRAR INFORMACINidPara comprobar el uid de nuestro usuario, y el gid del grupo principal al que pertenece.

    df hEl comando nos informa del uso de disco en los distintos volmenes. As podemos saber cuntoespacio tenemos en cada volumen, y cuanto esta usado y cuanto libre.

    freeNos informa del consumo de memoria del sistema, tanto en memoria real como en memoria virtual(swap).

    aliasPermite asignarle otros nombres a los comandos. De esta forma se pueden abreviar o llamarlos deforma ms nemotcnica.Sintaxis: alias [nombre[=valor]...]Sin argumentos muestra todos los alias definidos por el usuario actual. Para deshabilitar un aliasse emplea el comando unalias.Ejemplos:$ alias l='ls -l --color'

    $ alias l

    3

  • 8/6/2019 Linux Parte I

    4/10

    Sistemas Operativos Monopuesto IES Monte NarancoUT7: Comandos de consola Windows y Linux

    typeIndica como interpreta el bash una orden En caso de ser un comando mostrara el camino (path)de este, si fuera un alias, cual es el comando original y para una funcin mostrara su cdigo.Sintaxis: type [-all] [-path|-type] [palabras]

    Opciones:-all : muestra todas las posibilidades de interpretacin.-path : muestra el camino completo al fichero que representa al comando, en caso de serlo.-type : muestra la forma de interpretacin asumida: alias, keyword, function, builtin y file.Ejemplos:$ type l l is aliased to `ls -l --color'$ type passwd passwd is /usr/bin/passwd# type -all rm rm is aliased to `rm -i' rm is /bin/rm

    statMuestra las caractersticas de un fichero. Por ejemplo: su nombre, permisos, tamao en bytes,

    nmero del i-nodo que lo representa, las fechas de modificacin y acceso, el tipo, el dueo, elgrupo, etc.Ejemplos: $ stat /etc/shadow

    duPermite conocer la longitud (expresada en kilobytes por defecto) de una jerarqua de ficheros apartir de un directorio.Sintaxis: du [opciones] [ficheros | directorios]Algunas opciones:-h : (human readable view) imprime las unidades de la forma ms representativa (Ej. M para

    megabytes).-s : suma el tamao de cada fichero/directorio sin profundizar recursivamente en estos ltimos.-c : produce un total cuando se utilizan varios argumentos.Ejemplos:$ du -h *$ du -hsc /usr /home

    fileEl comando file determina con cierto grado de precisin el tipo de un fichero que se le pasa comoargumento.Ejemplos: $ file /etc/passwd

    $ file /usr/sbin/adduser$ file /usr/sbin/useradd

    diffNos permite comparar ficheros de texto lnea a lnea, y nos indica en caso de que no sean igualesen que lneas cambian. Dado que en Linux se realizan muchas configuraciones del sistemamodificando ficheros de texto, es una orden interesante para saber si algo se ha modificado.Ejemplo: diff fichero1 fichero2

    4

  • 8/6/2019 Linux Parte I

    5/10

    Sistemas Operativos Monopuesto IES Monte NarancoUT7: Comandos de consola Windows y Linux

    2.4 MANIPULAR FICHEROS Y DIRECTORIOS

    lsPermite listar el contenido de un directorio.

    Sintaxis: ls [opciones] [directorio|fichero]Opciones

    -a: permite visualizar los archivos incluidos los ocultos. En Linux los archivos ocultos son losque empiezan por un punto.

    -l: muestra ms informacin sobre cada elemento.

    -R: muestra el contenido recursivamente.

    -h: muestra el tamao de los archivos.

    -i: muestra su numero inodo.

    cdCmbiamos de directorio actual.Sintaxis: cd [directorio]

    cd .. si queremos volver a un directorio anterior.cd nombre_directorio si queremos entrar en un directorio concreto.cd va al directorio personalcd / va al directorio raiz

    pwdSe utiliza para mostrar el camino absoluto del directorio en el que nos encontramos actualmente.

    mkdirCreamos directorios.Sintaxis: mkdir [ p] dir1 dir2/dir3Opciones

    p crea directorios intermedios

    mvMueve un fichero hacia otro, o varios ficheros hacia un directorio. Este permite a su vezrenombrar ficheros o directorios.Sintaxis: mv [opciones] fuente destino

    mv [opciones] ficheros directorio

    Opciones:

    i pregunta antes de sobrescribir el destino

    -u actualiza con el fuente solo si este es ms reciente

    mv archivo1 directorio/archivo2mv archivo1 archivo2

    cpPermite copiar un fichero en otro, o varios ficheros en un directorio.Sintaxis: cp [opciones] fuente destino

    cp [opciones] ficheros directorioOpciones

    5

  • 8/6/2019 Linux Parte I

    6/10

    Sistemas Operativos Monopuesto IES Monte NarancoUT7: Comandos de consola Windows y Linux

    -r permite hacer las copias de una estructura de directorios completa

    -i confirma la copiacp fichero1 fichero2cp fichero1 /directoriocp fichero1 /directorio/archivo2

    rmdirBorra directorios que estn vaciosSintaxis: rmdir directorio

    rmBorra archivos y directoriosSintaxis: rm [opciones] archivos|directoriosOpciones

    -i : pide confirmacin

    -r : borra el directorio con todo su contenido

    2.5 EDITAR, VISUALIZAR Y PAGINAR FICHEROS

    touchCrea un archivo vaco

    touch archivo

    cat

    Visualiza el contenido de un archivo (por si solo seguido del nombre del fichero a visualizar) ycrea nuevos archivos.

    cat archivo visualiza el archivo

    cat > archivo permite crear un nuevo fichero con la informacin introducida desdeteclado. Para terminar pulsamos CONTROL+D

    Tambin puede copiar un archivo existente en otro utilizado cat archivo1 > archivo2

    Puede aadir el contenido de un archivo al final de otro existente utilizando el doblerediccionamiento cat archivo1 >> archivo2

    Puede crear un archivo concatenando o uniendo el contenido de dos o ms archivosen uno cat a1 a2 a3 > a4

    Para poder editar archivos de texto en Linux utilizaremos algunos de los siguientes editores:

    vi: Heredado de las primeras versiones Linux. gedit: podemos ejecutarlo desde lnea de comandos o en entorno grfico.

    viEl editor vi es el editor estndar de Unix y est orientado a comandos. Para algunos usuarios, viresulta incmodo pues para utilizar todas sus potencialidades es necesario conocer muchascombinaciones de teclas. Su principal virtud es que encontraremos vi en prcticamente cualquierversin de Linux que usemos, cosa que no se puede decir de otros editores (joe, pico, edit, gedit,

    nano, emacs, etc.).

    6

  • 8/6/2019 Linux Parte I

    7/10

    Sistemas Operativos Monopuesto IES Monte NarancoUT7: Comandos de consola Windows y Linux

    Bsicamente vi posee dos modos de interaccin: el de insercin (edicin) y el de comandos. Parapasar al modo comando se pulsa Esc y para pasar al de insercin se pulsa i. Algunos comandostiles en vi (pulsando ESC para pasar al modo de comandos, que veremos en la ltima lnea de lapantalla).

    dd - borra la lnea actual.D - borra desde la posicin actual hasta el final de la lnea.dG - borra hasta el final del fichero.u - deshace el ltimo comando.:q - sale del editor (si se han hecho modificaciones y no se ha salvado se genera un error).:q! - sale sin salvar.:w - salva.:wq - salva y sale.:x - salva y sale.

    more y lessLos comandos more y less paginan (dividen en pginas) uno o varios ficheros y los muestran en laterminal (pantalla). De no indicrseles un fichero, paginan la entrada estndar (que se mandamediante una tuberia).Se diferencian en las facilidades que brindan. Por ejemplo more es ms restrictivo en cuanto almovimiento dentro del texto, mientras que less no limita este aspecto pues acepta el empleo detodas las teclas de movimiento tradicionales. Cuando se alcanza el final del ltimo fichero apaginar, more termina automticamente, no as less. Tambin more muestra sucesivamente elporcentaje del fichero visto hasta el momento. Tanto less como more proveen una serie decomandos para moverse con facilidad dentro del texto paginado.Ejemplos:

    $ less /etc/passwd$ more /etc/passwd$ cat fichero | less

    Algunas teclas que podemos usar mientras usamos estos programas son:q - permite interrumpir el proceso y salir./p - realiza bsquedas del patrn p dentro del texto. Para repetir la bsqueda del mismo patrnslo es necesario escribir /.[n]b - en more permite regresar n pginas (por defecto n es 1).[n]f - en more se adelantan n pginas y en less, n lneas.

    2.6 HACER BSQUEDAS DE FICHEROS Y PATRONES

    grepBusca patrones en ficheros. Por defecto devuelve todas las lneas que contienen un patrn(cadena de texto) determinado en uno o varios ficheros. Utilizando las opciones se puede variarmucho este comportamiento. Si no se le pasa ningn fichero como argumento hace la bsqueda ensu entrada estndar.

    Sintaxis: grep [opciones] [ficheros]

    Algunas opciones:-c devuelve slo la cantidad de lneas que contienen al patrn.

    7

  • 8/6/2019 Linux Parte I

    8/10

    Sistemas Operativos Monopuesto IES Monte NarancoUT7: Comandos de consola Windows y Linux

    -i ignora las diferencias entre maysculas y minsculas.-H imprime adems de las lneas, el nombre del fichero donde se encontr el patrn. Es as pordefecto cuando se hace la bsqueda en ms de un fichero.-l cuando son mltiples ficheros slo muestra los nombres de aquellos donde se encontr alpatrn y no las lneas correspondientes.

    -v devuelve las lneas que no contienen el patrn.-r busca en un directorio de forma recursiva.-n imprime el nmero de cada lnea que contiene al patrn.

    Ejemplos:$ grep root /etc/passwd$ grep -i pepe /etc/passwd$ grep -c root /etc/group$ grep -l -r -i img /var/www/html/$ ls lia | grep carta roja

    findPermite buscar de forma recursiva en un directorio a todos los ficheros que cumplan ciertascondiciones. Las condiciones pueden estar relacionadas con el nombre de los ficheros, el tamao,los permisos, el tipo, las fechas de acceso y modificacin, etc.

    Sintaxis: find [camino] [opciones]Algunas opciones:-name permite especificar patrones para los nombres de los ficheros a buscar.-iname permite especificar patrones para los nombres de los ficheros a buscar sintener en cuenta maysculas y minsculas.

    -type permite indicar el tipo de fichero a buscar. Este puede ser d para directorios, f paraficheros regulares, l para enlaces simblicos, b para dispositivos de bloque, c para dispositivos decarcter, p para tuberas y s para sockets.-size +/- permite indicar el tamao mximo y/o mnimo de los ficheros a buscar. Por defecto eltamao se expresa en bloques de 512 bytes, pero si se precede este por un carcter c sereferir a bytes, k a kilobytes, w a palabras de dos bytes y b a bloques.-perm [+|-] permite referirse a aquellos ficheros cuyos permisos sean exactamente modo,incluya todos los de modo (signo -) o incluya alguno de los de (signo +). El valor de se expresa en forma numrica.-exec ; permite definir un comando a ejecutarse para cada resultado de la bsqueda.La cadena {} se sustituye por el nombre de los ficheros encontrados. El caracter ; permite indicar

    la finalizacin del comando. (Tanto {} como ; tienen que ir entre comillas o entre contrabarraspara evitar que sea sustituido por el shell).

    Ejemplos:$ find /etc -name '*.conf' # busca en /etc todos los ficheros con extensin conf$ find / -size +10240k -size -20480k # busca los ficheros cuyo tamao est entre 10M y 20M$ find -perm +1000 -type d # busca los directorios que posean el permiso t# find / -name core -exec rm -i {} ; # busca todos los ficheros que se nombren core y losborra interactivamente. Los signos se utilizan para proteger de la interpretacin del shell

    8

  • 8/6/2019 Linux Parte I

    9/10

    Sistemas Operativos Monopuesto IES Monte NarancoUT7: Comandos de consola Windows y Linux

    2.7 FILTRAR FICHEROS

    sortOrdena las lneas de un fichero mostrndolas por la salida estndar. De no especificarse unfichero toma la entrada estndar.Sintaxis: sort [opciones] [fichero]Algunas opciones:-r : ordena al revs.-f : trata las maysculas y minsculas por igual.-g : ordena de forma numrica, de modo que no es necesario que los nmeros se rellenen conceros por la izquierda.Ejemplo: $ sort -f /etc/passwd

    uniqElimina las lneas repetidas de un fichero ordenado, imprimindolo por la salida estndar o en

    otro fichero argumento. De no especificarse un fichero toma la entrada estndar.Sintaxis: uniq [opciones] [fichero] [salida]Algunas opciones:-c : utiliza como prefijo en cada lnea su nmero de ocurrencias.-d : solo imprime las lneas duplicadas.Ejemplo: $ uniq -d lista.txt

    tail y headtail y head muestran respectivamente el final y el comienzo (10 lneas por defecto) de uno ovarios ficheros. De no especificarse al menos un fichero toman la entrada estndar.Sintaxis:

    tail [opciones] [ficheros]head [opciones] [ficheros]Algunas opciones:-f para el caso de tail se ejecuta de forma sostenida o sea se contina visualizando el final delfichero hasta que se interrumpa el proceso (Ctrl-c).-q no coloca los encabezamiento con el nombre de los ficheros cuando se indican varios (quiet).- imprime las n ltimas (primeras) lneas en lugar de las diez establecidas por defecto.Ejemplos:# tail -f /var/log/messages# tail -20 /var/log/secure

    # head -50 /var/spool/mail/pepe# head -2 -q /etc/*.conf

    wcImprime el nmero de lneas, palabras y bytes de uno o varios ficheros. Si son varios ficheroshace tambin un resumen de los totales. De no especificarse un fichero toma la entrada estndar.Sintaxis: wc [opciones] [ficheros]Algunas opciones:-l slo cuenta lneas, -c slo cuenta caracteres, -w slo cuenta palabras.Ejemplos:$ wc -l /etc/passwd

    $ wc -w /doc/dicciorario.txt

    9

  • 8/6/2019 Linux Parte I

    10/10

    Sistemas Operativos Monopuesto IES Monte NarancoUT7: Comandos de consola Windows y Linux

    cutNos permite cortar una lnea de texto, para obtener un subconjunto en lugar de la lnea completa.Podemos cortar por nmero de caracteres, por campos, etc.Sintaxis: cut [opciones] [ficheros]Algunas opciones:

    -c N-M corta desde el carcter nmero N hasta el carcter nmero M.-c N- corta desde el carcter nmero N hasta el final-c N corta desde el principio hasta el carcter nmero N-c N,M corta el carcter nmero N y el carcter nmero M-d: f1 separa la lnea en campos divididos por el carcter : y nos muestra slo el primer campo-d- f3 separa la linea en campos divididos por el carcter y nos muestra slo el 3 campo.Ejemplos:$ cut c 3-9 /etc/passwd$ cut c d: f4 /etc/passwd

    2.8 DESCONECTARSE DEL SISTEMAexitEl comando exit permite terminar el shell actual. Si se tiene un nico shell es equivalente adesconectarse del sistema, pero si se est en un subshell slo se terminar este, retornando alshell anterior.

    logoutPermite desconectarse del sistema a partir de un login shell (primer shell que se ejecuta alestablecer la conexin).La secuencia de caracteres Ctrl-d permite terminar el shell actual. Si es un login shell equivaldr

    a hacer logout y si no, a hacer exit.

    halt, reboot, poweroffPermiten suspender, reiniciar o apagar el sistema.

    shutdownPermite echar abajo el sistema. Algunas opciones interesantes:-c cancela un shutdown que est en proceso de ejecucin-f Reinicia ms rpido, ya que no controla la integridad de los sistemas de archivos-h Cuando el sistema se apaga, apaga el ordenador (o lo intenta)

    -r Cuando el sistema se apaga, intenta reiniciarlo

    Despus de estas opciones, se le indica cuando queremos apagar el sistema:now lo apaga inmediatamente, ahora.20:00 lo apaga a las 8 de la tarde+10 lo apaga en 10 minutos# shutdown -h +4

    10