Yükleme coreutilsHomebrew ve takma adla lliçin gls -Flh --group-directories-firstyerine.
brew install coreutils kurulu değilse GNU Coreutils'i kurar .
- Kullan
alias ll='gls -Flh --group-directories-first'içinde .bashrc.
(Aynı .bashrcdosyayı her iki işletim sisteminde de kullanmak istiyorsanız , aşağıya bakın.)
Ubuntu'da, Ubuntu'nun her zaman sahip olduğu lsGNU Coreutils tarafından sağlanır . Bu yüzden Ubuntu'da lsdestekler --group-directories-first. Muhtemelen daha önce MacOS'un GNU Coreutils sürümünü lsde kullanıyordunuz, Homebrew'un yüklediği, glsancak lsçeşitli şekillerde kullanılabilir hale getirilebildiği .
lsBash yerleşkesi değil harici bir komuttur. Bash'in farklı bir sürümünü veya derlemesini kullanmak onu etkilememelidir. Bash'i Homebrew kullanarak yükselttiğinizde ne olduğundan emin değilim. Belki de Bash'den daha fazlası yükseltildi; belkilsdeğiştirilen bir genel yapılandırma dosyasında tanımlanmışbirkabuk işleviniz veya takma adınızvardı; belkilsişaret edenglsve üzerine yazılmışsembolik bir bağınızvardı; belki hala böyle bir şey var ama senin$PATHdeğişti. Ne olursa olsun, GNU Coreutils lsdestekliyor--group-directories-first ve ona ( bmike'ın önerdiğine göre )geçiş yapmaksorununuzu çözmeli .
Herhangi bir nedenle aynı .bashrcdosyayı her iki sistemde de kullanmak istiyorsanız , birkaç olası yaklaşım vardır. glsUbuntu sisteminizde bir sembolik bağlantı, sarmalayıcı komut dosyası, kabuk işlevi veya (Bash takma adı genişletmesi yinelemesiz olduğu için) kabuk takma adı oluşturabilirsiniz . Ama bunun yerine önermek OS kullanılıyor denetimi içinde .bashrc. Her llsistemde farklı bir takma ad tanımlasanız da, bu yaklaşım kendi kendini belgeleme avantajına sahiptir. Sizin .bashrcbir yılda sana mantıklı, veya bir ay yapacak.
if [ "$OSTYPE" == linux-gnu ]; then # Is this the Ubuntu system?
alias ll='ls -Flh --group-directories-first'
else
alias ll='gls -Flh --group-directories-first'
fi
Veya takma adı lskullanmasanız bile genellikle Coreutils'i çalıştırmayı tercih ederseniz , llaşağıdakiler için lsbir takma ad yapabilirsiniz gls:
if [ "$OSTYPE" != linux-gnu ]; then # Is this the macOS system?
alias ls=gls
fi
alias ll='ls -Flh --group-directories-first'
(Teşekkürler gitmek soroushjp için bir hata yakalama bu komut dosyasının önceki bir sürümünde.)
lsveya MacOSls? Diğerini denedin mi?