Comandos Linux
ls / = Accede a Directorios Sele debe dar la ruta de acceso que
queremos ver si no se la damos nos muestra el directorio actual en el
que [Link] directorios importantes son /bin almacena los
binarios o programas esenciales, /etc almacena algunos importantes
archivos de configuración del sistema. /home directorio personal para
los usuarios en realidad es donde se instalan el software que el
usuario descarga. /usr se encuentran fotos, documentos etc del
usuario . /proc contiene información sobre procesos actualmente en
ejecución. /var almacena nuestros registros del sistema y cualquier
archivo que cambie constantemente.
ls –-help = Muestra las combinaciones que se pueden hacer con ls.
man ls = Muestra un manual de códigos y una breve descripción de
que se puede hacer.
ls -l / = Muestra los directorios que hay en la unidad.
ls -la / =Muestra información detallada de los directorios y archivos.
En el Shell de Linux también usamos pwd, cd , cd .. ,cd . como en
PowerShell de Windows y también la tecla Tab.
Usamos los comando history y clear en Linux como lo hacemos en el
PowerShell de Windows.
En Linux utilizamos cp igual que en Windows ejemplo cp
my_very_cool_file.txt ~/Desktop
También podemos utilizar el comodín para copiar todos los archivos
con extensiones iguales de un solo golpe ejemplo cp *.png ~/Desktop
cp -r ‘Cat Pictures’ -/Desktop = Nos permite hacer copias de
directorios.
Podemos utilizar mv en Linux como en Windows aplica el mismo
principio por ejemplo mv yellow_document.txt ~/Desktop y también
podemos usar el comodín * para mover varios archivos.
También rm se usa como en el PowerShell de Windows y la forma
abreviada de recursivo.
cat = Nos ayuda a visualizar el contenido de un archivo.
less = nos permite visualizar archivos grandes. Con las teclas de subir
y bajar navega sobre el archivo y con g va al inicio del archivo y con G
va al final y con /word_search hacemos una búsqueda de palabras o
frase y con q te permite salir de less y volver al Shell.
head = nos permite ver la primeras diez líneas del archivo
tail = Veremos las diez últimas líneas del archivo
nano = Editor de texto incluido en el Shell de Linux ejemplo: nano
my_file
grep = Se utiliza para buscar palabras dentro de archivos que
coincidan con un determinado patrón ejemplo: grew cow
farm_animal.txt y para buscar la palabra en varios archivos usamos *
ejemplo: grew cow *_animals.txt
stain,stdout,stderr
echo woof > [Link] sobrescribe lo que en el archivo [Link] si no
queremos sobre escribir usamos el el operadyappend echo woof >>
[Link]
cat < file_input.txt obtiene la entrada del archivo igual que cat
file_input.txt
ls /dir/fake_dir 2> error_output.txt obtiene los errores de salida
less /var /log/syslog 2> /dev/null eso filtra la salida de mensajes de
error
los -la /etc | grep bluetooth si queremos ver los subdirectorios que
contiene la palabra Bluetooth
sudo =Permite ejecutar o ver un archivo protegido en una línea de
Shell.
sudo su - =Permite ejecutar en modo root si no quiero estar
escribiendo sudo cada vez que requiera.
exit=permite salir del promo de root.
cat /etc/group = Permite ver los grupos que hay en Linux.
cat /etc/password=Muestra la información de usuarios .
passwd = Nos permite cambiar la contraseña de un usuario ejemplo
passwd Cindy , cuando se establece una contraseña se codifica con
seguridad, y luego se guarda en un archivo especial con privilegios
llamado /etc/shadow. Si intentamos hechar un vistazo con sudo
passwd -e victor no podrias decodificar las contraseñas se usa -para
forzar a un usuario a cambiar la contraseña.
sudo useradd juan = Añade un nuevo usuario local, además añade las
configuraciones básicas para el usuario y establecerá un directorio
personal. Podemos combinar con passwd para que usuario cambie su
contraseña al inicio de sesión.
sudo userdel juan = Elimina un usuario.
En Linux hay tres permisos diferentes en Linux Read,Write,execute.
ls -l ~/my_file = nos muestra -rwxrw-r- - 1 cindy cool_group 0 Oct 9
17:48 /home/Cindy/my_file . Lo primero que se ve son 10 bits y es un
archivo normal se puede en algún caso ver -d significaría un directorio
rwx se refieren al permiso del propietario del archivo osea en este
caso Cindy, rw- se refiere a el permiso del grupo al que pertenece en
este caso es cool group , este archivo r- - se refiere al permiso de los
demás usuarios osea que solo pueden leerlo. la r significa legible la w
escribíble y x significa ejecutable, para nuestros permiso si un bit es
un – está deshabilitado si tiene más guiones está habilitado
chmod =Se utiliza para cambiar los [Link] hay que elegir
que permisos hay que cambiar el propietario se conoce como u, el
grupo al que pertenece el archivo se denota por g , y otros usuarios
se señala con o. Para añadir o quitar permiso solo hay que usar un
símbolo de más o menos que indica a quien [Link] chmod
u+x my_cool_file este comando dice que queremos cambiar el
permiso de mi fichero otorgando el ejecutable o x al propietario o u.
chmod u-x my_cool_file esto dice que se elimine los permisos.
Se puede añadir varios permisos a un archivo ejemplo chmod u+rx
my_cool_file este comando dice que queremos añadir permisos de
lectura y ejecución para el propietario de mi_cool_file .se puede hacer
lo mismo para varios archivos ejemplo chmod ugo+r my_cool_file esto
dice que queremos dar permiso de lectura para nuestro propietario al
grupo que pertenece el archivo y a todos los demás usuarios y
grupos.
En Linux se puede cambiar los permisos numéricamente lo cual es
más rápido simplemente cambiemos todos los permisos a la vez por
ejemplo
4 para leer o r.
2 para Escribir o w.
1 para ejecutar o x.
Ejemplo chmod 754 my_cool_file hay que sumar los permisos si suma
4+2+1 = 7 que serían r,w,x osea el dueño puede read,write y
execute el [Link] significa 5 4+1 que es r,x o lectura y ejecutar.
Podemos cambiar el propietario y el grupo De un archivo que lose con
el comando chown ejemplo sudo chown Devan my_cool_file. Para
cambiar el grupo al que pertenece un archivo usamos sudo chgrp
best_group_ever my ls -l /etc/shadow bit setuid
ls -l /usr/bin/passwd da como salida rwsr-xr-x 1 root 54256 may 16
19:37 /usr/bin/passwd para activar este bit podemos hacer
simbólicamente o numéricamente ejemplo sudo chmod u+s
my_cool_file, numéricamente sudo chmod 4755 my_cool_file
Al igual existe para los grupos que pertenece un archivo se llama
setgid ejemplo para habilitar sudo chmod g+s my _cool_file y
numéricamente chmod 2755 my _cool_file conteste comando el
propietario es el único que puede eliminar algo los demás pueden
modificar pero no eliminar d muestra información y t que todos
pueden añadir y modificar en el directorio temporal pero solo el root
puede eliminar el directorio temporal
Se puede habilitar el bit sticky usando simbólicamente y
numéricamente el bit en símbolo es una t y en número es un 1
ejemplo sudo chmod2 +t my_folder/ y numéricamente es sudo chmod
4096 my_folder/
Paquetes en Debian y Ubuntu
sudo dpkg -i [Link] =Permite instalar un paquete de
software con la extensión .deb
sudo dpkg -r atom =Permite eliminar un paquete de software con la
extensión .deb
dpkg -l = Permite listar los paquetes que están instalados
dpkg -la | grep atom =Permite ver si un programa en específico está
instalado
7z e my_archive.tar =Permite extraer archivo se tiene que instalar la
versión de 7zip para Linux
Paquete más comunes en Linux
.deb -Paquetes debian
.RPM-Paquetes redhat
.tgz-Fichero de archivo TAR
Administradores de paquetes Linux
dpkg-Administadror de paquetes debian
APT-Herramienta avanzada de paquetes utiliza dpkg
aptitude-Administrador de paquetes fácil de usar
rpm-Administador de paquetes redhat
yum-Actualizador yellowdog modificado,viene con red hat
dnf-yum dandificado
dpkg se utiliza para compilar, instalar, gestionar y eliminar paquetes
de sistemas Debian o basados en Debian
Ejemplo
sudo dpkg - -install packagename
sudo dpkg - -update-avail packagename
sudo dpkg - -purge packagename
sudo dpkg - -list
sudo dpkg - -listfiles packagename
sudo dpkg - -contents packagename
otros Synaptic,aptitude, KPackage
sudo apt install gimp =Facilita instalar paquetes apt es un gestor de
paquetes avanzados.
sudo apt remove gimp =Nos ayuda a eliminar las dependencias del
paquete.
Repositorios son un servidor que sirve como un almacén central de
paquetes
En Ubuntu estos paquetes se almacenan en la ruta
/etc/apt/[Link]
En los entornos Linux se debe tener cuidado con las PPA o archivo de
paquetes personales porque pueden contener software defectuoso o
malicioso es como una fuente no fiable
apt upgrade y apt update permiten actualizar los repositorios a las
últimas versiones
En Linux el hardware se considera un archivo
Instalar impresora en red con gnome
lpadmin -p nombreimpresora -m nombre [Link]
El archivo debe almacenarce en el directorio /usr/share/cups/model/
man lpadmin = ver el manual del comando lpadmin
ls/dev – Lista todos los dispositivos de la carpeta /dev
lcpi-lista los dispositivos instalados en el bus PCI
lsusb-lista los dispositivos inastalados en el bus USB
lsscsi -Lista los dispositivos SCSI, como discos duros
lpstat -p -Lista todas las impresoras y si están habilitadas
dmesg-Lista los dispositivos reconocidos por el kernel
uname =No da información del sistema operativo y -r nos da la
versión del kernel ejemplo uname -r
sudo apt full-upgrade = Si hay una nueva versión del kernel nos lo
dirá y si queremos instalarla.
Discos
sudo parted -l =Nos muestra una lista de los discos conectados a la
computadora
sudo parted /dev/sdb= Nos muestra una herramienta separa para que
podamos trabajar sin temor a dañar la partición principal
print = Dentro de la herramienta nos permite imprimir en consola la
información de los discos
mklabel gpt=Nos permite ponerle al disco la tabla de particiones gpt
mkpart primary ext4 1Mib 5GiB =Este comando nos permite hacer
particiones y debe llevar que tipo de partición queremos crear, que
sistema de archivos queremos formatear el inicio y el final del disco
El punto de partida es aca es 1 megabyte y el punto final es
5gygabyte osea el tamaño de la partición es de 5 gb
mbr utiliza particiones primarias, extendidas y lógicas
gpt utiliza particiones primarias
sudo mkfs -t ext4 /dev/sdb1
sudo mount /dev/sdb1 /my_usb/ =Debemos crear un directorio en root
y este comando nos sirve para montar la partición anterior creada en
ese directorio para poder leer y escribir en el nuevo sistema de
archivo .
sudo umount /dev/sdb1 =Nos permite desmontar un disco.
Para montar un disco permanente en la computadora para cada vez
que apaguemos la computadora y [Link] se cargue el disco
[Link] un archivo llamado /etc/fstab ejemplo: cat
/etc/fstab
Debemos buscar el UUID de los dispositivos de almacenamiento son
los IDs de los dispositivos se usa el comando sudo blkid
Tabla de configuración fstab está habilidad se usa para montar
sistemas de archivos en servidores automáticamente
Orden de comprobación del sistema de archivos (fsck)
0= fsck no debe ejecutar una comprobación en el sistema de archivos
1=el dispositivo montado es el sistema de archivos raíz y debe ser
comprobado primero por el comando fsck
2=el dispositivo montado es una partición del disco, que debe ser
comprobada por el comando fsck después del sistema de archivos
raíz
En la columna 4 de la tabla fstab las opciones disponibles son:
sync o async -establece que la lectura u escritura en el sistema de
archivos se produzca de forma sincrónica o asíncronica
auto- Monta automáticamente el sistema de archivos al iniciar el
sistema
noauto-Impide que el sistema de archivos [Link] automáticamente
al iniciar
dev o nodev-Permite o prohíbe el uso del controlador de dispositivo
para montar el dispositivo
exec o noexec-Permite o impide que se ejecuten los binarios del
sistema de archivos
ro-Montar el sistema de archivos como solo lectura
rw-Montar el sistema de archivos para operaciones de lectura -
escritura
user-Permite a cualquier usuario montar el sistema de archivos, pero
restringe que usuario puede desmontar el sistema de archivos
users-Cualquier usuario puede montar el sistema de archivos, además
que cualquier usuario puede desmontar el sistema de archivos
nouser-El usuario raíz es el único rol que puede montar el sistema de
archivos (configuración por defecto)
defaults – Utiliza la configuración por defecto, que incluye
rw,suid,dev,exec,auto,nouser,async,
Ejemplo:Necesita ampliar el espacio del disco duro de un servidor,
luego imaginé que usted ha instalado un disco duro nuevo y que el
servidor Linux no parece reconocer la unidad . En segundo plano,
Linux ha detectado el nuevo hardware, pero no sabe cómo mostrar
información sobre la unidad,Por lo tanto necesitara añadir una nueva
entrada en la tabla fstab para que Linux sepa cómo montarla y
mostrar su entrada dentro del sistema de archivos sigamos los
siguientes pasos
1-Formatee la unidad utilizando el comando fdisk . Seleccionar el
sistema de archivos compatible con Linux, como ext4 , también
puede crear una partición en la unidad con el comando fdisk
2-Busque los dispositivos de almacenamiento en bloque que el
sistema Linux ha asignado a la nueva [Link] dispositivo de bloque
es un dispositivo de almacenamiento (disco duro,unidad de
dvd,etc)que se registra como un archivo en el directorio /dev .El
archivo de dispositivo proporciona una interfaz entre el sistema y el
dispositivo conectado para los procesos de lectura y [Link]
el comando lsbk para encontrar la lista de dispositivos de
almacenamiento en bloque que están conectados al sistema.
Significado de MAJ:MIN -Numero de código mayor y menor del
dispositivo
El número mayor es el tipo de controlador utilizado para la
comunicación del dispositivo algunos ejemplos son 1=Ram, 3=Disco
duro IDE, 8=Disco duro SCSI, 9=Metafísico RAID.
El número menor es un número de identificación utilizado por
[Link] del dispositivo para el tipo de número mayor.
Los número menores para el primer disco duro pueden ir de 0 a 15.
-El valor 0 de número menor para sda representa la unidad física
-el valor de número menor 1 para sda1 representa la primera
partición en la unidad sda
Los números menores para el segundo disco duro pueden ir de 16 a
31
-El valor de número menor 16 para sdb representa la unidad física
-El valor de número menor 17 para sdb1 representa la primera
partición en la unidad sdb
RM- indica si el dispositivo es
- 0=No extraíble
- 1=Extraíble
Tamano-Lista el tipo de dispositivo por ejemplo
-disco=Unidad de disco
-part=partición disco
MOUTPOINT-La ubicación dónde está montado el [Link]
entrada en blanco en esta columna significa que no está montado
Utilizar un editor, como gedit, para abrir el archivo fstab:
Ejemplo de archivo fstab:
Para añadir la nueva partición del sistema de archivos
En la primera columna, añada el nombre del dispositivo del nuevo
sistema de archivos. En este ejemplo, el nombre del dispositivo
sería /dev/sdb1.
En la segunda columna, indique el punto de activación de la nueva
partición. Debe tratarse de un Directorio que sea fácil de encontrar e
identificar para los usuarios. En aras de la simplicidad, el punto de
montaje para este ejemplo es /mnt/mialmacenamiento.
En la tercera columna, introduzca el sistema de archivos utilizado en
la nueva partición. En este ejemplo, el sistema de archivos utilizado
para la nueva partición es ext4.
En la cuarta columna, introduzca las opciones que desee utilizar. La
opción más común es Seleccionar por defecto.
En la quinta columna, establezca el archivo de volcado en 0. Los
archivos de volcado ya no se configuran en el archivo fstab, pero la
columna sigue existiendo.
En la sexta columna, el valor de paso debe ser 2 porque no es el
sistema de archivos raíz y es una buena práctica ejecutar una
comprobación del sistema de archivos al iniciar.
Ejemplo de cómo quedará la tabla fstab después de incluir la nueva
partición
Por último reiniciar la computadora e ir a my storage para comprobar
la nueva particion
Crear un espacio de intercambio (swap)
Usar la herramienta de partición de Linux
sudo parted /dev/sdb
mkpart primary linux-swap 5GiB 100%
salir de parted
Ejecutar el siguiente comando
sudo mkswap /dev/sdb2 = se debe buscar la ubicación de la partición
en este caso está ubicado en /dev/sdb2
Por último hay que ejecutar el siguiente comando
sudo swapon /dev/sdb2
Si queremos que la nueva partición se cargue cuando arranque el
pese se debe Añadir una entrada swap al archivo /etc/fstab como se
explicó anteriormente
En Linux los archivos y metadatos se organizan en una estructura
llamado inodo
Los accesos directos se denominan softlink o enlaces simbólicos osea
apuntan a otros archivos
ln -s important_file important_file_softlink =Crea un vínculo símbolo
ln important_file important_file_hardlink
du -h = Muestra el uso del disco
df -h = Muestra el espacio libre que queda en el disco
fsck = Repara el sistema de archivos manualmente solo hay que
tener encuenta que a unidad no esté montada ej: sudo fsck /dev/sda
en algunos sistemas Linux fsck se ejecuta all iniciar la computadora
para reparar automáticamente el sistema de archivos
lsblk=Muestra los dispositivos de almacenamiento en bloques y los
sistemas adjuntos al sistema. Los Muestra con la estructura de árbol
ps -x =Permite ver los procesos actuales en ejecución, tiene los
siguientes campos PID es el ID del proceso, TTY terminal asociado al
proceso STAT este es el estado del proceso si se ve una R significa
que el proceso se está ejecutando,si se observa T significa detener o
el proceso está detenido o suspendido, si se observa S significa que
la tarea está esperando a que finalice un evento antes de que se
reanude, Time este es el tiempo total de CPU que a ocupado un
proceso y por último está COMMAND este es el nombre del comando
que estamos utilizando.
ps -ef = e se utiliza para obtener todos los procesos incluso los
ejecutados por otros usuarios, -f significa completo lo que muestra
todos los detalles sobre un proceso UID es el ID de usuario de la
persona que inició el proceso PID es el ID del Proceso y PPID es el ID
principal que analizamos, C es la cantidad de procesos secundarios
que tienen los procesos, STIME es la hora de inicio del proceso,TTY es
la terminal asociada al proceso, TIME es el tiempo total de CPU que ha
ocupado el proceso,CMD o comando es el nombre del comando que
estamos ejecutando
ps -ef | grep Chrome = Nos da la información del proceso
Recuerde que todo en Linux es un archivo, incluso los procesos
Para ver los archivos que corresponden a los procesos podemos
buscar en el directorio/proc ejemplo: ls -l /proc se mostrarán muchos
procesos pero si buscamos en los subdirectorios esto nos arrojara más
información sobre el proceso ejemplo cat /proc/1805/status veremos
el archivo de estado del proceso para el PID 1805.
En Linux la señal SIGINT es igual que en Windows podemos oprimir
Ctrl + C y el programa se abortaraK
kill = señal sigterm que mata un proceso ejemplo kill 1025 mata el
proceso con el número PID indicado otra señal que aparecerá de vez
en cuando es sigkill matará el proceso con un montón de fuego
metafórico osea le dice al proceso vale es hora de morir está señal
realizará todo lo posible para asegurarse de que el proceso termino y
lo matara sin darle tiempo de limpiarse ejemplo de sigkill señal kill -
KILL 10392 debe considerarse el último recurso para matar un
proceso porque no realiza una limpieza y puede estar haciendo más
daño a sus archivos que bien.
Otra señal que se utiliza es SIGTSTP po señal de parada de terminal
esto colocará un proceso Ene atado suspendido ejemplo: kill -TSTP
10754
Está señal también se puede hacer oprimiendo crtl + z y para
reanudar el proceso se utiliza la señal SIGCONT ejemplo: kill -CONT
10829 debería cambiar de T a S
top=Muestra los procesos principales que están utilizando la mayoría
de los recursos en nuestra máquina se obtiene una instantánea
rápida del total de tareas en ejecución o inactivas,uso de CPU, uso de
memoria y má[Link] de los datos más importantes son los campos
%CPU y %MEM estos muestran el uso de CPU y memoria que está
ocupando una sola tarea para salir de este comando se usa q
Cuando una pc con Linux va lenta es porque está usando demasiado
recurso de hardware Si se lanza top y muestra los %CPU y %MEM
ocupando memoria y CPU se debe investigar que está haciendo el
proceso incluso se debería terminar el proceso para que devuelva los
recursos que estaba utilizando
Uptime =Herramienta útil para la utilización de recursos muestra
información sobre la hora actual cuanto tiempo lleva funcionando el
sistema,cuantos usuarios están registrados y cuál es del promedio d
encarga de la máquina load average muestra el promedio de carga d
ela CPU en intervalos de uno ,5 y 15 minutos son útiles cuando
necesita ve cómo está funcionando la máquina durante un cierto
periodo de tiempo
LSOF = Digamos que tienes una unidad USB conectada a su máquina
cuando quiera retirar sale un mensaje de error que dice unidad o
recurso ocupado con el comando lsof puede seguir la pista de esos
molestos procesos que están reteniendo archivos abiertos
scp= Se utiliza para copiar un archivo de nuestra computadora a otra
computadora ejemplo scp /home/cindy/Desktop/[Link]
cindy@[Link] : el comando funciona así pasamos la ruta
del archivo luego el host de la otra computadora está herramienta es
útil si desea copiar archivos hacia y desde computadoras en una red
RWn Linux los registros se almacenan en el directorio/var/log
Algunos directivos importantes
var/log/[Link] =Eventos relacionados con la autorización y la
seguridad se registran aquí
var/log/[Link] = Los mensajes del kernel se registran aquí
var/log/dmesg = Los mensajes de inicio del sistema se registran aquí
si se encuentra con un problema al iniciar este es un buen lugar para
buscar información
Hay archivos que combinan otros archivos para ver los registros en un
solo lugar pero esto por lo general se vuelven grande es bueno ir al
archivo pequeño que contiene el registro
El uno archivo de registro que registra prácticamente todo lo que hay
en el sistema es el archivo var/log/syslog lo único que este archivo no
registra son los eventos desactivados este archivo es el que contiene
toda la información más completa sobre el sistema
Los archivos de registros generan muchos eventos según esta logica,
ocupan una gran cantidad de datos que deben almacenarce en
alguna parte de nuestra máquina por lo general queremos ver el
último sistema de alarma de eventos no queremos sobrecargar
nuestro disco duro con toda esta información recordemos también
que lo sistemas se encargan de limpiar los archivos de registros y
dejar espacio para nuevos registros usan algo llamado rotación de
registros en Linux está utilidad se llama log rotate esto e salido para
una computadora pero si tenemos muchas mejor queremos revisar
los registros en un entorno centralizado en Linux podemos utilizar
registro centralizado Ejemplo: less /var/log/syslog
Analicemos los campos el primer campo de izquierda a derecha es la
marca de tiempo en la que ocurrió el evento es importante saber que
según el registro es posible ver un formato de hora con el que no esté
familiarizado como una larga cadena de números como 150-153-8594
estas marcas de tiempo se denominan Unix o Unix epoch time esto
significa el número de segundos transcurridos desde la medianoche
del 1 de enero de 1970 una hora cero para que los ordenadores
basados en Unix afiancen su concepto de tiempo
less /var/log/syslog | grep error , buscamos la palabra de la aplicación
o error podemos buscar las marcas De tiempo, recuerda “si resuelves
el problema raíz, resuelves los problemas cascadas”
Otra táctica de solución que podemos usar los registros es
verificarlos en tiempo real.
Por ejemplo usamos el comando Tail = tail -f /var/log/syslog podemos
apagar el Bluetooth para ver los datos de registro de Bluetooth en
tiempo real
Clonación de Discos o Dispositivo de almacenamiento
Primero desmontamos la unidad queremos clonar
unmont /dev/sdd
procedemos a clonar con did
sudo dd if=/dev/add of =~/Desktop/my_usb_image.img bs=100M
Smithy software en la Nube para clonación