You cannot see this page without javascript.

본문 바로가기

쓰기

조회 수 485 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

리눅스에서 특수문자 파일 삭제

 

리눅스 환경에서 파일을 삭제할 때, rm 명령을 사용하면 쉽게 지울 수 있습니다.

하지만, 가끔씩 예외 상황이라는게 발생되서 지우기 힘들 파일들이 생깁니다.

 

1. 일반 파일 삭제

 

일반적인 파일을 삭제할 경우엔 rm 명령을 사용합니다.

 

$ rm file.txt
$ rm -f file.txt

 

 

2. 특수 문자

 

그런데 간혹 특수문자들이 앞에 붙어서 삭제하기 힘든 파일이 있습니다.

주로 \ 또는 -로 시작하는 파일들입니다.

 

이것을 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

 

위와 같이 하면 -, \ 붙은 파일들이 잘 지워집니다.

 

 

3. 인코딩이 깨진 파일 삭제

 

인터넷에서 파일을 다운로드 받거나 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

 

지워지지 않은 파일이 삭제된 것을 확인할 수 있습니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 mysql 사용자 추가 명령 모음 운영자 2013.03.14 2905
132 현재 vsftp 접속 중인 사용자 계정 확인 하는 법 운영자 2021.08.18 24
131 FTP 디렉토리에서 심볼릭링크가 작동하지 않을 때 운영자 2020.02.15 136
130 우분투 transmission-daemon 에서 UDP Failed to set receive buffer: requested 4194304, got 327680 에러 해결법 운영자 2019.11.11 351
129 [XE] exe 첨부파일 업로드 수정 운영자 2018.05.21 329
128 우분투 자동 업데이트 관련 링크 운영자 2018.04.25 953
127 패키지가 제거는 되었지만 설정이 남아 있는 경우 운영자 2018.04.25 592
126 Ubuntu MySQL 저장 경로 변경하기 file 운영자 2018.03.20 1103
125 Wget 제공되는 파일명으로 다운로드 운영자 2017.09.02 1021
124 우분투 호스트명 변경 운영자 2017.06.30 454
123 이름에 공백이나 특수문자가 포함된 파일 수정,삭제하기 운영자 2017.06.16 624
» 리눅스에서 특수문자 파일 삭제 운영자 2017.06.16 485
121 한번에 끝내는 Ubuntu 웹서버세팅 (우분투 서버세팅) file 운영자 2017.05.31 499
120 [Ubuntu 12.04 LTS] 쉘 명령어 l, ll 등이 되지 않을때 file 운영자 2017.05.13 508
119 찾는 방법 & 우분투 리눅스에서 중복 파일 삭제 file 운영자 2017.05.04 1671
118 파일질라 FTP와 서버시간이 다르게 나올때 file 운영자 2017.03.29 1547
117 Linux scp password 자동 입력 운영자 2016.08.24 1341
116 FTP-Server ::: vsftpd 운영자 2016.07.21 953
115 XE board 글작성시 첨부파일 본문삽입 링크 <a> 속성 날아가는 문제 운영자 2016.04.22 537
114 A Simple Guide Start Off Working From Home MarylinStretton40889 2016.04.03 819
113 우분투 mod_rewrite사용하기 file 운영자 2015.08.19 557
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7