0 Prefacio de Linux

Tabla de contenido

0 Prefacio
de Linux 1 Lectura y escritura
de archivos de Linux 2 Atributos de archivos
de Linux 3 Operaciones de directorio
de Linux 4 Conceptos básicos del sistema Linux
5 Un estudio preliminar de
los procesos de Linux 6 Comunicación entre procesos de Linux (IPC)
7 Demonios
de Linux 8 Subprocesos de Linux

Nota: Una nota basada en la práctica de Debian Linux (Debian, Ubuntu, Kali Linux, Raspberry Pi OS ... etc.)

Utilicé en la compilación de códigoCMakeLists.txt

cmake_minimum_required(VERSION 3.1)
project(demo)
add_compile_options(-std=c11 -Wall -Werror -Wextra -pedantic -Wimplicit-fallthrough -Wsequence-point -Wswitch-default -Wswitch-unreachable -Wswitch-enum -Wstringop-truncation -Wbool-compare -Wtautological-compare -Wfloat-equal -Wshadow=global -Wpointer-arith -Wpointer-compare -Wcast-align -Wcast-qual -Wwrite-strings -Wdangling-else -Wlogical-op -Wconversion -Wno-pedantic-ms-format)
include_directories(.)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
aux_source_directory(. src)
add_executable(demo ${src})
target_link_libraries(demo PRIVATE Threads::Threads)

El servidor espejo apt predeterminado está en el extranjero, la velocidad es muy lenta y la conexión puede incluso fallar (si no hay escalera), también puede usar el método de reemplazar la fuente espejo doméstica para resolver este problema.
Haga clic aquí para cambiar el fuente para ayudar

Instalar herramientas de desarrollo C / C ++

# C/C++编译器等相关工具
sudo apt install build-essential

# cmake
# 用于生成 Makefile 文件, 再使用 make 编译
# 可选安装, 也可以自己写 Makefile 进行编译 或者 用 gcc 命令编译
sudo apt install cmake

Las funciones de biblioteca estándar del lenguaje C y las funciones del sistema Linux se pueden consultar mediante el comando man. Es posible que el sistema no tenga esta parte preinstalada. Para la instalación, consulte lo siguiente:

  • Documento de ayuda básica de la función de biblioteca de lenguaje C
sudo apt install manpages manpages-de manpages-de-dev manpages-dev
  • Funciones POSIX
sudo apt install manpages-posix manpages-posix-dev
  • Función del kernel
sudo apt install linux-doc

Acerca de los parámetros vacíos y los parámetros libres de vacíos declarados explícitamente descritos
en Clos parámetros de la función personalizada sin la necesidad, entre paréntesis 留空, y declarados explícitamente voidrealmente diferentes, la definición de una función de la manera empleada en blanco, Significa que el número de parámetros no está limitado. Por ejemplo, cuando define una función void fun() {}, cuando la llama, puede tratarla como si no tuviera parámetros fun();, o el fun(6); fun('c'); fun(1, 4, 7); fun("1f", 5);compilador no informará de un error. Pero si declara explícitamente que no hay parámetros cuando define la función:, void fun(void)entonces solo puede usarfun();

En C++las dos situaciones son equivalentes, porque hay una sobrecarga de funciones en C ++, solo se puede confiar para distinguir entre diferentes parámetros, es imposible void fun() {}y se void fun(void) {}trata como sobrecarga, cuando las llamadas no son representativas de la forma en que pasan los espacios en blanco por los parámetros entrantes, no puedo distinguir

PD: Para mí, debo asegurarme de que el código sea riguroso y escribir lo menos posible. Por lo tanto, en C, declararé explícitamente nulo para cualquier parámetro sin parámetros y lo dejaré en blanco en C ++




Detrás del contenido del cuerpo #define _GNU_SOURCE, se utiliza la definición del encabezado del código que contiene las versiones POSIX y GNU y dos versiones diferentes de las definiciones de interfaz GNU




Breve descripción de algunos comandos comunes

  • chmod
    Inserte la descripción de la imagen aquí
  • chown
    Inserte la descripción de la imagen aquí
  • chgrp
    Inserte la descripción de la imagen aquí
  • alquitrán
    Inserte la descripción de la imagen aquí
  • rar
    Inserte la descripción de la imagen aquí
  • descomprimir zip sum
    Inserte la descripción de la imagen aquí





Estructura de directorios de Linux
Inserte la descripción de la imagen aquí




Mi relación con Linux
fueron las vacaciones de verano después del primer año de secundaria en 2017. En julio, me interesé por la "programación" porque entré en contacto con el lenguaje Yi. A principios de agosto, verifiqué información en Internet y aprendieron sobre el lenguaje C. No existe un concepto de sistema para la programación. Muchas personas en Internet dicen que aprender el lenguaje C con Linux es bueno, por lo que sintieron curiosidad por Linux y querían probarlo. Después de revisar una y otra vez, finalmente elegí Galaxy Kylin (que es un derivado basado en el sistema Ubuntu de "producción nacional"), y luego intenté instalarlo, tratando de construir un sistema dual de Windows y Linux, grabar la imagen descargada en un disco U y luego preparar para instalar, la instalación falló y el arranque se interrumpió. Intentando confiar en el disco U No se puede instalar la imagen grabada y no puedo instalar Windows. Solo tengo la computadora portátil en casa, por lo que no puedo hacer una instalación Afortunadamente, la imagen grabada también tiene un modo en vivo, que se puede iniciar con una unidad flash USB, pero cada vez que lo inicio, los cambios que hice antes desaparecen. De esta manera, a través del modo en vivo, he usado Linux para casi medio año de una manera extraña. Esta es una historia posterior. Después de ingresar a Linux en agosto, también seguí revisando la información, cómo escribir en lenguaje C, la mayoría Al principio usé Qt Creator preinstalado en el Galaxy Kylin . Después de entender un poco, comencé a cambiar a la edición vim y luego compilé con gcc. Mirando hacia atrás en ese momento, fue realmente vergonzoso. En ese momento, encontré un problema que me detuvo durante unos días. programa compilado a.out, pero ingrese directamente a.out en el terminal y presione Enter pero no se puede ejecutar. Luego encontré un buen libro en lenguaje C (también basado en el terminal Linux), y me di cuenta de que necesitaba agregar otro one./. En los diez días posteriores a agosto, copié la ejecución del programa de caso en ese libro todos los días. Cuando comenzó la escuela, también tenía un conocimiento general del lenguaje C, y no necesitaba un libro para simplemente escribir Con el tiempo, he aprendido más sobre Linux. No hay ningún problema con los comandos básicos comunes. Si no lo conoce, puede verificarlo. Cuanto más lo use, más se familiarizará. Desde entonces, Básicamente, no he podido dejar Linux en programación, que también es una preferencia. Sí. Una sección es para el uso mixto de Windows y Linux. Windows 10 es compatible con el subsistema Linux. En 2020 (Windows 10 2004), se lanzó WSL2. Muchos Los programas de IU que antes no se podían ejecutar normalmente también se pueden usar normalmente. No hace mucho, reemplacé directamente mi sistema informático con Ubuntu 20.04.

Supongo que te gusta

Origin blog.csdn.net/weixin_45579994/article/details/112688831
Recomendado
Clasificación