편집하기 전에 터치하여 파일을 생성하면 어떤 이점이 있습니까? 예:
touch foo
vi foo
아니면 편집자에게 직접 전달하시겠습니까? 좋다:
vi foo
touch
전자( and then ) 를 사용하는 튜토리얼을 많이 봅니다 vi
.
답변1
touch
먼저 파일을 편집하면 파일 시스템이 읽기 전용인지 또는 기타 문제가 있는지 확인하기 위해 편집기에서 시간을 낭비하는 대신 실제로 파일을 생성할 수 있는지 확인할 수 있습니다.
답변2
제공된 답변 외에도 터치의 한 가지 장점은 터치하는 동안 동일한 파일을 편집하는 다른 사용자/터미널이 변경 사항을 저장하려고 할 때 경고를 받게 된다는 것입니다.
WARNING: The file has been changed since reading it!!!
Do you really want to write to it (y/n)?
직접 변경하지 않고 파일만 터치한 경우에도 알림이 표시됩니다.
답변3
허용되는 답변 외에도 다음이 포함됩니다.
touch
파일 타임스탬프 업데이트로 유명합니다 . 기존 파일에 사용 하면 touch
파일 타임스탬프가 현재 날짜와 시간으로 업데이트됩니다. 파일이 없으면 빈 파일이 생성되고 현재 날짜와 시간이 타임스탬프됩니다.
vi
반면에, 직접 쓰지 않으면 새 파일이 생성되지 않습니다.
예를 들어 를 입력하면 vi test.txt
몇 가지 설명을 입력한 다음에 는 :q!
;test.txt
답변4
touch
처음에는 ing을 수행해도 아무런 이점이 없습니다. vi
파일이 존재하지 않으면 파일이 생성됩니다.
허용되는 답변은 편집기에서 시간을 낭비하기 전에 거기에 쓸 수 있는지 확인한다고 말합니다. 그렇습니다. 하지만 이제는 touch
매번 타이핑하는 데 시간을 낭비하고 있습니다. 어딘가에 쓸 수 없다는 것은 그것이 작동하는 빈도에 비해 꽤 특이한 일입니다( sudo
홈 디렉토리 내부 또는 외부에 있는 파일을 기억하거나 /tmp
루트로 로그인한 경우).
편집기를 열고 원하는 작업을 수행한 다음 파일을 저장해 보세요. 그래도 작동하지 않으면 사용해 :w!
도 다른 곳에( :w ~/asdf
) 저장한 후 문제를 해결하세요. 복구 후 임시 파일의 파일 내용을 원본 파일로 복사할 수 있습니다 cat ~/asdf > /mnt/example.txt && rm ~/asdf
. cat
or 대신 mv
or를 사용하는 이유 cp
는 대상의 권한 및 기타 속성을 사용하기 위한 것입니다.
또한 좀 더 고급 명령줄 사용을 위해 문제를 해결하는 동안 +Background(또는 , 또는 사용)를 vi
사용 하고 마지막으로 쓰기 명령을 다시 실행할 수 있습니다.CtrlZ:suspend
:sus
fg
편집 : 응답으로 게시물이 개선되었습니다./u/G-맨의 의견. 감사해요!