Linux Notas - Notas
1. Superusuario (root) en Linux
El usuario administrador en Linux es el root
->su root
-> contraseña ->
-> sudo su root
-> contraseña con la nuestra
sudo su
->nuestra constraseña
Desde el root se puede usar para todo, peligroso ya que podemos modifcar parte del hardware
->sudo
2. Configurando GRUB en Ubuntu
Para copiar y pegar en terminal, seleccionamos lo que copiamos y lo pegamos con el boton central del raton.
-> cat /etc/default/grub -> Para editar el fichero usamos nano
-> sudo nano /etc/default/grub -> Mas contraseña y podremos editar
-> GRUB_DEFAULT=2 -> Para iniciar windows.
-> GRUB_TIMEOUT=10 -> Pasarlo 30 segundos para arrancar linux
--------------------------------------------------------
-> update-grub ->
-> sudo update-grub -> Actualiza el fichero.
3. Cómo instalar Software en Ubuntu
-> Es algo raro o extraño en Linux bajar un auto instalador .exe
-> Se usan gestores de paquetes.
UBUNTU usa APT, basado de Debian.
-> apt ls
-> sudo apt update ->
-> sudo apt upgrade -> Actualiza el sistema.
-> Hacerlo con frecuencia.
Para instalarlo..
Buscarlo en github o en su pagina web.
ALACRITY buscarlo en ubuntu
-> sudo add-apt-repository ppa:mmstick76/alacritty
Añadimos el respositorio
-> sudo apt install alacritty
Instalamos el software
con el comando..
->alacritty
-> abrimos otra terminal, la de alacritty -> Control + c, para terminar procesos
Con lacritty debemos crear manualmente el archivo de configuraciòn, otros software lo hace automaticamente.
-> cd .config/
-> mkdir alacritty
-> cd alacritty
-> touch alacritty.yml
Dentro del archivo
-> background_opacity: 0.9 -> control + o y salimos , tendremos transparencia.
Instalar node js
Buscar siempre el archivo APT
Linux se usa para servidores o bien para desarrollar
-> sudo apt install node.js
-> node -v -> Vemos la versiòn
-> nano prueba.js -> Console.log('Hola mMundo')
-> node prueba.js -> Hola mundo
Buscar siempre en Linux y buscar la dependencia de Ubuntu
Snap es otro gestor de paquete instalado en ubuntu
Install vscode ubuntu
-> para linux
->sudo snap install --classic code
->Instalamos el pàquete
-> code
-> abrimos vscode
Instalar chrome
-> Descargar chrome par alinux
-> descargamos el .deb ->Debian, padre de Ubuntu
-> sudo apt install ./google-chrome-stable_current_and64.deb
-> rm ./google-chrome-stable_current_and64.deb -> Eliminamos luego de instalarlo
Ya lo descargamos nosotros manualmente, lo instalamos desde la consola.
Las tres formas para descargar software
- APT
- SNAP
- Paquete .deb
Borrar softare
-> sudo apt remove nodejs
-> sudo apt autoremove -> Borra los paquetes que no se utilizan.
-> snap remove code ->
-> sudo snap install code --classic
4. Permisos en Linux
Creamos un fichero de prueba
-> touch prueba.txt
-> ls -l -> Muestra los permisos
-rw-rw-r--
->Los primeros tres caracteres son los permisos del usuario
->Los siguientes tres son los permisos del grupo
->Los ultimos 3 son los permisos para el resto de usuarios.
rwx o guiones
->r read ->Permiso de Lectura
->w write ->Permiso de Escritura
->x execute ->Permiso de Ejecuciòn, si es un programa se puede ejecutar
Esto ademàs se puede ver desde el ficero, click izquierdo y le damos a propiedades, luego veremos los permisos.
->Màs ràpido verlo por terminal
Los permisos de grupos es algo irelevante para un sistema con un solo usuario.
En una universidad, o algo similar, los grupos pueden ser usuarios y el resto de usuarios, serìa el resto, el tercer grupo.
--------------------------------------------------------
Para cambiar los permisos
User ejecucion
-> chmod u+x prueba.txt -> Le damos permisos de EJECUCIÒN, es para programas
groups ejecucion
-> chmod g+x prueba.txt
other ejecucion
-> chmod o+x prueba.txt
other escritura
-> chmod o+w prueba.txt
le quitamos con menos al grupo de other el permiso de ejecucion
->chmod o-x prueba.txt
le quitamos con menos al grupo de groups el permiso de ejecucion
->chmod g-x prueba.txt
le quitamos con menos al grupo de others el permiso de escritura
->chmod o-w prueba.txt
--------------------------------------------------------
Para dar varios permisos al mismo tiempo.
Tanto al grupo de usuarios como al grupo permisos de ejecuciòn
->chmod u+x,g+x prueba.txt
Le quitamos el permiso de ejecucicon al user y al groups y le agregamos a others.
->chmod u-x,g-x,o+x prueba.txt
*Separamos por comas y evitamos colocar espacios, va todo junto.
--------------------------------------------------------
Otro atajos màs rapido
Considerando que cada espacio concedio de permiso es interpretado como un boolean
->chmod u-r,u-w,g-r,g-w,o-r,o-x prueba.txt
Muy largo
Atajo expresandolo en binarios
rwx = 111
r-x = 101
-> rw- rw- r-- 110 110 100
6 6 4
->Contar en binario
Por lo tanto
-> chmod 664 prueba.txt
-> chmod 000 prueba.txt ->Lo dejamos vacio al archivo
Para darle permisos de ejecucion a los tres grupos es igual a..
chmod --x --x --x = 001 001 001
-> chmod 111 prueba.txt
-> chmod 000 prueba.txt ->Lo dejamos vacio nuevamente
Para darle permisos de lectura y ejecucion a los tres grupos es igual a..
chmod r-x r-x r-x 101 101 101
-> chmod 555 prueba.txt
-> chmod 000 prueba.txt ->Lo dejamos vacio
Ahora tendremos lectura y ejecucion para el usuario y el grupo, y solo lectura para los demas
-r-x r-x r--
-> chmod 554 prueba.txt
Para dar todos los permisos posibles a todos.. Es igual rwx => es igual a 111 en decimal es 7
-> chmod 777 prueba.txt
-> ls -l
Todo el mundo para todos..
Los permisos por defecto al crear unn fichero son los siguientes..
-> chmod 664 prueba.txt
-> ls -l
-rw-rw-r--
Esto es con binario, de lo contrario se puede usar la abreviaciòn con + o - (u-x) de acuerdo a lo requerido.
5. Enlaces en Linux
Los llamados enlaces duros -> Hardlink
Creamos dos directorios
-> mkdir TestA
-> mkdir TestB
Creamos un fichero
-> touch TestA/prueba.txt
Escribimos algo..
-> nano TestA/prueba.txt
-> hola mundo
-> cd TestA/
-> ls -l
-rw-rw-r-- 1 antonio...
El 1 indica el numero de enlaces duros, es un puntero hacia un fichero.
Los enlaces duros apuntas al mismo contenido al cual se referencia..
-> cd Escritorio/TestB/
-> ln ../TestA/prueba.txt enlaceduro.txt
-> ls -l
-rw-rw-r-- 2 antonio..
-> El numero aumenta
El cambio que hagamos en enlaceduro.txt, se verà referenciado en prueba.txt
--------------------------------------------------------
ln -> es igual a link
Para enlaces blandos, simbolico, soft link
Borramos el duro
-> rm enlaceduro.txt
-> ln -s ../TestA/prueba.txt enlacesimbolico.txt
-> ls -l
Veremos que el enlace simbolico apunta al prueba.txt, no al contenido
-> nano enlacesimbolico.txt
Al modificarlo tambièn modificamos el otro
Pero si borramos el prueba.txt
-> rm prueba.txt
El otro archivo continuarà referenciado, marcandolo en rojo, lo vemos con..
-> ls -l
Si editamos el archivo enlacesimbolico.txt y guardamos el cambio.. El archivo prueba.txt vuelve a crearse
-> nano enlacesimbolico.txt
ENLACE SIMBOLICO -> ENLACE DURO -> CONTENIDO
Si borramos el enlace duro, el simbolico queda boyando.
Si borramos el ficero en sì, el enlace simbolico no apunta a nada, ya que apunta al fichero, no al contenido
ENLACE SIMBOLICO -> ?
-------------------------------------------------------------------------
ENALCE DURO 2 -> CONTENIDO
ENLACE DURO 1 -> CONTENIDO IDEM
Si borramos el enlace duro 1, el dos continuara apuntando al contenido
ENALCE DURO 2 -> CONTENIDO
--------------------------------------------------------
lrwxrwxrwx 1 antonio
La primera l, indica el link, el enlace simbolico junto al 1
6. ¿Qué hace el comando curl?
URL Request Library -> Es un nombre recursivo, es un bucle.
Permite descargar desde internet a travès de la terminal.
-> sudo apt install curl
Instalamos el programa cursl
-> curl --help ->Saca las opciones
Al instalar node, usamos..
-> curl -L https://deb.nodesource.com/setup_14.x
Vemos el script de la url.. Con curl descargamos el script
Un pipe es una tuberìa con el cual se puede pasar a otras programas.
7. Jerarquía de directorios en sistemas Linux
-> ls -l /
Vemos todos los directorios con sus respectivas jerarquías.
Vemos todo el sistema de linux completo
en bin, hay binarios, programas usados por el sistema.
-> ls /bin ->Vemos todos los "comandos" -> programas
boot es para arrancar el sistema
dev es para los dispositivos
-> ls /dev -> los discos duros, dispositivos, etc
etc archivos para configuraciòn
-> cat /etc/default/grub ->Uno de todos
home donde se encuentras los directorios de los usuarios
-> ls /home ->vemos la data
lib son las librerias
lost+found donde se almacenan los archivos corruptos
media donde se montan unidades usb, tambien los cd, por lo que cdrow quedo obsoleto
mnt para montar temporalmente sistema de ficheros
opt donde se instalan paquetes opcionales, paquetes que no son open source
-> ls /opt -> Salta google
-> ls /opt/google/ -> chrome ->
proc directorio que almacena informaciòn del sistema
-> top -> monitoreamos el sistema, cpu, etc
-> con top leemos informaciòn de proc
root es el home del usuario root, que es el superusuario.
run donde se almacenan datos importantes de las aplicaciones
sbin es similar a bien, pero para el usuario root
-> ls /sbin
-> vemos programas que usarà el root
snap paquetes instalados
srv para almacenar datos del servidor
sys informaciòn del sistema y del hardware
tmp donde se guardan archivos temporales
usr programas usados por los propios usuarios
var archivos variables, algunos logs y demàs de los programas.. De las actualizaciones e instalaciones.