miércoles, 29 de mayo de 2013

[Shell] cd Unix/Linux

Tutorial cd Linux/Unix

No se porque no hago tutoriales de Unix,osea el uso de comandos,lo intente un tiempo pero me dio vagancia,en fin comenzare una serie de tutoriales,que les llamare Shell,en los cuales pondré tutoriales sobre los comandos internos de la shell o de programas de tipo consola.

¿?

Y no es lo mismo?

NO.

Un comando interno de la shell es una función programada en el código de la misma, y un programa tipo consola es un añadido a la shell pero función con sus propias sources(algoritmos en x código),por ejemplo cd es una orden interna:

Abrimos una terminal y escribimos:

type cd



Y nos dice que tipo de ejecutable es,ahora por ejemplo ls

type ls

Puede que a muchos o a todos nos diga(a mi incluido) que es una alias,si es así lo desasociamos al alias:

unalias ls

Y de nueva cuenta:

type ls

Y nos dice que esta en /bin,osea que es un ejecutable instalado en /bin ya que si lo buscamos con el comando which,nos da la ruta

which ls

Y si buscamos cd:

which cd

No nos da nada,al estar en el código fuente de la shell al igual que type.

type type

Bien esa es la introducción y es en bash :D.

Cd quiere decir Change Directory,cambio de directorio,para navegar en la shell de Unix,ya que en la shell no tenemos botones para regresar ni para accesar a carpetas,para accesar a una carpeta usamos este comando:

cd Carpeta

Hay que tener en cuenta que no es lo mismo que :

cd  /Carpeta

Ya que al usar  la diagonal estamos diciendo que vaya a la raíz del sistema(root),por ejemplo:

cd /etc
Si queremos usar la diagonal sin que vayamos a root debemos indicarlo con un punto (.) que quiere decir,aquí(directorio actual):

cd ./Descargas

Para acceder a una carpeta pero sin tener ganas de escribir todo,hay dos formas(tal vez mas):

Primera forma:

Con Wildcard unix (*):

cd Carp*

Forma dos:

Tabulador(tecla tab):

cd Carp<tab>

Ver las carpetas disponibles:

ls --color=auto # Son las azules
Forma dos:

cd <tab><tab>

Regresar un directorio,para regresar se usa un doble punto seguido(..),que indica anterior(en las ramas del sistema):

cd ..

Por ejemplo tenemos estas carpetas:

 Home-|  
      |-Descargas  
      |-Documentos  
      |-Imagenes  

Estamos en la carpeta Descargas, y queremos volver al Home,eso es lo que dice arriba:

cd ..

Ahora estamos en Descargas,pero queremos ir a Documentos:

cd ../Documentos

Mas avanzado:

 Home-|           |-Imagenes-|Gentoo  
      |-Descargas-|-Musica-|mp3  
      |-Documentos  
      |-Imagenes-|-Fotos-|Linux  
      |  

Estamos en Descargas/Imagenes/Gentoo y queremos ir a Imagenes/Fotos/Linux:

cd ../../../Imagenes/Fotos/Linux 

Se ve complicado,pero es simple:

 Descargas/Imagenes/Gentoo  
 cd    ../      ../     ../Imagenes/Fotos/Linux  

Cada regreso(..) es una carpeta.

Ahora estamos en la carpeta Linux,pero como regresamos a Gentoo(si quisieramos),pues eso lo hace la variable de entorno OLDPWD:

En Linux/Unix existe una variable de entorno al usar bash,que se llama PWD($PWD),esta nos muestra donde estamos,actualmente:

echo $PWD

Además de esta existe una variable llamada OLDPWD($OLDPWD),que nos muestra el directorio anterior(en el que estábamos):

echo $OLDPWD

Podemos regresar de esta manera:

cd $OLDPWD

o

cd -

Eso es todo,también podemos definir variables de entorno,por ejemplo:

Imagenes Linux:

imlinux=~/Imagenes/Fotos/Linux

Y luego

cd $imlinux

Pero hay algunos problemas de seguridad,por lo cual no recomiendo hacer esto,pero si lo hacemos debe ir en el bashrc:

echo 'imlinux=~/Imagenes/Fotos/Linux' >> ~/.bashrc

También queda recordar que hay varias formas de ir a nuestro Home:

1.Variable de entorno:

cd $HOME

2.Wildcard Unix (~)

cd ~

3. Parámetro:

cd -P
cd -L 

4. (--)

cd --

Eso es todo :D

2 comentarios:

  1. Buena iniciativa man, recuerda que tutos asi les serviran a mas que a uno :D!

    Saludos!

    ResponderBorrar

Los comentarios serán revisados antes de ser publicados.