ls
tidak memiliki pilihan untuk melakukan itu, tetapi salah satu hal yang menyenangkan tentang unix & linux adalah bahwa pipa yang bertele-tele dan tidak elegan dapat dengan mudah diubah menjadi skrip shell, fungsi, atau alias. dan ini, pada gilirannya, dapat digunakan dalam pipa seperti halnya program lainnya.
(CATATAN: ada beberapa masalah ruang lingkup dengan fungsi dan alias. Skrip tersedia untuk semua yang dapat dieksekusi yang dapat membaca dan mengeksekusi mereka. Alias dan fungsi hanya tersedia di shell saat ini - walaupun sub-shell .profile / .bashrc dll dapat mendefinisikan ulang mereka dan dengan demikian membuatnya tersedia. Juga, sebuah skrip dapat ditulis dalam bahasa apa pun - termasuk bash / sh, awk, perl, python, dan lainnya - yang mana yang terbaik untuk pekerjaan itu atau yang paling Anda kenal)
misalnya
alias lsf='find . -maxdepth 1 -type f -print0 | xargs -0r ls'
Saya telah menambahkan xarg sehingga Anda dapat menggunakan semua ls
opsi yang biasa digunakan , mislsf -lrS
Karena itu digunakan find
, semua dotfiles yang biasanya tersembunyi akan ditampilkan, dan semua nama file akan diawali dengan ./ - itu adalah satu-satunya perbedaan yang akan Anda perhatikan.
Anda dapat mengecualikan file dot dengan ! -iname '.*'
tetapi Anda harus memiliki dua versi alias - satu yang menampilkan file dot dan satu yang tidak.
alias lsf2='find . -maxdepth 1 -type f -a ! -iname '\''.*'\'' -print0 | xargs -0r ls'
Atau, jika lsf
skrip dan bukan alias, Anda dapat menguraikan opsi (mungkin dengan getopts atau / usr / bin / getopt atau serupa), dan mengecualikan dotfiles kecuali -a
ada.
find
perintah adalah cara terbaik untuk melakukan apa yang Anda inginkan. Untuk beberapa opsi lain yang andal, Anda harus melihat ke dalam perintah spesifik shell (dan itu adalah sesuatu yang portabel)!