Gunakan find
memerintah. Secara default, ini akan secara rekursif mencantumkan setiap file dan folder yang turun dari direktori Anda saat ini, dengan jalur (relatif) lengkap.
Jika Anda menginginkan jalur lengkap, gunakan:find "$(pwd)"
.
- Jika Anda ingin membatasinya hanya untuk file atau folder, gunakan
find -type f
ataufind -type d
, masing-masing. - Jika Anda ingin berhenti pada kedalaman direktori tertentu, gunakan
find -maxdepth 2
, misalnya.
Baca Menemukan Berkas untuk manual ekstensif tentang GNU find
, yang merupakan default di Linux.
$ pwd
/home/victoria
$ find $(pwd) -maxdepth 1 -type f -not -path '*/\.*' | sort
/home/victoria/new
/home/victoria/new1
/home/victoria/new2
/home/victoria/new3
/home/victoria/new3.md
/home/victoria/new.md
/home/victoria/package.json
/home/victoria/Untitled Document 1
/home/victoria/Untitled Document 2
$ find . -maxdepth 1 -type f -not -path '*/\.*' | sed 's/^\.\///g' | sort
new
new1
new2
new3
new3.md
new.md
package.json
Untitled Document 1
Untitled Document 2
Catatan:
.
:folder saat ini- hapus
-maxdepth 1
untuk menelusuri secara rekursif -type f
:cari file, bukan direktori (d
)-not -path '*/\.*'
:jangan kembalikan.hidden_files
sed 's/^\.\///g'
:hapus./
yang diawali dari daftar hasil
Untuk kelengkapan, ls -lR /
perintah akan mencantumkan nama setiap file, jenis file, bit mode file, jumlah tautan keras, nama pemilik, nama grup, ukuran, dan stempel waktu setiap file (yang Anda miliki izin untuk mengaksesnya) dari direktori root ke bawah. (l
adalah untuk daftar panjang yaitu semua info itu, R
adalah mengulang melalui direktori, /
dimulai dari root sistem file.)
Ada beberapa parameter untuk membuat info keluaran lebih dekat ke dir /S /A
, tetapi saya harus mengakui bahwa saya tidak dapat menemukan cara menerjemahkan /B
.
Untuk info yang berguna, saya akan mencoba:ls -lAFGR --si /
dimana
- l =daftar panjang (seperti yang disebutkan di atas)
- A =hampir semua file (tidak menyertakan . dan .. di setiap direktori, tetapi menampilkan semua file tersembunyi)
- F =tampilkan indikator file, (salah satu dari
*
untuk file exe,/
untuk direktori,@
untuk tautan simbolik,|
untuk FIFO,=
untuk soket, dan>
untuk di dalam ruangan) - G =jangan tampilkan info grup (hapus ini jika ingin melihatnya)
- R =daftar direktori (subdirektori) dan secara rekursif
- --si =tampilkan ukuran file dalam format yang dapat dibaca manusia misalnya format 1M (di mana 1M =1000B)
ls
dapat memberikan sinopsis direktori dan file yang lebih mudah dibaca di dalam direktori tersebut, seperti find
keluaran mungkin sulit untuk dipindai ketika file berada dalam struktur direktori yang sangat panjang (mencakup beberapa baris). Konsekuensinya adalah bahwa setiap file terdaftar dengan sendirinya (yaitu tanpa informasi jalur direktori) dan Anda mungkin harus kembali beberapa halaman/layar untuk menemukan direktori tempat file tertentu berada.
Selain itu, find tidak berisi informasi /A pada perintah DIR. Saya telah menyarankan sejumlah atribut dalam perintah yang saya tunjukkan (yang secara kebetulan menunjukkan kegunaan ekstra yang Anda dapatkan dari linux melalui sistem berpemilik tertentu), tetapi jika Anda membaca man
dan info
halaman di ls
, Anda akan dapat melihat apa yang harus disertakan atau tidak.