Siri RHCSA Cara Melaksanakan Fail dan Pengurusan Direktori - Bahagian 2

Siri RHCSA Cara Melaksanakan Fail dan Pengurusan Direktori - Bahagian 2

Dalam artikel ini, RHCSA Bahagian 2: Pengurusan fail dan direktori, kami akan mengkaji beberapa kemahiran penting yang diperlukan dalam tugas sehari-hari pentadbir sistem.

RHCSA: Melakukan Pengurusan Fail dan Direktori - Bahagian 2

Buat, Padam, Salin, dan Pindahkan Fail dan Direktori

Pengurusan fail dan direktori adalah kecekapan kritikal yang perlu dimiliki oleh setiap pentadbir sistem. Ini termasuk keupayaan untuk membuat / memadam fail teks dari awal (teras setiap konfigurasi program) dan direktori (di mana anda akan menyusun fail dan direktori lain), dan untuk mengetahui jenis fail yang ada.

Perintah sentuh boleh digunakan bukan sahaja untuk membuat fail kosong, tetapi juga untuk mengemas kini masa akses dan pengubahsuaian fail sedia ada.

Contoh perintah sentuh

Anda boleh menggunakan fail [nama fail] Untuk menentukan jenis fail (ini akan berguna sebelum melancarkan editor teks pilihan anda untuk mengeditnya).

Contoh arahan fail

dan rm [nama fail] untuk memadamkannya.

Contoh arahan RM

Bagi direktori, anda boleh membuat direktori di dalam laluan yang ada mkdir [direktori] atau membuat jalan penuh dengan mkdir -p [/penuh/laluan/ke/direktori].

Contoh perintah mkdir

Ketika datang untuk mengeluarkan direktori, anda perlu memastikan bahawa mereka kosong sebelum mengeluarkan rmdir [direktori] perintah, atau gunakan yang lebih kuat (mengendalikan dengan berhati -hati!) rm -rf [direktori]. Pilihan terakhir ini akan memaksa menghapuskan secara rekursif [Direktori] Dan semua kandungannya - jadi gunakannya dengan risiko anda sendiri.

Pengalihan input dan output dan pipelining

Persekitaran baris arahan menyediakan dua ciri yang sangat berguna yang membolehkan untuk mengalihkan input dan pengeluaran arahan dari dan ke fail, dan menghantar output arahan kepada yang lain, yang dipanggil pengalihan dan pipelining, masing -masing.

Untuk memahami kedua -dua konsep penting itu, kita mesti terlebih dahulu memahami tiga jenis aliran I/O (Input dan Output) yang paling penting (atau urutan) aksara, yang sebenarnya adalah fail khas, dalam pengertian perkataan *nix.

  1. Input standard (aka stdin) secara lalai dilampirkan ke papan kekunci. Dengan kata lain, papan kekunci adalah peranti input standard untuk memasukkan arahan ke baris arahan.
  2. Output standard (aka stdout) secara lalai dilampirkan pada skrin, peranti yang "menerima" output arahan dan memaparkannya di skrin.
  3. Kesalahan biasa (aka stderr), adalah di mana mesej status arahan dihantar secara lalai, yang juga skrin.

Dalam contoh berikut, output dari ls /var dihantar ke stdout (skrin), serta hasil LS /tecmint. Tetapi dalam kes yang terakhir, ia adalah stderr yang ditunjukkan.

Contoh input dan output

Untuk lebih mudah mengenal pasti fail khas ini, masing -masing diberikan deskriptor fail, perwakilan abstrak yang digunakan untuk mengaksesnya. Perkara penting untuk difahami adalah bahawa fail -fail ini, seperti yang lain, boleh dialihkan. Apa maksudnya ialah anda dapat menangkap output dari fail atau skrip dan menghantarnya sebagai input ke fail, arahan, atau skrip lain. Ini akan membolehkan anda menyimpan pada cakera, sebagai contoh, output arahan untuk pemprosesan atau analisis kemudian.

Untuk mengalihkan stdin (FD 0), stdout (FD 1), atau stderr (FD 2), pengendali berikut boleh didapati.

Pengendali pengalihan Kesan
> Mengalihkan output standard ke fail yang mengandungi output standard. Sekiranya fail destinasi wujud, ia akan ditimpa.
>> Mendiapkan output standard ke fail.
2> Mengalihkan ralat standard ke fail yang mengandungi output standard. Sekiranya fail destinasi wujud, ia akan ditimpa.
2 >> Mendiapkan ralat standard ke fail yang ada.
&> Mengalihkan kedua -dua output standard dan ralat standard ke fail; Sekiranya fail yang ditentukan wujud, ia akan ditimpa.
< Menggunakan fail yang ditentukan sebagai input standard.
Fail yang ditentukan digunakan untuk kedua -dua input standard dan output standard.

Berbanding dengan pengalihan, pipelining dilakukan dengan menambahkan bar menegak (|) selepas arahan dan sebelum yang lain.

Ingat:

  1. Pengalihan semula digunakan untuk menghantar output arahan ke fail, atau untuk menghantar fail sebagai input ke arahan.
  2. Pipelining digunakan untuk menghantar output arahan ke arahan lain sebagai input.

Contoh pengalihan dan pipelining

Contoh 1: Mengalihkan output arahan ke fail

Akan ada kalanya anda perlu melangkah ke atas senarai fail. Untuk berbuat demikian, anda boleh menyimpan senarai itu terlebih dahulu ke fail dan kemudian baca baris fail mengikut baris. Walaupun benar bahawa anda dapat melangkah ke atas output LS secara langsung, contoh ini berfungsi untuk menggambarkan pengalihan semula.

# ls -1 /var /mel> mel.txt 
Mengalihkan output arahan tot fail
Contoh 2: Mengalihkan kedua -dua stdout dan stderr ke /dev /null

Sekiranya kita mahu menghalang kedua -dua stdout dan stderr dipaparkan di skrin, kita boleh mengalihkan kedua -dua deskriptor fail ke /dev/null. Perhatikan bagaimana output berubah apabila pengalihan dilaksanakan untuk arahan yang sama.

# ls /var /tecmint # ls /var / /tecmint &> /dev /null 
Mengalihkan stdout dan stderr ouput ke /dev /null
Contoh 3: Menggunakan fail sebagai input ke arahan

Walaupun sintaks klasik perintah kucing adalah seperti berikut.

# kucing [fail (s)] 

Anda juga boleh menghantar fail sebagai input, menggunakan pengendali pengalihan yang betul.

# kucing < mail.txt 
Contoh arahan kucing
Contoh 4: Menghantar output arahan sebagai input kepada yang lain

Sekiranya anda mempunyai direktori besar atau penyenaraian proses dan ingin dapat mencari fail atau proses tertentu sekilas, anda akan mahu menyenaraikan penyenaraian kepada grep.

Perhatikan bahawa kami menggunakan saluran paip dalam contoh berikut. Yang pertama mencari kata kunci yang diperlukan, sementara yang kedua akan menghapuskan yang sebenarnya perintah grep dari hasilnya. Contoh ini menyenaraikan semua proses yang berkaitan dengan pengguna Apache.

# ps -ef | Grep Apache | grep -v grep 
Hantar output arahan sebagai input ke halaman lain: 1 2