Якщо ви хочете побачити більш детальне обговорення відмінностей для команд, див. Детально про відмінності Розділ нижче.
На веб-сайті LeMoDa.net 1 (в архіві ), зокрема на сторінці еквівалентів командного рядка Windows та Unix (в архіві ), я знайшов наступні 2 . У наступному редагуванні є краща / більш повна таблиця.
Windows command Unix command
rmdir rmdir
rmdir /s rm -r
move mv
Мені цікаво почути від @Dave та @javadba, щоб почути, наскільки еквівалентні команди - як " поведінка та можливості " порівнюються, чи то цілком подібні, чи " жахливо НЕ еквівалентні ".
Все, що я дізнався, - це те, що коли я використовував його, щоб спробувати рекурсивно видалити каталог та складові файли та підкаталоги, наприклад
(Windows cmd)>rmdir /s C:\my\dirwithsubdirs\
дав мені стандартне повідомлення про Windows-знає-краще-ніж-ти-ти-ти-впевнений
dirwithsubdirs, Are you sure (Y/N)?
і що коли я вводив текст Y
, результатом було те, що мій верхній каталог та складові файли та підкаталоги зникли.
Редагувати
Я озираюся на це, знайшовши цю відповідь . Я повторив кожну з команд і трохи змінив таблицю.
Windows command Unix command
rmdir rmdir
rmdir /s /q rm -r
rmdir /s /q rm -rf
rmdir /s rm -ri
move mv
del <file> rm <file>
Якщо ви хочете еквівалент для
rm -rf
ви можете використовувати
rmdir /s /q
або, як описав автор відповіді, яку я знайшов,
Але існує ще один спосіб "старої школи", який використовувався ще в той час, коли команди не мали опцій для придушення повідомлень про підтвердження. Просто ECHO
потрібну відповідь та вкажіть значення в команду.
echo y | rmdir /s
Детально про відмінності
Я тестував кожну з команд за допомогою Windows CMD та Cygwin (разом із ними bash
).
Перед кожним тестом я робив наступне налаштування.
Windows CMD
>mkdir this_directory
>echo some text stuff > this_directory/some.txt
>mkdir this_empty_directory
Cygwin bash
$ mkdir this_directory
$ echo "some text stuff" > this_directory/some.txt
$ mkdir this_empty_directory
Це призвело до наступної структури файлів для обох.
base
|-- this_directory
| `-- some.txt
`-- this_empty_directory
Ось результати. Зверніть увагу, що я не буду позначати кожен як CMD або bash
; CMD буде мати >
спереду, а у bash
буде $
спереду.
RMDIR
>rmdir this_directory
The directory is not empty.
>tree /a /f .
Folder PATH listing for volume Windows
Volume serial number is ████████ ████:████
base
+---this_directory
| some.txt
|
\---this_empty_directory
> rmdir this_empty_directory
>tree /a /f .
base
\---this_directory
some.txt
$ rmdir this_directory
rmdir: failed to remove 'this_directory': Directory not empty
$ tree --charset=ascii
base
|-- this_directory
| `-- some.txt
`-- this_empty_directory
2 directories, 1 file
$ rmdir this_empty_directory
$ tree --charset=ascii
base
`-- this_directory
`-- some.txt
RMDIR /S /Q and RM -R ; RM -RF
>rmdir /s /q this_directory
>tree /a /f
base
\---this_empty_directory
>rmdir /s /q this_empty_directory
>tree /a /f
base
No subfolders exist
$ rm -r this_directory
$ tree --charset=ascii
base
`-- this_empty_directory
$ rm -r this_empty_directory
$ tree --charset=ascii
base
0 directories, 0 files
$ rm -rf this_directory
$ tree --charset=ascii
base
`-- this_empty_directory
$ rm -rf this_empty_directory
$ tree --charset=ascii
base
0 directories, 0 files
RMDIR /S AND RM -RI
Тут у нас є трохи різниці, але вони досить близькі.
>rmdir /s this_directory
this_directory, Are you sure (Y/N)? y
>tree /a /f
base
\---this_empty_directory
>rmdir /s this_empty_directory
this_empty_directory, Are you sure (Y/N)? y
>tree /a /f
base
No subfolders exist
$ rm -ri this_directory
rm: descend into directory 'this_directory'? y
rm: remove regular file 'this_directory/some.txt'? y
rm: remove directory 'this_directory'? y
$ tree --charset=ascii
base
`-- this_empty_directory
$ rm -ri this_empty_directory
rm: remove directory 'this_empty_directory'? y
$ tree --charset=ascii
base
0 directories, 0 files
I'M HOPING TO GET A MORE THOROUGH MOVE AND MV TEST
Примітки
- Я майже нічого не знаю про веб-сайт LeMoDa, окрім того, що інформація є такою
Авторське право © Бен Баллок 2009-2018 . Всі права захищені.
( заархівоване повідомлення про авторські права )
і що, здається, є купа корисних порад щодо програмування, а також трохи гумору (так, британський правопис) та інформація про те, як виправити японські туалети. Я також знайшов речі, що говорять про "Звіт Ібаракі", але я не знаю, чи це так веб-сайт.
Думаю, я їду туди частіше; це досить корисно. Реквізит Бену Баллоку, електронна пошта якого знаходиться на його сторінці. Якщо він хоче, щоб я видалив цю інформацію, я зроблю це.
Я включу застереження ( заархівоване ) з сайту:
Застереження Будь ласка, прочитайте наступне застереження перед використанням будь-якого програмного коду комп'ютера на цьому веб-сайті.
На програму немає жодних гарантій у межах, дозволених чинним законодавством. За винятком випадків, коли в письмовій формі зазначено інше, власники авторських прав та / або інші сторони надають програму "такою, яка є", без будь-яких гарантій, висловлених або передбачуваних, включаючи, але не обмежуючись цим, маються на увазі гарантії товарності та придатності для певної мети . Весь ризик щодо якості та ефективності програми лежить на вас. Якщо програма виявиться несправною, ви берете на себе вартість усього необхідного обслуговування, ремонту або виправлення.
Жоден власник авторських прав або будь-яка інша сторона, яка модифікує та / або передає програму, як дозволено вище, не буде відповідати перед вами за збитки, включаючи будь-які загальні, особливі, випадкові чи наслідкові наслідки, якщо це не вимагається чинним законодавством або не погодиться писати письмово. Збитки, що виникли внаслідок використання або неможливості використовувати програму (включаючи, але не обмежуючись втратою даних або даних, які стають неточними, або збитки, понесені вами або третіми сторонами, або збій роботи програми з будь-якими іншими програмами), навіть якщо Такому власнику або іншій стороні було повідомлено про можливість таких збитків.
- Насправді, я знайшов інформацію при пошуку в Google "cmd еквівалент rm"
https://www.google.com/search?q=cmd+equivalent+of+rm
Інформація, якою я ділюсь, з’явилася першою.
del
іmove
.