92
Introducción a UNIX Sistemas Operativos 2015

Intro comandos unix

Embed Size (px)

Citation preview

Page 1: Intro comandos   unix

Introducción a UNIX

Sistemas Operativos 2015

Page 2: Intro comandos   unix

Unix Programming Environment

Objectivos: Conocer las características básicas de Unix y la filosofía de Unix

Comandos básicos

Sistema de archivos

Shell

Filtros (wc, grep, sort, awk)

Redirección de archivos, Tuberías

Page 3: Intro comandos   unix

Estructura de un Sistema UNIX

Applications

Shell

\Kernel (OS)

Hardware

Aplicaciones estandar:

• Comandos de Sistema de archivos

• editores de textos

• compiladores

• procesadores de texto

Page 4: Intro comandos   unix

Unix y los Usuarios

La mayoría de versiones de Unix proven el mismo conjunto de aplicaciones (comandos y shells).

A pesar de que sus interfaces de usuario no son parte directa del SO, están estandarizados lo suficientemente para que baste con aprender una versión.

Page 5: Intro comandos   unix

Versiones de Unix

SysV (AT&T)

BSD (Berkeley)

Solaris (Sun)

IRIX (SGI)

AIX (IBM)

LINUX (free software)

Page 6: Intro comandos   unix

Logearse

Modos:

Desde la consola

Acceso remoto mediante SSH, telnet.

Los nombres y comandos son sensitivas a mayúsculas o minúsculas!

Page 7: Intro comandos   unix

Username

(tipicamente) una secuencia de caracteres alfanuméricos de longitud no mayor a 8.

Identificacion primaria de la cuenta.

(usualmente) usada como direccion de correo

El nombre del directorio home está relacionado con el nombre de usuario.

Creación de un usuario

adduser hernan

Page 8: Intro comandos   unix

Password

Cadena secreta que nadie debe conocer (ni el sistema!)

Al pulsar la clave, el Sistema la encripta y la compara con lo almacenado.

Debería tener al menos 6 caracteres

Es una Buena idea mezclar mayúsculas y minúsculas, números y caracteres especiales (asccii estandar)

Cambio de clave de un usuario

passwd hernan

Page 9: Intro comandos   unix

Directorio home

Directorio personal del usuario,

/home/hernan

/home/prueba

A veces está montado en un file system separado del SO

Page 10: Intro comandos   unix

Directorio home

Directorio actual al logearse

cd lleva a home

Localizacion de varios archivos de inicio y configuración. :

.vimrc .bashrc .bash_profile .forward .plan .mozilla/ .elm/ .logout

Page 11: Intro comandos   unix

Archivos y nombre de archivos

Un archivo es la unidad básica de almacenamiento.

Son sensibles a mayúsculas! (case sensitive)

De hecho, todo es case sensitive!

Los archivos en Unix pueden contener cualquier character, excepto el character null y slash (/).

Los nombres de archivos pueden ser largos!

Cuan largo depende de la version

Page 12: Intro comandos   unix

Archivos y nombre de archivos

Cada archivo en el mismo directorio debe tener un nombre único.

Los archivos que inician con un '.' son ucultos

Page 13: Intro comandos   unix

Directorios

Un directorio es un clase especial de archivo - Unix usa los directories para almacenar informacion acerca de los archivos.

Page 14: Intro comandos   unix

Unix Filesystem

El Sistema de archivos

Es un Sistema de organización jerárquicade archivos y directorios.

El nivel superior de la jerarquía se llama la “raiz” (root) y and guarda todos los archivos y directorios del Sistema de archivos.

El nombre del directorio root es /

Page 15: Intro comandos   unix

Filesystem

/

bin etc home/ tmp usr

hollid2 scully bin etc

netprog unix X ls who

Page 16: Intro comandos   unix

Rutas (Pathnames)

La ruta de un archivo incluye el nombre del archivo y el nombre de la carpeta que lo contiene, y el nombre de la carpeta que la contiene … hasta llegar a la raiz

Ej.

/home/hernan/trabajos/tarea1

Comando para ver directorio actual

pwd

Page 17: Intro comandos   unix

Ejemplos de rutas

/

bin/ etc/ home/ tmp/ usr/

Hollid2/ scully/ bin/ local/

netprog unix/ X ls who

/usr/bin/lsSyllabus

/home/hollid2/unix/Syllabus

Crear usuarios y su estructura con su nombre en vez de Hollid2

Page 18: Intro comandos   unix

Rutas Absolutas

Las que se especifican desde la raiz.

/home/hernan

Absolutas especiales :

~hernan/ /home/hernan (solo para el

directorio home del usuario)

~ es el directorio home de $USER

Para ver el contenido de las variables de entorno

echo $USER

Page 19: Intro comandos   unix

Rutas relativas

Prefijadas con el directorio actual ( $PWD )Relativas a la carpeta de trabajo actual$ cd /home/hernan

$ pwd

/home/hernan

$ ls unix/Sillabus

unix/Sillabus

$ ls X

ls: X: No such file or directory

$ ls /home/scully/X

/home/scully/X

Page 20: Intro comandos   unix

Rutas relativas especiales

. – Directorio actual

.. – Directorio padre

$ pwd

/home/hernan

$ ls ./netprog

./netprog

$ ls ../scully

X

24/10/2015

Page 21: Intro comandos   unix

Disco vs. Sistema de archivosLa jerarquía completa puede incluir varios discos físicos.

Algunas carpetas pueden estar en otras computadoras

/

bin etc users tmp usr

hollid2 scully

Page 22: Intro comandos   unix

Comandos – Sintaxis Básica

El Shell considera el primer elemento como un comando. Los siguientes elementos son argumentos

Los Argumentos que inician con un – son llamadosopciones

Sintaxis de comandos:command [option1] [option2] . . . [optionN]grep "Hernan" /etc/passwd

ls -o /home/hernan /home/prueba/Public

– -o lista larga

– Los 2 parámetros son directorios

Page 23: Intro comandos   unix

Comandos de archivos y carpetas

ls – lista el contenido de un directorio

-a – all files

-l – long listing

pwd – print working directory

cd – change directory

Sin argumentos, lleva a home

Page 24: Intro comandos   unix

Páginas de ayuda

Información detallada de comandos:man ls

man cat

man man

– Se puede buscar por palabras clave:

man -k buscado

Page 25: Intro comandos   unix

Opciones de línea de commandos

Se puede modificar el formato de salida de lsmediante opciones.

-l long format (fechas, propietario y permisos). Comparable a -o

-a all (muestra también los archivos ocultos*)

-F incluye un caracter especial para indicar el tipo de archivo.

-C lista en columnas

*los archivos ocultos inician con "."

Page 26: Intro comandos   unix

Ver archivos

cat – concatena, envía a la salida

estándar (stdout). Muestra el contenido de un archivo

less, more – utilidades de paginación

od – octal dump. Para ver el contenido

en octal, hex, control chars, etc.

Page 27: Intro comandos   unix

Copiar, borrar, enlazar

rm – borrar

rm ~/tmp/download

mv – mover (renombrar) un archivo

mv ant.arch ../otroDir/nuevo.arch

cp – copiar

cp dirOrigen/arch dirDest/arch

ln – crea un enlace duro (inode) o suave (symbolic) a un archivo

Page 28: Intro comandos   unix

Comandos para directorios

mkdir crear directorio (make

directory)

rmdir borrar un directorio (remove

directory)

Los directorios pueden moverse o renombrarse (mv), y copiarse (cp –r)

Page 29: Intro comandos   unix

Comandos…

filtrar datosgrep "Hernan" /etc/passwd

• Versión de Linuxuname -srv

• Leer un archivomore /etc/passwdcat /etc/passwd

Page 30: Intro comandos   unix

Comandos…

Procesos en ejecución

ps ax o ps –e• Concatenar comandos• cd; ls -l; pwd

• Combinación de comandos Shell: uso de tubería (pipe)• ls /dev | grep sda

Page 31: Intro comandos   unix

Redireccionamiento28/10/2015

Page 32: Intro comandos   unix

Redireccionamiento

• Entrada de un comando desde un archivo: ordenar• sort < /etc/passwd

• Guardando el resultado en un archivo• grep uucd /etc/passwd > usuario• sort /etc/passwd > ~/ordenado.text

• Entrada y salida desde y hacia un archivo• sort < /etc/passwd > ordenado

Page 33: Intro comandos   unix

Redireccionamiento

Agregando datos a un archivo

• echo hola >> usuario• Leyendo datos a un archivo hasta cierta condición

• cat <<zz > input.txt

• Encontrar / Buscar• find / -name COPYING -print

• Enviar el error a un archivo• find / -name COPYING -print 2> finderr

• Desechar el error• find / -name COPYING -print 2> /dev/null

Page 34: Intro comandos   unix

Comandos…

Atajo con TABcat /etc/mod{TAB}

• Conteo de líneas palabras y caracteres• wc /etc/passwd• wc –l /etc/passwd• cat /etc/passwd | wc

• ej. Cuantos procesos están activos en memoria?

Page 35: Intro comandos   unix

Atributos de los archivos

Cada archivo tiene algunos atributos:

Fechas de acceso:

Creacion del archivo

Último cambio

Última lectura

Tamaño

Propietarios (usuario y grupo)

Permisos

Tipo – directorio, enlace, norlam, etc.

ACLs – lista de control de acceso

Page 36: Intro comandos   unix

Atributos de los archivos

Atributos de fecha:

Cuando fue cambiado ls -l

Ordenar por fecha de modificación ls -lt

Page 37: Intro comandos   unix

Propietarios

Cada archivo es propiedad de un usuario.

Se puede ver con ls y la opción -l o -o:

ls -l

total 24

drwxr-xr-x 7 jjohnson users 80 Jan 3 2015 cs265/

-rw------- 1 jjohnson users 8258 Jan 3 2015 cs265.html

-rw-r--r-- 1 jjohnson users 8261 Jan 3 2015 cs265.html~

Page 38: Intro comandos   unix

ls -l

$ ls -l foo

-rw-rw---- 1 hollingd grads 13 Jan 10 23:05 foo

permisospropiet grupo

tam

fecha

nombre

Page 39: Intro comandos   unix

Permisos

Cada archivo tiene permisos específicos

Hay tres tipos de permisos: read r

write w

execute x

Hay 3 conjuntos de permisos:

1. Usuario / propietario

2. grupo

3. otros (los demás)

Page 40: Intro comandos   unix

ls -l y los permisos

-rwxrwxrwxUser Group Others

Tipo de archivo:

- – archivo normal

d – directorio

s – enlace simbólico

(otros)

Page 41: Intro comandos   unix

rwx

archivos:

r – permitido leer.

w - permitido escribir / editar

x - permitido ejecutar

Directorios:

r - permitido ver el contenido (nombres)

w - permitido agregar o eliminar archivos.

x - permitido a “ingresar” al directorio

Page 42: Intro comandos   unix

Cambio de permisos

El commando chmod cambia permisos

de archivos y directorios.

forma:

chmod modo archivo

Page 43: Intro comandos   unix

chmod – modos numericos

Permisos para cada conjunto de usuarios (user, group, other) como núm de 3-bit

r – 4

w – 2

x – 1

El modo es un número octal de 3 dígitos #

755 – rwxr-xr-x

644 – rw-r—r--

700 – rwx------

Page 44: Intro comandos   unix

chmod - ejemplos$ chmod 700 CS571

$ ls –o Personal

drwx------ 10 kschmidt 4096 Dec 19 2004 CS571/

$ chmod 755 public_html

$ chmod 644 public_html/index.html

$ ls –ao public_html

drwxr-xr-x 16 kschmidt 4096 Jan 8 10:15 .

drwx--x--x 92 kschmidt 8192 Jan 8 13:36 ..

-rw-r--r-- 5 kschmidt 151 Nov 16 19:18 index.html

$ chmod 644 .plan

$ ls –o .plan

-rw-r--r-- 5 kschmidt 151 Nov 16 19:18 .plan

Page 45: Intro comandos   unix
Page 46: Intro comandos   unix
Page 47: Intro comandos   unix
Page 48: Intro comandos   unix
Page 49: Intro comandos   unix

29/10/2015Tarea:Realizar ejemplo de cada uno de los comandos

Page 50: Intro comandos   unix

chmod –modos simbólicos

Usado para colocar, agregar, o eliminar permisos

forma:[ugoa][+-=][rwx]

u – user g – group o – other a – all

+ agregar permisos - quitar permisos = colocar permisos

Page 51: Intro comandos   unix

chmod ejemplos

$ ls -al foo

-rwxrwx--x 1 hollingd grads foo

$ chmod g-wx foo

$ ls -al foo

-rwxr----x 1 hollingd grads foo

$ chmod u-r .

$ ls

ls: .: Permission denied

Page 52: Intro comandos   unix

Comandos para almacenar

tar

Crea un gran archivo a partir de muchosarchivos

gzip, gunzip

Utilidad de compreción de archivos

tar en Linux realiza una compression gzip con la opción z :

$ tar czf 571back.tgz CS571

$ tar xzf assn1.tgz

Page 53: Intro comandos   unix

El Shell como interfaz de usuario

Un shell es un intérprete de commandos , una interfaz entre el humano (u otro programa) y el SO

Es, por si mismo, otro programa

Page 54: Intro comandos   unix

Bourne-again Shell (bash)

Extension del shell Bourne Shell (sh)

Tiene mucho de las extensions del shell Korn (ksh)

Page 55: Intro comandos   unix

Inicio de Sesión

Una vez logeado, el shell inicia y muestra el prompt. ($)

Al iniciar el shell busca archivos de configuración y personalización en home. Se puede cambiar el prompt, PATH, etc.

Page 56: Intro comandos   unix

Personalización

parámetros.

Prompt de usuario

Dónde encontrar el correo

atajos

Se lo realiza en los archivos de inicio

Page 57: Intro comandos   unix

Archivos de inicio

sh,ksh:

/etc/profile (predet del sistema)

~/.profile

bash:

~/.bash_profile

~/.bashrc

~/.bash_logout

csh:

~/.cshrc

~/.login

~/.logout

Page 58: Intro comandos   unix

Logeo Incorrecto

Se recibe la petición de “Password:” aún si se usó un login erroneo

– Por qué?

Page 59: Intro comandos   unix

Ingreso de commandos

El shell imprime el prompt y espera que se escriba un comando.

El primer element se espera sea el commando. Pueden ser:

Incorporados del shell - comandos que el shell interpreta directamente.

Programas externos (utilidades) –programas independientes en el disco (se busca en el orden especificado de las carpetas en $PATH)

Page 60: Intro comandos   unix

Interpretar un Comando - type

Cuando se encuentra un comando, el shell:1. Busca por alias

2. Busca funciones definidas por el usuario

3. Busca si es incorporado

4. Busca utilidades en los directorios especificadosen $PATH

Se puede usar type para saber que usa el shell:type echo

echo is a shell builtin

type chmod

chmod is /bin/chmod

Page 61: Intro comandos   unix

Opciones y argumentos

Forma estandarizada de los comandos:

comando opción(es) argumentos

Las opciones modifican la forma en la cual trabajaa un comando, frecuentemente un guión y una letra(puede combinarse luego del guión)

Page 62: Intro comandos   unix

Des logearse

exit (commando incorporado)

Sale del shell

Si se está en el shell de login (nivelsuperior), nos desconecta del sistema

Al ser el shell un programa que se ejecuta, puede ser invocadorecursivamente

Page 63: Intro comandos   unix

Standard I/O

Cuando se ingresa un commando, el shell crea un subshell para ejecutar el proceso o script.

El shell establece e canales I/O:

Entrada estándar (0) – teclado

Salida estándar (1) – pantalla

Error estándar (2) – pantalla

Esos flujos pueden ser redireccinados a y desde un archivo, o incluso a otro comando

Page 64: Intro comandos   unix

Los programas y los I/O estandar

ProgramStandard Input

(STDIN)

Standard Output

(STDOUT)

Standard Error

(STDERR)

Page 65: Intro comandos   unix

Terminar un flujo en la entrada estandar

Para indicar el fin de la entrada pulsar Ctrl-D (^D), que es la señal EOF de la línea, esto Cierra el flujo de entrada (stream).

El shell es un programa que lee desde la entrada estándar.

Qué sucede al pulsar ^D en el shell?

(Ver el comando set e ignoreeof)

Ejercicio: Crear Script y usar argumentos %0, %1, etc.

cat > prog1.sh

Lista comandos … ^D

chmod a+x *.sh

./prog1.sh o sh prog1.sh

Page 66: Intro comandos   unix

Metacaracteres del Shell

Algunos caracteres tienen significadosespeciales para el shell: redirección I/O

< > |

comodines

* ? [ ]

otros

& ; $ ! \ ( ) space tab newline

Deben usarse junto con caracteres de escape o entre comillas para evitarcomportamientos indeseados

Page 67: Intro comandos   unix

Comodines

* – iguala 0 o más caracteres

? – iguala exáctamente 1 caracter

[<list>] – iguala cualquier caracter dentro de la lista

Ej.

ls *.cc – lista todos los archivos fuente de C++ en la

carpeta

ls a* – lista todos los archivos que inician con ’a’

ls a*.jpeg – lista todos las fotos JPEGs que iniciancon ’a’

ls * - lista todo dentro de subdirectorios inclusive

Page 68: Intro comandos   unix

Comodines …

ls file?

- busca file1, file2, pero no file ofile22

ls file?.*.DEL

- busca file1.h.DEL, file9.cc.DEL, file3..DEL pero no file8.DEL o file.html.DEL

Estas no son expresiones regulares!

4/11/2015

Page 69: Intro comandos   unix

Comodines

[abc] iguala cualquiera de los caracteres

ls T[eE][sS][tT].doc

[a-z] iguala cualquier caracter en el rangols [a-zA-Z]*

[!abc…] iguala cualquier caracter except

aquellos en la lista.ls [!0-9]*

Page 70: Intro comandos   unix

Variables de Shell

bash usa variables shell para almacenar información

Usadas para cambiar el comportamiento del shell y de otros programas

Podemos acceder a esas variables: Colocar nuevos valores para personalizar el

shell.

Ver el valor para ayudar a completar una tarea.

Page 71: Intro comandos   unix

Cambiar/Ver las Variables

Para asignar (en sh, ksh, bash):VAR=algunaCadena

OTRA_VAR=“Con espacios”

Nota, no usar espacio alrededor de ‘=‘

Para ver :$ echo $VAR

algunaCadena

$ echo $OTRA_VAR

Con espacios

Page 72: Intro comandos   unix

Variables del Shell

Algunas comunes:

PATH – lista de carpetas en donde buscar commandos que no son incorporados al shell

PS1 –prompt primario

USER – nombre del login del usuario

HOME – carpeta home del usuario

PWD – carpeta de trabajo actual

Page 73: Intro comandos   unix

Otras importantes

SHELL – el shell del login

TERM – el tipo de terminal

HISTFILE – en donde se almacena el historial de comandos

EDITOR – mantiene el editor preferido del usuario

HOSTNAME – nombre de la máquina

SHELLOPTS – valor de varias opciones del shell (ver set incorporado del shell Bash)

Page 74: Intro comandos   unix

Mostrar el valor de variables de Shell

Colocar el Prefijo "$“ a la variable.

El comando echo lo muestra:

$ echo $HOME

$ echo $PATH

Se puede usar estas variables en cualquier comando:

$ ls -al $HOME

Page 75: Intro comandos   unix

Colocando valores en las variables Shell

Se usa un comando de asignaciónincorporado: set

HOME=/etc

PATH=/usr/bin:/usr/etc:/sbin

NEWVAR="blah blah blah"

Page 76: Intro comandos   unix

Comando set

Sin argumentos imprime el listado de todas las variables de entorno.

Algunas opciones bash

noclobber – no permite que la redirecciónsobreescriba un archivo existente

ignoreeof – El Shell no sale con ctrl-D

vi – usa una interfaz de estilo vi (se usaemacs de forma predeterminada)

-n – ejecución en seco (solo ejecuta el parser, pero no lo ejecuta). Útil para depuración de scripts

Page 77: Intro comandos   unix

Caracter de escape \

Usar backslash para inhibir el comportamiento especial de los siguientes caracteres :

$ echo $USER

hernan

$ echo \$USER

$USER

$ echo a\\b

a\b

Page 78: Intro comandos   unix

Comillas dobles

Inhibe todos los comportamientos, excepto sustitución de variables, sustitución de comandos, y el caracterde escape \$ echo “$USER es $USER”

hernan es hernan

$ echo “\$USER es $USER”

$USER es hernan

$ echo “He dicho, \”Espera un

momento\””

He dicho, “Espera un momento”

Page 79: Intro comandos   unix

Comillas simples

Inhibe casi todos los comportamientosespeciales

No puede contener una comilla simple

$ echo ‘he dicho “espera!”’

he dicho “espera!”

$ echo ‘Mi nombre es $USER’

Mi nombre es $USER

$ mv compuestoPorMozart

‘compuesto por – Mozart’

Page 80: Intro comandos   unix

Filosofía Unix

La union de pequenas utileriasmediante entubamiento y redirecciónpara realizar fácilmente tareas no triviales

Ej., encontrar los 3 subdirectorios másgrandes:

$ du –s * | sort –nr | head -n3

120180 Files

22652 Zaychik

9472 tweedledee.tgz

Page 81: Intro comandos   unix

Filosofía UnixEntubamiento y combinación con filtros

Conectar la salida de un comando a la entrada de otro para obtener filtroscompuestos

who | wc -l

ls | sort -f

ls -s | sort -n

ls -l | sort -nr -k4

ls -l | grep ‘^d’

Page 82: Intro comandos   unix

Control de procesos

Los Procesos se ejecutan en un subshell (de forma predeterminada)

Los Subshell heredan las variables exportadas

Cada proceso tiene su ID (pid) y un padre (ppid)

Usar ps para verlos

$ ps

PID TTY TIME CMD

350 pts/4 00:00:00 bash

22251 pts/4 00:00:00 vim

22300 pts/4 00:00:00 ps

Page 83: Intro comandos   unix

Control de procesos (cont.)

Usar la opción –f para un listado largo :

$ ps –fUID PID PPID C STIME TTY TIME CMD

hernan 350 349 0 10:06 pts/4 00:00:00 -bash

hernan 22251 350 0 17:32 pts/4 00:00:00 vim tarea

hernan 22437 350 0 17:36 pts/4 00:00:00 ps -f

Usar –e para listar los procesos de todos los usuarios.

$ ps –e | grep xmms

29940 pts/0 00:33:47 xmms

Page 84: Intro comandos   unix

Matar un proceso

El comando kill envía una senal al proceso (al PID dado)

De forma predeterminada, envía TERM (terminate), el que solicita que finaliceel proceso, de tal manera se lo haga de forma limpia

usar -9 para enviar la senal KILL (no será ignorada), pero no de forma limpia

Ej:

$ kill -9 29940

Page 85: Intro comandos   unix

Control de trabajo

El shell permite administrar trabajos(jobs)

Coloca los trabajos en Segundo plano(background)

mueve un trabajo a primer plano(foreground)

suspende un trabajo

Mata un trabajo

Page 86: Intro comandos   unix

Trabajos a Segundo plano

Se lo hace colocando un "&“ al final de la línea de comando.

No se necesita esperar que se termine el trabajo, se puede escribir un Nuevo comandoinmediatamente.

Se puede tener un grupo de trabajos ejecutandoseal mismo momento.

Ej.ls -lR > /home/hernan/listadoTotal.txt &

Page 87: Intro comandos   unix

Listar los trabajos

El comando jobs listará los trabajos en Segundo plano:

> jobs

[1] Running ls -lR >

listadoTotal.txt &

>

El shell asigna un número a cadatrabajo (en este caso 1).

Page 88: Intro comandos   unix

Suspendiendo y Reanudando los trabajos en Segundo plano

Se puede suspender pulsando ^Z (Ctrl-Z). Suspendido significa que se detiene el trabajo, pero no

finaliza. El trabajo se mostrará en el listado obtenido con jobs.

Se usa fg y el número de trabajo, precedido por %. Sin un argumento, fg trae el ultimo trabajo al primer plano

$ jobs

[1] Stopped ls -lR > listadoTotal.txt &

$ fg %1

ls -lR > listadoTotal.txt

Page 89: Intro comandos   unix

Colocar en el Segundo plano un trabajo suspendido

Si está en primer plano, se debe suspenderlo

Usar bg, tal como se lo hizo con fg,

para permitir que un trabajo suspendido continúe en el Segundo plano:$ bg %3

Page 90: Intro comandos   unix

Finalizar un trabajo

Kill puede tomar un número de trabajo o incluso un nombre de trabajo, usando %:$ find . –name core\* -print >

archivosCore &

$ firefox&

$ jobs

[1]+ Running find . –name …

[2]+ Running firefox

$ kill %2

Page 91: Intro comandos   unix

Editores de texto

Un editor de texto se usa para crear y modificar archivos.

Los más comunes son:

vi (también vim en Linux) $ vimtutor

emac

$ emacs

Entonces pulsar, ctrl-h t

Page 92: Intro comandos   unix

VI comandos básicos:•cambiar de modo comando a modo insert: i• cambiar de modo insert a modo comando: Esc* Modo comando:

•hacia arriba k

•hacia abajo j•hacia la izquierda h•hacia la derecha l•grabar :wEnter (write)•salir sin grabar :q!Enter•deshacer u•rehacer Ctrl+r•escribir y salir :wqEnter• Eliminar linea dd• Salir grabando :x

Tarea: realizar un script llamado copiar.sh que pida unacarpeta de origen, un nombre de archivo, una carpeta de destino y un nombre de destino, realice la copia y finalmente muestre el contenido de forma paginada del archivo en cuestion.