Dapatkan daftar semua file di folder dan sub-folder di file

28

Bagaimana cara saya mendapatkan daftar semua file dalam folder, termasuk semua file dalam semua subfolder dan memasukkan output ke dalam file?

Namshum
sumber

Jawaban:

39

Anda dapat melakukan ini pada baris perintah, menggunakan -R switch (rekursif) dan kemudian memipipkan output ke file dengan demikian:

ls -R > filename1

ini akan membuat file bernama filename1 di direktori saat ini, yang berisi daftar direktori lengkap dari direktori saat ini dan semua sub-direktori di bawahnya.

Anda dapat membuat daftar direktori selain dari yang sekarang dengan menentukan path lengkap mis:

ls -R /var > filename2

akan mencantumkan semua yang ada di dalam dan di bawah / var dan menempatkan hasilnya dalam file di direktori saat ini bernama filename2. Ini berfungsi pada direktori yang dimiliki oleh pengguna lain termasuk root selama Anda telah membaca akses untuk direktori.

Anda juga dapat mendaftar direktori yang tidak memiliki akses ke / root dengan menggunakan perintah sudo. misalnya:

sudo ls -R /root > filename3

Akan mencantumkan semuanya di / root, menempatkan hasilnya dalam file bernama filename3 di direktori saat ini. Karena sebagian besar sistem Ubuntu tidak memiliki apa pun di direktori ini, filename3 tidak akan berisi apa pun, tetapi akan berfungsi jika berhasil.

fabricator4
sumber
Mungkin memberitahu orang untuk memasukkan cd ke direktori terlebih dahulu dapat ditambahkan untuk menjawab. Juga ini berfungsi dengan baik jika saya memiliki direktori tetapi jika mencoba dalam direktori katakan milik root itu tidak. Saya mendapat izin yang biasa ditolak dan sudo diikuti oleh perintah Anda juga memberi izin ditolak. APAKAH ada pekerjaan di sekitar tanpa masuk sebagai root?
damien
Yah aku memang mengatakan direktori "saat ini". Penggunaan CD yang benar mungkin menjadi subjek pertanyaan lain, dan saya yakin sudah. Anda dapat mendaftar direktori yang dimiliki oleh root selama Anda memiliki akses baca ke sana. Direktori yang dimiliki oleh root yang aksesnya dapat dibaca oleh pengguna dapat dicantumkan dengan ls -R. Sulit membayangkan mengapa Anda ingin membuat daftar direktori yang dimiliki oleh root yang Anda tidak memiliki akses baca, tetapi sudo memang berfungsi jika Anda memberikan path lengkap. Saya menambahkan contoh untuk kedua hal ini, tetapi tidak termasuk penggunaan CD.
fabricator4
8

pohon Instal pohon

Alternatif untuk rekursif lsadalah alat baris perintah treeyang datang dengan cukup banyak opsi untuk menyesuaikan format output yang diputar. Lihat halaman manual untuk pohon untuk semua opsi.

Takkat
sumber
7

Cukup gunakan findperintah dengan nama direktori. Misalnya untuk melihat file dan semua file dalam folder di direktori home Anda, gunakan

find ~

Periksa manual manual find untuk mengetahui findperintahnyaIkon halaman manual

Juga periksa temukan halaman info GNU dengan menggunakan info findperintah di terminal.

Anwar
sumber
Ini adalah pendekatan yang paling kuat. findmemiliki banyak parameter untuk menyesuaikan format output dan pemilihan file.
pauljohn32
Itu pendekatan terbaik menurut saya. Sederhana dan praktis. Bisa juga dilakukan $ find . > outputjika ada banyak direktori.
felippe
4

Juga:

gvfs-tree /path/to/folder/

akan memberi Anda sama seperti pohon menggunakan karakter lain untuk garis.

tree -a

untuk menampilkan file tersembunyi juga

tree -i

untuk tidak menampilkan garis

Pili Garcia
sumber
1
  1. Buka folder tempat Anda ingin mendapatkan daftar konten.
  2. Pilih file yang Anda inginkan dalam daftar Anda ( Ctrl+ Ajika Anda ingin seluruh folder).
  3. Salin konten dengan Ctrl+ C.
  4. Buka gedit dan rekatkan konten menggunakan Ctrl+ V. Ini akan disisipkan sebagai daftar dan Anda kemudian dapat menyimpan file.

Metode ini tidak akan menyertakan subfolder, konten.

Roy van Arem
sumber
1

Anda juga bisa menggunakan mitra GUI untuk treesaran Takkat yaitu Baobab . Ini digunakan untuk melihat folder dan subfolder, seringkali untuk keperluan menganalisis penggunaan disk. Anda mungkin sudah menginstalnya jika Anda menggunakan desktop GNOME (sering disebut penganalisis penggunaan disk).

sudo apt-get install baobab

Anda dapat memilih folder dan juga melihat semua subfoldernya, sambil juga mendapatkan ukuran folder dan isinya seperti yang ditunjukkan tangkapan layar di bawah ini. Anda tinggal mengklik panah kecil ke bawah untuk melihat subfolder di dalam folder. Ini sangat berguna untuk mendapatkan wawasan singkat tentang apa yang Anda miliki di folder Anda dan dapat menghasilkan daftar yang dapat dilihat, tetapi pada saat ini tidak dapat mengekspornya ke file. Ini telah diminta sebagai fitur, di Launchpad . Anda bahkan dapat menggunakannya untuk melihat sistem file root jika Anda menggunakannya gksudo baobab.

(Anda juga bisa mendapatkan daftar file dengan ukurannya dengan menggunakan ls -shR ~/myfolderdan kemudian mengekspornya ke file.)

Masukkan deskripsi gambar di sini

Peter Mortensen
sumber
OP menginginkan hasil dalam file, mungkin untuk melakukan sesuatu yang lain dengannya. Walaupun Baobab adalah alat yang bagus, sepertinya itu tidak memenuhi persyaratan dari pertanyaan awal OP.
fabricator4
@ fabricator4 Saya juga menambahkan opsi ls, karena baobab saat ini tidak dapat menampilkan daftar.