1 / 59

CURSO BÁSICO DE LINUX

CURSO BÁSICO DE LINUX. SISTEMA OPERATIVO UNIX. Comandos UNIX. FORMATO DE LOS COMANDOS. $ comando opciones argumentos Las opciones modifican el funcionamiento del comando. Precedidas por un guión (normalmente). Argumento es “aquello” sobre lo que recae la acción del comando.

nevina
Download Presentation

CURSO BÁSICO DE LINUX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CURSO BÁSICODE LINUX SISTEMA OPERATIVO UNIX

  2. Comandos UNIX FORMATO DE LOS COMANDOS $ comando opciones argumentos • Las opciones modifican el funcionamiento del comando. Precedidas por un guión (normalmente). • Argumento es “aquello” sobre lo que recae la acción del comando. Comando con 2 opciones: cmd –bc (sin espacio entre las opciones) Curso básico de Linux

  3. Comandos UNIX COMANDO DATE NAME date - print or set the system date and time SYNOPSIS date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] DESCRIPTION Display the current time in the given FORMAT, or set the system date. %a, %A locale's weekday name %b, %B locale's month name %d day of month %m month %y, %Y year %D date (mm/dd/yy) %M minute %S seconds %H, %I, %k, %l hour (00..23) Curso básico de Linux

  4. Comandos UNIX COMANDO WHO NAME who - show who is logged on SYNOPSIS who [OPTION]... [ FILE | ARG1 ARG2 ] DESCRIPTION -H, --heading print line of column headings -i, -u, --idle add user idle time as HOURS:MINUTES, . or old -m only hostname and user associated with stdin If FILE is not specified, use /var/run/utmp. If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual. Curso básico de Linux

  5. Comandos UNIX COMANDO MAN NAME man - format and display the on-line manual pages SYNOPSIS man [-S section_list] [section] name ... DESCRIPTION man formats and displays the on-line manual pages. If you specify section, man only looks in that section of the manual. name is normally the name of the manual page, which is typically the name of a command, function, or file. Curso básico de Linux

  6. Comandos UNIX COMANDO ECHO NAME echo - display a line of text SYNOPSIS echo [OPTION]... [STRING]... DESCRIPTION Echo the STRING(s) to standard output. -n do not output the trailing newline -e enable interpretation of the backslash-escaped characters listed below -E disable interpretation of those sequences in STRINGs --help display this help and exit (should be alone) --version output version information and exit (should be alone) Curso básico de Linux

  7. Directorios DIRECTORIOS ESPECIALES • El directorio raíz /: directorio del que cuelga todo el sistema de ficheros. No tiene padre. • Directorio login o directorio de acceso: aquel directorio al cual va a parar un usuario cuando accede al sistema. • Directorio actual: directorio en el que un usuario está situado en un momento determinado. Su nombre absoluto se representa por el símbolo .. • Directorio padre: cada directorio cuelga directamente de otro (salvo el /) que es su directorio padre. El nombre absoluto del directorio padre del directorio actual se representa por ... Curso básico de Linux

  8. Comandos UNIX COMANDO CD NAME cd - change the current directory SYNOPSIS cd [-LP] [dir] DESCRIPTION Change the current directory to dir. The variable HOME is the default dir. Curso básico de Linux

  9. Comandos UNIX COMANDO PWD NAME pwd - print the pathname SYNOPSIS pwd [-LP] DESCRIPTION Print the absolute pathname of the current working directory. Curso básico de Linux

  10. Comandos UNIX COMANDO MKDIR NAME mkdir - make directories SYNOPSIS mkdir [OPTION] DIRECTORY... DESCRIPTION Create the DIRECTORY(ies), if they do not already exist. -m, --mode=MODE set permission mode (as in chmod), not rwxrwxrwx - umask Curso básico de Linux

  11. Comandos UNIX COMANDO RMDIR NAME rmdir - remove empty directories SYNOPSIS rmdir [OPTION]... DIRECTORY... DESCRIPTION Remove the DIRECTORY(ies), if they are empty. Curso básico de Linux

  12. Comandos UNIX COMANDO LS NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). -a, --all do not hide entries starting with . -l use a long listing format -R list subdirectories recursively Curso básico de Linux

  13. Comandos UNIX COMANDO CAT NAME cat - concatenate files and print on the standard output SYNOPSIS cat [OPTION] [FILE]... DESCRIPTION Concatenate FILE(s), or standard input, to standard output. Curso básico de Linux

  14. Comandos UNIX COMANDO MORE NAME more - 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. COMMANDS h or ? Help SPACE Display next k lines of text. q or Q Exit. b or ^B Skip backwards k screens. /pattern Search for kth occurrence of regular expression. Curso básico de Linux

  15. Comandos UNIX COMANDO CP NAME cp - copy files and directories SYNOPSIS cp [OPTION]... SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY DESCRIPTION Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. -d never follow symbolic links -i prompt before overwrite -R copy directories recursively -u copy only when SOURCE file is newer than the destination file Curso básico de Linux

  16. Comandos UNIX COMANDO MV NAME mv - move (rename) files SYNOPSIS mv [OPTION]... SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... --target-directory=DIRECTORY SOURCE... DESCRIPTION Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. -f never prompt before overwriting -i prompt before overwrite -u move only older or brand new non-directories Curso básico de Linux

  17. Comandos UNIX COMANDO RM NAME rm - remove files or directories SYNOPSIS rm [OPTION]... FILE... DESCRIPTION rm removes each specified file. By default, it does not remove directories. OPTIONS Remove (unlink) the FILE(s). -f ignore nonexistent files, never prompt -i prompt before any removal -r remove the contents of directories recursively Curso básico de Linux

  18. Comandos UNIX COMANDO LN NAME ln - make links between files SYNOPSIS ln [OPTION]... TARGET [LINK_NAME] DESCRIPTION Create a link to the specified TARGET with optional LINK_NAME. If LINK_NAME is omitted, a link with the same basename as the TARGET is created in the current directory. Create hard links by default, symbolic links with --symbolic. When creating hard links, each TARGET must exist. -i prompt whether to remove destinations -s make symbolic links instead of hard links Curso básico de Linux

  19. Protecciones de ficheros Tres tipos de permisos: lectura, escritura y ejecución. Tres niveles: propietario, grupo del propietario y resto de los usuarios. – – – – – – – – – – – – – – – – – – – – – – – – – – – permisos propietario permisos grupo permisos otros • Permiso de lectura: para un fichero o directorio, no se puede ver su contenido. • Permiso de escritura: para un fichero, no puede modificarse ni borrarse. Para un directorio, no puede alterarse su contenido. Por tanto, no pueden borrarse ni añadirse ficheros a él, pero sí a los directorios que cuelgan de él. • Permiso de ejecución: para un fichero, no puede ser ejecutado. Para un directorio, no se puede acceder a él. Esta imposibilidad de acceso supone en la práctica también la negación del permiso de escritura. Curso básico de Linux

  20. Comandos UNIX COMANDO CHMOD NAME chmod - change file access permissions SYNOPSIS chmod [OPTION]... MODE[,MODE]... FILE... chmod [OPTION]... OCTAL-MODE FILE... DESCRIPTION chmod changes the permissions 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 permissions. OPTIONS Change the mode of each FILE to MODE. -R change files and directories recursively Curso básico de Linux

  21. Comandos UNIX CHMOD: 1ª forma $ chmod nivel modificación permiso fichero Nivel de la modificación: u (propietario) g (grupo) o (otros) Si no se indica, se entiende que la modificación afecta a los 3 niveles. Tipo de modificación: + añadir permiso (dejando los demás como están). –eliminar permiso (dejando los demás como están). = asignar sólo los permisos asignados (y eliminando los demás). Permisos: r lectura. w escritura. x ejecución. Curso básico de Linux

  22. Comandos UNIX CHMOD: 2ª forma $ chmod nivel modificación permiso fichero Primer argumento: tres cifras con valores ente 0 y 7. • Primera cifra: permisos del propietario. • Segunda cifra: permisos del grupo. • Tercera cifra: permisos de los otros usuarios. Forma de obtener el número: r w x 4 2 1 El número obtenido indica la combinación deseada de permisos. Así el 7 indica todos los permisos, mientras que el 0 significa ningún permiso. Curso básico de Linux

  23. Comandos UNIX COMANDO CHOWN NAME chown - change file owner and group SYNOPSIS chown [OPTION]... OWNER[:[GROUP]] FILE... chown [OPTION]... :GROUP FILE... DESCRIPTION chown changes the user and/or group ownership of each given file, according to its first non-option argument. --from=CURRENT_OWNER:CURRENT_GROUP -R operate on files and directories recursively Curso básico de Linux

  24. Comandos UNIX COMANDO CHGRP NAME chgrp - change group ownership SYNOPSIS chgrp [OPTION]... GROUP FILE... chgrp [OPTION]... --reference=RFILE FILE... DESCRIPTION Change the group membership of each FILE to GROUP. -R operate on files and directories recursively Curso básico de Linux

  25. Procesos y entorno CONCEPTO DE PROCESO • Proceso: toda acción que se lleva a cabo dentro de un sistema UNIX. • Siempre existe algún proceso en ejecución. • Proceso shell (o sh): interpreta los comandos que el usuario introduce. • Un proceso siempre es lanzado desde otro proceso: • Procesos padre (parent process) y procesos hijo (child process). • PID: número identificador de los procesos. • Asignado directamente por el sistema • Distinto para todos los procesos que se ejecutan simultáneamente en el sistema. Curso básico de Linux

  26. Procesos y entorno CONCEPTO DE ENTORNO • Entorno: conjunto de informaciones básicas necesarias para la ejecución del proceso. • Cada proceso debe disponer de su propio entorno para poder ser lanzado. • Forma más sencilla de obtener el entorno de un proceso es copiárselo al padre. • fork. El fork produce un proceso (que incluye al entorno) exactamente igual al proceso padre. • Cuando se ejecute un proceso, internamente se ejecutará una secuencia fork-exec. Curso básico de Linux

  27. Procesos y entorno VISUALIZACIÓN DE PROCESOS ps –ef  lista de procesos ejecutándose en el computador, independientemente del terminal. root 118 1 0 Aug 20 ? 0:00 LmSpool root 123 1 0 Aug 20 ? 0:01 LnMailslot bcus 4550 2665 10 10:37 55 console 0:00 ps-ef Ocho campos: 1: Usuario que ordena la ejecución del proceso (UID). 2: Número de identificación del proceso (PID). 3: Número de identificación del proceso padre (PPID). 4: Tiempo de utilización del procesador para reparto de gastos. 5: Fecha u hora de comienzo del proceso. 6: Terminal desde la que se ejecuta el proceso. 7: Tiempo de ejecución del proceso. 8: Nombre del proceso. Curso básico de Linux

  28. Procesos y entorno VARIABLES • Variable: información a la que se asigna un nombre. • Las variables existentes en un momento y en un entorno dados pueden ser de dos tipos: • Variables de entorno: aquéllas que transmiten el valor (con el mismo nombre) a los procesos hijo. Contienen informaciones que forman parte del entorno de un proceso. • Variables locales: aquéllas que no se transmiten a los procesos hijo. • Debe quedar claro que las variables de entorno transmiten la información a los procesos hijo, pero no al revés. Curso básico de Linux

  29. Procesos y entorno VARIABLES • Las variables pueden ser clasificadas también según otro criterio en: - Variables de sistema: son variables con un nombre y un contenido específico, que normalmente es común a todos los sistemas UNIX. Las más habituales son: ØHOME: su contenido es el nombre absoluto del directorio login del usuario. ØPS1: su contenido es el símbolo del prompt (habitualmente el $). ØPATH: su contenido es el conjunto de directorios donde el sistema buscará los comandos a ejecutar. ØTERM: su contenido es el tipo de terminal que se utiliza. - Variables de usuario: todas las variables asignadas por el usuario, y que no tienen un contenido fijo. Curso básico de Linux

  30. Procesos y entorno VARIABLES • Para crear una variable, basta con asignarle un valor de la forma siguiente: $ VAR=valor • Cuando se define una variable, ésta no es de “entorno”. Para que lo sea: $ export VAR VAR1 ... • export sin argumentos  lista de las variables de entorno • env conjunto de variables de entorno junto con su contenido. • set  valor de todas las variables existentes, ya sean de entorno o locales. • unset  elimina variable. $ A=$A$B  asigna a la variable A el contenido que tenía junto con la variable B o bien la expresión $ A=$A:b  modifica el contenido de la variable A añadiéndole los caracteres :b. Curso básico de Linux

  31. Programación shell METACARACTERES Metacarácter: carácter que tiene un significado especial. $: puesto delante de una variable, representa el contenido de esa variable. *: al lado de algún otro carácter, sustituye a cualquier posible conjunto de caracteres (salvo el •) que pudiera ir colocado en esa posición. También representa el símbolo de la multiplicación. ?: análogo a *, pero referido a un sólo carácter, en lugar de a un conjunto. []: delimita un conjunto de caracteres (tomados de uno en uno). -: indica un intervalo de caracteres. !: indica lo contrario del carácter siguiente. \ (back-slash): antepuesto a otro metacarácter anula el significado especial del mismo. Curso básico de Linux

  32. Programación shell REDIRECCIONAMIENTOS Dos tipos: • Redireccionamiento de salida. • Redireccionamiento de entrada. Redireccionamiento de salida: provoca que la salida de un programa vaya a parar a un fichero en lugar de a la pantalla. $ PROC > fich Si el fichero no existe lo crea, pero si existe, BORRARÁ SU CONTENIDO, y lo sustituirá por la salida del proceso. Para añadir la salida de un proceso a un fichero ya existente, sin borrar su contenido: $ PROC >> fich Para redireccionar los errores: $ PROC 2> F1 Redireccionamiento de entrada:menos habitual. $ mail < F1 Curso básico de Linux

  33. Programación shell PIPELINES Pipeline (o pipe): procedimiento por el que se conectan dos procesos, de forma que la salida del primero pasa a ser la entrada del segundo. El pipe se representa por el símbolo |: $ P1|P2 Podemos agrupar el conjunto de procesos: $ ls > F1 $ more F1 con un pipe: $ ls|more Como puede verse, existe una cierta similitud entre el pipe y el redireccionamiento. Sin embargo, hay dos diferencias fundamentales: • Un redireccionamiento conecta un proceso con un fichero, mientras que un pipe conecta dos procesos. • Un pipe es más rápido que un redireccionamiento, al no existir fichero, con lo que se evita el acceso a disco (que siempre es lento). Curso básico de Linux

  34. Programación shell ASIGNACIÓN DE SALIDA DE COMANDOS A VARIABLES • Puede desviarse la salida de un proceso a una variable, asignando a la variable el nombre del proceso encerrado entre comillas simples invertidas: $ VAR=`PROC` • La variable VAR pasa a tomar el valor de la salida del proceso PROC. Curso básico de Linux

  35. Programación shell COMANDOS COMANDO SORT • Sirve para ordenar las líneas de un fichero, ya sea alfabéticamente o numéricamente (en caso de que el contenido sean números). $ sort [opc] [campo] ficheros • La ordenación afecta sólo a la salida del comando, es decir, el fichero a ordenar queda inalterado. • En caso de que no se proporcione ningún argumento, se ordenará todo lo que desde ese momento se introduzca a través del teclado, hasta que se pulsa Ctrl-d. Curso básico de Linux

  36. Programación shell COMANDOS COMANDO GREP • Sirve para localizar una cadena de caracteres dentro de un fichero o ficheros dados. $ grep [opc] cadena ficheros cadena cadena de caracteres que debe ser localizada. ficheros ficheros donde debe ser localizada la cadena. • En caso de que la cadena exista, en pantalla aparecerá la línea completa en que se halla. Si se han dado varios ficheros para la localización, además de la línea aparecerá el nombre del fichero. Curso básico de Linux

  37. Programación shell COMANDOS COMANDO WC • Este comando sirve para contar líneas, palabras y caracteres de un fichero. Su estructura es: $ wc [opc] ficheros si no se indican argumentos, se toma como entrada el teclado. • La salida por pantalla es el número de líneas, palabras y caracteres del fichero seguido del nombre del fichero. • Este comando posee tres opciones: -l: cuenta sólo líneas. -w: cuenta sólo palabras. -c: cuenta sólo caracteres. Curso básico de Linux

  38. Programación shell COMANDOS COMANDO TEE • Utilizado como filtro. • Recoge los datos de su entrada, y los pasa a su salida, a la vez que a la salida standard y al fichero que se indique como argumento. • No altera en absoluto los datos que recoge: $ proc1|tee file|proc2 • El comando puede llevar la opción -a, con la cual añade su entrada al fichero indicado (en lugar de crear el fichero con esa entrada), en lugar de sobrescribirlo. Curso básico de Linux

  39. Programación shell COMANDOS COMANDO CUT • Para seleccionar porciones de líneas de un fichero (o de varios). Estas porciones son enviadas a la pantalla. Sin embargo, el fichero permanece inalterado. $ cut [opc] ficheros • Existen dos posibles funcionamientos de cut: • Corte por caracteres. • Corte por campos Curso básico de Linux

  40. Programación shell COMANDOS COMANDO PR • Similar al cat, si bien su función es mostrar en pantalla el contenido de un fichero preparado para ser impreso, es decir, con cabecera, separación de páginas, definición de márgenes, etc. $ pr [opc] ficheros • Este comando se utiliza habitualmente en un pipe junto con el comando lp, que se verá a continuación. Curso básico de Linux

  41. Programación shell COMANDOS COMANDO LP • Este comando imprime en la impresora el fichero indicado como argumento. Su estructura es: $ lp ficheros • Al ejecutarse, el comando devuelve a la pantalla un número de trabajo, el correspondiente a ese fichero. • El comando lp envía los trabajos a la cola de impresión. Por tanto, la terminal queda disponible para seguir trabajando. El control de la cola de impresión se hace a través del comando lpstat. Este comando no utiliza argumentos. Muestra en pantalla la lista de trabajos en espera de impresión. Curso básico de Linux

  42. Programación shell COMANDOS COMANDO EXPR • Permite realizar operaciones aritméticas con números enteros. $ expr num1 signo num2 • La respuesta es obtenida en pantalla. Es importante tener en cuenta que debe existir un espacio en blanco entre el signo, y los argumentos num1 y num2, que deben ser valores enteros. El signo será uno de los siguientes: +: suma. -: resta. *: multiplicación. Precedido de \ para eliminar el metacarácter. /: división. Precedido de \ para eliminar el metacarácter. %: resto de la división Curso básico de Linux

  43. Programación shell EJECUCIÓN DE PROCESOS EN BACKGROUND • Para ejecutar varios procesos simultáneamente en una única terminal. • Se recupera inmediatamente el control de la terminal. $ proc & • Lanzar un proceso en background no elimina la salida por pantalla  deben redireccionarse tanto la salida como la salida de errores. • Un comando lanzado en background interrumpe su ejecución si el usuario sale de la sesión  para evitarlo: $ nohup proceso & Curso básico de Linux

  44. Programación shell EJECUCIÓN DE PROCESOS EN BACKGROUND • Cuando se utiliza nohup, es obligado redireccionar tanto la salida como la salida de errores. Si no se hace, el sistema los redirecciona al fichero nohup.out. • Comando kill:para abortar la ejecución de un proceso (de cualquier tipo de proceso, si bien para los background es la única forma). $ kill PID donde PID es el identificador del proceso que desea abortarse. • Es posible realizar comandos o procesos inmunes al comando anterior. En estos casos, se utiliza una opción que es: $ kill -9 PID Curso básico de Linux

  45. Programación shell PRIORIDAD DE UN PROCESO • La prioridad de un proceso indica la velocidad con que va a ser ejecutado por parte del sistema. • Se mide en un rango de 1 a 29, donde 1 es la máxima y 29 es la mínima prioridad. Normalmente, prioridad 10. • Un usuario puede disminuir (nunca aumentar) la prioridad de un proceso. $ nice -increment proceso increment número de 1 a 19. Cuántos niveles sobre diez va a disminuir la prioridad. • Si el manager quiere aumentar la prioridad de un proceso, utilizará un incremento negativo. Curso básico de Linux

  46. Programación shell CÓDIGO DE RETORNO • El código de retorno indica de qué manera se ha ejecutado el proceso. 0: el proceso se ha ejecutado correctamente. distinto de 0: el proceso ha finalizado con algún tipo de error . • El valor del código de retorno no se muestra directamente en pantalla, sino que se halla en la variable ?. Comandos true y false • Estos dos comandos únicamente tienen como función dar un valor al código de retorno. • El comando true da un valor 0 al código de retorno. El comando false da el valor de 255 al código de retorno Curso básico de Linux

  47. Programación shell COMANDO TEST • Para evaluar expresiones y generar un código de retorno. • No produce respuesta en la pantalla. • Si la expresión evaluada es correcta, el código de retorno será 0. De lo contrario será un valor distinto de 0 (habitualmente 1). • Los argumentos sobre los que trabaja el comando test son ficheros, números enteros y cadenas de caracteres. • Todas las evaluaciones (tanto para ficheros, números o caracteres) pueden combinarse a través de uniones and (-a) y or (-o). Curso básico de Linux

  48. Programación shell COMANDO TEST El comando test con ficheros como argumentos • Cuando los argumentos utilizados son ficheros, el comando test se utiliza para evaluar la situación de los mismos. -f: el argumento es un fichero ordinario (no directorio ni device). -c: el argumento es un fichero device character. -b: el argumento es un fichero device bloque. -d: el argumento es un directorio ?. -s: el argumento es un fichero y no está vacío, o es un directorio. -r: el argumento tiene permiso de lectura (para el usuario que lo evalúa). -w: el argumento tiene permiso de escritura (para el usuario que lo evalúa). -x: el argumento tiene permiso de ejecución (para el usuario que lo evalúa). Curso básico de Linux

  49. Programación shell COMANDO TEST El comando test con números o caracteres como argumentos • Para determinar la veracidad de una expresión lógica. Las evaluaciones que pueden efectuarse son: • Para evaluaciones no numéricas: a = b compara si las cadenas a y b son ¡guales. a != b compara si las cadenas a y b son distintas. a compara si la cadena a no es el carácter nulo. -z a compara si la longitud de a es cero. -n a compara si la longitud de a es distinta de cero. • Para comparaciones numéricas: n1 -eq n2 compara si n1 es igual que n2. n1 -ne n2 compara si n1 es distinto de n2. n1 -lt n2 compara si n1 es menor que n2. n1 -gt n2 compara si n1 es mayor que n2. n1 -le n2 compara si n1 es menor o igual que n2. n1 -ge n2 compara si n1 es mayor o igual que n2. Curso básico de Linux

  50. Ficheros de comandos • Un fichero de comandos es un fichero ejecutable creado con un editor, que contiene comandos o estructuras ejecutables en UNIX, que actúa a modo de proceso, de forma que cuando se lanza, ejecuta secuencialmente todos los procesos que contiene en su interior. • Para ejecutar un fichero de comandos se puede actuar de dos formas: • Crear una shell hija con el fichero como argumento. Escribimos: $ sh archivo • Llamar al comando bash, que interpreta el lenguaje del fichero ejecutable de manera sh-compatible. Ponemos al principio del fichero !#/bin/bash. Para ejecutar el archivo le damos permiso y tecleamos: $ .archivo Curso básico de Linux

More Related