Si vous souhaitez voir une discussion plus détaillée sur les différences entre les commandes, consultez le document Détails sur les différences section, ci-dessous.
De la LeMoDa.net site web 1 ( archivé ), notamment le Équivalents des lignes de commande Windows et Unix page ( archivé ), j'ai trouvé ce qui suit 2 . Il y a un tableau plus complet dans la prochaine édition.
Windows command Unix command
rmdir rmdir
rmdir /s rm -r
move mv
J'aimerais entendre @Dave et @javadba pour savoir dans quelle mesure les commandes sont équivalentes - comment le " comportement et capacités "comparer, qu'ils soient très similaires ou " tristement NON équivalent ".
Tout ce que j'ai découvert, c'est que lorsque je l'ai utilisé pour essayer de supprimer récursivement un répertoire et ses fichiers et sous-répertoires constitutifs, par ex.
(Windows cmd)>rmdir /s C:\my\dirwithsubdirs\
m'a donné un message standard de Windows qui sait mieux que vous n'en êtes sûr et une invite
dirwithsubdirs, Are you sure (Y/N)?
et que lorsque j'ai tapé Y
le résultat a été que mon répertoire principal et ses fichiers et sous-répertoires constitutifs ont disparu.
Modifier
Je regarde en arrière après avoir trouvé cette réponse . J'ai réessayé chacune des commandes, et j'ai modifié un peu le tableau.
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>
Si vous voulez l'équivalent pour
rm -rf
vous pouvez utiliser
rmdir /s /q
ou, comme le décrit l'auteur de la réponse que j'ai sourcée,
Mais il existe une autre méthode "à l'ancienne" qui était utilisée à l'époque où les commandes ne disposaient pas d'options permettant de supprimer les messages de confirmation. Il suffit de consulter le site ECHO
la réponse souhaitée et intégrer la valeur dans la commande.
echo y | rmdir /s
Détails sur les différences
J'ai testé chacune des commandes à l'aide de Windows CMD et de Cygwin (avec ses bash
).
Avant chaque test, j'ai effectué la configuration suivante.
CMD de Windows
>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
Cela a donné la structure de fichier suivante pour les deux.
base
|-- this_directory
| `-- some.txt
`-- this_empty_directory
Voici les résultats. Notez que je ne marquerai pas chacune d'elles comme CMD ou bash
; le CMD aura un >
à l'avant, et le bash
aura un $
devant.
Un grand merci à @JillAndMe pour la commentaire ,
Notez que vous devez vous [utiliser] "/" pas ceci : "\" [ ;] rmdir
pour les dossiers à supprimer del
pour les fichiers
Des modifications ont été apportées en conséquence, et un exemple de del
y rm
a été ajouté.
DEL and RM
(pour les fichiers). Pour autant que je sache, ils fonctionnent de manière identique.
>del this_directory\some.txt
>tree /a /f
Folder PATH listing for volume Windows
Volume serial number is ████████ ████:████
base
+---this_directory
\---this_empty_directory
$ rm this_directory/some.txt
$ tree --charset=ascii
base
|-- this_directory
`-- this_empty_directory
2 directories, 0 files
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
Ici, nous avons un peu de différence, mais ils sont assez proches.
>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
<s>I'M HOPING TO GET</s> ANYONE IS WELCOME TO ANSWER WITH A MORE THOROUGH "MOVE AND MV" TEST
Notas
- Je ne sais presque rien du site web de LeMoDa, à part le fait que les informations sont
Copyright © Ben Bullock 2009-2018 . Tous droits réservés.
( avis de droit d'auteur archivé )
et qu'il semble y avoir un tas de conseils utiles en matière de programmation, ainsi que de l'humour (oui, l'orthographe britannique) et des informations sur la façon de réparer les toilettes japonaises. J'ai également trouvé des informations sur le "Rapport Ibaraki", mais je ne sais pas si c'est le cas. es le site web.
Je pense que je vais y aller plus souvent ; c'est très utile. Bravo à Ben Bullock, dont l'adresse électronique figure sur sa page. S'il veut que je supprime cette information, je le ferai.
Je vais inclure le clause de non-responsabilité ( archivé ) du site :
Avis de non-responsabilité Veuillez lire la clause de non-responsabilité suivante avant d'utiliser tout code de programme informatique sur ce site.
Il n'y a aucune garantie pour le programme, dans la mesure permise par la loi applicable. Sauf indication contraire par écrit, les détenteurs des droits d'auteur et/ou les autres parties fournissent le programme " en l'état " sans garantie d'aucune sorte, expresse ou implicite, y compris, mais sans s'y limiter, les garanties implicites de qualité marchande et d'adéquation à un usage particulier. Vous assumez l'intégralité des risques liés à la qualité et aux performances du programme. Si le programme s'avère défectueux, vous assumez le coût de tous les services, réparations ou corrections nécessaires.
En aucun cas, à moins que cela ne soit exigé par la loi applicable ou convenu par écrit, un détenteur de droits d'auteur, ou toute autre partie qui modifie et/ou transmet le programme comme autorisé ci-dessus, ne sera responsable envers vous pour des dommages, y compris tout dommage général, spécial, dommages généraux, spéciaux, accessoires ou indirects découlant de l'utilisation ou de l'impossibilité d'utiliser le programme (y compris, mais sans s'y limiter, la perte de données ou l'inexactitude de données ou les pertes subies par vous ou par des tiers ou l'incapacité du programme à fonctionner avec d'autres programmes), même si ce détenteur ou cette autre partie a été informé(e) de la possibilité de tels dommages.
- En fait, j'ai trouvé l'information en faisant une recherche Google sur "cmd equivalent of rm".
https://www.google.com/search?q=cmd+equivalent+of+rm
L'information que je partage est apparue en premier. Étant donné la façon dont Google est personnalisé et continuellement mis à jour, vos résultats de recherche peuvent être très différents.