xx@xx-PC ~/xampp/htdocs/sites
$ rmdir /s "yo-2"
rmdir: `/s': No such file or directory
rmdir: `yo-2': Directory not empty
xx@xx-PC ~/xampp/htdocs/sites
$ rmdir "yo-2"
rmdir: `yo-2': Directory not empty
Je n'arrive pas à obtenir que rmdir fonctionne dans git bash. Ce n'est pas dans un repo git et j'ai essayé ce qui précède. Mkdir fonctionne comme prévu, pourquoi ne pas cela?
rmdir
ne fonctionnera pas si le répertoire est vide
Essayer
rm -rf yo-2
git-bash
est un Linux comme Shell
Si vous essayez de supprimer un répertoire entier quel que soit son contenu, vous pouvez utiliser:
rm <dirname> -rf
utilisez simplement la commande ci-dessous:
rm -rfv mon répertoire
Un peu tard, mais je pense que cela peut toujours aider quelqu'un qui rencontre des problèmes de performances sur les systèmes Windows. Il est REALLY FAST de supprimer sous Windows à l’aide de git bash en le comparant avec le rm -rf
ordinaire. L'astuce consiste à déplacer le fichier/répertoire vers un autre nom aléatoire dans un répertoire temporaire du même lecteur (sous Windows) ou de la même partition (sur les systèmes * nix) et d'appeler la commande rm -rf
en mode arrière-plan. Au moins, vous n'avez pas besoin d'attendre une tâche bloquante IO et le système d'exploitation effectuera la suppression dès qu'il sera inactif.
Selon le système que vous utilisez, vous devrez peut-être installer le programme realpath
(c'est-à-dire macOS). Une autre alternative consiste à écrire une fonction portable bash comme dans cet article: commande bash/fish pour imprimer le chemin absolu vers un fichier .
fast_rm() {
path=$(realpath $1) # getting the absolute path
echo $path
if [ -e $path ]; then
export TMPDIR="$(dirname $(mktemp -u))"
kernel=$(uname | awk '{print tolower($0)}')
# if windows, make sure to use the same drive
if [[ "${kernel}" == "mingw"* ]]; then # git bash
export TMPDIR=$(echo "${path}" | awk '{ print substr($0, 1, 2)"/temp"}')
if [ ! -e $TMPDIR ]; then mkdir -p $TMPDIR; fi
fi
if [ "${kernel}" == "darwin" ]; then MD5=md5; else MD5=md5sum; fi
rnd=$(echo $RANDOM | $MD5 | awk '{print $0}')
to_remove="${TMPDIR}/$(basename ${path})-${rnd}"
mv "${path}" "${to_remove}"
Nohup rm -rf "${to_remove}" > /dev/null 2>&1 &
fi
}
# invoking the function
directory_or_file=./vo-2
fast_delete $directory_or_file
Après avoir essayé quelques autres commandes, cela a fonctionné pour moi:
rm dirname -rf