Caractère espace sous linux
Résolu
0ac31m
-
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
Bonjour,
La question est toute simple, mais je n'ai pas trouvé la réponse. Comment intégrer un nom avec des espaces avec une ligne de commande ? Si je mets un bête espace, la commande foire, est-ce qu'il faut utiliser %20 comme sur la page web ?
Exemple : je veux écrire "Mot1 Mot2" dans une ligne de commande. Est-ce que ça devient : Mot1%20Mot2 ?
Merci d'avance !
La question est toute simple, mais je n'ai pas trouvé la réponse. Comment intégrer un nom avec des espaces avec une ligne de commande ? Si je mets un bête espace, la commande foire, est-ce qu'il faut utiliser %20 comme sur la page web ?
Exemple : je veux écrire "Mot1 Mot2" dans une ligne de commande. Est-ce que ça devient : Mot1%20Mot2 ?
Merci d'avance !
A voir également:
- Espace linux
- Espace insécable - Guide
- Espace de stockage gmail plein - Guide
- Espace stockage google - Guide
- Linux reader - Télécharger - Stockage
- Toutou linux - Télécharger - Systèmes d'exploitation
5 réponses
Exemple pour un repertoire qui s'apellerait Mon repertoire ?
Pour l'ouvrir :
Pour l'ouvrir :
$ cd Mon\ repertoiredevrait faire l'affaire ...
Je confirme les dires de KuKrApOk59: il faut "escaper" l'espace avec un backslash (le caractère '\')
En effet, l'espace fait partie des caractères spéciaux d'une ligne de commande, puisqu'il sépare les paramètres.
Plus généralement, il faut précéder chaque caractère posant problème d'un backslash pour indiquer qu'il faut le prendre comme tel sans l'interpréter dans la commande.
Et le backslash s'escape aussi: si ton dossier s'appelle "foo\bar", tu entres dedans en tapant "cd foo\\bar" pour indiquer que le backslash n'escape rien.
Les guillemets marchent aussi en effet, mais c'est une syntaxe plus.. "Windows". Le backslash est également utilisé en PHP pour introduire un caractère spécial dans une chaîne, c'est donc une bonne habitude à prendre.
En effet, l'espace fait partie des caractères spéciaux d'une ligne de commande, puisqu'il sépare les paramètres.
Plus généralement, il faut précéder chaque caractère posant problème d'un backslash pour indiquer qu'il faut le prendre comme tel sans l'interpréter dans la commande.
Et le backslash s'escape aussi: si ton dossier s'appelle "foo\bar", tu entres dedans en tapant "cd foo\\bar" pour indiquer que le backslash n'escape rien.
Les guillemets marchent aussi en effet, mais c'est une syntaxe plus.. "Windows". Le backslash est également utilisé en PHP pour introduire un caractère spécial dans une chaîne, c'est donc une bonne habitude à prendre.
Salut,
Les guillemets marchent aussi en effet, mais c'est une syntaxe plus.. "Windows".
Plutôt DOS, Windows n'a pas de syntaxe mais des clic/clac ;-DD
Alors il faut utilser les apostrophes ;-), c'est plus propre et ça evite de taper un backslash avant chaque espace (pour les paresseux, j'en suis un ;-))
Si jamais dans le nom il y un apostrophe alors soit tu utilises les guillemets (on s'en fiche d'où ça viens ;-), soit tu utilises que pour l'apostrophe \'
Exemple :
avec backslash
Les guillemets marchent aussi en effet, mais c'est une syntaxe plus.. "Windows".
Plutôt DOS, Windows n'a pas de syntaxe mais des clic/clac ;-DD
Alors il faut utilser les apostrophes ;-), c'est plus propre et ça evite de taper un backslash avant chaque espace (pour les paresseux, j'en suis un ;-))
Si jamais dans le nom il y un apostrophe alors soit tu utilises les guillemets (on s'en fiche d'où ça viens ;-), soit tu utilises que pour l'apostrophe \'
Exemple :
avec backslash
root@debian:~# mkdir Mon\ repertoire\ de\ musique root@debian:~# ls -ld Mon\ repertoire\ de\ musique/ drwxr-xr-x 2 root lami20j 4096 2008-05-15 11:17 Mon repertoire de musique/ root@debian:~# rmdir Mon\ repertoire\ de\ musique/avec apostrophe
root@debian:~# mkdir 'Mon repertoire de musique' root@debian:~# ls -ld 'Mon repertoire de musique' drwxr-xr-x 2 root lami20j 4096 2008-05-15 11:18 Mon repertoire de musique root@debian:~# rmdir 'Mon repertoire de musique' root@debian:~# ls -ld 'Mon repertoire de musique' ls: Mon repertoire de musique: Aucun fichier ou répertoire de ce type root@debian:~#
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
remi@serveur:~/demo$ mkdir \ \ essai
remi@serveur:~/demo$ cd " essai"/
remi@serveur:~/demo/ essai$ mkdir \"autre\ essai\"
remi@serveur:~/demo/ essai$ ls
"autre essai"
remi@serveur:~/demo/ essai$ cd \"autre\ essai\"/
remi@serveur:~/demo/ essai/"autre essai"$
On peut toujours s'amuser :+p
" ou \ Ce qui compte c'est que ça marche. les " ou ' ont l'avantage de ne devoir être écrit que deux fois quel que soit le nombre de caractères spéciaux. Alors qu'il faut un backslash par caractère spécial.
Par contre la "tab completion" propose par défaut des backslash (sous MS-DOS elle propose des ")
A noter que le MS-DOS ne prend pas les backslash, seulement les "
remi@serveur:~/demo$ cd " essai"/
remi@serveur:~/demo/ essai$ mkdir \"autre\ essai\"
remi@serveur:~/demo/ essai$ ls
"autre essai"
remi@serveur:~/demo/ essai$ cd \"autre\ essai\"/
remi@serveur:~/demo/ essai/"autre essai"$
On peut toujours s'amuser :+p
" ou \ Ce qui compte c'est que ça marche. les " ou ' ont l'avantage de ne devoir être écrit que deux fois quel que soit le nombre de caractères spéciaux. Alors qu'il faut un backslash par caractère spécial.
Par contre la "tab completion" propose par défaut des backslash (sous MS-DOS elle propose des ")
A noter que le MS-DOS ne prend pas les backslash, seulement les "
On peut toujours s'amuser :+p
Bien sûr ;-)
Par contre la "tab completion" propose par défaut des backslash
Oui et non.
Pour Mon repertoire de musique
Si je fait ls -ld M et ensuite TAB completion j'obtiens comme tu l'as dit
En revanche si je fait
ls -ld 'M et ensuite TAB completion j'obtiens
106485010510997108
Bien sûr ;-)
Par contre la "tab completion" propose par défaut des backslash
Oui et non.
Pour Mon repertoire de musique
Si je fait ls -ld M et ensuite TAB completion j'obtiens comme tu l'as dit
ls -ld Mon\ repertoire\ de\ musique/le dernier slash ne fait pas partie de nom
En revanche si je fait
ls -ld 'M et ensuite TAB completion j'obtiens
ls -ld 'Mon repertoire de musique'/--
106485010510997108