web-dev-qa-db-fra.com

Comment éditer un fichier à partir de la ligne de commande Mac OS X?

Comment ouvrir et éditer le fichier en ligne de commande? J'ai essayé d'utiliser la commande open:

Sudo open -e /etc/Apache2/extra/httpd-vhosts.conf

mais le fichier est Locked et je ne peux rien changer.

enter image description here

Je dois modifier beaucoup de texte et utiliser nano ou vim n'est pas très pratique.

10
Ihor Tkachuk

Je soupçonne que c'est parce que l'élévation des autorisations est pour la commande open, pas pour TextEdit lui-même.

Vous devez utiliser un autre éditeur qui peut exécuter correctement son binaire à partir de la ligne de commande comme SublimeText (Sudo subl /path/to/file) ou TextMate (Sudo mate /path/to/file). Ou simplement aspirer et utiliser vi ou nano :-)

Si vous allez faire beaucoup de ce genre de chose, TextEdit est probablement l'éditeur le moins souhaitable à utiliser de toute façon.

9
prodigitalson
Sudo open -a TextEdit /etc/Apache2/extra/httpd-vhosts.conf
4
Sinisa Drpa

Le moyen le plus simple de modifier ces fichiers verrouillés consiste à en faire une copie, à modifier la copie, puis à remplacer le fichier:

cp /etc/Apache2/extra/httpd-vhosts.conf ~/httpd-vhosts.conf
open ~/httpd-vhosts.conf

Sudo mv /etc/Apache2/extra/httpd-vhosts.conf /etc/Apache2/extra/httpd-vhosts.conf.bkup
Sudo mv ~/httpd-vhosts.conf /etc/Apache2/extra/httpd-vhosts.conf
2
Steven Schobert