GNU/Linux >> Belajar Linux >  >> Ubuntu

Apa yang Dikembalikan Perintah Ls -al .*?

Apakah itu menunjukkan nama file tersembunyi di dalam semua direktori? Atau hanya direktori saat ini (termasuk direktori apa pun di dalamnya)? Saya tidak mengerti mengapa ls -ld .* mengembalikan hasil yang berbeda (ini menunjukkan file dan direktori tersembunyi HANYA di direktori saat ini, tidak menampilkan file di dalam direktori lain di dalamnya)? Juga Apa -d lakukan sendiri (ls -d )?

Jawaban yang Diterima:

ls -al .* menunjukkan isi dari semua direktori di direktori saat ini yang namanya dimulai dengan . (yaitu semua yang cocok dengan shell glob .* )

Di Bash, .* glob memutuskan untuk . dan .. demikian juga. Sejak . mewakili direktori saat ini, dan .. direktori induk, konten dari kedua direktori ini, termasuk file dan direktori tersembunyi, juga akan ditampilkan.

.* juga menangkap file tersembunyi di direktori saat ini, tetapi tetap terdaftar sebagai konten .

Seperti yang dijelaskan dalam Apa kepanjangan dari `ls –directory`? -d flag menyebabkan direktori itu sendiri yang ditampilkan, bukan isinya.

ini juga terjadi di tanda hubung, yang merupakan shell yang disinkronkan dengan sh di Ubuntu. Namun, shell lain, termasuk zsh dan mksh, berperilaku lebih intuitif dan tidak menyertakan . dan .. saat memperluas .* . Perlu juga dicatat bahwa, sementara sebagian besar perintah akan beroperasi pada .. dan . ketika mereka dimasukkan dalam .* glob (termasuk chmod dan chown – Anda benar-benar dapat mengacaukan sistem Anda dengan itu), rm perintah akan membantu gagal dengan desain untuk melakukannya.


Ubuntu
  1. Apa yang Dilakukan "lc_all=c"?

  2. Apa Arti Ukuran Direktori Dalam Output Perintah 'ls -l'?

  3. Apa yang Digema $? Mengerjakan??

  1. Apa. ~/.bashrc Perintah Lakukan??

  2. Apa yang dikembalikan malloc(0)?

  3. Apa yang dilakukan -e dalam bash shebang?

  1. Apa yang dilakukan `exec [email protected]`?

  2. Apa arti NT_STATUS_BAD_NETWORK_NAME di Samba?

  3. Apa arti akhiran .d di Linux?