Llamada del sistema Linux Chdir en C

Llamada del sistema Linux Chdir en C
Los cambios en el directorio de trabajo actual de un dispositivo se realizan utilizando el método "chdir". En una variedad de circunstancias, puede decidir cambiar la carpeta de trabajo actual de su dispositivo. O desea ejecutar un script C desde una carpeta en lugar de su directorio de trabajo actual. En consecuencia, para ejecutar ese código C específico, debe modificar su carpeta de trabajo actual. Además, el método "getCWD" del lenguaje de codificación C puede usarse para determinar rápidamente cuándo ha cambiado la carpeta de trabajo actual. Ahora, utilizaremos la función chdir () de C en este artículo para cambiar un directorio de trabajo.

Ejemplo 01:

Comencemos con el funcionamiento de la función chdir () de C en el sistema operativo Linux. Para esto, debes hacer que sea bastante seguro de que el compilador de C ya está montado al final. En la mayoría de los casos, tendemos a usar el compilador "GCC" de C en nuestro sistema operativo Kali Linux. Para comenzar con este ejemplo, debemos tener un archivo C con la extensión "C". Lo llamamos P1.c e intenté abrirlo con el editor "nano" de Linux como se presenta a continuación.

Cuando su archivo se abre en el editor, debe comenzar a codificarlo en él. Hemos estado comenzando nuestro programa C agregando las bibliotecas principales de encabezado de C que son los imprescindibles en cualquier programa C. Por lo tanto, el stdio.H y unistd.H Las bibliotecas de encabezado se utilizan para asegurarse de que la entrada y la salida estándar puedan fluir dentro del programa. El unistd.El encabezado H se ha utilizado para utilizar algunas funciones estándar de C que se requieren para este ejemplo, especialmente. Ahora, hemos iniciado la función de controlador principal () de C en este código para ejecutarse automáticamente en la ejecución. La variable de matriz de tipo de personaje "ruta" se ha definido con un tamaño de 100 porque almacena solo 100 valores.

La instrucción de función printf () se ha utilizado para simplemente imprimir la carpeta de directorio de trabajo actual de este archivo C utilizando la función "getCwd ()". Esta función utiliza la variable de matriz de "ruta" con un tamaño de 100 para obtener el directorio de trabajo actual y pasarlo a la instrucción de función printf () para visualizar. Ahora, es hora de usar la función chdir (). Podemos pasar cualquier tipo de caracteres para especificar si queremos avanzar en el directorio o avanzar en la dirección hacia atrás dentro del mismo directorio.

Entonces, hemos probado los caracteres "..." en la instrucción de función Chdir () para moverse del directorio de trabajo actual en la dirección hacia atrás I.mi. Un nivel por debajo del directorio de trabajo actual. Tenga en cuenta que en este momento, hemos estado trabajando en la carpeta del proyecto de nuestro principal directorio de trabajo "Linux" del sistema Kali Linux. Ahora, estamos en el directorio "Linux" en lugar del directorio "Proyecto" después de usar la función "CHDIR". Ahora, probamos la instrucción de función "printf ()" una vez más para mostrar el directorio de trabajo actual utilizando la función "getCwd" en ella. Nuestro programa termina con la declaración de retorno 0.

Después de guardar este programa C, necesitamos compilarlo utilizando el compilador "GCC" que ya hemos configurado en nuestro extremo. Usando esta instrucción GCC, hemos creado un archivo de objeto de este archivo C llamado "P1.out ”usando la opción -o como se muestra a continuación.

Ahora, cuando ejecuta su archivo de objeto en su terminal de Linux, primero obtendrá el directorio de trabajo utilizado por el programa antes del uso de la función chdir (). Después del uso de la función chdir (), nos mudamos al directorio uno a continuación y se muestra ese directorio en particular "Inicio".

Ejemplo 02:

Usando las mismas bibliotecas de encabezado, hemos comenzado este código de programa. Dentro de la función Main () de este programa, hemos estado utilizando la instrucción "Si" utilizando la función Chdir () en él.

Esta función verificará si el "/usuario" existe en el sistema o no estableciendo la condición "/usuario!= 0 ". Si el directorio no existe en el sistema actual, la llamada de función Perror se usará para mostrar el mensaje de error respectivo I.E "El directorio de usuarios no existe. Hemos estado utilizando otra declaración "si" usando la función chdir () dentro de ella. El propósito de usar la función chdir () aquí también es el mismo que lo hicimos en la instrucción anterior, que es para verificar si el directorio existe o no usar "/temp"!= 0 condición. La única diferencia es el uso de un nuevo nombre de directorio "/temp" en lugar de "/usuario" como puede ver en la imagen del código a continuación.

Si el directorio /tempe no existe en el sistema, la función Perror utilizada en la instrucción "Si" arrojaría un mensaje de error " /Temp Directory no existe" como se muestra en la imagen a continuación. Después del uso de ambas declaraciones "IF", hemos estado terminando este código con la declaración de devolución de C de la C. Ahora, el programa ha terminado. Hemos estado guardando nuestro código C usando el acceso directo Ctrl+S antes de su ejecución.

Ahora que el archivo se ha guardado en su sistema, tenemos que compilar el código C con el compilador "GCC" que ya hemos montado al final. Usando esta instrucción, hemos estado creando su archivo de objeto "P2.out ”usando la opción -o en la instrucción.

Después de ejecutar el archivo de objeto creado "P2.fuera "con el"./"Caracteres, aprendimos que ambos directorios mencionados en la ruta de" Chdir "no existen en el sistema o el error que se muestra en el shell lo ha demostrado correctamente.

Conclusión

Dentro de este artículo hoy, hemos demostrado el uso de la función Chdir () de C en el sistema operativo Kali Linux. El primer ejemplo ilustra cómo se puede utilizar la función chdir () para cambiar un directorio de trabajo i.mi., moverse de un directorio a otro. El último ejemplo de C demuestra cómo podemos verificar si el directorio de trabajo actual especificado en la ruta de chdir () ha sido existente o no.