Peter Ahn
Peter의 우아한 프로그래밍
Peter Ahn
전체 방문자
오늘
어제
  • 전체 (115)
    • 영어공부 (15)
    • 물생활 (9)
    • 독서 (2)
    • 일상 (1)
    • IT 소식 (15)
      • 최신 기술 소식 (10)
      • 보안 소식 (5)
    • 인공지능 (AI) (2)
    • OS (19)
      • Linux (19)
    • Web (0)
      • Vue.js (0)
    • 객체지향 (1)
      • 개념과 원리 (1)
      • 디자인패턴 (0)
    • 프로그래밍 (37)
      • C (14)
      • C++ (3)
      • C# (1)
      • Python (3)
      • Javascript (2)
      • Bash (4)
      • Vim (9)
    • Database (3)
      • DB2 (3)
      • MongoDB (0)
    • 프레임워크 (1)
      • Ionic (1)
    • Cloud (1)
      • AWS (1)
    • 3D Printer (2)
    • 기록보관소 (5)
    • 초대장 (2)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

  • 프로그래밍의 세계에 오신 것을 환영합니다.

인기 글

태그

  • 영어표현
  • C언어 강좌
  • Linux
  • 영어 회화
  • 쉘 프로그래밍
  • bash shell
  • 영어 표현
  • 구피
  • 하프블랙구피
  • vim
  • 딥러닝
  • c강좌
  • 프로그래밍
  • call by reference
  • C++
  • 4차 산업혁명
  • bash
  • 어항
  • typescript
  • 물생활
  • 리눅스
  • 리눅스 명령어
  • AI
  • 인공지능
  • vim 비주얼모드
  • C언어
  • 랜섬웨어
  • vim 강좌
  • 생활영어
  • 구피어항

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Peter Ahn

Peter의 우아한 프로그래밍

[Linux] 하이픈(-) 으로 시작하는 파일  다루기
OS/Linux

[Linux] 하이픈(-) 으로 시작하는 파일 다루기

2019. 10. 30. 16:01
반응형

 

개요

 

 

안녕하세요 피터입니다.

오늘은 리눅스(linux)에서 하이픈(-)으로 시작하는 파일을 처리하는 방법에 대해서 알려드리겠습니다.

간혹 명렁어나 스크립트를 잘못 사용하면 하이픈으로 시작하는 파일이 생성되는 경우가 있습니다. 

리눅스에서 하이픈은 명령어에서 옵션을 지정 할 때 사용되기 때문에 파일명이 하이픈으로 시작하면 shell 에서 다루기가 쉽지 않습니다.  

일반적인 쉘의 쿼우팅(Quotiong) 방법으로 처리하려 하면 아래와 같이 잘못된 옵션이라는 에러 메시지를 보게 될 확율이 높습니다.

 

[root@peterdev dummy]# ll
total 0
-rw-r--r--. 1 root root 0 Oct 30 06:48 -d
-rw-r--r--. 1 root root 0 Oct 30 06:50 p-s
-rw-r--r--. 1 root root 0 Oct 30 06:49 -s_test.txt
[root@peterdev dummy]# clear
[root@peterdev dummy]# rm -f '-d'
[root@peterdev dummy]# rm -f "-d"
[root@peterdev dummy]# mv "-d" dst
mv: invalid option -- 'd'
Try 'mv --help' for more information.
[root@peterdev dummy]# ll
total 0
-rw-r--r--. 1 root root 0 Oct 30 06:48 -d
-rw-r--r--. 1 root root 0 Oct 30 06:50 p-s
-rw-r--r--. 1 root root 0 Oct 30 06:49 -s_test.txt

rm 또는 mv 명령어에 파일명을 ' 또는 " 로 쿼우팅을 해도 하이픈으로 시작하는 파일은 제대로 처리가 되지 않습니다. 

 

해결방법

이런 경우에는 하이픈 두개(--)를 추가해서 해결할 수 있습니다. 

[root@peterdev dummy]# ll
total 0
-rw-r--r--. 1 root root 0 Oct 30 06:48 -d
-rw-r--r--. 1 root root 0 Oct 30 06:50 p-s
-rw-r--r--. 1 root root 0 Oct 30 06:49 -s_test.txt
[root@peterdev dummy]# rm -f -- -d
[root@peterdev dummy]# ll
total 0
-rw-r--r--. 1 root root 0 Oct 30 06:50 p-s
-rw-r--r--. 1 root root 0 Oct 30 06:49 -s_test.txt
[root@peterdev dummy]#

 

rm -f 명령어 다음에 -- 를 추가하면 바로 뒤에 하이픈으로 시작하는 파일명을 정상적으로 인식합니다. 

-- 는 - 를 특수한 의미를 갖는 기호가 아닌 일반 문자로 취급하라는 의미이기 때문입니다. 

 

마찬가지로 mv 명령어에도 -- 를 사용하면 정상적으로 처리 됩니다. 

[root@peterdev dummy]# ll
total 0
-rw-r--r--. 1 root root 0 Oct 30 06:50 p-s
-rw-r--r--. 1 root root 0 Oct 30 06:49 -s_test.txt
[root@peterdev dummy]# mv -- -s_test.txt test.txt
[root@peterdev dummy]# ll
total 0
-rw-r--r--. 1 root root 0 Oct 30 06:50 p-s
-rw-r--r--. 1 root root 0 Oct 30 06:49 test.txt
[root@peterdev dummy]#

 

 

-Peter의 우아한 프로그래밍

여러분의 공감과 댓글은 저에게 크나큰 힘이 됩니다. 오류 및 의견 주시면 감사하겠습니다.

 

 

반응형
저작자표시 비영리 동일조건 (새창열림)

'OS > Linux' 카테고리의 다른 글

[Linux] kill 프로세스를 '안전하게' 종료시켜보자  (0) 2020.08.07
[Linux] ps 로 실행 중인 프로세스 확인하기  (0) 2020.08.05
[Linux] tail 로 실시간 로그 보기  (0) 2018.06.27
[Linux] cat 파일 내용 출력하기  (0) 2018.06.19
[Linux] 재지향(Redirection)에 대한 이해  (1) 2018.06.05
    'OS/Linux' 카테고리의 다른 글
    • [Linux] kill 프로세스를 '안전하게' 종료시켜보자
    • [Linux] ps 로 실행 중인 프로세스 확인하기
    • [Linux] tail 로 실시간 로그 보기
    • [Linux] cat 파일 내용 출력하기
    Peter Ahn
    Peter Ahn
    IT 정보 공유, 프로그래밍 지식 공유

    티스토리툴바