Chiama di sistema chdir Linux in c

Chiama di sistema chdir Linux in c
Le modifiche all'attuale directory di lavoro di un dispositivo vengono apportate utilizzando il metodo "Chdir". In una varietà di circostanze, puoi decidere di modificare l'attuale cartella di lavoro del tuo dispositivo. Oppure vuoi eseguire uno script C da una cartella anziché la tua attuale directory di lavoro. Di conseguenza, per eseguire quel codice C specifico, è necessario modificare la cartella di lavoro attuale. Inoltre, il metodo "getcwd" del linguaggio di codifica C può essere utilizzato per determinare rapidamente quando l'attuale cartella di lavoro è cambiata. Ora useremo la funzione Chdir () di C in questo articolo per cambiare una directory di lavoro.

Esempio 01:

Cominciamo con il funzionamento della funzione Chdir () di C nel sistema operativo Linux. Per questo, devi rendere abbastanza sicuro che il compilatore di C sia già montato alla tua fine. Nella maggior parte dei casi, tendiamo a utilizzare il compilatore "GCC" di C nel nostro sistema operativo Kali Linux. Per iniziare con questo esempio, dobbiamo avere un file C con l'estensione "C". L'abbiamo chiamato P1.C e ha provato ad aprirlo con l'editore "Nano" di Linux come presentato di seguito.

Quando il tuo file viene aperto nell'editor, devi iniziare a codificare in esso. Abbiamo avviato il nostro programma C aggiungendo le principali librerie di intestazione di C che sono i must-haves in qualsiasi programma C. Pertanto, lo stdio.H e unistd.Le librerie di intestazione H vengono utilizzate per assicurarsi che l'ingresso e l'uscita standard possano fluire all'interno del programma. L'Unistd.L'intestazione H è stata utilizzata per utilizzare alcune funzioni standard di C richieste per questo esempio soprattutto. Ora abbiamo avviato la funzione driver principale () di C in questo codice per eseguire automaticamente l'esecuzione. Il "percorso" dell'array tipo di carattere è stato definito con una dimensione di 100 perché memorizza solo 100 valori.

L'istruzione funzione printf () è stata utilizzata per stampare semplicemente l'attuale cartella della directory di lavoro di questo file c utilizzando la funzione "getcwd ()". Questa funzione utilizza la variabile dell'array "percorso" con una dimensione di 100 per ottenere la directory di lavoro corrente al suo interno e passarla all'istruzione funzione printf () per la visualizzazione. Ora è il momento di utilizzare la funzione chdir (). Possiamo passare qualsiasi tipo di caratteri per specificare se vogliamo andare avanti nella directory o spostarci nella direzione all'indietro all'interno della stessa directory.

Quindi, abbiamo provato i personaggi "..." nell'istruzione Funzione Chdir () per spostarsi dall'attuale directory di lavoro nella direzione all'indietro I.e. Un livello inferiore all'attuale directory di lavoro. Si noti che in questo momento abbiamo lavorato nella cartella del progetto della nostra principale directory di lavoro "Linux" del sistema Kali Linux. Ora siamo alla directory "Linux" invece della directory "Project" dopo aver usato la funzione "Chdir". Ora, abbiamo provato ancora una volta l'istruzione funzione "printf ()" per visualizzare la directory di lavoro corrente utilizzando la funzione "getcwd" in essa. Il nostro programma termina con l'istruzione Return 0.

Dopo aver salvato questo programma C, dobbiamo compilarlo utilizzando il compilatore "GCC" che abbiamo già configurato alla nostra fine. Usando questa istruzione GCC, abbiamo creato un file oggetto di questo file C chiamato "P1.out ”usando l'opzione -o come visualizzato di seguito.

Ora, quando esegui il suo file di oggetti nel tuo terminale Linux, riceverai prima la directory di lavoro utilizzata dal programma prima dell'uso della funzione Chdir (). Dopo l'uso della funzione chdir (), ci siamo spostati in una directory di seguito e viene visualizzata quella particolare directory "home".

Esempio 02:

Usando le stesse librerie di intestazione, abbiamo avviato questo codice di programma. All'interno della funzione principale () di questo programma, abbiamo utilizzato l'istruzione "if" utilizzando la funzione chdir () in essa.

Questa funzione verificherà se il "/utente" esiste nel sistema o meno impostando la condizione "/utente!= 0 ". Se la directory non esiste nel sistema corrente, la chiamata di funzione Perror verrà utilizzata per visualizzare il rispettivo messaggio di errore i.E “La directory dell'utente non esiste. Abbiamo utilizzato un'altra istruzione "if" usando la funzione chdir () al suo interno. Lo scopo di usare la funzione chdir () qui è anche lo stesso nell'istruzione IF sopra, che è per verificare se la directory esiste o meno usando la "temp"!= 0 condizione. L'unica differenza è l'uso di un nuovo nome di directory "/temp" anziché "/utente" come puoi vedere dall'immagine del codice seguente.

Se la directory /temp non esiste nel sistema, la funzione Perror utilizzata nell'istruzione "if" lancerebbe un messaggio di errore " /temp directory non esiste" come visualizzato dall'immagine seguente. Dopo l'uso di entrambe le dichiarazioni "if", abbiamo terminato questo codice con l'istruzione di reso 0 della C. Ora, il programma è finito. Abbiamo salvato il nostro codice C usando il collegamento CTRL+S prima della sua esecuzione.

Ora che il file è stato salvato nel tuo sistema, dobbiamo compilare il codice C con il compilatore "GCC" che abbiamo già montato alla nostra fine. Usando questa istruzione, abbiamo creato il suo file di oggetti “P2.fuori "usando l'opzione -o nell'istruzione.

Dopo aver eseguito il file oggetto creato “P2.fuori "con il"./"Caratteri, abbiamo appreso che entrambe le directory menzionate nel percorso di" chdir "non esistono nel sistema o l'errore visualizzato sulla shell lo ha dimostrato correttamente.

Conclusione

All'interno di questo articolo oggi abbiamo dimostrato l'uso della funzione Chdir () di C nel sistema operativo Kali Linux. Il primo esempio illustra come la funzione chdir () può essere utilizzata per modificare una directory di lavoro i.e., Passa da una directory all'altra. L'ultimo esempio di C dimostra come possiamo verificare se la directory di lavoro corrente specificata nel percorso di Chdir () è esistente o meno.