Zapisz edytowany plik w nano, ale bez uprawnień

18

Edytowałem plik w / etc /, który chcę zapisać, ale zapomniałem go otworzyć za pomocą sudo. Pamiętam, że było polecenie, aby zapisać taki plik w vi i chcesz wiedzieć, czy jest jakiś sposób, aby to zrobić w nano?

Dzięki.

theTuxRacer
źródło
Zmiany są rozległe. Chyba mogę otworzyć nowy terminal, wybrać zmiany i skopiować je. Lub po prostu skopiuj i wklej całość. Ale zastanawiałem się, czy istnieje jakiś „naukowy” sposób.
theTuxRacer

Odpowiedzi:

20

Tak, możesz tymczasowo zapisać go w swoim katalogu domowym. Naciśnij Ctrl+, Oaby zmienić ścieżkę do katalogu domowego lub w / tmp, a następnie naciśnij, Enteraby go zapisać. Więc możesz to sudo mvzrobić.

alternatywny tekst

Naciśnij CTRL+, Oaby wyświetlić ścieżkę. Zmień to na swój katalog domowy lub / tmp. Na przykład Nazwa pliku do zapisu: / tmp / filename i naciśnij klawisz Enter.

karthick87
źródło
4
Musisz sudo cp </full/temp/name> </full/original/name>i rm </full/temp/name>zachować uprawnienia do oryginalnego pliku. sudo mvzniszczy je, co nie jest tym, czego chcesz, zwłaszcza jeśli miałby uprawnienia do wykonywania.
Martin Thornton,
4

Po prostu otwórz nową kartę w terminalu, użyj chmod, aby zmienić uprawnienia do pliku na 777, zapisz plik w nano, a następnie zmień uprawnienia z powrotem na takie, jakie były, prawdopodobnie 644. Alternatywą jest zmiana właściciela za pomocą chown dla siebie, zapisz plik i zmień własność z powrotem na root.

charlie-tca
źródło
1
W połączeniu z Ctrl + Z fgjest to najszybszy sposób na zrobienie tego.
Jervelund,
Uważam, że ta droga jest łatwiejsza i szybsza niż zaakceptowana odpowiedź (Y)
Sudip Bhandari
sudo chmod 777 yourfile
Josh
2

Spróbuj ctrl+ oi wybierz zapisanie pliku w folderze domowym.

Więc zrób sudo mv /home/username/file /etc/

RolandiXor
źródło
tak, chyba mógłbym to zrobić. dzięki. ale nadal nie mogę tego zaakceptować, aby sprawdzić, czy naprawdę istnieje sposób.
theTuxRacer