차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
tech:delete_file_linux [2013/05/07 03:09] – 새로 만듦 V_Ltech:delete_file_linux [2016/07/12 00:56] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +{{tag>delete file linux 리눅스 우분투 파일 삭제}}
 +======리눅스 파일 지우기======
 +
 +리눅스에서 특수문자 파일 삭제
 + 
 +리눅스 환경에서 파일을 삭제할 때, rm 명령을 사용하면 쉽게 지울 수 있다.
 +하지만, 가끔씩 예외 상황이라는게 발생되서 지우기 힘들 파일들이 생긴다.
 + 
 +====일반 파일 삭제====
 + 
 +일반적인 파일을 삭제할 경우엔 rm 명령을 사용함.
 +
 +  $ rm file.txt
 +  $ rm -f file.txt
 + 
 + 
 +==== 특수 문자====
 + 
 +그런데 간혹 특수문자들이 앞에 붙어서 삭제하기 힘든 파일이 있다.
 +주로 \ 또는 -로 시작하는 파일들이다.
 + 
 +이것을 rm 명령으로 지워보도록 하겠다.
 +
 +  $ rm -file.txt
 +  rm: invalid option -- 'l'
 +  `-file.txt' 파일을 제거하려면 `rm ./-file.txt' 를 시도해보라.
 +  더 많은 정보를 보려면 `rm --help' 하십시오.
 + 
 +하지만 지워지지가 않는다.
 +-뒤에는 옵션이 붙기 때문에 파일명으로 생각하지 않고, 옵션으로 판단했기 때문이다.
 + 
 +공백이 있는 파일(예를 들어, "hello world.txt" 파일)들은 큰 따옴표 안에 넣어서 지웠다.
 +이 방법으로 지워보도록 하겠다.
 +
 +  $ rm "-file.txt"
 +  rm: invalid option -- 'l'
 +  `-file.txt' 파일을 제거하려면 `rm ./-file.txt' 를 시도해보라.
 +  더 많은 정보를 보려면 `rm --help' 하십시오.
 + 
 +지워지지 않는다. orz
 + 
 +이럴 땐, 특수 기호 앞에 현재 경로를 붙여주거나 ./\ 을 앞에 붙여주면 문자로 인식을 하게 해주면 된다.
 +
 +  rm ./-file.txt
 +또는
 +  rm ./\-file.txt
 + 
 +위와 같이 하면 -, \ 붙은 파일들이 잘 지워진다.
 + 
 + 
 +====인코딩이 깨진 파일 삭제====
 + 
 +인터넷에서 파일을 다운로드 받거나 Samba로 접근해서 작업을 하는데 가끔씩 파일명이 깨져서 곤란하게 할 때가 있다.
 +그럴 때 파일 속성 중에 num 값을 가지고 수정하는 방법이 있다.
 +(현재 환경에서 임의로 글자를 깨지게 할 수 없어서 파일을 삭제하는 방법을 설명 준다.)
 + 
 +디렉토리에서 파일 목록을 볼때, ls 라는 명령을 주로 사용함.
 +저는 주로 ls -l 이라고 자주 사용하는데, 여기서 끝에 소문자 i를 입력해준다.
 + 
 +먼저 ls -l 옵션으로만  목록을 보도록 하겠다.
 +
 +  $ ls -l
 +  -rw-r--r-- 1 sepiawind falinux    9 2012-01-08 11:16 ?ㅀ?_QHFJF~D.txt
 +  drwxr-xr-x 2 root      root    4096 2012-01-03 13:11 nfs
 + 
 +이번에는 ls -li 옵션을 붙였다.
 +
 +  $ ls -li
 +  16914777 -rw-r--r-- 1 sepiawind falinux    9 2012-01-08 11:16 ?ㅀ?_QHFJF~D.txt
 +  16908290 drwxr-xr-x 2 root      root    4096 2012-01-03 13:11 nfs
 + 
 +왼쪽에 보면 16914777 이라는 알 수 없는 숫자가 붙어있다.
 +이게 파일의 고유번호인거 같다. 이것을 가지고 파일을 삭제하도록 하겠다.
 + 
 +rm 명령으로는 안되고, find 명령을 통해서 inum 값을 입력해서 삭제하도록 함.
 +
 +  $ find . -inum 16914777 -exec rm -f {} \;
 + 
 +다시 ls -li 명령으로 목록을 봅니다.
 +
 +  $ ls -li
 +  16908290 drwxr-xr-x 2 root      root    4096 2012-01-03 13:11 nfs
 + 
 +지워지지 않은 파일이 삭제된 것을 확인할 수 있다.
 + 
 + 
 +=====참고=====
 +  * [[linux_rename_broken_filename]]
 +  * [[파일_찾아_복사하기_리눅스]]
 +  * [[리눅스_목록의_파일_지우기]]
 +  * [[http://forum.falinux.com/zbxe/index.php?document_srl=563810&mid=lecture_tip|리눅스에서 특수문자 파일 삭제]]
 +
 +
 +
 +^  누구나 수정할 수 있다. [[http://openwiki.kr/syntax|위키 사용법]] 참고하라.  ^
 +
 +