Перечислите аргументы по умолчанию команды linux

286
titus

Я хотел проверить, какие аргументы по умолчанию для rsync.

Пробовал искать по страницам руководства, но не нашел этого.

Есть ли способ получить аргументы по умолчанию для команды Linux?

2
Вы имеете в виду значения по умолчанию? `rsync` не имеет аргументов по умолчанию - если он запускается без аргументов, вы получите инструкции по использованию. Для большинства команд linux они либо не имеют значений по умолчанию и представляют инструкции по использованию, либо не имеют значений по умолчанию и будут выполняться без каких-либо - например `ls`. Paul 7 лет назад 1
Вы имеете в виду, что хотите знать, какие аргументы применяются автоматически, если вы просто наберете «rsync» и нажмете ENTER? Как правило, аргументы по умолчанию будут перечислены на любых страницах MAN, и если их нет в списке, скорее всего, их нет, и вы должны указать все необходимые аргументы при запуске команды. music2myear 7 лет назад 1
Я полагаю, вы могли бы утверждать, что аргумент по умолчанию для `rsync` это` --help`, поскольку он запускается, когда аргументы не предоставлены. Paul 7 лет назад 0
Да, вы можете сказать, что --help по умолчанию. Извините, хотел новую линию. Плохо то, что я не написал ни одного примера. Добавлю пример того, что я имею в виду в данный момент. titus 7 лет назад 1
Думаю, у меня была какая-то безумная идея, что некоторые команды добавляют некоторые аргументы, если пользователь ничего не предоставил. Мне известно об «псевдониме», но хотя некоторые команды по умолчанию используют некоторые аргументы, даже если они не указаны. titus 7 лет назад 1
К сожалению, @titus, команды Linux, как правило, предполагают, что вы запомнили нужные флаги или что вы готовы покопаться в справочных страницах для них. Если вы хотите сделать что-то более сложное, соедините их вместе, используя каналы, или напишите скрипт, который вызывает команду с нужными флагами. Christopher Hostage 7 лет назад 0
Конечно, некоторые опции имеют значения по умолчанию, но единственный способ узнать их - это прочитать страницы руководства. Перейдите на веб-страницу man и выполните поиск по умолчанию. krowe 7 лет назад 0
Не могли бы вы откорректировать заголовок вопроса и поместить туда «rsync», если он конкретно касается семантики rsync, или изменить вопрос так, как вы обычно хотите знать, как вывести информацию об использовании команд (что не очень согласуется с Unix, кроме man) страниц) eckes 7 лет назад 0
Да, некоторые команды имеют поведение по умолчанию, обычно, если это команда чтения, такая как `ls`, она выводит текущий каталог, если это деструктивная команда, такая как` rsync`, по умолчанию она выводит справку. Не существует (общего) механизма для изменения этого для всех команд linux (он не такой равномерный, как в powershell). Однако вы можете перезаписать команды с помощью функций оболочки. Там вы можете реализовать динамические решения "если нет аргументов. Это". Не будет работать с псевдонимами, там вы должны использовать отдельные псевдонимы, что, однако, менее запутанно "mybackup = rsync ...." eckes 7 лет назад 0

2 ответа на вопрос

3
TopHat

Чтобы убедиться и охватить все основы, я собираюсь ответить на три различные интерпретации вашего вопроса.

1. Команда rsync сама по себе

Для начала, если вы запустили rsyncкоманду отдельно:

linux-okrz:~> rsync

Команда была разработана по умолчанию для того же поведения, что и при добавлении --helpфлага.

2. поведение по умолчанию при использовании rsync для копирования

Далее, если вы должны запустить команду, как это:

linux-okrz:~> rsync one/file two/

Он просто будет следовать протоколу по умолчанию. Чтобы уточнить, это не работает никаких аргументов. Аргументы предназначены для изменения поведения по умолчанию. Поэтому некоторые примеры поведения по умолчанию:

  • Не многословное действие - rsync будет работать тихо.
  • Алгоритм «быстрой проверки», который ищет только файлы, которые изменились в размере или в момент последнего изменения.
  • Нерекурсивна. Другими словами, он не будет синхронизироваться с каталогами, вам нужно будет указать файлы. (globbing все равно будет работать с файлами в том же каталоге, например, "dir / *")
  • Существующие файлы в целевом каталоге сохраняют свои права
  • Новые файлы передают свои разрешения, которые затем могут быть изменены по умолчанию ACL каталога назначения или Umask.
  • владелец пользователя и группы изменится на пользователя-получателя, вызванного, если rsync происходит на хостах и ​​пользователи не совпадают.
  • Примет удаленные хосты в поле источника или назначения

Я надеюсь, что имеет смысл, что это не аргументы по умолчанию, а поведение по умолчанию. Затем вы будете использовать аргументы, чтобы изменить поведение по умолчанию в соответствии с вашими потребностями. Вышеприведенный список не был каким-либо образом полным списком, а скорее описал поведение по умолчанию, которое я видел в справочной странице.

3. команда использовать rsync с аргументами по умолчанию

Наконец, если вам нужна команда, которая по умолчанию запускает rsync с конкретными аргументами, вы можете использовать псевдоним для выполнения этой задачи. Пример ниже:

colin@linux-okrz:~> alias myrsync='rsync -zahP' colin@linux-okrz:~> myrsync one/ two/ sending incremental file list ./ file 0 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/2) 

Я думаю, что в вашем случае вы, вероятно, спрашиваете о моей второй интерпретации относительно поведения команды по умолчанию, но я решил включить эти три для любого другого, кто может наткнуться на тот же вопрос с одним из других значений.

2
Paresh Chauhan

Пожалуйста, используйте следующую команду. Вы можете искать «пример» в команде man.

человек rsync

Вы также можете сослаться на следующий URL. Вы получите больше информации для команды rsync.

http://www.computerhope.com/unix/rsync.htm

Другой совет: вы можете ввести «man rsync» в поисковой системе и щелкнуть любой из результатов, чтобы получить ту же информацию только в более удобном формате. krowe 7 лет назад 1
Извините, я не могу принять ответ. Пожалуйста, проверьте мой комментарий ^. titus 7 лет назад 0

Похожие вопросы