Browse Tag: consola

La chuleta definitiva para usuarios de Vim en Linux

Desde la década de 1970, Vi y Vim son populares entre los desarrolladores y están presentes en la mayoría de los servidores basados en UNIX. Esos editores de texto libre y de código abierto puede ser un poco difícil de usar al principio, pero son extremadamente poderosos. Aquí está una lista de más de 130 comandos para impulsar el potencial de su codificación con Vi / Vim.

BASICS

:e filenameOpen filename for edition
:wSave file
:qExit Vim
:q!Quit without saving
:xWrite file (if changes has been made) and exit
:sav filenameSaves file as filename
.Repeats the last change made in normal mode
5.Repeats 5 times the last change made in normal mode

MOVING IN THE FILE

k or Up Arrowmove the cursor up one line
j or Down Arrowmove the cursor down one line
emove the cursor to the end of the word
bmove the cursor to the begining of the word
0move the cursor to the begining of the line
Gmove the cursor to the end of the file
ggmove the cursor to the begining of the file
Lmove the cursor to the bottom of the screen
:59move cursor to line 59. Replace 59 by the desired line number.
20|move cursor to column 20.
%Move cursor to matching parenthesis
[[Jump to function start
[{Jump to block start

CUT, COPY & PASTE

yCopy the selected text to clipboard
pPaste clipboard contents
ddCut current line
ywYank word
yyCopy current line
y$Copy to end of line
DCut to end of line

SEARCH

/wordSearch word from top to bottom
?wordSearch word from bottom to top
*Search the word under cursor
/\cstringSearch STRING or string, case insensitive
/jo[ha]nSearch john or joan
/\< theSearch the, theatre or then
/the\>Search the or breathe
/\< the\>Search the
/\< ¦.\>Search all words of 4 letters
/\/Search fred but not alfred or frederick
/fred\|joeSearch fred or joe
/\<\d\d\d\d\>Search exactly 4 digits
/^\n\{3}Find 3 empty lines
:bufdo /searchstr/Search in all open files
bufdo %s/something/somethingelse/gSearch something in all the open buffers and replace it with somethingelse

REPLACE

:%s/old/new/gReplace all occurences of old by new in file
:%s/onward/forward/giReplace onward by forward, case unsensitive
:%s/old/new/gcReplace all occurences with confirmation
:2,35s/old/new/gReplace all occurences between lines 2 and 35
:5,$s/old/new/gReplace all occurences from line 5 to EOF
:%s/^/hello/gReplace the begining of each line by hello
:%s/$/Harry/gReplace the end of each line by Harry
:%s/onward/forward/giReplace onward by forward, case unsensitive
:%s/ *$//gDelete all white spaces
:g/string/dDelete all lines containing string
:v/string/dDelete all lines containing which didn’t contain string
:s/Bill/Steve/Replace the first occurence of Bill by Steve in current line
:s/Bill/Steve/gReplace Bill by Steve in current line
:%s/Bill/Steve/gReplace Bill by Steve in all the file
:%s/^M//gDelete DOS carriage returns (^M)
:%s/\r/\r/gTransform DOS carriage returns in returns
:%s#<[^>]\+>##gDelete HTML tags but keeps text
:%s/^\(.*\)\n\1$/\1/Delete lines which appears twice
Ctrl+aIncrement number under the cursor
Ctrl+xDecrement number under cursor
ggVGg?Change text to Rot13

CASE

VuLowercase line
VUUppercase line
g~~Invert case
vEUSwitch word to uppercase
vE~Modify word case
ggguGSet all text to lowercase
gggUGSet all text to uppercase
:set ignorecaseIgnore case in searches
:set smartcaseIgnore case in searches excepted if an uppercase letter is used
:%s/\<./\u&/gSets first letter of each word to uppercase
:%s/\<./\l&/gSets first letter of each word to lowercase
:%s/.*/\u&Sets first letter of each line to uppercase
:%s/.*/\l&Sets first letter of each line to lowercase

READ/WRITE FILES

:1,10 w outfileSaves lines 1 to 10 in outfile
:1,10 w >> outfileAppends lines 1 to 10 to outfile
:r infileInsert the content of infile
:23r infileInsert the content of infile under line 23

FILE EXPLORER

:e .Open integrated file explorer
:SexSplit window and open integrated file explorer
:Sex!Same as :Sex but split window vertically
:browse eGraphical file explorer
:lsList buffers
:cd ..Move to parent directory
:argsList files
:args *.phpOpen file list
:grep expression *.phpReturns a list of .php files contening expression
gfOpen file name under cursor

INTERACT WITH UNIX

:!pwdExecute the pwd unix command, then returns to Vi
!!pwdExecute the pwd unix command and insert output in file
:shTemporary returns to Unix
$exitRetourns to Vi

ALIGNMENT

:%!fmtAlign all lines
!}fmtAlign all lines at the current position
5!!fmtAlign the next 5 lines

TABS/WINDOWS

:tabnewCreates a new tab
gtShow next tab
:tabfirstShow first tab
:tablastShow last tab
:tabm n(position)Rearrange tabs
:tabdo %s/foo/bar/gExecute a command in all tabs
:tab ballPuts all open files in tabs
:new abc.txtEdit abc.txt in new window

WINDOW SPLITING

:e filenameEdit filename in current window
:split filenameSplit the window and open filename
ctrl-w up arrowPuts cursor in top window
ctrl-w ctrl-wPuts cursor in next window
ctrl-w_Maximize current window vertically
ctrl-w|Maximize current window horizontally
ctrl-w=Gives the same size to all windows
10 ctrl-w+Add 10 lines to current window
:vsplit fileSplit window vertically
:sview fileSame as :split in readonly mode
:hideClose current window
:­nlyClose all windows, excepted current
:b 2Open #2 in this window

AUTO-COMPLETION

Ctrl+n Ctrl+p (in insert mode)Complete word
Ctrl+x Ctrl+lComplete line
:set dictionary=dictDefine dict as a dictionnary
Ctrl+x Ctrl+kComplete with dictionnary

MARKS

m {a-z}Marks current position as {a-z}
‘ {a-z}Move to position {a-z}
Move to previous position

ABBREVIATIONS

:ab mail mail@provider.orgDefine mail as abbreviation of mail@provider.org

TEXT INDENT

:set autoindentTurn on auto-indent
:set smartindentTurn on intelligent auto-indent
:set shiftwidth=4Defines 4 spaces as indent size
ctrl-t, ctrl-dIndent/un-indent in insert mode
>>Indent
<<Un-indent
=%Indent the code between parenthesis
1GVG=Indent the whole file

SYNTAX HIGHLIGHTING

:syntax onTurn on syntax highlighting
:syntax offTurn off syntax highlighting
:set syntax=perlForce syntax highlighting

Fuente: CATS WHO CODE

Empaquetar, comprimir y descomprimir desde la consola de comandos en Linux

Muchas veces necesitamos trasladar grandes volúmenes de informaciones desde un servidor a otro o quizás a un dispositivo USB externo. Al realizar esta copia, en ocasiones se vuelve tedioso el tiempo de espera, ya que en la mayoría de los casos son miles o millones de ficheros copiándose de un lado para otro y la velocidad de la transferencia varía en dependencia de muchos factores.

En la práctica podemos lograr que al copiar estos ficheros la velocidad de transferencia sea un poco más estable y rápida, logrando así un menor tiempo en la espera de este proceso.

¿Cómo lo logramos?

Empaquetando todos los ficheros en uno solo, increíblemente es mucho más práctico, se lo aseguro. Este proceso de empaquetado lo haremos mediante el formato de archivo más usado en entornos UNIX, identificado con la extensión .tar.

Ejemplos de opciones más usados

Empaquetar:

tar cvf archivo.tar /directorio/*

Empaquetara todo el contenido del directorio

Desempaquetar:

 tar xvf archivo.tar

Extraerá todo el contenido del fichero archivo.tar

Visualizar:

 tar tvf archivo.tar

Se podrá ver el contenido sin extraer del fichero archivo.tar

Es importante aclarar que la orden del TAR no comprime, solo almacena archivos y directorios en un solo fichero, por lo que no reduce el tamaño de los archivos. Sin embargo se puede combinar la funcionalidad de los archivos .tar con una compresión de datos que disminuya su tamaño final.

Métodos de comprensión existen muchos, los más usados en sistemas Unix son gz y bz, estos tienen un problema, solo comprimen archivos, no directorios, es por ello que antes hay que empaquetar todo los archivos.

¿Cómo Empaquetar, Comprimir y Descomprimir?

.tar.gz – .tar.z – .tgz (tar con gzip)

Empaquetar y comprimir:        tar czvf archivo.tar.gz /directorio/*
Desempaquetar y descomprimir:  tar xzvf archivo.tar.gz
Ver el contenido sin extraer:  tar tzvf archivo.tar.gz

.tar.bz2 (tar con bzip2)

Empaquetar y comprimir:        tar -c /directorio/* | bzip2 &gt; archivo.tar.bz2
Desempaquetar y descomprimir:  bzip2 -dc archivo.tar.bz2 | tar -xv
Ver el contenido sin extraer:  bzip2 -dc archivo.tar.bz2 | tar -tv

Otras opciones para Comprimir y Descomprimir

.gz (gzip)

Comprimir:      gzip -q archivo
Descomprimir:   gzip -d archivo.gz

.bz2 (bzip2)

Comprimir:      bzip2 archivo
Descomprimir:   bzip2 -d archivo.bz2

.zip (zip)

Comprimir:      zip archivo.zip /directorio/fichero
Descomprimir:   unzip archivo.zip
Ver contenido:  unzip -v archivo.zip

.rar (rar)

Comprimir:      rar -a archivo.rar /directorio/fichero
Descomprimir:   rar -x archivo.rar
Ver contenido:  rar -v archivo.rar
                rar -l archivo.rar

.lha (lha)

Comprimir:      lha archivo.lha /directorio/fichero
Descomprimir:   lha -x archivo.lha
Ver contenido:  lha -v archivo.lha
                lha -l archivo.lha

.zoo (zoo)

Comprimir:      zoo -a archivo.zoo /directorio/fichero
Descomprimir:   zoo -x archivo.zoo
Ver contenido:  zoo -v archivo.zoo
                zoo -L archivo.zoo

.arj (arj)

Comprimir:      arj a archivo.arj /directorio/fichero
Descomprimir:   arj -x archivo.arj
Ver contenido:  arj -v archivo.arj
                arj -l archivo.arj

Nota: Intentar no usar RAR o ARJ que usan formatos propietarios.

Enlaces

Wikipedia: http://es.wikipedia.org/wiki/Tar
One kind of Life: http://doutdex.wordpress.com/2008/04/28/comprimir-y-descomprimir-rargzipziptartargzbz2-lha-zoo-en-linux-comando-consola/

Atajos para ejecutar en la consola de comandos de Linux Debian

Listado de atajos de teclado y comandos útiles para sacar mejor provecho de los ratos que pasemos frente a la consola de comandos en Linux, también conocida como shell. Lo pego aquí para futura referencia.

Cómo saber la versión de Debian instalada

cat /etc/debian_version

Algunos países hacen uso del del horario de verano o de invierno antes o después de la fecha acordada a nivel internacional, cuestión que trae consigo un problema para algunas computadoras que tienen configurada cambiar la hora automáticamente según el horario de verano. Si desea cambiar la fecha y hora manualmente en Linux Debian puede hacerlo mediante el comando:

date --set "2010-04-05 10:59:56-05:00"

2010-04-05 10:59:56-05:00 = AAAA/MM/DD HH:MM:SS-UsoHorario

Atajos con Ctrl

Ctrl + l – Limpiar la pantalla.
Ctrl + r – Buscar en el historial de comandos. Cuando veamos el que necesitamos simplemente presionamos “Enter”.
Ctrl + a – Ir al comienzo de la linea.
Ctrl + e – Ir al final de la linea.
Ctrl + b – Moverse un carácter hacia atrás.
Ctrl + f – Moverse un carácter hacia delante.
Ctrl + c – Cancelar el comando en curso.
Ctrl + d – Salir de la consola.
Ctrl + u – Cortar el contenido desde la posición del cursor hasta el principio.
Ctrl + k – Cortar el contenido desde la posición del cursor hasta el final.
Ctrl + y – Pegar el texto cortado con las dos opciones anteriores.
Ctrl + p – Moverse por el historico de comandos hacia atrás.
Ctrl + n – Moverse por el historico de comandos hacia delante.
Ctrl + z – Parar temporalmente la ejecución de un proceso, quedando en segundo plano
fg       - Para continuar con el proceso que fue parado temporalmente llevándolo a un primer plano

Atajos con Alt

Alt + &lt; – Ir a la primera linea del historial de comandos.
Alt + &gt; – Ir a la última linea del historial de comandos.
Alt + ? – Muestra la lista actual de autocompletación.
Alt + * – Inserta todas las posibles combinaciones de autocompletado.
Alt + / – Intenta completar el nombre del archivo.
Alt + . – Inserta el último argumento del anterior comando.
Alt + b – Mover hacia delante.
Alt + f – Mover hacia atrás.
Alt + t – Mover entre palabras.
Alt + c – Capitalizar palabra.
Alt + l – Pasar a minúsculas un palabra.
Alt + u – Pasar a mayúsculas una palabra.
Alt + d – Elimianr palabra.
Alt + n – Buscar en el historial de comandos hacia delante de forma no incremental.
Alt + p – Buscar en el historial de comandos hacia atrás de forma no incremental.
Alt + r – Rellamar un comando.
Alt + back-space – Eliminar desde el cursor hacia atrás.

Las chuletas definitivas para usuarios de Bash en Linux

La chuleta definitiva para usuarios de Bash en Linux

Linux Bash Shell Cheat Sheet: HTML o PDF

Recopilación de comandos para GNU/Linux

Recopilación de comandos para GNU/Linux en: HTML o PDF.

Instalar y desinstalar programas en Linux Debian usando la consola de comandos

APT (Advanced Packaging Tool) es el gestor de paquetes usado por Linux Debian y las distribuciones basadas en Debian.

Aunque lo podemos usar sin conexión a Internet, apt está orientado para ser usado con conexión.

Para usar apt, básicamente debemos:

  1. Decirle que actualice la lista de paquetes disponibles
  2. Decirle los paquetes que queremos Instalar/desinstalar

Entonces apt se encarga de:

  • Buscar los paquetes en Internet o localmente
  • Solucionar las dependencias (a veces para que un paquete funcione necesita que haya otros paquetes instalados previamente: se dice que ‘depende de’)
  • Descargar de Internet (cuando sea necesario) los paquetes y sus dependencias
  • Instalar y configurar en el orden correcto los paquetes y sus dependencias

Nota

Usaremos aptitude como interfaz para APT.

aptitude

Usaremos la palabra paquete en lugar de programa, pues apt trabaja con paquetes y no con programas. Un paquete puede incluir varios programas y un programa se puede empaquetar en varios paquetes.

Aptitude obtiene la lista de paquetes disponibles del repositorio de Linux, que es un conjunto de direcciones de Internet o locales donde están, tanto los listados de paquetes disponibles, como los propios paquetes.

El programa aptitude se usa en modo línea de comando desde un terminal, en el que debe tener la condición de superusuario (root).

Las principales formas de usar aptitude son:

Sintaxis general de aptitude

aptitude [opciones] acción [paquetes]

Actualizar lista de paquetes

aptitude update

Se debe actualizar la lista antes de realizar cualquier otra acción con apt

Buscar información de los paquetes

Podemos buscar información de los paquetes que vamos a instalar usando los comandos:

aptitude search palabra

Busca palabra tanto en los nombres como en las descripciones de los paquetes.

aptitude show paquete

Muestra información sobre el paquete . Nos informa también sobre las dependencias del paquete, es decir, de qué paquetes depende.

Instalar paquetes

aptitude install paquete

Observe que ponemos “paquete” y no ponemos “paquete.deb” ni “paquete_1.0-4_i366.deb”

Con la opción -d descarga el paquete pero no lo instala. Resulta de utilidad cuando queremos descargar paquetes para instalarlos en otro ordenador sin conexión a Internet

aptitude -d install paquete

La acción reinstall se usa cuando se daña algún paquete o cuando queremos instalar una versión más reciente del mismo:

aptitude reinstall paquete

Desinstalar paquetes

La acción remove elimina (desinstala) el paquetes:

aptitude remove paquete

La acción purge elimina (desinstala) el paquetes y sus archivos de configuración:

aptitude purge paquete

Actualizar todos los paquetes

Se pueden actualizar todos los paquetes mediante una sola orden:

aptitude upgrade

e incluso se puede actualizar toda la distribución a una nueva versión:

aptitude dist-upgrade

Precaución

No use upgrade, a no ser que se considere un usuario bastante experimentado (puede provocar inestabilidad del sistema)

Eliminar paquetes de la caché

Los paquetes una vez instalados ya no son necesarios. No obstante, se conservan en la caché: /var/cache/apt/archives. Si los borramos ahorramos espacio en disco, pero si necesitamos instalarlos de nuevo, apt tiene que volver a descargarlos. Para borrarlos, se suelen usar los comandos:

aptitude autoclean

Elimina los paqetes antiguos (aquellos de los que ya existe una nueva versión)

aptitude clean

Elimina todos los paqetes de la caché

Resumen de las opciones y las acciones de aptitude

Si no se especifica ninguna, aptitude entrará en modo interactivo

Opciones:

-h              Este texto de ayuda
-s              Simula las acciones, pero en realidad no las realiza.
-d              Sólo descarga paquetes, no instala o desinstala nada.
-p              Siempre pide confirmación de las acciones
-y              Supone que la respuesta a preguntas simples del tipo sí­/no es «sí»
-F formato      Especifica el formato para mostrar los resultados de las búsquedas, lea el manual
-O orden        Especifica como se deben ordenar los resultados de la búsqueda, lea el manual
-w ancho        Especifica el ancho del visor para dar formato a los resultado de la búsqueda
-f              Trata de arreglar paquetes rotos de forma agresiva.
-V              Muestra la versión de los paquetes a instalar.
-D              Muestra las dependencias de los paquetes cambiados automáticamente.
-Z              Muestra el cambio del tamaño instalado de cada paquete.
-v              Muestra información extra (puede darse más de una vez)
-t [distrib]    Establece la distribución desde la que se instalan los paquetes
-q              No muestra los indicadores de progreso incrementales en el modo de línea de Órdenes.
-o opconf=val  	Establecer directamente la opción de configuración llamada «opconf»
--with(out)-recommends,	Especifica si se tratan o no las recomendaciones como dependencias fuertes
-S fnombre:     Lee la información de estado extendida de aptitude de fnombre.
-u              Descarga una nueva lista de paquetes al arrancar.
-i 		Realiza una instalación al arrancar.

Acciones:

install      - instala/actualiza paquetes
remove       - elimina paquetes
purge        - elimina paquetes junto con sus ficheros de configuración
hold         - bloquea paquetes
unhold       - desbloquea un paquete
markauto     - marca paquetes como instalados manualmente
unmarkauto   - desmarca paquetes como instalados manualmente
forbid-version - prohíbe a aptitude actualizar a una versión específica de un paquete.
update       - descarga las listas de paquetes nuevos/actualizables
upgrade      - realiza una actualización segura
dist-upgrade - realiza una actualización, posiblemente instalando y eliminando paquetes
forget-new   - olvida qué paquetes son "nuevos"
search       - busca un paquete por nombre y/o expresión
show         - muestra información detallada de un paquete
clean        - elimina los ficheros de paquetes descargados
autoclean    - elimina los ficheros de paquetes descargados obsoletos
changelog    - muestra el registro de cambios del paquete
download     - descarga los ficheros .deb para un paquete
reinstall    - descarga y (posiblemente) reinstala un paquete ya instalado

Enlaces:

APT: http://es.wikipedia.org/wiki/Advanced_Packaging_Tool
Aptitude: http://es.wikipedia.org/wiki/Aptitude