martes, 21 de junio de 2011

#tuxcomando cp

Este comando nos permite copiar archivos o directorios.


Ejemplos de copiar archivos y directorios:

* Copia el archivo "a" al directorio home del usuario actual.

alpha@alpha-pc ~/Desktop/pruebas $ cp a ~



* Copia el archivo "a" al directorio home del usuario actual renombrandolo a b.

alpha@alpha-pc ~/Desktop/pruebas $ cp a ~/b



* Copia el directorio mandril al directorio home del usuario actual.

alpha@alpha-pc ~/Desktop/pruebas $ cp -r mandril ~/



* Copia el directorio mandril al directorio home del usuario actual y lo renombra a gallina.

alpha@alpha-pc ~/Desktop/pruebas $ cp -r mandril ~/gallina

-

-

Un saludo y hasta el proximo #tuxcomando.

------------------------------


Aetsu

domingo, 19 de junio de 2011

Introduccion a sudoers -- #tuxcosas

 
  El fichero sudoers
(/etc/sudoers) permite asignar derecho a ejecutar comandos de administrador a uno o varios usuarios en una o varias máquinas.

  Básicamente nos permite ejecutar comandos de root sin tener que cambiar de usuario a este o, solo poder usar un numero concreto de ordenes con permiso de root.

  El fichero donde se guarda la configuración del sudo esta en /etc/sudoers o podemos acceder a el directamente con el comando visudo que por defecto lo abrira con el editor "vi"(amado por muchos, odiado por muchos mas xD).

La sintaxis sería:
usuario1 máquina = (usuario2) comando
Donde:
  [+] usuario1 es el usuario al que se le aplican los comandos.
  [+] máquina es la maquina en la que se aplica la regla.
  [+] usuario2 es la cuenta con la usuario1 ejecutará el comando.
  [+] comando es la orden a ejecutar.

  Para que un usuario tenga acceso a todos los privilegios de root con sudo tenemos que añadir esta linea al fichero sudoers (distribuciones como Ubuntu lo añaden automáticamente al crear un usuario por primera vez, en otras como Archlinux o Debian hay que hacerlo de forma manual):
nombre_usuario ALL=(ALL) ALL
 Si un usuario quiere ver los permisos de sudo que tiene, para ello esta el comando sudo -l:
[alpha@alpha-pc ~]$ sudo -l
User alpha may run the following commands on this host:(ALL) ALL
  Ahora supongamos que no queremos que el usuario "usuario1" tenga acceso total a los comandos de root, sino que simplemente tenga acceso al comando shutdown, pues entonces añadiriamos:
user1 ALL = /sbin/shutdown
entonces ahora el usuario "user1" podría utilizar shutdown en todas las máquinas donde estuviera esta regla  definida en el fichero sudoers, previo uso de sudo.



Aetsu

domingo, 12 de junio de 2011

#tuxcomando pushd y popd


Estos comandos nos sirven para apilar/desapilar directorios, es decir, interactua con los directorios que escojamos como si se tratase de una pila.

A grandes rasgos, podemos definir una pila como "el primer elemento que entra es el ultimo que sale", ya veremos porque.

Si utilizamos pushd apila, mientras que popd desapila. Veremos esto mas claro con un ejemplo.

-

Empezamos en el directorio home:

[alpha@alpha-pc ~]$ pwd

/home/alpha



apilamos el directorio actual (utilizamos pushd .):

[alpha@alpha-pc ~]$ pushd .

~ ~

con esto hemos apilado home/alpha.

A continuación tenemos que ir a /etc/X11:

[alpha@alpha-pc ~]$ cd /etc/X11/

[alpha@alpha-pc X11]$ pwd

/etc/X11



Una vez hayamos hecho lo que queríamos en el directorio para volver al directorio en el que estábamos antes(utilizaremos popd):

[alpha@alpha-pc X11]$ popd

~

[alpha@alpha-pc ~]$ pwd

/home/alpha



Con esto hemos desapilado el directorio que había en la pila, y puesto que solo teníamos uno si volvemos a utilizar popd veríamos:

[alpha@alpha-pc ~]$ popd

bash: popd: la pila de directorios está vacía



Puede que en este caso no sea lo mas rápido utilizar una pila de directorios para volver a home (ya que con un simple cd se podría) pero la idea era ilustrar el funcionamiento del comando.

-

Hay que tener en cuenta que no solo podemos apilar un directorio, sino todos los que queramos (no se el tope, si alguien se aburre que lo busque xD), veamos un ejemplo de como funciona con varios directorios:

[alpha@alpha-pc ~]$ pushd .

~ ~

[alpha@alpha-pc ~]$ pwd

/home/alpha

[alpha@alpha-pc ~]$ cd /etc/

[alpha@alpha-pc etc]$ pwd

/etc

[alpha@alpha-pc etc]$ pushd .

/etc /etc ~

[alpha@alpha-pc etc]$ cd /var/

[alpha@alpha-pc var]$ pwd

/var

[alpha@alpha-pc var]$ pushd .

/var /var /etc ~

[alpha@alpha-pc var]$ cd /

[alpha@alpha-pc /]$ pwd

/

[alpha@alpha-pc /]$ pushd .

/ / /var /etc ~

[alpha@alpha-pc /]$ popd

/ /var /etc ~

[alpha@alpha-pc /]$ pwd

/

[alpha@alpha-pc /]$ popd

/var /etc ~

[alpha@alpha-pc var]$ pwd

/var

[alpha@alpha-pc var]$ popd

/etc ~

[alpha@alpha-pc etc]$ pwd

/etc

[alpha@alpha-pc etc]$ popd

~

[alpha@alpha-pc ~]$ pwd

/home/alpha

[alpha@alpha-pc ~]$ popd

bash: popd: la pila de directorios está vacía

-

-

Un saludo y hasta el próximo #tuxcomando.


------------------------------


Aetsu

jueves, 9 de junio de 2011

#tuxcomando sleep

Hoy veremos el #tuxcomando sleep, util para posponer ciertas acciones.

Su sintaxis es simple: sleep y s (segundos), m (minutos), h (horas) o d (días). Sino ponemos nada considerara que hemos escogido segundos como opcion (s). Este comando lo que hace es esperar X.

Veamos un ejemplo:

-> Primero se ejecutaria sleep, con lo que la terminal quedaria esperando 100 minutos, despues se ejecutaria lo que hay detras del ";" con lo que se mataría el proceso amarok, es decir el reproductor de audio Amarok (uno de los mejores reporductores sin duda ;)).
[alpha@alpha-pc ~]$ sleep 100m; killall amarok




Si pusieramos "sleep 100; killall amarok" esperaría 100 segundos ya que es la opcion por defecto.

Un saludo y hasta el proximo #tuxcomando.

------------------------------


Aetsu

lunes, 6 de junio de 2011

#tuxcomandos lsmod, lspci, lspcia, lsusb y lscpu

Hoy veremos varios #tuxcomandos para mostrar información sobre nuestro hardware y nuestro sistema.
Empezaremos con lsmod que nos muestra los módulos que tenemos cargados en estos momentos:
[alpha@alpha-pc ~]$ lsmod
Module                  Size  Used by
ipv6                  277189  16
fuse                   64542  3
cryptd                  7661  0
aes_x86_64              7436  2
aes_generic            26066  1 aes_x86_64
usbhid                 33814  0
hid                    76802  1 usbhid
btusb                  11185  0
bluetooth              55409  1 btusb
....

Tenemos también lspci que nos muestra los dispositivos pci:
[alpha@alpha-pc ~]$ lspci
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 671MX
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] PCI-to-PCI bridge
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS968 [MuTIOL Media IO] (rev 01)
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev 01)
00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 0f)
...


Si queremos ver los dispositivos pcia lo haremos con lspcia:
[alpha@alpha-pc ~]$ lspcmcia
Socket 0 Bridge:       [yenta_cardbus]     (bus ID: 0000:00:09.0)


Con lsusb listaremos los usb:
[alpha@alpha-pc ~]$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0c45:62c0 Microdia Sonix USB 2.0 Camera
Bus 002 Device 002: ID 046d:c52f Logitech, Inc. Wireless Mouse M305
Bus 002 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

Por ultimo con lscpu veremos información de nuestra cpu:
[alpha@alpha-pc ~]$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    2
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 23
Stepping:              6
CPU MHz:               2109.451
BogoMIPS:              4220.70
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              3072K
NUMA node0 CPU(s):     0,1


Con esto vemos que podemos conocer bastante información de nuestra maquina con unos pocos comandos.

Un saludo y hasta el próximo #tuxcomando ;).
------------------------------

Aetsu

sábado, 4 de junio de 2011

#tuxcomando ls

Hoy vamos a ver el #tuxcomando ls y algunas de sus utilidades mas conocidas.
Empezamos con ls sin parámetros que vemos como nos muestra todos los ficheros  del directorio en que nos encontremos:
[alpha@alpha-pc ~]$ ls
Desktop  Firefox_wallpaper.png    es_ES.oxt  personal  uS7on.jpg
Dropbox  VirtualBox VMs        fuji.png   scripts   workspace


Si ahora ponemos el parámetro -l que nos muestra diversas propiedades de todos los archivos, como son permisos, tamaño o el usuario al que pertenecen entre otros:
[alpha@alpha-pc ~]$ ls -l
total 4420
drwxr-xr-x  7 alpha users    4096 Jun  3 23:36 Desktop
drwx------ 14 alpha users    4096 Jun  3 23:24 Dropbox
-rw-r--r--  1 alpha  1000 1153343 May  8 04:08 Firefox_wallpaper.png
drwxr-xr-x  3 alpha users    4096 Jun  3 15:34 VirtualBox VMs
-rw-r--r--  1 alpha  1000  499673 Oct 18  2009 es_ES.oxt
-rw-r--r--  1 alpha users 2642408 Feb 26 03:26 fuji.png
drwxr-xr-x 10 alpha users    4096 Jun  2 23:02 personal
drwx------  3 alpha users    4096 Oct  1  2010 scripts
-rw-r--r--  1 alpha users  198019 May 13 18:30 uS7on.jpg
drwx------  6 alpha users    4096 Jun  3 15:27 workspace


Respecto al tamaño, si añadimos la opción -h veremos los tamaños en unidades mas "cómodas":
[alpha@alpha-pc ~]$ ls -l -h
total 4.4M
drwxr-xr-x  7 alpha users 4.0K Jun  3 23:44 Desktop
drwx------ 14 alpha users 4.0K Jun  3 23:24 Dropbox
-rw-r--r--  1 alpha  1000 1.1M May  8 04:08 Firefox_wallpaper.png
drwxr-xr-x  3 alpha users 4.0K Jun  3 15:34 VirtualBox VMs
-rw-r--r--  1 alpha  1000 488K Oct 18  2009 es_ES.oxt
-rw-r--r--  1 alpha users 2.6M Feb 26 03:26 fuji.png
drwxr-xr-x 10 alpha users 4.0K Jun  2 23:02 personal
drwx------  3 alpha users 4.0K Oct  1  2010 scripts
-rw-r--r--  1 alpha users 194K May 13 18:30 uS7on.jpg
drwx------  6 alpha users 4.0K Jun  3 15:27 workspace


Por otro lado, si queremos ver los archivos ocultos tendríamos la opción -a:
[alpha@alpha-pc ~]$ ls -a
.           .dropbox-dist  .gstreamer-0.10  .thumbnails
..           .eclipse       .gtk-bookmarks   .vimrc
.ICEauthority  .emacs          .gvfs           .wesnoth1.8
.Skype           .emacs.d       .jd           .xsession-errors
.VirtualBox    .emerald       .libreoffice     Desktop
.adobe           .esd_auth      .liferea_1.6     Dropbox
.bash_history  .face          .local           Firefox_wallpaper.png
.bashrc        .face.icon     .macromedia      VirtualBox VMs
.cache           .filezilla     .mozilla           es_ES.oxt
.checkgmail    .fontconfig    .nevernote       fuji.png
.config        .gconf          .pulse           personal
.conkyrc       .gconfd          .pulse-cookie    scripts
.dbus           .gnome2          .purple           uS7on.jpg
.dropbox       .gnupg          .subversion      workspace


Si queremos listar todos los archivos que contengan una palabra o letra basta con ponerla a continuación del comando, veamos un ejemplo de listar todos los ficheros que empiecen por f:
[alpha@alpha-pc ~]$ ls f*
firefox_lady.png  fuji.png


La ultima opción que comentaré es la posibilidad de distinguir las carpetas y los fichero con colores, para lograr este efecto utilizaremos --color=auto:
[alpha@alpha-pc ~]$ ls --color=auto
Desktop VirtualBox VMs firefox_lady.png  personal uS7on.jpg
Dropbox es_ES.oxt       fuji.png          scripts workspace


Aclarar antes de cerrar el post que los parámetros se pueden meter en un mismo comando con la posibilidad de combinar resultados como seria ls -lah --color=auto y decir que para mas información el man.


--------------------------------


Un saludo


Aetsu

miércoles, 1 de junio de 2011

#tuxcomando pwd

El segundo #tuxcomando sera breve, pero útil xD. En este caso hablaré de pwd, este comando nos dice el directorio actual en el que nos encontramos (bueno, en el que se encuentra la terminal).

alpha@alpha-pc ~ $ pwd
/home/alpha


Como nota, aclarar que cuando tenga mas tiempo pondré comandos mas complejos que esta semana tengo dos exámenes y voy mal de tiempo ;).

————————–


Hasta la próxima,

Aetsu