Linux chdir Apel de sistem în C

Linux Chdir Apel De Sistem In C



Modificările directorului de lucru actual al unui dispozitiv se fac folosind metoda „CHDIR”. Într-o varietate de circumstanțe, puteți decide să schimbați folderul de lucru actual al dispozitivului. Sau doriți să rulați un script C dintr-un folder în loc de directorul de lucru actual. În consecință, pentru a rula acel cod C specific, trebuie să modificați folderul de lucru actual. În plus, metoda „getcwd” a limbajului de codificare C poate fi utilizată pentru a determina rapid când s-a schimbat folderul de lucru actual. Acum, vom folosi funcția chdir() a lui C în acest articol pentru a schimba un director de lucru.

Exemplul 01:

Să începem cu funcționarea funcției chdir() a lui C în sistemul de operare Linux. Pentru aceasta, trebuie să vă asigurați că compilatorul C este deja montat la capătul dvs. În cele mai multe cazuri, avem tendința de a folosi compilatorul „gcc” al C în sistemul nostru de operare Kali Linux. Pentru a începe cu acest exemplu, trebuie să avem un fișier C cu extensia „c”. L-am numit p1.c și am încercat să-l deschidem cu editorul „nano” al Linux, așa cum este prezentat mai jos.







Când fișierul este deschis în editor, trebuie să începeți să codați în el. Am început programul nostru C prin adăugarea principalelor biblioteci de antet ale C, care sunt elementele obligatorii în orice program C. Prin urmare, bibliotecile de antet stdio.h și unistd.h sunt folosite pentru a vă asigura că intrarea și ieșirea standard pot circula în cadrul programului. Antetul unistd.h a fost folosit pentru a utiliza unele funcții standard ale C care sunt necesare în special pentru acest exemplu. Acum, am pornit funcția driver main() a C din acest cod pentru a rula automat la execuție. Variabila matrice de tip caracter „cale” a fost definită cu o dimensiune de 100 deoarece stochează doar 100 de valori.



Declarația funcției printf() a fost folosită pentru a tipări pur și simplu directorul curent de lucru al acestui fișier C folosind funcția „getcwd()”. Această funcție folosește variabila matrice „cale” cu o dimensiune de 100 pentru a obține directorul de lucru curent în ea și a-l transmite instrucțiunii funcției printf() pentru afișare. Acum, este timpul să folosiți funcția chdir(). Putem trece orice fel de caractere pentru a specifica dacă vrem să mergem înainte în director sau să ne deplasăm în direcția înapoi în același director.



Deci, am încercat caracterele „..” din instrucțiunea funcției chdir() să se deplaseze din directorul de lucru curent în direcția înapoi, adică cu un nivel sub directorul de lucru curent. Rețineți că chiar acum, am lucrat în folderul de proiect al directorului nostru de lucru principal „Linux” al sistemului Kali Linux. Acum, ne aflăm în directorul „Linux” în loc de directorul „proiect” după ce am folosit funcția „chdir”. Acum, am încercat din nou instrucțiunea funcției „printf()” pentru a afișa directorul de lucru curent folosind funcția „getcwd” din acesta. Programul nostru se termină cu instrucțiunea return 0.





După salvarea acestui program C, trebuie să-l compilam folosind compilatorul „gcc” pe care l-am configurat deja la finalul nostru. Folosind această instrucțiune gcc, am creat un fișier obiect al acestui fișier C numit „p1.out” folosind opțiunea –o așa cum este afișată mai jos.



Acum, când rulați fișierul său obiect în terminalul Linux, veți obține mai întâi directorul de lucru folosit de program înainte de utilizarea funcției chdir(). După utilizarea funcției chdir(), ne-am mutat în directorul de mai jos și este afișat acel director „acasă”.

Exemplul 02:



Folosind aceleași biblioteci de antet, am pornit acest cod de program. În cadrul funcției main() a acestui program, am folosit instrucțiunea „if” utilizând funcția chdir() din ea.

Această funcție va verifica dacă „/utilizatorul” există sau nu în sistem prin setarea condiției „/utilizator!=0”. Dacă directorul nu există în sistemul curent, apelul funcției perror va fi utilizat pentru a afișa mesajul de eroare respectiv, adică „directorul utilizatorului nu există. Am folosit o altă instrucțiune „dacă” folosind funcția chdir() din cadrul acesteia. Scopul utilizării funcției chdir() aici este, de asemenea, același ca și în declarația if de mai sus, care este pentru a verifica dacă directorul există sau nu folosind condiția „/temp”!=0. Singura diferență este utilizarea unui nou nume de director „/temp” în loc de „/user”, așa cum puteți vedea din imaginea de cod de mai jos.







Dacă directorul /temp nu există în sistem, funcția perror utilizată în instrucțiunea „if” ar arunca un mesaj de eroare „directorul /temp nu există”, așa cum este afișat din imaginea de mai jos. După utilizarea ambelor instrucțiuni „dacă”, am terminat acest cod cu instrucțiunea return 0 a lui C. Acum, programul s-a terminat. Am salvat codul nostru C folosind comanda rapidă Ctrl+S înainte de executarea acestuia.





Acum că fișierul a fost salvat în sistemul dumneavoastră, trebuie să compilam codul C cu compilatorul „gcc” pe care l-am montat deja la finalul nostru. Folosind această instrucțiune, am creat fișierul său obiect „p2.out” folosind opțiunea –o din instrucțiune.





După executarea fișierului obiect creat „p2.out” cu caracterele „./”, am aflat că ambele directoare menționate în calea „chdir” nu există în sistem sau eroarea afișată la shell a fost demonstrată. acesta în mod corespunzător.



Concluzie

În cadrul acestui articol de astăzi, am demonstrat utilizarea funcției chdir() a lui C în sistemul de operare Kali Linux. Primul exemplu ilustrează modul în care funcția chdir() poate fi utilizată pentru a schimba un director de lucru, adică pentru a trece dintr-un director în altul. Ultimul exemplu de C demonstrează cum putem verifica dacă directorul de lucru curent specificat în calea chdir() a existat sau nu.