Yanıtlar:
ls
Kendi içinde basit bir eşdeğeri yoktur , ancak less
herhangi bir komutun çıktısını ayrı sayfalar halinde biçimlendiren, satır veya sayfaya göre kaydırılabilen bir yardımcı program vardır :
ls -C | less
-C
Tetikleyici sütun görüntüleme nerede . Kullanım lah
argümanlar olarak ( ls -lah
) bir elde etmek l ile satırlı bir gösterge ine bir ll dosyaları görüntülenen ve (gizli olanlar dahil) h okunabilir filesizes Uman.
Renklerin düzgün görünmesini sağlamak için, --color=always
argümanı eklemelisiniz ls
, ve -R
argümanı daha azına * ekleyin :
ls -C --color=always | less -R
bu 'ls -ah --color = her zaman | daha az -R '
Aksine more
, less
sen çıkış ilerlemek izin verir. Ayrıca çok büyük listeler için biraz daha hızlı.
Boru şöyle çalışır:
Her programın giriş ve çıkışı vardır, bir boru bir programın (ls) çıkışını başka bir programın girişine (daha az) yönlendirir. Ve daha az basitçe, daha sonra biçimlendirdiği girişi bekler.
Daha eski bir okul dos eşdeğeri pg
:
ls | pg
Ayrıca
ls | head
veya ls | tail
düğmesini kullanın.watch "ls"
değişiklikleri izlemek için bunu her birkaç saniyede bir güncelleyerek, Ekranı açık tutmak içinbanner $(ls)
Ekrandan çok uzakta oturuyorsanız kullanın . (;Bunların hepsini hatırlamak için çok uzun bulursanız, bunun için bir takma ad ayarlayabilirsiniz :
~/.bash_aliases
Bir metin editörüyle açın ve buna benzer bir şey ekleyin:
alias lsp="ls -ah --color=always | less -R"
(Bu, her yeni sanal terminal başlatıldığında çalıştırılan bir betiktir, tüm kalıcı takma adlarınızı orada ayarlamalısınız)
Şimdi sadece yazabilir lsp
veya seçtiğiniz adı yazabilirsiniz .
Takma adınıza daha fazla argüman iletebilmek istiyorsanız , bunun yerine bir fonksiyon tanımlamamız gerekir :
lsp(){ ls -ah --color=always "$@" | less -R; }
Bir fonksiyon, esas itibariyle bu gibi bakarak: name(){ commands; };
argümanlar, kabul edebilir $1
, $2
, $3
vb. "varsa her argüman"$@
anlamına gelir .
Artık böyle bir şey çalıştırabilir lsp *.py
, lsp -C
vb. Argümanları ls'ye iletildikleri noktaya yerleştiririz. Önemli komut olsa, daha azına $ * koyabilirdik. Tüm argümanları man ls
(okunmaya değer) olarak görebilirsiniz.
*: Bunun sebebi, ne zaman bir boru taktıysanız, renk gösteremeyen bir Terminal (aslında diğer program) algılamasıdır. "--color = always", bunu görmezden gelmeye zorlar. -R anahtarı , renkleri düzgün bir şekilde çıkaran ekranı daha az boyamanızı sağlar .
$*
ve $@
aynı şeyi yapın. Onlar için genişler $1 $2 $3 ...
. Bununla birlikte alıntılanan, "$@"
genişlemeye devam "$1" "$2" "$3" ...
ederken "$*"
genişler "$1 $2 $3 ..."
(yani, IFS
ayırıcı olarak ilk karakteri kullanarak tüm argümanlar bir dizgeye dönüşür ). mywiki.wooledge.org/BashGuide/Parameters