Conocimientos relacionados con Linux/mac.

Estrictamente hablando, Linux no es un sistema operativo, sino un núcleo del sistema Linux, que es la plataforma para la comunicación entre el software y el hardware de la computadora.

Algunas organizaciones o fabricantes integran el kernel de Linux con el software GNU (software y herramientas del sistema) y proporcionan algunas interfaces de instalación y herramientas de configuración y administración del sistema, formando así un paquete capilar, como Ubuntu、Red Hat、Centos、Fedora、SUSE、Debian、FreeBSDetc.

Características de Linux

Apertura: El sistema sigue especificaciones estándar, especialmente el estándar internacional Open Systems Interconnection (OSI).

Multiusuario, multitarea: Multiusuario significa que los recursos del sistema pueden ser utilizados por diferentes usuarios. Cada usuario puede tener permisos independientes sobre los recursos de su propio sistema sin afectarse entre sí. La multitarea significa que el sistema operativo puede ejecutar varios programas al mismo tiempo y cada programa puede ejecutarse de forma independiente sin interferir entre sí.

Buena interfaz de usuario: Linux proporciona dos interfaces a los usuarios: interfaz de usuario y llamadas al sistema. Linux también proporciona a los usuarios una interfaz gráfica de usuario. Utiliza funciones como el mouse, menús, ventanas y barras de desplazamiento para presentar a los usuarios una interfaz gráfica amigable que es intuitiva, fácil de operar y altamente interactiva.

Independencia del dispositivo: el sistema operativo trata todos los dispositivos externos como archivos. Siempre que el controlador esté instalado, cualquier usuario puede manipular y utilizar estos dispositivos como si fueran archivos. Linux es un sistema operativo independiente del dispositivo con un kernel altamente adaptable.

Fuerte portabilidad: la llamada portabilidad se refiere a la capacidad de cruzar de una plataforma a otra. Linux es un sistema operativo altamente portátil. Cuando el sistema se mueve de una plataforma a otras plataformas, aún puede funcionar de manera estable sin ninguna modificación en el sistema. Es decir, ya sea una computadora portátil, una computadora personal o una Minicomputadoras. Las máquinas de tamaño mediano, incluso las mainframes, pueden ejecutar este sistema.

Alta seguridad : Linux ha adoptado muchas medidas técnicas de seguridad, incluido control de lectura y escritura, subsistemas protegidos, pistas de auditoría, autorización central, etc., que brindan las garantías de seguridad necesarias para los usuarios en entornos de red multiusuario.

Alta estabilidad : el código fuente del kernel de Linux está optimizado para computadoras estándar de 32 bits (64 bits en CPU de 64 bits), lo que garantiza la estabilidad del sistema. Es precisamente debido a la estabilidad de Linux que algunos hosts con Linux instalado pueden permanecer encendidos durante todo el año sin ningún tiempo de inactividad, al igual que las máquinas Unix.

Funciones de red enriquecidas: la red integrada completa es una característica importante de Linux. Linux es superior a otros sistemas operativos en términos de comunicación y funciones de red. Otros sistemas operativos no incluyen la capacidad de conectarse a redes tan estrechamente integradas en el núcleo, ni tienen la flexibilidad para tener estas funciones de red integradas. Linux proporciona a los usuarios funciones de red completas y potentes.

Buena portabilidad: la capacidad de mover un sistema operativo de una plataforma a otra para que siga funcionando a su manera. Linux es un sistema operativo portátil capaz de ejecutarse en cualquier entorno y en cualquier plataforma, desde microcomputadoras hasta computadoras mainframe.

Directorio de archivos

Linux

  • /binEs la abreviatura de Binaries (archivo binario), el directorio de almacenamiento de comandos tradicionales de Unix como ls, rm, mv, etc.

  • /devDirectorio de almacenamiento de archivos del dispositivo.

  • /bootAquí se almacenan algunos archivos principales que se utilizan al iniciar Linux, incluidos algunos archivos de conexión y archivos de imagen.

  • /etcDirectorio de almacenamiento de archivos de configuración, como el archivo de contraseñas de usuario /etc/passwd. Este directorio es en realidad un enlace a /private/etc.

  • /homeEl directorio de inicio del usuario. En Linux, cada usuario tiene su propio directorio. Generalmente, el nombre del directorio lleva el nombre de la cuenta del usuario.

  • /sbinContiene archivos ejecutables de superusuario (root), como fdisk, ifconfig, etc.

  • /usrEs la abreviatura de recursos compartidos de Unix (recursos compartidos). Este es un directorio muy importante. Muchas aplicaciones y archivos de usuario se colocan en este directorio, similar al directorio de archivos de programa en Windows.

    La biblioteca de vínculos dinámicos de la biblioteca compartida se almacena en el directorio /usr/lib.

    /usr/bin Aplicaciones utilizadas por los usuarios del sistema.

    /usr/sbin Programas de gestión más avanzados y demonios del sistema utilizados por superusuarios.

    /usr/src: el directorio de ubicación predeterminado para el código fuente del kernel

  • /tmpEl directorio de almacenamiento de archivos temporales tiene permisos para que todos puedan leer y escribir. Este directorio es en realidad un enlace a /private/tmp.

  • /varAlmacene archivos que cambian con frecuencia, como archivos de registro. Este directorio es en realidad un enlace a /private/var.

  • /optNormalmente esta carpeta se utiliza para almacenar paquetes de instalación, como homebrew

Mac

  • /ApplicationsDirectorio de aplicaciones, todas las aplicaciones GUI se instalan aquí de forma predeterminada, como WeChat, QQ, etc.

  • /LibraryArchivos de datos del sistema, archivos de ayuda, documentos, etc.

  • /NetworkDirectorio de almacenamiento del nodo de red.

  • /SystemContiene la mayoría de los archivos de configuración del sistema y del sistema operativo.

  • /UsersAlmacene la información personal y la configuración del usuario, cada usuario tiene su propio directorio independiente.

  • /VolumesDirectorio de almacenamiento del punto de montaje del sistema de archivos.

  • /coresEl directorio donde se almacenan los archivos de volcado del kernel. Cuando un proceso falla, se generará un archivo de volcado si el sistema lo permite.

  • /privateLos subdirectorios internos almacenan los directorios de destino de /tmp, /var, /etc y otros directorios de enlaces.

Permisos de archivos

Hay tres tipos diferentes de usuarios que operan archivos o directorios: propietarios de archivos, usuarios de grupo y otros usuarios. El bit más alto representa el valor de permiso del propietario del archivo, el bit del medio representa el valor de permiso del usuario del grupo y el bit más bajo representa el valor de permiso de otros usuarios.

Permisos valor del permiso binario introducir
r 4 00000100 leer leer. El usuario actual puede leer el contenido del archivo y puede explorar el directorio.
w 2 00000010 escribe escribe. El usuario actual puede agregar o modificar el contenido del archivo, y el usuario actual puede eliminar o mover directorios o archivos dentro de directorios.
X 1 00000001 ejecutar, ejecutar. El usuario actual puede ejecutar archivos y el usuario actual puede ingresar directorios.

Entonces todos los permisos son los siguientes.

# Permisos rwx binario
7 Leer+Escribir+Ejecutar rwx 111
6 leer + escribir rw- 110
5 Leer+Ejecutar RX 101
4 solo lectura r– 100
3 escribir + ejecutar -wx 011
2 solo escribe -w- 010
1 Ejecutar solo -X 001
0 ninguno 000
chmod 777 demo.txt
chmod -R 777 demo // -R表示为所有 demo目录下的文件夹和文件
sudo chmod -R 777 demo // 如果是 ubuntu,需要加sudo

ssh

SSH es un protocolo de red utilizado para inicios de sesión cifrados entre computadoras. Si un usuario inicia sesión en otra computadora remota desde la computadora local usando el protocolo SSH, podemos pensar que este inicio de sesión es seguro. Incluso si se intercepta a mitad de camino, la contraseña no se filtrará. SSH es solo un protocolo, y hay Muchas implementaciones de código abierto, como openssh , mac tiene ssh incorporado.

ssh -p 2222 user@host 

ssh-keygen

Generar, administrar y convertir claves de autenticación para ssh. El comando ssh-keygen se utiliza para generar, administrar y convertir claves de autenticación para "ssh". Admite claves de autenticación RSA y DSA. Las claves SSH se guardan en ~/.sshel directorio de forma predeterminada; si este directorio no existe, el comando ssh-keygen creará uno con los permisos correctos.

-b: especifica la longitud de la clave;

-e: lee la clave privada o el archivo de clave pública de openssh;

-C: agregar comentarios;

-f: especifica el nombre del archivo utilizado para guardar la clave;

-i: lea el archivo de clave privada/clave pública compatible con ssh-v2 sin cifrar y luego muestre la clave privada/clave pública compatible con openssh en el dispositivo de salida estándar;

-l: muestra los datos de huellas dactilares del archivo de clave pública;

-N: proporciona una nueva contraseña;

-P: Proporcionar palabra secreta (antigua);

-q: modo silencioso;

-t: especifica el tipo de clave a crear.

ssh-keygen -t rsa -C '[email protected]' -f ~/.ssh/github_id_rsa

transferencia de archivos

El comando scp, también conocido como copia segura, puede copiar archivos y directorios entre máquinas, según SSH.

scp local_file remote_username@remote_ip:remote_file 

Protocolo de transferencia de archivos

El protocolo FTP (Protocolo de transferencia de archivos) se basa en el protocolo TCP para transferir archivos. Transmite información y datos del usuario en texto claro. El puerto predeterminado es 21.

SFTP (Protocolo seguro de transferencia de archivos), puerto predeterminado 22.
El protocolo SFTP puede realizar operaciones como "adquisición remota de archivos, transmisión de contenido de archivos y gestión de archivos" y sus señales de control y señales de datos se transmiten a través de canales de datos seguros. Generalmente, este canal de datos seguro lo proporciona una conexión SSH, es decir, el túnel de conexión SSH sirve como un canal de datos seguro.
En comparación con el protocolo SCP, que solo puede transferir contenido de archivos simples, el protocolo SFTP se parece más a un protocolo de sistema de archivos remoto.
El protocolo SFTP se divide en dos extremos, a saber, Cliente SFTP y Servidor SFTP. La transmisión de señales de control y contenidos de archivos entre el Cliente SFTP y el Servidor SFTP debe realizarse a través de un canal de datos seguro. El canal de datos seguro puede ser proporcionado por protocolos como "Transport Layer Security (TLS)" y "SSH". Generalmente, lo proporciona el protocolo SSH.
Una vez que se establece la conexión entre el Cliente SFTP y el Servidor SFTP, la función del sistema de archivos remoto se puede realizar mediante la transmisión de señales de control y contenidos de archivos entre los dos.
Herramientas GUI, Windows tiene filezilla, macos tiene cyberduck (pato amarillo).

Comandos comunes

// 查找文件
find /opt -name "nginx.conf"

// 显示所有进程
ps -A

// 杀死进程
kill 12345

// 带行号显示文件内容
cat -n demo.txt

// 显示前2行
head -n 2 keyboard.txt 

// 显示后2行
tail -n 2 keyboard.txt 

// 寻找程序位置
which nginx

// 3dd 删除3行
vim data.txt 

// 打包文件
tar -czvf demo.tar.gz ./demos

Referencias

https://blog.csdn.net/words8/article/details/113066602

Supongo que te gusta

Origin blog.csdn.net/qq_29334605/article/details/122836373
Recomendado
Clasificación