Menemukan file dari baris perintah di Linux jauh lebih mudah dan lebih cepat. Kami telah membahas cara menemukan dan mengurutkan file berdasarkan akses dan tanggal serta waktu modifikasi . Hari ini, kita akan melihat cara menemukan file berdasarkan izinnya di Linux dan sistem operasi mirip Unix.
Untuk tujuan panduan ini, saya akan membuat tiga file yaitu file1
, file2
dan file3
dengan izin 777
, 766
, 655
masing-masing dalam folder bernama ostechnix
.
$ mkdir ostechnix && cd ostechnix/
$ install -b -m 777 /dev/null file1
$ install -b -m 766 /dev/null file2
$ install -b -m 655 /dev/null file3
Sekarang mari kita cari file berdasarkan izinnya.
Menemukan file berdasarkan izinnya
Sintaks umum untuk menemukan file berdasarkan izinnya adalah:
$ find -perm mode
MODE
dapat berupa numerik atau oktal izin (seperti 777
, 666
, ... dll) atau izin simbolis (seperti u=x
, a=r+x
).
Kita dapat menentukan MODE
dalam tiga cara berbeda seperti yang tercantum di bawah ini.
- Jika kita menentukan mode tanpa awalan apa pun, itu akan menemukan file yang tepat izin.
- Jika kita menggunakan
"-"
awalan dengan mode, setidaknya file harus memiliki izin yang diberikan, bukan izin yang tepat. - Jika kita menggunakan
"/"
awalan, baik pemilik, grup, atau lainnya harus memiliki izin ke file.
Izinkan saya untuk menjelaskan dengan beberapa contoh, sehingga Anda dapat memahami lebih baik.
Pertama, kita akan melihat menemukan file berdasarkan izin numerik.
Menemukan file berdasarkan izin numerik (oktal)
Sekarang biarkan saya menjalankan perintah berikut:
$ find -perm 777
Perintah ini akan menemukan file dengan izin tepatnya 777 di direktori saat ini.
Seperti yang Anda lihat pada output di atas, file1 adalah satu-satunya yang memiliki izin 777 yang tepat .
Sekarang, mari kita gunakan "-"
awalan dan lihat apa yang terjadi.
$ find -perm -766
Seperti yang Anda lihat, perintah di atas menampilkan dua file. Kami telah menetapkan 766
izin untuk file2
, tetapi perintah ini menampilkan dua file, mengapa? Karena, di sini kita telah menggunakan "-"
awalan. Ini berarti bahwa perintah ini akan menemukan semua file di mana pemilik file memiliki izin baca/tulis/eksekusi, anggota grup file memiliki izin baca/tulis dan yang lainnya juga memiliki izin baca/tulis. Dalam kasus kami, file1
dan file2
telah memenuhi kriteria ini. Dengan kata lain, file tidak perlu memiliki izin 766 yang tepat. Ini akan menampilkan file apa pun yang termasuk dalam izin 766 ini.
Selanjutnya, kita akan menggunakan "/"
awalan dan lihat apa yang terjadi.
$ find -perm /222
Perintah di atas akan menemukan file yang dapat ditulis oleh seseorang (baik pemiliknya, atau grupnya, atau orang lain). Ini contoh lain.
$ find -perm /220
Perintah ini akan menemukan file yang dapat ditulis oleh pemiliknya atau grupnya. Itu berarti file tidak harus dapat ditulis oleh baik pemilik maupun grup untuk dicocokkan; salah satu akan melakukannya.
Tetapi jika Anda menjalankan perintah yang sama dengan "-"
awalan, Anda hanya akan melihat file yang dapat ditulis oleh pemilik dan grup.
$ find -perm -220
Tangkapan layar berikut akan menunjukkan kepada Anda perbedaan antara dua awalan ini.
Seperti yang sudah saya katakan, kita juga dapat menggunakan notasi simbolik untuk mewakili izin file.
Temukan file berdasarkan izinnya menggunakan notasi simbolik
Dalam contoh berikut, kami menggunakan notasi simbolik seperti u ( untuk pengguna), g (grup), o (yang lain). Kita juga bisa menggunakan huruf a untuk mewakili ketiga kategori ini. Izin dapat ditentukan menggunakan huruf r (baca), dengan (tulis), x (dapat dieksekusi).
Misalnya, untuk menemukan file apa pun dengan grup tulis izin, jalankan:
$ find -perm -g=w
Seperti yang Anda lihat pada contoh di atas, file1
dan file2
memiliki grup tulis izin. Harap diperhatikan bahwa Anda dapat menggunakan "="
atau "+"
operator untuk notasi simbolik. Misalnya, dua perintah berikut akan melakukan hal yang sama.
$ find -perm -g=w $ find -perm -g+w
Untuk menemukan file apa pun yang dapat ditulis oleh pemilik file, jalankan:
$ find -perm -u=w
Untuk menemukan file apa pun yang dapat ditulis oleh semua (pemilik file, grup, dan semua orang lainnya), jalankan:
$ find -perm -a=w
Untuk menemukan file yang dapat ditulis oleh keduanya pemilik . mereka dan grup their mereka , gunakan perintah ini:
$ find -perm -g+w,u+w
Perintah di atas setara dengan "find -perm -220"
perintah.
Untuk menemukan file yang dapat ditulis oleh salah satu pemilik . mereka atau grup their mereka , jalankan:
$ find -perm /u+w,g+w
Atau,
$ find -perm /u=w,g=w
Kedua perintah ini melakukan pekerjaan yang sama seperti "find -perm /220"
perintah.
Untuk detail lebih lanjut, lihat halaman manual.
$ man find
Juga, periksa alternatif halaman manual untuk mempelajari contoh perintah Linux yang lebih disederhanakan.
Bacaan terkait:
- Cara Menemukan Direktori Dan File Terbesar Dan Terkecil Di Linux
- Cara Menemukan File Terlama Di Pohon Direktori Di Linux
- Cara Menemukan File Yang Lebih Besar Atau Lebih Kecil Dari Ukuran X Di Linux