Panggilan Sistem chdir Linux di C

Panggilan Sistem Chdir Linux Di C



Perubahan pada direktori kerja perangkat saat ini dibuat menggunakan metode 'CHDIR'. Dalam berbagai keadaan, Anda dapat memutuskan untuk mengubah folder kerja perangkat Anda saat ini. Atau Anda ingin menjalankan skrip C dari folder alih-alih direktori kerja Anda saat ini. Akibatnya, untuk menjalankan kode C tertentu, Anda harus memodifikasi folder kerja Anda saat ini. Selain itu, metode 'getcwd' dari bahasa pengkodean C dapat digunakan untuk menentukan dengan cepat kapan folder kerja saat ini telah berubah. Sekarang, kita akan menggunakan fungsi chdir() dari C dalam artikel ini untuk mengubah direktori kerja.

Contoh 01:

Mari kita mulai dengan cara kerja fungsi chdir() dari C di sistem operasi Linux. Untuk ini, Anda harus memastikan bahwa kompiler C sudah terpasang di akhir Anda. Dalam kebanyakan kasus, kami cenderung menggunakan kompiler 'gcc' dari C di sistem operasi Kali Linux kami. Untuk memulai dengan contoh ini, kita harus memiliki file C dengan ekstensi 'c'. Kami menamakannya p1.c dan mencoba membukanya dengan editor 'nano' Linux seperti yang disajikan di bawah ini.







Ketika file Anda dibuka di editor, Anda harus mulai membuat kode di dalamnya. Kami telah memulai program C kami dengan menambahkan pustaka header utama C yang harus dimiliki dalam program C apa pun. Oleh karena itu, pustaka header stdio.h dan unistd.h digunakan untuk memastikan bahwa input dan output standar dapat mengalir di dalam program. Header unistd.h telah digunakan untuk menggunakan beberapa fungsi standar C yang diperlukan untuk contoh ini khususnya. Sekarang, kita telah memulai fungsi driver main() dari C dalam kode ini untuk berjalan secara otomatis saat dieksekusi. Variabel array tipe karakter 'path' telah didefinisikan dengan ukuran 100 karena hanya menyimpan 100 nilai.



Pernyataan fungsi printf() telah digunakan untuk hanya mencetak folder direktori kerja saat ini dari file C ini menggunakan fungsi 'getcwd()'. Fungsi ini menggunakan variabel array 'path' dengan ukuran 100 untuk mendapatkan direktori kerja saat ini di dalamnya dan meneruskannya ke pernyataan fungsi printf() untuk ditampilkan. Sekarang, saatnya menggunakan fungsi chdir(). Kita dapat melewatkan karakter apa pun untuk menentukan apakah kita ingin bergerak maju dalam direktori atau bergerak mundur dalam direktori yang sama.



Jadi, kami telah mencoba karakter “..” dalam pernyataan fungsi chdir() untuk berpindah dari direktori kerja saat ini ke arah mundur yaitu satu tingkat di bawah direktori kerja saat ini. Perhatikan bahwa saat ini, kami telah bekerja di folder proyek dari direktori kerja 'Linux' utama kami dari sistem Kali Linux. Sekarang, kita berada di direktori 'Linux' alih-alih direktori 'proyek' setelah menggunakan fungsi 'chdir'. Sekarang, kami mencoba pernyataan fungsi “printf()” sekali lagi untuk menampilkan direktori kerja saat ini menggunakan fungsi “getcwd” di dalamnya. Program kami berakhir dengan pernyataan return 0.





Setelah menyimpan program C ini, kita perlu mengompilasinya menggunakan kompiler “gcc” yang telah kita konfigurasikan di akhir. Menggunakan instruksi gcc ini, kami telah membuat file objek dari file C ini bernama 'p1.out' menggunakan opsi –o seperti yang ditampilkan di bawah ini.



Sekarang, ketika Anda menjalankan file objeknya di terminal Linux Anda, pertama-tama Anda akan mendapatkan direktori kerja yang digunakan oleh program sebelum menggunakan fungsi chdir(). Setelah penggunaan fungsi chdir(), kami pindah ke satu direktori di bawah ini dan direktori 'home' tertentu ditampilkan.

Contoh 02:



Menggunakan pustaka header yang sama, kami telah memulai kode program ini. Di dalam fungsi main() program ini, kita telah menggunakan pernyataan “if” yang memanfaatkan fungsi chdir() di dalamnya.

Fungsi ini akan memeriksa apakah “/user” ada di sistem atau tidak dengan mengatur kondisi “/user!=0”. Jika direktori tidak ada di sistem saat ini, panggilan fungsi kesalahan akan digunakan untuk menampilkan pesan kesalahan masing-masing yaitu 'direktori pengguna tidak ada. Kami telah menggunakan pernyataan 'jika' lain menggunakan fungsi chdir() di dalamnya. Tujuan penggunaan fungsi chdir() di sini juga sama seperti yang kita lakukan pada pernyataan if di atas, yaitu untuk memeriksa apakah direktori tersebut ada atau tidak menggunakan kondisi “/temp”!=0. Satu-satunya perbedaan adalah penggunaan nama direktori baru '/ temp' alih-alih '/ pengguna' seperti yang Anda lihat dari gambar kode di bawah ini.







Jika direktori /temp tidak ada di sistem, fungsi perror yang digunakan dalam pernyataan 'jika' akan memunculkan pesan kesalahan '/temp direktori tidak ada' seperti yang ditampilkan dari gambar di bawah. Setelah penggunaan kedua pernyataan “jika”, kita telah mengakhiri kode ini dengan pernyataan C return 0. Sekarang, programnya sudah selesai. Kami telah menyimpan kode C kami menggunakan pintasan Ctrl+S sebelum dieksekusi.





Sekarang file telah disimpan di sistem Anda, kita harus mengkompilasi kode C dengan kompiler 'gcc' yang telah kita pasang di akhir kita. Dengan menggunakan instruksi ini, kami telah membuat file objeknya “p2.out” menggunakan opsi –o dalam instruksi.





Setelah mengeksekusi file objek yang dibuat 'p2.out' dengan karakter './', kami mengetahui bahwa kedua direktori yang disebutkan di jalur 'chdir' tidak ada di sistem atau kesalahan yang ditampilkan di shell telah menunjukkan itu dengan benar.



Kesimpulan

Dalam artikel ini hari ini, kami telah mendemonstrasikan penggunaan fungsi chdir() dari C di sistem operasi Kali Linux. Contoh pertama menggambarkan bagaimana fungsi chdir() dapat digunakan untuk mengubah direktori kerja yaitu, berpindah dari satu direktori ke direktori lain. Contoh terakhir dari C menunjukkan bagaimana kita dapat memeriksa apakah direktori kerja saat ini yang ditentukan di jalur chdir() telah ada atau tidak.