


El Editor VIM
-------------
ESC : ingresa al modo comando
i : entra en modo insercion desde la misma linea
o : entra en modo insercion desde la sgte linea
1G : va a la primera linea
23G : va a la linea 23
:45G : va a la linea 45
G : va a la ultima linea
/palabra : busca una cadena
n : sigue buscando
dd : corta o borra una linea
d8d : corta o borra 8 lineas
yy : copia una linea
y7y : copia 7 lineas
p : pega el contenido del portapapel
5p : pega 5 veces el contenido del portapapel
u : deshace la ultima accion
x : borra una letra
:w : graba el archivo actual
:wq : graba y sale
:w! : graba de forma forzada
:wq! : graba y sale forzadamente
:q! : sale forzadamente
:1,$s/busqueda/reemplaza/g :busca una cadena y la reemplaza
:! comando : ejecuta un comando en bash y vuelve a VIM
:e archivo : abre un nueva archivo en el sgte buffer
:b1 : va el primer buffer abierto
:b2 : va al segundo buffer, para cambiar de buffer hay que
grabar el buffer actual
:set number : muestra los numeros de linea
:set nonumber : quita los numeros de linea
:set paste : habilita el pegado sin auto identificacion
:set ts=3 : establece a 3 los espacios de los tabs
Insertar : entra en modo de reemplazo
:saveas archivo : guarda como nombre archivo
:shitf+a : entra en modo insercion al final de la linea
D : elimina texto desde el cursosr actual hasta el final
de la linea
dG : elimina todo hasta la ultima linea
:wq! ++utf8 : guarda el fichero en modo UTFP (por defecto)
:nohl : cancela los resultados de busqueda
Instalar VIM
-------------
$> sudo su -
$> apt-get update
$> apt-get install vim
$> vim saludo
hola mundo
ESC
yy
20p
G
o
windows es lo maximo
ESC
/hola
n
n
:set number
G
yy
30p
:1,$s/windows/linux/g
dd
d2d
dG
u
:! date
:w
:e otrosaludo
:b1
1G
yG
:b2
p
:wq!
$> cat saludo
$> cat otrosaludo
Archivo de configuracion de VIM
$> vim /etc/vim/vimrc ---> ubuntu,debian
/etc/vimrc ---> centos
20G
"syntax on
syntax on
28G
"if has
"
"
31G
G
o
set nobackup
set number
set ts=3
set paste
ESC :wq
$> vim /etc/vim/vimrc
ESC:q
Historial de comandos (History)
------------------------------
$> history
lista los comandos ejecutados y los identificado por el numero de
ejecucion
$> !127
Ejecuta el comando 127 del History
$> !vim
Ejecuta el ultimo comando del history, que empieza con vim
$> cat /root/.bash.history
Archivo donde se guarda el history
Bloquear el history
-------------------
$> chattr +i /root/.bash_history hace inmutable el archivo
$> chattr -i /root/.bash_history quita inmutabilidad
Usuarios y permisos:
--------------------
Crear usuarios
--------------
$> useradd -md /home/tuxito tuxito
crea un nuevo usuario, su directorio de trabajo y su grupo
igual
$> passwd tuxito
crea o cambia la contraseña de un usuario
$> useradd -md /home/linuxero -c "linuxero fanatico" \
-g users -G video,audio -s /bin/bash linuxero
$> passwd linuxero
$> grep linuxero /etc/passwd
linuxero:x:1002:100: linuxero fanatico:/home/linuxero:/bin/bash
$> grep users /etc/group
$> grep linuxero /etc/group
video:x:44:linuxero alumno,linuxero
audio:x:28:linuxero alumno,linuxero
$> grep linuxero /etc/passwd
$> grep linuxero /etc/shadow
Archivos importantes
--------------------
/etc/passwd (lista de usuarios)
/etc/group (lista de grupos)
/etc/shadow (lista de contraseñas)
$>usermod -c "tuxito hacker" tuxito (modificamos a sus usuarios)
$>vim /etc/passwd (modifica el archivo de usuario)
Borrar usuarios
--------------
$> userdel linuxero (borra el usuario pero no su directorio de trabajo)
$> userdel -r tuxito (borra el usuario incluyendo su directorio)
$> gpasswd -a tuxito video (agrega al usuario tuxito al grupo video)
$> vim etc/group
se puede agregar un usuario directamente a un grupo editando el archivo groups
Permisos de archivos y directorios
-------------------------------------
$> ls -l /etc/hosts
inodo tamaño en bytes fecha y hora de modificacion
| | |
| | |
-rw-r--r-- 2 root root 240 2009-05-04 08:15 /etc/hosts
|_________ | | |
| | | | |
| | dueño grupo ruta del archivo
| |
| |---> triada de permisos para el archivo del dueño, usuario
| y el resto del mundo
| --> r=read 4
| --> w=write 2
| --> x=exec 1
|
|--->dice si es archivo(-),directorio(d) o enlace(l)
$> cd
$> ls -l saludo
$> chmod 664 saludo
(6=permiso dueño,6=permiso grupo,4=permiso de otros)
$> ls -l saludo
$> chmod 777 saludo (permisos totales para todos)
$> ls -l saludo
$> chown alumno saludo (cambia de dueño al archivo)
$> ls -l saludo
$> chgrp alumno saludo (cambia de grupo al archivo)
$> ls -l alumno
$> chown -R alumno.alumno /home/alumno
----- ------
dueño grupo
cambia de dueño y grupo al directorio /home/alumno incluyendo sus subdirectorios
Scripts
-------
$> vim /usr/bin/damelahora
#!/bin/bash (define el interprete del script)
echo "son las"
date
$> /usr/bin/damelahora (ejecuta el archivo si tiene permisos
en ejecucion)
$> chmod 755 /usr/bin/damelahora (agrega permisos de ejecucion
al archivo)
$> /usr/bin/damelahora (ejecuta el archvio, es necesario
darle su ruta absoluta)
$> damelahora (ejecuta un comando que se encuentra
en algunos de los directorios de $PATH)
$> echo $PATH (muestra el valor de la variable de
entorno /bin:/sbin /usr/sbin:/usr/load/bin)
Ejecucion en modo relativo
--------------------------
$> cd /usr/bin
$/ ./damelahora
/usr/bin/damelahora
Variables de entorno y alias
----------------------------
$> set (variables del sistema,visualiza las variables de entorno
existentes)
$> env (variables del usuario-similar al anterior)
$> export SALUDO="hola mundo" (define una variable de entorno)
$> echo $SALUDO (muestra el valor de la variable de entorno)
$> echo $SA----> TAB
$> echo $PATH
Definiendo y modificando variables de entorno
*************** del usuario
$> su - alumno
$> vim .bashrc
.
.
.
export SALUDO="hola que tal"
$> echo $SALUDO
************** globales
/etc/profile -----> Ubuntu o Debian /etc/bashrc -----> CentOS
Archivo que se ejecutan en cada inicio de sesion para todos los
usuarios, por tanto puedo definir variables
de entorno y alias permanentes para todos los usuarios.
$> sudo su -
$> vim /etc/profile
.
.
.
export DESPEDIDA=chao
export PATH=/scripts:$PATH
export ORAHOME=/opt/oracle
$> su -
$> echo $DESPEDIDA
$> su - alumno
$> echo $DESPEDIDA
$> echo $PATH
/scripts:/bin...
$> echo ORAHOME
$> mkdir /scritps
$> cd /scripts
$> vim backuphome
#!/bin/bash
tar -zcpvf /backup/home.tgz /home
$> chmod 755 backuphome
$> mkdir /backup
$> /scripts/backuphome
$> backuphome
chmod = solo lo puede ejecutar el dueño del archivo y root
chown = solo lo ejecuta root
$> vim /etc/profile
alias listado="ls --color"
alias dir ="ls --color"
$> su -
$> alias (muestra todos los alias definidos)
$> listado
$> unalias listado (elimina un alias)