Comandos utiles para Linux
nano
Sirva para editar archivos de texto.
Syntaxhighlight para nano
En CentOS o Ubuntu editar /etc/nanorc
nano /etc/nanorc
Descomentar al final las siguientes secciones
## Nanorc files
include "/usr/share/nano/nanorc.nanorc"
## C/C++
include "/usr/share/nano/c.nanorc"
## HTML
include "/usr/share/nano/html.nanorc"
## TeX
include "/usr/share/nano/tex.nanorc"
## Quoted emails (under e.g. mutt)
include "/usr/share/nano/mutt.nanorc"
## Patch files
include "/usr/share/nano/patch.nanorc"
## Manpages
include "/usr/share/nano/man.nanorc"
## Groff
include "/usr/share/nano/groff.nanorc"
## Perl
include "/usr/share/nano/perl.nanorc"
## Python
include "/usr/share/nano/python.nanorc"
## Ruby
include "/usr/share/nano/ruby.nanorc"
## Java
include "/usr/share/nano/java.nanorc"
## Assembler
include "/usr/share/nano/asm.nanorc"
## Bourne shell scripts
include "/usr/share/nano/sh.nanorc"
## POV-Ray
include "/usr/share/nano/pov.nanorc"
Cerrar nano y abrirlo de nuevo para ver la diferencia.
Referencias
nslookup
Sirve para hacer analisis y revision de dominios (A, CNAME, MX, etc.)
- Para verificar el IP publico desde la consola usar:
curl icanhazip.com
- Ver tambien
dig
rm
Elimina un archivo o directorio
rm x.txt
# Elimina el archivo x.txtrm -rf /var/log/syslog
# Elimina el directorio sysloglocate *55* | xargs rm
# Busca todos los archivos que contengan '55' en el nombre y los eliminasudo locate *55* | sudo xargs rm
# Busca todos los archivos que contengan '55' en el nombre y los elimina (sudo si son archivos de sistema)
shutdown
Bajar el sistema de forma ordenada.
shutdown now
# Bajar el sistema de inmediato (para luego apagar la maquina darinit 0
shutdown -r now
# Hacer un reboot de inmediato:reboot
hace lo mismoshutdown -P now
# Bajar el sistema de inmediato y apagar la maquina
tar - Comprimir y descomprimir archivos
Descomprimir
- Cuando se tiene un archivo comprimido del tipo
.tar
se decomprime con el comando:tar -xvf filename.tar
- Cuando ademas esta comprimido con Gzip, extension
.tar.gz
se usa:tar -xvfz filename.tar.gz
Comprimir
- Para comprimir un directorio
tar -zcvf nombre-archivo.tar.gz nombre-directory
- Donde: -z: Compress archive using gzip program -c: Create archive -v: Verbose i.e display progress while creating archive -f: Archive File name
useradd, passwd - Creacion de Usuarios
- Crear un usuario
useradd -username-
- Asignarle un password
passwd -username-
sar - Ver historico de consumo de recursos
sar
muestra el historico de la performance de un equipo cada 10 minutos.
- Performance de CPU
sar
- Performance de Memoria
sar -r
rdesktop - Remote Desktop
- Para establecer conexiones a otras PC (Windows) desde Linux se usa el rdesktop
rdesktop -u <user> -p <password> -k en-us -T <WindowTitle> -a 16 -g 1280x1024 <IP of PC>
para no escribir el password evitar la opcion -p - el sistema le pedira el password
find
- Para encontrar archivos de cierto nombre
find <directorio> -name <nombre-archivo>
- Para renombrar los archivos de mayusculas a minusculas
for f in `find`; do mv -v $f `echo $f | tr '[A-Z]' '[a-z]'`; done
- Para encontrar archivos mayores a 90 dias de antiguedad
find <directorio> -ctime +90
- Para encontrar archivos mayores a 90 dias de antiguedad y eliminarlos
find <directorio> -ctime +90 -exec rm {} -rf \;
- Para buscar un texto en todos los archivos del directorio
find -type f -exec egrep -H 'text-to-find-here' --color {} \;
- Buscar todos los archivos que terminan en '.php'
find -type f -name "*.php"
ln - Symbolic Link
- Crear un symbolic link
ln -s <dir a donde ira> <dir local que apuntara>
Ejemplo:ln -s /var/www/html/website web
# El directorio web apuntara a website
ls - List
- Listar el contenido de un directorio
- Ejemplos:
ls # listar el directorio
ls -l # listar el directorio con mayores detalles
ls -lh # listar con mayores detalles y con los tamaños de archivo en forma de facil lectura
ls -a # ver incluso los archivos escondidos
- Para contar el numero de archivos y directorios
ls | wc -w
scp - Secure Copy
- Permite copiar archivos entre diferentes servidores o hosts
scp [[usuario@]servidor-origen:]archivo-origen [[usuario@]servidor-destino:][archivo-destino]
Opciones: -p Preserva permisos -q No muestra la barra de progreso -r Copia recursiva (incluir subdirectorios) -v Muestra mensajes para debugging - Ejemplos:
#scp root@zeus:/media/hd2/backup/webs/* webs/
#scp -r root@zeus:/media/hd2/backup/webs webs/
- Mas ejemplos: http://www.hypexr.org/linux_scp_help.php http://www.garron.me/es/gnu-linux/uso-de-scp-en-linux-comando-para-copiar-sobre-ssh.html
- scp GUI Para usar el Nautilus con conexion scp a otro host en Nautilus ir a
Connect to Server
y en server address ingresarssh://user@host/folder/
du - Ver tamaño de directorios
du -h
du -h DIRECTORY
df -sh
// desde root para ver espacio ocupado total
df - Ver espacio libre en mounts
df -h
df -h DIRECTORY
ifup/ifdown - Start and Stop Network interface (eth0)
- Start interface
ifup eth0
- Stop interface
ifdown eth0
- Edit interface configuration Edit: /etc/network-scripts/ifcfg-eth0 or use
setup
as root - Verificar la velocidad de conexion:
ethtool eth0
mail - Enviar email desde consola
mail -s "Subject" [email protected]
// enviar un email con texto en blancomail -s "Subject" [email protected] < archivo.log
// enviar un email con contenido del archivo de texto archivo.logecho "This is the message body" | mail -s "This is the subject" [email protected]
Comandos Avanzados
Reemplazar texto en un archivo
- Por ejemplo cambiar el texto 'abc' por 'XYZ' en el archivo /tmp/archivo.txt
perl -pi -e 's/abc/XYZ/g' /tmp/archivo.txt
sed -i -e 's/abc/XYZ/g' /tmp/archivo.txt
- Mas complejo, por ejemplo en httpd.conf reemplazar el comentario con un server name del primer parametro
sed -i -e s/"#ServerName www.example.com"/"ServerName $1"/g /etc/httpd/conf/httpd.conf
CentOS 6
Firewall IPTABLES
- http://wiki.centos.org/HowTos/Network/IPTables
- http://fedoraproject.org/wiki/How_to_edit_iptables_rules
- Firewall Builder (fwbuilder), very complete GUI tools to configure iptables
- Shorewall, another very complete GUI tools to configure iptables
- Turtle Firewall Project, web interface and integrated to webmin. Fits to basic usage of Iptables, can not handle all iptables options like fwbuilder
CentOS 7
hostnamectl
Permite cambiar el hostname asignado.
# Ver el nombre del host actual
hostnamectl status
# Cambiar el nombre del host a host2
hostnamectl set-hostname host2
firewall-cmd
Permite manipular y configurar el firewall en un CentOS 7.
Consultas al servicio
# Ver el estado del servicio
systemctl status firewalld.service
firewall-cmd --state
# Iniciar/detener el servicio
systemctl start firewalld.service
systemctl stop firewalld.service
# Ver todas las reglas
firewall-cmd --list-all
Abrir servicios o puertos adicionales
# Ver el estado del servicio
systemctl status firewalld.service
firewall-cmd --state
# Abrir un servicio (zone por defecto es public)
firewall-cmd --permanent --zone=<zone> --add-service=http
# Abrir un puerto
firewall-cmd --permanent --zone=<zone> --add-port=80/tcp
# Para grabarlo
firewall-cmd --reload
Bloquear direcciones IP
# Bloquear IP hasta proxima reiniciada del servicio
firewall-cmd --add-rich-rule='rule family="ipv4" source address="116.31.116.51" reject'
# Bloquear IP permanentemente
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="116.31.116.51" reject'
firewall-cmd --reload
Abrir puertos para ciertas IPs
# Dar acceso al puerto 8080 a las IPs de la red 200.60.5.x hasta la proxima reiniciada
firewall-cmd --add-rich-rule='rule family="ipv4" source address="200.60.5.0/24" port protocol="tcp" port="8080" accept'
# Dar acceso al puerto 8080 a las IPs de la red 200.60.5.x permanentemente
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="200.60.5.0/24" port protocol="tcp" port="8080" accept'
firewall-cmd --reload
Referencias
- https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-7
- http://stackoverflow.com/questions/24729024/centos-7-open-firewall-port
- http://forums.fedoraforum.org/showthread.php?t=297560
- http://www.admfactory.com/how-to-open-port-for-a-specific-ip-address-on-centos-7/