Tidak yakin tentang ls, tetapi Anda dapat dengan mudah melakukannya dengan fileperintah: file /directory/containing/the/files -maxdepth 1 -not -type d.
Henning Kockerbeck
1
Cara lain adalah dengan memfilter keluaran lsmelalui grep, sesuatu seperti ls -1F /directory/containing/the/files | grep -vE /$. Tapi ketahuilah bahwa mem-parsing output ls bisa rumit .
Menggunakan ls -pkirim lsuntuk menambahkan garis miring ke entri yang merupakan direktori, dan menggunakan grep -v /kirim grepuntuk mengembalikan garis yang tidak mengandung garis miring.
Saya memeriksa yang ini karena ini adalah jawaban favorit saya (sementara saya melakukan upvote semuanya), tetapi sekarang mencoba menemukan cara untuk meletakkannya di kolom dan membalik urutan output ...
Thinkinbinary
"Anda dapat menggunakan 1 sakelar untuk daftar kolom tunggal" maaf, saya memang mencoba mencari tahu apa yang Anda maksud dengan itu, saya akan menghargai dan memberi contoh / penjelasan jika Anda mau, saya hanya tahu saklar apa yang berkaitan dengan pemrograman C
pikirinbiner
@ skdkks Anda tidak perlu 1sakelar saat memipakan output karena akan default ke satu kolom dalam situasi itu. Jika itu yang Anda maksud.
thomasrutter
@thinksinbinary tidak yakin bagaimana membuatnya multi-kolom tetapi Anda bisa mencari atau mengajukan pertanyaan Anda sendiri dan seseorang akan tahu.
thomasrutter
7
Anda dapat mencoba ini:
find . -maxdepth 1 -not -type d
Dan petakan ini ke alias khusus.
Tetapi jika Anda benar-benar ingin menggunakan lsperintah, di sini:
Saya melihat dalam komentar (@thinksinbinary) Anda pada jawaban oleh @thomasrutter, bahwa Anda ingin dapat mencetaknya dalam urutan terbalik dan dalam kolom. Anda mungkin sudah menemukan atau pindah, tetapi ini dia:
ls -pr | grep -v / | column
-p menambahkan garis miring ('/') ke nama direktori
-r membalik urutan output
-v memungkinkan grep melakukan pencarian terbalik untuk mencetak semuanya kecuali direktori ( semua yang tidak memiliki tanda '/' yang -p diletakkan di sana )
Saya pikir itu keren bahwa di forum ubuntu orang masih berkomentar dan membaca posting Anda setelah waktu yang lama. Saya sudah ingin kembali ke linux untuk belajar sistem perakitan dan operasi karena melakukannya pada windows jauh lebih sulit. Terima kasih!
Thinkinbinary
0
ls -F | grep -v /
Perintah di atas menampilkan file, Tapi itu termasuk symlink, pipa, dll. Jika Anda ingin menghilangkannya juga, Anda dapat menggunakan salah satu dari bendera yang disebutkan di bawah ini.
ls -Fmenambahkan simbol ke nama file. Simbol-simbol ini menunjukkan informasi yang berguna tentang file.
ls
, tetapi Anda dapat dengan mudah melakukannya denganfile
perintah:file /directory/containing/the/files -maxdepth 1 -not -type d
.ls
melaluigrep
, sesuatu sepertils -1F /directory/containing/the/files | grep -vE /$
. Tapi ketahuilah bahwa mem-parsing output ls bisa rumit .Jawaban:
Menggunakan
ls -p
kirimls
untuk menambahkan garis miring ke entri yang merupakan direktori, dan menggunakangrep -v /
kirimgrep
untuk mengembalikan garis yang tidak mengandung garis miring.sumber
1
sakelar saat memipakan output karena akan default ke satu kolom dalam situasi itu. Jika itu yang Anda maksud.Anda dapat mencoba ini:
find . -maxdepth 1 -not -type d
Dan petakan ini ke alias khusus.
Tetapi jika Anda benar-benar ingin menggunakan
ls
perintah, di sini:ls -p | egrep -v /$
sumber
Kalau tidak:
Metode ini tercantum dalam
-l
Format daftar panjang-A
Menampilkan hampir semua (tampilkan file tersembunyi tetapi jangan tampilkan.
dan..
)-h
Ukuran file yang dapat dibaca manusiasambil grep
-v
Jangan tampilkan catatan yang cocokRegular expression
filter^d
- Mereka mulai dengan huruf d (untuk direktori) yaitudrwxrwxr-x <some file details> <foldername>
Jika Anda tidak ingin mengetik setiap waktu, Anda dapat membuatnya menjadi alias untuk profil bash / shell Anda.
sumber
Saya melihat dalam komentar (@thinksinbinary) Anda pada jawaban oleh @thomasrutter, bahwa Anda ingin dapat mencetaknya dalam urutan terbalik dan dalam kolom. Anda mungkin sudah menemukan atau pindah, tetapi ini dia:
sumber
Perintah di atas menampilkan file, Tapi itu termasuk symlink, pipa, dll. Jika Anda ingin menghilangkannya juga, Anda dapat menggunakan salah satu dari bendera yang disebutkan di bawah ini.
ls -F
menambahkan simbol ke nama file. Simbol-simbol ini menunjukkan informasi yang berguna tentang file.@
berarti tautan simbolik (atau file memiliki atribut yang diperluas ).*
berarti dapat dieksekusi .=
berarti soket .|
berarti pipa bernama .>
berarti pintu ./
berarti direktori .Perintah di atas hanya menampilkan file.
sumber