Usado en Darwin(iOS,OS X),Linux(Distribucines),FreeBSD,etc
Yo en lo personal me gusta mucho esto,algunas personas me dicen(aquí en la vida real) que estudio informática de "cavernicolas",que mejor estudie desarrollo de software con Java o un lenguaje mas actual para usarlo en sistemas actuales,en vez de estudiar Unix,perl,shell scripting,lisp,etc y la verdad me quedo así:
:(
Pero la verdad es que me gusta mucho los sistemas tipo Unix y mas que nada lo que es la shell(terminal) de nuestros sistemas ya que OS X es muy moderno,pero tiene la terminal prácticamente oculta.
Así que vamos a ver algo de lo mas básico de Unix que nos puede ayudar bastante,y para que vean la velocidad con la cual podemos hacer algo con un sistema "cavernicola" |:(
Nota:No dudo que en sistemas actuales hay programas que hagan esto,y incluso con GUI,pero esto mas que nada esta hecho para usar mas rapido la terminal de nuestro sistema tipo Unix.
Comodines Unix
En Unix existen los comodines también llamados (Wildcards) estos Wildcards son símbolos especiales que interpreta la shell que estemos usando.
Existen distintos tipos de wilcards,la wilcard o símbolo mas conocido (puede que lo conozcas) es
~Este wilcard indica nuestro home o el home de un usuario,por ejemplo si hacemos
cd ~
estamos diciendole a la shell que queremos cambiarnos a nuestro home.
Por ejemplo root
Si hace
cd ~
Va a su Home,pero si hace
cd ~usuario
va al home del usuario indicado
Esta imagen lo ilustra
Si entraron a root,salgan de el
ctrl+dEl *
Esta wildcard es estupenda,ya que se usa de varias maneras, aquí los ejemplos:
Normalmente se usa con ls,pero se puede usar con mas comandos ,como chmod,mv,con un pipe para que sea mas practico,etc pero veremos el ejemplo con ls.
ls *palabra
Identifica cualquier nombre que termine con palabra(palabra es un ejemplo),en este caso lo lista,por ejemplo si queremos listar nuestras canciones .mp3 lo que tenemos que hacer es pasarle el final del titulo del archivo,que seria .mp3 o simplemente mp3
ls *mp3Esto lo podemos usar no solo para listar sino para muchas cosas,por ejemplo
Mover todos los .mp3 de mi Home a la carpeta Musica,solo hacemos esto :
Para fácil
cd ~
mv *mp3 Musica
A lo Unixero
mv ~/*.mp3 MusicaY así de fácil moveremos todos nuestros archivos de audio a otra :)
en cambio con un explorador tendríamos que copiar uno por uno con ctrl y luego cortar y pegar en la carpeta :S
Otro ejemplo es,que por ejemplo yo tengo un servidor en mi localhost corriendo con LAMP en Archlinux y con un CMS escrito en Perl y necesita que todos los .cgi tengan permisos 755.
Como hacerlo?
Como darle permisos 755 a todos mis cgi?
Puedo abrir uno por uno dando permisos,o incluso uno por uno haciendo chmod
Pero con una Wildcard solo hacemos esto, en mi caso hice esto:
chmod 755 /srv/http/blog/*cgi
Y listo,tenemos todos los cgi con permisos 755 :D
Igual para copiar,digamos que quiero todos mis cgi en mi home
Podemos copiarlos:
cp /srv/http/blog/*cgi ~Podemos moverlos
cp /srv/http/blog/*cgi ~
O podemos borrarlos si nos estorban el el home
rm ~/*cgi
Esto lo ilustra
Eso solo es una parte del poder de las wildcards o comodines de Unix,ya que nuestro símbolo *
También se puede usar así
Nota:Ya no voy a hacer tantos ejemplos,solo implementen los de arriba (uso de comandos de administración de ficheros,rm
ls,dir,vdir,lpr,cp,mv,cmp,find,etc) con la información que sigue :)
Podemos listar el principio de un archivo en vez del final:
Supongamos que tenemos un archivo que se llama musica,pero tiene extensiones diferentes (mp3,wav,ogg,etc) aqui no podriamos usar
ls *mp3
Ya que no lo incluiríamos en la orden
Entonces como se hacer al revez?
Solo se usa esta sintaxis
ls musica*
Y ahora lista todo lo que coincida,pero al principio :D
Pero aquí no acaba esto :D
supongamos que incluye en medio el parámetro que necesitamos,por ejemplo tenemos 10,000 archivos en una carpeta y solo necesitamos listar los que lleven perl como nombre,no importa donde lo lleve
Sea
ejemploperl.pl
perlsite.pl
aimperlprogramer.txt
perlwallpaperl.jpg
Lo único que hacemos es usar esta sintaxis :
ls *perl*Y nos lista todo lo que lleve perl,como dije no solo listar,lo puedes mover,abrir,borrar,etc
Por ejemplo si quieren abrir todos sus .txt de un directorio con gedit(si gedit,no importa que sea un programa con interfaz gráfica)
Hacemos esto
gedit *txt
Nota:Si tienes 10,000 txt en un directorio,se te va a caer sistema
O para correr todos los mp3 de un directorio,por ejemplo con totem
totem *mp3
El ?
Otro wildcard es el simbolo ?,este tiene menos poder que *,pero tambien puede que te sea util
Lo que hace es buscar todo lo que tenga un caracter simple,por ejemplo en una carpeta tenemos dos muchos scripts y archivos, y nos acordamos que teniamos dos archivos que se llamaban(script) uno en perl y otro en python,que seria .py y .pl,para encontrarlos solo basta con hacer esto
ls script.p?
Esto también listara los archivos que se llamen por ejemplo
script.pu
script.pt
etc
También puede ser usado
ls ?palabra
ls pala?bra
etc
Los []
Los corchetes son los comodines mas avanzados de usar ya que lo que hace es definir clases de caracteres simples que identifican a cualquier carácter perteneciente a la clase
Por ejemplo
ls [LPM]ua
Identifica
Lua,Pua,Mua
Otro ejemplo
ls [VL]ela
Identifica
Vela,Tela
Eso es todo,existe también - y {} pero el uso es muy avanzado y de momento no voy a mencionarlo.
Espero que les sea útil y agilicen el uso de la terminal :D
Oyeeeeeee,eso los dices por mi?
ResponderBorrar'x'
Pues si,por quien mas ò_ó
BorrarMe entendiste mal ;_;
Borrardije : deberias estudiar Objective-C en vez de estudiar
un sistema antiguo como unix(ya que andas consigiendo libros de
hace 20 años xD) ademas no dicen que GNU no es Unix
y estos comandos que mencionas son de GNU Core Utilities y los estas implementando en unix-like asi que no necesias esos libros.
Y tambien no sueltas el iphone y si aprendes Objective-C puedes hacer algo mas util que jugar angry birds XXXD
De todas formas va, por donde comente y ya no es :( sino -.-
BorrarCreí que eras mas Unixera :-m
Es difícil tratarte....
BorrarSi te refieres a Sistemas Unix-like ^^
Mira mi lindo escritorio de gentoo
https://lh4.googleusercontent.com/-nwLN9bmK65Q/ULexBt0zDUI/AAAAAAAAAFk/Vv4HrmVwdLE/s647/mi+escritorio+gentoo.png
n_n
"Creí que eras mas Unixera"
Esto va de
Creí que eras mas merol XDDDD
Si :P
Borrar