Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

Bash에서 공백이 있는 파일 이름 전달을 처리하는 방법

Linux에는 시스템에 대한 명령을 실행하기 위한 기본 셸 Bash(Bourne again 셸이라고도 함)가 있습니다. 대부분의 프로그래머는 bash가 제공하는 유연성과 강력한 명령줄 인터프리터 때문에 cmd보다 bash를 선호합니다. 그러나 대부분의 사용자는 bash에서 공백이 있는 파일 이름 전달을 처리하는 동안 여전히 문제가 있습니다. 공백은 파일 이름에서와 같이 bash에서 동일하게 간주되지 않기 때문입니다.

Bash에서 공백이 있는 파일 이름 전달을 처리하는 방법

Bash에서 공백이 있는 파일 이름을 인식하지 못하는 이유는 무엇입니까?

Bash에서 escape 없이 여러 단어를 입력하는 경우 문자(\) 또는 따옴표 , 모든 단어를 인수로 간주합니다. 이는 'cd로 디렉토리를 변경하든지 모든 작업에 적용됩니다. ' 또는 'cat으로 파일에 액세스하려는 경우 ' 명령. 이것을 사용한 후에 작성하는 모든 것은 인수로 간주됩니다. 예:

cat file name.txt
Bash에서 공백이 있는 파일 이름 전달을 처리하는 방법

참고 :파일 이름은 무엇이든 될 수 있지만 이 기사에서는 "file name.txt를 사용합니다. "를 예로 들 수 있습니다.

여기 '고양이 ' 명령은 파일을 고려합니다. 및 이름 단일 인수가 아닌 두 인수로. 그러나 이스케이프 문자나 따옴표를 사용하는 경우 bash 셸은 이를 단일 인수로 간주하여 "file name.txt ".

Bash에서 공백이 있는 파일 이름

이름의 공백에 사용할 수 있는 몇 가지 방법이 있습니다. 가장 좋은 방법은 앞으로 파일 이름에 공백을 사용하지 않는 것입니다. 간단한 방법은 액세스하려는 파일의 이름을 바꾸고 공백을 제거하는 것입니다. 다른 방법으로는 파일 이름에 공백이 있는 작은따옴표나 큰따옴표를 사용하거나 공백 바로 앞에 이스케이프(\) 기호를 사용하는 방법이 있습니다. 어떻게 작동하는지 보여주기 위해 적용된 예제와 함께 방법을 제공할 것입니다.

방법 1:작은따옴표 및 큰따옴표 사용

  1. Ctrl + Alt 누르기 키를 누르고 T 키를 누릅니다. 터미널 열기 .
  2. 이제 파일이 있는 위치로 디렉토리를 변경합니다.
    (드래그할 수도 있습니다. 그리고 드롭 터미널에서 'cat 명령 뒤에 있는 파일 ', 자동으로 파일 경로/디렉토리에 따옴표를 넣습니다)

    cd Desktop
    Bash에서 공백이 있는 파일 이름 전달을 처리하는 방법

    참고 :액세스하려는 위치로 바탕 화면을 변경할 수 있습니다.

  3. 이름에 공백이 있는 텍스트 파일을 읽으려면 다음 명령을 입력하십시오.
    cat 'file name.txt'

    또는

    cat "file name.txt"
    Bash에서 공백이 있는 파일 이름 전달을 처리하는 방법
  4. 작은 따옴표와 큰 따옴표는 결과가 같습니다. 어떤 경우에는 둘 다 시도하고 어떤 것이 효과가 있는지 확인해야 합니다.

방법 2:백래시 이스케이프 문자 사용

  1. Ctrl + Alt 누르기 키를 누르고 T 키를 누릅니다. 터미널 열기 .
  2. 다음 명령을 사용하여 파일이 있는 디렉토리를 변경합니다.
    cd Desktop

    참고 :데스크톱 대신 위치 이름을 입력하세요.

  3. 이제 명령을 입력하고 escape를 사용합니다. 이름에 공백이 있는 문자:
    cat file\ name.txt
    Bash에서 공백이 있는 파일 이름 전달을 처리하는 방법

보너스:따옴표 및 이스케이프 사용

때때로 명령에서 디렉토리를 사용할 때 전체 경로에 따옴표를 사용하는 결과가 있을 수 있습니다. 이는 'mv와 같은 일부 명령 때문입니다. ' 또는 'cp '는 경로를 파일 소스로 간주합니다. 인용이 전체적으로 사용되는 경우. 출처에 대한 인용문을 제공해야 합니다. 및 목적지 개별적으로 'cp ' 제대로 작동할 수 있습니다. 경로에 이스케이프 문자를 사용하는 것이 훨씬 더 복잡하고 사용자가 실수할 수 있음을 보여주는 아래 예를 확인할 수도 있습니다.

Bash에서 공백이 있는 파일 이름 전달을 처리하는 방법