Cara melihat file tersembunyi menggunakan perintah Linux `find`

19

Di server Linux, saya perlu menemukan semua file dengan ekstensi file tertentu di direktori saat ini dan semua sub-direktori.

Sebelumnya, saya selalu menggunakan perintah berikut:

find . -type f | grep -i *.php

Namun , itu tidak menemukan file tersembunyi, misalnya .myhiddenphpfile.php . Berikut ini menemukan file-file php yang disembunyikan, tetapi yang non-tersembunyi:

find . -type f | grep -i \.*.php

Bagaimana saya bisa menemukan file php yang tersembunyi dan tidak tersembunyi dalam perintah yang sama?

Tom
sumber
1
Anda tahu bahwa "kembali" dalam "grep" berarti "ekspresi reguler", bukan? Saya tidak tahu bagaimana seharusnya baris perintah itu bekerja ...
Ignacio Vazquez-Abrams

Jawaban:

25

...

find . -type f -name '*.php'
Ignacio Vazquez-Abrams
sumber
0

Masalahnya adalah grep, bukan menemukan (coba hanya find . -type funtuk melihat apa yang saya maksud).

Jika Anda tidak mengutip *maka shell akan mengembangkannya - sebelum grep melihat argumen baris perintahnya; karena shell tidak menemukan file tersembunyi secara default, Anda akan memiliki masalah.

Alasannya hanya menemukan file yang tersembunyi adalah karena shell telah memperluas *dan jadi grep hanya cocok dengan satu file itu.

Rasputnik
sumber