2 votes

Client FTP en ligne de commande Confus par le tilde?

J'ai remarqué ce comportement vraiment étrange dans le client ftp de la ligne de commande de macOS...

get index.html ~/Bureau/index.html

échoue s'il n'existe pas de 'index.html' sur le Bureau avec l'erreur

ftp : Impossible d'accéder à `~/Bureau/index.html' : Aucun fichier ou dossier de ce type

mais

get index.html /Utilisateurs/fweth/Bureau/index.html

réussit! Ensuite, je peux également utiliser la première commande pour mettre à jour le fichier local. Est-ce que quelqu'un peut m'expliquer cela?

3voto

Douglas Points 10417

Ce que vous voyez est un comportement attendu.

Le tilde (~) fait partie de la syntaxe standard de la shell et est synonyme du répertoire personnel de l'utilisateur.

L'expansion du tilde est le processus de conversion de ces abréviations en noms de répertoires auxquels ils se réfèrent.

Lorsque vous êtes en FTP, vous n'utilisez pas votre shell (bash, csh, zsh, etc.), mais plutôt le client FTP et il ne sait pas ce que signifie le tilde et ne peut donc pas l'expanser.

~ et HOME sont la même chose. Si vous exécutez la commande

$ echo ~ $HOME

Vous devriez obtenir votre répertoire personnel en sortie deux fois. (Le $ est pour l'expansion de variable)

/Users/fweth /Users/fweth

Anecdote

La convention d'utiliser le tilde (~) provient du terminal Lear Siegler ADM-3A qui avait un raccourci clavier pour le répertoire HOME des utilisateurs sur la même touche que le tilde.

description de l'image ici

0 votes

Je vois, mais ce qui est amusant, c'est qu'après que le fichier a été créé, je peux y accéder via la notation tilde, aussi depuis le client ftp... Mais merci beaucoup pour la réponse détaillée.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X