Professional Documents
Culture Documents
################################################################################
###########################
Atributos Especiales (ext3, etx4):
--------------------------------------$> su $> vim prueba
hola mundo
$> chattr +i prueba
aade el bit de inmutabilidad, el archivo no puede ser modificado
$> lsattr prueba
lista los atributos de un archivo
$> vim prueba
hola mundo
que tal
ESC:wq!
$> chattr -i prueba
quita el bit de inmutabilidad
$> vim prueba
hola mundo
que tal
ESC:wq
$> chattr +a prueba
establece que el archivo solo se puede escribir aadiendo contenido
$> echo "esto no funciona"> prueba
$> echo "esto si funciona">> prueba
$> cat prueba
$> chattr -a prueba
quita la opcion de solo aadir
$> man chattr
para ver lista de atributos
Permisos Especiales:
---------------------------------------------------------SUID
--->
SGID
--->
Sticky --->
PID
TTY
sS
STATE
0:00
TIME
COMMAND
$> man ps
verifica fligs en la pagina del manual
Matar procesos:
-------------Ejecuta un proceso que guarda en el archivo boom y lo manda a segundo plano
$> yes (te muestra y infinitamente)
ctr+c ---> cancela el proceso
$> yes > boom (lo direcciona a un archivo y bloquea la consola)
ctrl +c
$> yes > boom &
lo manda en segundo plano y desbloquea la consola
$> ps ax | grep yes
verifico la ejecucion del proceso
$> ls -l boom
$> killall -9 yes
(-9 indica maximo nivel de matanza)
mata el proceso por el nombre del proceso
CentOS 7
########################################################################
Ordenar por memoria
$> top -o %MEM
Ayuda del top
?
Ayuda en lnea
$> man top
htop
############################################################
Instalar EPEL
Luego
$> yum -y install htop
$> htop
Opciones con (F1,F2, etc)
q --> sale
Ejecucion de procesos y tareas:
----------------------------------$> yes
ejecuta proceso en primer plano ctrl+c cancela la ejecucion del comando
$> ls -l
$> tar -zcpvf home.tgz /home
empaqueta y comprime en formato gzip
z
c
p
v
f
-->
-->
-->
-->
-->
Valor
0
1
2
- stdout a un fichero
Esto har que la salida de un programa se escriba en un fichero.
$> ls -l
$> ls -l > ls.txt
En este caso, se crear un fichero llamado 'ls.txt' que contendr lo que se vera en l
a pantalla si escribiese el comando 'ls -l' y lo ejecutase.
-stdin desde un fichero
$> mysql -u root -p < data.sql
- stderr a un fichero
Esto har que la salida stderr de un programa se escriba en un fichero.
$> ls loquesea
$> ls loquesea 2> error-ls.txt
$> cat error-ls.txt
En este caso, se crear un fichero llamado 'error-ls' que contendr la parte stderr
de la salida que dara el comando 'ls loquesea'.
- stdout a stderr
Esto har que la salida stdout de un programa se escriba en el mismo descriptor de
hola
echo $HOLA
Condicionales
--------------$> vim condicionales
#!/bin/bash
if [ "petete" = "petete" ]; then
echo expresin evaluada como verdadera
fi
if [ "petete" = "petete" ]; then
echo expresin evaluada como verdadera
else
echo expresin evaluada como falsa
fi
T1="petete"
T2="peteto"
if [ "$T1" = "$T2" ]; then
echo expresin evaluada como verdadera
else
echo expresin evaluada como falsa
fi
FILE=~/.basrc
if [ -f $FILE ]; then
echo el fichero $FILE existe
else
echo fichero no encontrado
fi
# Se puede haber usado tambien if [ 'test -f $FILE']
Operadores de conparacin
---------------------------------------------------Comparacin de enteros (nmeros)
-eq
es igual a
if [ "$a" -eq "$b" ]
-ne
no es igual a / es distinto a
if [ "$a" -ne "$b" ]
-gt
es mayor que
if [ "$a" -gt "$b" ]
-ge
es mayor que o igual a
if [ "$a" -ge "$b" ]
-lt
es menor que
do
echo $numeros
done
for planet in "Mercury 36" "Venus 67" "Earth 93" "Mars 142" "Jupiter 483"
do
set -- $planet
# divide los valores y crea parmetros posicionales ($1, $2 ...)
# "--" evita problemas si $planet empieza con guiones o es una cadena vaca.
echo "$1
$2,000,000 millas del sol"
#-------2 tabuladores-aade ceros al parmetro $2
done
LIMITE=10
a=1
while [ "$a" -le $LIMITE ]
do
echo -n "$a " # -n = no aade retorno de carro
let "a+=1"
done
for i in $( ls ); do
echo item: $i
done
for i in `seq 1 10`;
do
echo $i
done
CONTADOR=0
while [ $CONTADOR -lt 10 ]; do
echo El contador es $CONTADOR
# let se usa para forzar que contador sea un valor numerico
let CONTADOR=CONTADOR+1
done
echo
LIMITE=10
a=1
until [ "$a" -ge $LIMITE ]
do
echo -n "$a " # -n = no aade retorno de carro
let "a+=1"
done
echo
$> vim funciones
fun () {
if [ "$1" ]
then
echo "Parametro #1 es \"$1\".-"
fi
return 0