현재 사용자의 소유가 아닌 파일은 readonly 모드가 설정되어 있다.
1. 저장 실패
:wq
E505: ~ is read-only (add ! to override)
2. 강제 저장 실패
:wq!
E212: Can't open file for writing
3. vim에서 super user 권한으로 파일 저장하는 방법
강제 저장도 실패했을 때,
해당 메시지 보면 권한 문제로 보인다.
:w !sudo tee % > /dev/null
:w !어쩌구 | 현재 연 파일을 어쩌구의 stdin으로 적는다 (write) |
stdin | 표준 입력 (standard input) |
tee | 표준 입력에서 읽어서 표준 출력과 파일에 쓰는 명령어 |
tee % | %는 현재 연 파일 |
sudo tee FILENAME | tee의 stdin에 들어오는 content를 FILENAME으로 적는다 |
:w !sudo tee % | 즉, 타겟파일 → tee stdin → 타겟파일 구조 |
>/dev/null | tee의 stdout을 무시 (vim에서 사용자가 stdout을 볼 필요 없으므로) |
이렇게 하면 저장 잘 되었으니 :q! 엔터로 나가면 된다!
다시 들어가면 변경된 부분이 잘 적용되어 있는 것을 볼 수 있다.
참고
'자율 학습 > 학습' 카테고리의 다른 글
[JS] window.open(), window.close(), window.opener(), 팝업(자식창)에서 팝업 호출한 페이지(부모창) 닫기 (0) | 2023.02.15 |
---|---|
[Linux] sudo 명령어도 아무나 쓸 수 있는 게 아니다.. sudoers, visudo, su -c (0) | 2023.02.08 |
[JavaScript, JQuery] td의 값을 꺼낼 때는 val()이 아니라 text() (0) | 2023.01.20 |
boolean 메소드를 쓰는 경우 (0) | 2023.01.19 |
예외 처리 (0) | 2023.01.19 |