Я использую сервер Ubuntu с помощью локального доступа только SSH, но когда я выхожу dir
управляйте всем, что я получаю, единственный список файлов и папок без деталей, но использования dir -l
дает мне длинный список, но тем не менее ничто по сравнению с использованием ls -l
который показывает цвета, соответствующие с полномочиями, как я получаю то же самое использование дисплея dir
, не имея необходимость продолжать добавлять переключатели командной строки? такой как dir -l
.
Ранее, использование dir
показал бы длинный список автоматически, но со временем и множество обновлений, автоматический дисплей длинного списка dir
нет ли теперь.
Можно добавить псевдоним к .bashrc, чтобы сказать оболочке на сервере работать ls -l
каждый раз, когда Вы вводите dir
, в основном, просто следующая строка:
alias dir='ls -l'
Сохраните и выйдите, затем работайте source .bashrc
перезагружать.
Если Вы собираетесь сделать dir
псевдоним, я предлагаю alias dir='dir --color=auto -l'
. Это - вероятно, поведение, которое Вы ищете. Это обладает преимуществом поддержания других аспектов как dir
отличается от ls
, и не надежды или - ни даже быть затронутым - любым ls
псевдоним Вы могли бы иметь.
Можно определить псевдонимы и окружить функции, которые имеют то же имя как название внешней команды (как ls
и dir
), и они могут быть определены для вызова той внешней команды с дополнительными опциями переданной ему. Это - то, что выше делает псевдоним, предложенный. Таким образом, возможно, Вы раньше имели a dir
псевдоним (или функция оболочки), который работал dir -l
.
Когда это не сделано, тем не менее, dir
работы как ls -Cb
. ls
и dir
команды отличаются. Цель dir
команда должна быть командой как ls
чье поведение незатронуто тем, выполняется ли оно в терминале. Поэтому Вы могли бы рассмотреть не создание dir
псевдоним вообще и просто использование ls
или ll
вместо этого. ll
обычно определяемый псевдоним для ls -l
.
В то время как расширение псевдонима не определяется тем, является ли вывод терминалом, определено главным образом тем, является ли оболочка, в которой Вы выполняете команду, интерактивной. (Существуют способы переопределить это, но обычно Вы не хотите.), Кроме того, --color=auto
colorizes только, когда устройство вывода является терминалом, так, чтобы Вы не получали обычно нежелательные цветовые коды, если Вы (например), перенаправляете вывод в файл.
Однако, если Вы хотите изменить то, что происходит, когда Вы работаете dir
, затем причина я предлагаю делать это псевдонимом dir --color=auto -l
это, это добавляет опции, которые Вы просите, все еще неявно используя -C
и -b
. Присутствие -C
не важно, так как это переопределяется -l
. -C
средства отобразиться в столбцах, и -l
средства отобразиться как подробный список. Это не может сделать обоих так, что это делает то, что последняя опция Вы передаете его, говорит этому делать. Но -b
является все еще значительным; это заставляет странные символы в именах файлов быть оставленными, так, чтобы можно было обычно копировать имена файлов, показанные в терминальные команды без модификации.
Конечно, Вы могли вместо этого использовать alias dir='ls -bl --color=auto'
. Это достигнет того же эффекта (Вы не должны включать -C
поскольку это переопределяется -l
так или иначе, как объяснено выше). Или по крайней мере это имело бы тот же эффект, если бы Вы имели нет ls
псевдоним. Расширение псевдонима не является полностью рекурсивным, который является, почему можно исказить ls
к команде, которая запускается с ls
(или dir
к команде, которая запускается с dir
). Но расширение псевдонима, тем не менее, продолжается, или до результатом не является псевдоним или до дальнейшее расширение, произвел бы рекурсивный цикл. Определение Ваш dir
псевдоним не с точки зрения ls
освобождает Вас от неожиданных эффектов, следующих безотносительно ls
может быть искажен к.
Что касается того, где поместить определение псевдонима, конечно, можно поместить его непосредственно в .bashrc
файл, находящийся в Вашем корневом каталоге, как mikewhatever, предлагает. В этом случае это обладает преимуществом, для которого Вы уже почти наверняка обладаете определения псевдонима ls
в том файле, и Вы могли поместить Ваш dir
исказите рядом там. Ваш .bashrc
файл, возможно, даже уже прокомментировал (с #
) псевдонимы, которые можно не прокомментировать и использовать.
Однако я предлагаю вместо этого поместить новые определения псевдонима - те Вы пишете себя - в .bash_aliases
. Значение по умолчанию .bashrc
файлы в Ubuntu получат тот файл, если это будет существовать. Таким образом, .bashrc
обычно содержит:
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Если по некоторым причинам Ваш .bashrc
файл не имеет этого, затем можно добавить его (или просто строки, которые не запускаются с #
, если Вы не испытываете желание воспроизводить комментарии).