Linux CHDIR System wywołanie w C

Linux CHDIR System wywołanie w C
Zmiany w obecnym katalogu roboczym urządzenia są wprowadzane za pomocą metody „CHDIR”. W różnych okolicznościach możesz zdecydować o zmianie obecnego folderu urządzenia. Lub chcesz uruchomić skrypt C z folderu zamiast obecnego katalogu roboczego. W związku z tym, aby uruchomić ten konkretny kod C, musisz zmodyfikować swój obecny folder roboczy. Dodatkowo metoda „getCWD” języka kodowania c może być użyta do szybkiego ustalenia, kiedy zmieni się obecny folder roboczy. Teraz będziemy używać funkcji CHDIR () C w tym artykule, aby zmienić katalog roboczy.

Przykład 01:

Zacznijmy od funkcji CHDIR () C w systemie operacyjnym Linux. W tym celu musisz upewnić się, że kompilator C jest już zamontowany na twoim końcu. W większości przypadków zwykle używamy kompilatora „GCC” w naszym systemie operacyjnym Kali Linux. Aby rozpocząć od tego przykładu, musimy mieć plik C z rozszerzeniem „C”. Nazwaliśmy to P1.C i próbowałem otworzyć go z redaktorem Linux „Nano”, jak przedstawiono poniżej.

Kiedy plik zostanie otwarty w edytorze, musisz zacząć w nim kodować. Rozpoczynamy nasz program C, dodając główne biblioteki nagłówka C, które są obowiązkowymi w dowolnym programie C. Dlatego Stdio.H i Unistd.H Biblioteki nagłówka są używane, aby upewnić się, że standardowe wejście i wyjście mogą przepływać w programie. Unistd.Nagłówek H został wykorzystany do wykorzystania niektórych standardowych funkcji C, które są wymagane dla tego przykładu. Teraz rozpoczęliśmy funkcję sterownika Main () w tym kodzie, aby działać automatycznie podczas wykonywania. Zmienna tablicy typu znaków „ścieżka” została zdefiniowana z rozmiarem 100, ponieważ przechowuje tylko 100 wartości.

Instrukcja funkcji printf () została użyta do po prostu wydrukowania bieżącego folderu katalogu roboczego tego pliku C za pomocą funkcji „getCwd ()”. Ta funkcja wykorzystuje zmienną tablicy „ścieżki” z rozmiarem 100, aby uzyskać w niej bieżący katalog roboczy i przekazać ją do instrukcji funkcji printf () do wyświetlania. Teraz czas użyć funkcji chdir (). Możemy przekazać dowolne znaki, aby określić, czy chcemy iść naprzód w katalogu, czy poruszać się w kierunku wstecznym w tym samym katalogu.

Wypróbowaliśmy więc znaki „…” w instrukcji funkcji chdir (), aby przejść z obecnego katalogu roboczego w kierunku wstecznym i.mi. jeden poziom poniżej obecnego katalogu roboczego. Zauważ, że teraz pracowaliśmy w folderze projektu naszego głównego katalogu roboczego „Linux” systemu Kali Linux. Teraz jesteśmy w katalogu „Linux” zamiast katalogu „Project” po użyciu funkcji „CHDIR”. Teraz ponownie wypróbowaliśmy instrukcję funkcji „printf ()”, aby wyświetlić bieżący katalog roboczy za pomocą funkcji „getCwd”. Nasz program kończy się na instrukcji zwrotu 0.

Po zapisaniu tego programu C musimy go skompilować za pomocą kompilatora „GCC”, który już skonfigurowaliśmy na końcu. Korzystając z tej instrukcji GCC, utworzyliśmy plik obiektowy tego pliku C o nazwie „P1.OUT „Korzystanie z opcji -O, jak wyświetlono poniżej.

Teraz, kiedy uruchamiasz jego plik obiektu w terminalu Linux, najpierw otrzymasz katalog roboczy użyty przez program przed użyciem funkcji chdir (). Po użyciu funkcji chdir () przenieśliśmy się do jednego katalogu poniżej i wyświetlany jest ten konkretny katalog „dom”.

Przykład 02:

Korzystając z tych samych bibliotek nagłówka, rozpoczęliśmy ten kod programu. W ramach tego programu main () używamy instrukcji „If” przy użyciu funkcji chdir ().

Ta funkcja będzie sprawdzać, czy „/użytkownik” istnieje w systemie, czy nie, ustawiając warunek „/użytkownik!= 0 ”. Jeśli katalog nie istnieje w bieżącym systemie, wywołanie funkcji Perror zostanie użyte do wyświetlania odpowiedniego komunikatu o błędzie i.E „Katalog użytkowników nie istnieje. Korzystaliśmy z innej instrukcji „If” za pomocą funkcji chdir (). Cel użycia funkcji chdir () tutaj jest również taki sam, jak w powyższym instrukcji IF, czyli do sprawdzenia, czy katalog istnieje, czy nie używa „/temp”!= 0 Warunek. Jedyną różnicą jest użycie nowej nazwy katalogu „/temp” zamiast „/użytkownika”, jak widać z poniższego obrazu kodu.

Jeśli katalog /temp nie istnieje w systemie, funkcja Perror używana w instrukcji „If” wyrzuciłaby komunikat o błędzie „ /Directory nie istnieje”, jak wyświetlono z poniższego obrazu. Po użyciu zarówno instrukcji „IF”, zakończyliśmy ten kod z instrukcją zwrotu C. Teraz program się skończył. Zapisaliśmy nasz kod C za pomocą skrótu Ctrl+S przed jego wykonaniem.

Teraz, gdy plik został zapisany w twoim systemie, musimy skompilować kod C z kompilatorem „GCC”, który już zamontowaliśmy na końcu. Korzystając z tej instrukcji, tworzyliśmy jego plik obiektu „P2.OUT „Korzystanie z opcji -O w instrukcji.

Po wykonaniu utworzonego pliku obiektu „P2.na zewnątrz ”z„./„Znaki, dowiedzieliśmy się, że oba katalogi wymienione na ścieżce„ chdir ”nie istnieją w systemie lub błąd wyświetlany w skorupce, pokazuje to prawidłowo.

Wniosek

W dzisiejszym artykule wykazaliśmy zastosowanie funkcji CHDIR () C w systemie operacyjnym Kali Linux. Pierwszy przykład ilustruje, w jaki sposób funkcję chdir () można wykorzystać do zmiany katalogu roboczego i.mi., Przejdź z jednego katalogu do drugiego. Ostatni przykład C pokazuje, w jaki sposób możemy sprawdzić, czy obecny katalog roboczy określony na ścieżce chdir () istnieje, czy nie.