Untuk menghilangkan kesalahan izin (dan semacamnya), Anda dapat mengarahkan ulang stderr ke mana-mana
find / -name "something" 2>/dev/null
"Sayangnya ini sepertinya hanya memeriksa direktori saat ini, bukan seluruh folder". Agaknya maksud Anda itu tidak terlihat di subdirektori. Untuk memperbaikinya, gunakan find -name "filename"
Jika file tersebut tidak ada dalam direktori kerja saat ini, Anda dapat mencari seluruh mesin Anda melalui
find / -name "filename"
Ini juga berfungsi dengan hal-hal seperti find / -name "*.pdf"
, dll. Kadang-kadang saya suka menyalurkannya ke dalam pernyataan grep juga (karena, setidaknya pada mesin saya, ini menyoroti hasilnya), jadi saya berakhir dengan sesuatu seperti
find / -name "*star*wars*" | grep star
Melakukan ini atau metode serupa hanya membantu saya menemukan nama file secara instan dan mengenali apakah itu memang file yang saya cari.
find
perintah akan memakan waktu lama, cara tercepat untuk mencari file menggunakan locate
perintah, yang mencari nama file (dan jalur) dalam database yang diindeks (diperbarui dengan perintah updatedb
).
Hasilnya akan langsung muncul dengan perintah sederhana:
locate {file-name-or-path}
Jika perintah tidak ditemukan, Anda perlu menginstal mlocate
paket dan jalankan updatedb
perintah terlebih dahulu untuk mempersiapkan database pencarian untuk pertama kalinya.
Lebih detail di sini:https://medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocate-locate-commands-55bf40b297ab
Jika perlu menemukan bersarang di beberapa direktori:
find / -type f -wholename "*dirname/filename"
Atau direktori yang terhubung:
find / -type d -wholename "*foo/bar"