PDA

Ver la Versión Completa : Comandos


anibal
08-nov-2005, 11:41
Siempre es bueno tener una referencia para los comandos q ocupamos en el Shell porq bastantes veces otra gente anda buscando como hacer algo y lo pueden encontrar aqui, y bastnates veces ayuda tambien a uno mismo a acordarse de los comandos que aveces se nos olvidan...

asi q podemos hacer una lista aqui, con el comando y lo que hace, por ejemplo

#grep MemTotal /proc/meminfo
cantidad de RAM q tiene el sistema


Asi vamos haciendo nuestra propia lista.
Tratemos de poner solo comandos y no irnos por la tangente con comentarios o cosas q no vengan al tema ok?
:pc: :linux:

oO~Frenzy~Oo
08-nov-2005, 17:45
#rm -Rf / Borra todo recursivamente desde el directorio raiz... no lo ocupen en otras palabras

jajaja.. pajas.. no hagan esto porque sino se pasean en el linux!

anibal
08-nov-2005, 18:22
Para hacer un dump (un backup por asi pensarlo) de bases de datos de Mysql

mysqldump -uUSUARIO -pPASSWORD BASEDEDATOS > archivo.sql

para TODAS las bases de Datos:

mysqldump -uUSUARIO -pPASSWORD --all-databases > archivo.sql


Para restaurar las bases de datos

mysql -uUSUARIO -pPASSWORD BASEDEDATOS < archivo.sql

renec1000
08-nov-2005, 19:41
Unos de los basicos
ls lista los archivos de un directorio
cd <dir> Cambia de directorio
XD:trofeo:

anibal
09-nov-2005, 13:06
estos son comandos de mysql, no necesariamente de linux, pero se usan bien seguido


Dar permisos a un usuario para accesar una base de datos en mysql

mysql> GRANT ALL PRIVILEGES ON base.* TO 'usuario'@'localhost' IDENTIFIED BY 'password';

Dar permisos a usuario para toda las bases de datos en mysql

mysql> GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'localhost' IDENTIFIED BY 'password';

anibal
10-nov-2005, 14:13
no les han dado ganas de personalizar su server a manera q sea reconocido por nombre?por ejemplo q responda a un ping de athena.ayvevos.com, y q el prompt sea


[root@athena ~]#

en vez de

[root@localhost ~]#


Pues aqui hay una manera de hacerlo (Red Hat / Fedora, talvez con otros pero no lo he probado)

primero prueben a ver si les funciona el comando hostname:


hostname -a
hostname -s
hostname -d
hostname -f
hostname
uname -n --> este no es necesario pero interesante saberlo igual


si les responde entonces modifiquen el archivo /etc/hosts

si esta en DHCP

127.0.0.1 athena.midominio.com localhost.localdomain localhost athena


si esta en IP Estatico

127.0.0.1 localhost.localdomain localhost
210.1.2.3 athena.midominio.com athena


lo salvan, y corren el comando

[root@localhost ~]# hostname athena.midominio.com

y cierran el shell, al volver a entrar veran el nuevo prompt de
[root@athena ~]#
~~~~~

En otros casos de sistemas operativos se puede chequear los archivos

/etc/HOSTNAME
/etc/sysconfig/network
/proc/sys/kernel/hostname

anibal
13-nov-2005, 14:52
Los siguientes comandos pueden ser utilizados para averiguar espacio en disco


du --> cuanto espacio un archivo o carpeta utiliza (http://www.computerhope.com/unix/udu.htm)


[root@psyduck fotos]# du -hs
345M



df --> dice la cantidad de espacio libre en los mounts (http://www.computerhope.com/unix/udf.htm)


[root@psyduck fotos]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda2 2980012 465064 2361128 17% /
/dev/hda1 101089 8313 87557 9% /boot
/dev/hda7 27264216 9298676 16558248 36% /home
none 119688 0 119688 0% /dev/shm
/dev/hda3 2980012 1227088 1599104 44% /usr
/dev/hda5 2979984 2490640 335524 89% /var


hay muchisimas otras opciones para ocupar estos comandos... pueden ver las man pages de los comandos para mas informacion.
Ex:
[root@psyduck ~]# man du

anibal
15-nov-2005, 16:14
Hoy me encontre en un pequenyo lio cuando tuve que visitar un server muerto, de donde tenia q sacar una base de datos. El problema es q solo tenia el password de root del server, pero no me daba acceso a mysql con ese password. Asi que averigue la manera de resetear el password de mysql:


corriendo como root
[root@host root]#killall mysqld
[root@host root]#/usr/libexec/mysqld -Sg --user=root &
[1] 18592
051115 15:16:43 InnoDB: Out of memory in additional memory pool.
InnoDB: InnoDB will start allocating memory from the OS.
InnoDB: You may get better performance if you configure a bigger
InnoDB: value in the MySQL my.cnf file for
InnoDB: innodb_additional_mem_pool_size.
051115 15:16:43 InnoDB: Started
/usr/libexec/mysqld: ready for connections
[root@server1 vhosts]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 3.23.58

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

anibal
15-nov-2005, 22:07
Digamos que quieren accesar el folder de httpdocs del dominio ayvevos.com en su server, pero el path es /var/www/vhosts/ayvevos.com/httpdocs. Este es un folder que accesamos seguiso, entonces hacemos un link simbolico para que no tengamos que estar escribiendo todo ese path.


primero creamos un folder en /home/ o donde lo queramos

# mkdir /home/httpavv

luego creamos el link simbolico

# ln -s /var/www/vhosts/ayvevos.com/httpdocs/* /home/httpavv/



Si damos un ls /home/httpavv/ veremos lo mismo q si le dieramos un ls /var/www/vhosts/ayvevos.com/httpdocs/ . Esto es muy util al migrar portales enteros a un servidor diferente con una estructura de folders diferente

oO~Frenzy~Oo
16-nov-2005, 20:51
hey ayveboss! veo que mascas bien el mysql.. y como andas con el postgres?... especificamente el pl/pgsql... en ese bisne ando yo ahorita...

oO~Frenzy~Oo
16-nov-2005, 21:10
hay varias formas de hacerlo.. uno de ellos es usando el tar y gzip

el tar lo que hace es agrupar los archivos en uno solo sin compresion... luego hay que pasarle el gzip para comprimir ese archivo..

primero... ubicar en una carpeta los archivos a exportar.. digamos que la carpeta fuera /home/archivos/ y que los archivos que se deseen comprimir esten dentro de ella

# tar -cvf archivos.tar /home/archivos/

esto crea un archivo llamado archivos.tar luego para comprimirlo escribir:

# gzip archivos.tar

esto crea un archivo llamado archivos.tar.gz y borra el archivos.tar


para descomprimir seria a la inversa.. primero utilizar el gzip asi:

# gzip -d archivos.tar.gz

esto crearia el archivo descomprimido archivos.tar y borraria el archivos.tar.gz

luego para obtener los archivos que estan dentro del tar seria:

# tar -xvf archivos.tar


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

una manera para hacer esto mas sencillo es ocupar los dos programas al mismo tiempo el tar y el gzip.. utilizando el parametro -z en el tar asi:

comprimir:

# tar -zcvf archivos.tgz /home/archivos/

descomprimir:

# tar -zxvf archivos.tgz

oO~Frenzy~Oo
16-nov-2005, 21:16
se utiliza el comando locate y luego se escribe el nombre o porcion del nombre del archivo que uno quiere buscar asi:

# locate linux

cuando se utiliza por primera vez.. da un mensaje de error.. esto se debe a que necesita crear un indice de los archivos antes y luego buscarlos ahi... para generar el indice solamente ponemos:

# updatedb

esto es recomendable hacerlo de vez en cuando (1 vez al mes) aunque el solito tambien lo va haciendo.. no se preocupen si se tarda mucho.. es porque esta guardando en una base todos los nombres de archivos existentes en su linux

oO~Frenzy~Oo
16-nov-2005, 21:25
a algunos nos a pasado que queremos ver alguna informacion dentro de otra.. por ejemplo buscar archivos especificos que contengan ademas del nombre del archivo otra informacion como de un directorio especifico... o sino.. ver los procesos del sistema.. pero especificamente los que ocupa el mysql o el squid

para eso ocupamos el comando grep.. para eso hacemos lo siguiente

al escribir
# locate linux
nos apacere una gran cantidad de archivos.. pero si queremos ver solo los de una carpeta especifica digamos /usr/include entonces escribimos asi:
# locate linux | grep /usr/include


al escribir
# ps - ax
nos apacere una gran cantidad de procesos que se estan ejecutando.. pero si queremos ver solo los del squid entonces escribimos asi:
# ps -ax | grep squid

no es que el grep busque en archivos o en procesos.. simplemente el filtra la salida del texto en pantalla de un anterior comando.. por eso es que se ocupa el | para separar un comando del otro

anibal
10-dic-2005, 23:31
http://www.ss64.com/bash/

Muy buena guia de referencia

ro_
11-dic-2005, 00:22
estos son comandos de mysql, no necesariamente de linux, pero se usan bien seguido


Dar permisos a un usuario para accesar una base de datos en mysql

mysql> GRANT ALL PRIVILEGES ON base.* TO 'usuario'@'localhost' IDENTIFIED BY 'password';

Dar permisos a usuario para toda las bases de datos en mysql

mysql> GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'localhost' IDENTIFIED BY 'password';


y luego , -no lo olviden-

FLUSH PRIVILEGES

para que los cambios a la tabla users tengan efecto.

anibal
09-ene-2006, 20:21
SCP copia un archivo de una maquina a otra remotamente

#scp <nombredearchivo> <usuariodemaquinaremota>@<ipdemaquinaremota>:<nombredearchivodestino>

Si queremos copiar el archivo athena.txt a la maquina remota 12.34.56.78 hariamos esto en la maquina donde esta el archivo original:

anibal@psyduck# scp athena.txt anibal@12.34.56.78:athena.txt

luego nos pide el password del usuario y ya...

es mucho mas rapido que ftp y un wget. Tambien el ip de la maquina remota puede ser el dominio del server... anibal@dominio.com por ejemplo






:medita:

anibal
25-ene-2006, 16:02
Algo irrelevante estas cosas, pero hoy me tuve que rebuscar porq me pidieron asegurarme que los servers que corremos tengan las especificaciones deseadas:

para ver datos del procesador:

[root@akane ~]# cat /proc/cpuinfo



para ver datos generales de la maquina, incluyendo el disco duro:

[root@akane ~]# dmesg

comandos probados con Red Hat Enterprise, seguro funcionan con muchos otros sabores.