bash에 파일이 있는지 확인하는 방법

How Check If File Exists Bash



Linux에서 파일의 가용성을 확인하는 방법에는 여러 가지가 있습니다. bash 스크립팅의 테스트 명령은 파일의 존재를 확인하는 주요 접근 방식 중 하나입니다.
이 가이드의 초점은 bash 스크립팅을 통해 시스템에 파일이 존재하는지 논의하는 것입니다.

bash 스크립팅을 사용하여 파일 존재를 확인하는 방법:

1) 터미널에 파일 이름을 입력하여:







먼저 bash 스크립트 파일을 만들고 아래에 언급된 명령을 사용해야 합니다.



$만지다테스트 파일.sh

내가 만든 파일의 이름은 testfile.sh이고 .sh 확장자는 셸 스크립트 파일을 나타냅니다.







텍스트 편집기에서 testfile.sh를 엽니다. 그런 다음 스크립트를 작성하고 저장을 눌러 저장하십시오.

한 가지 방법은 터미널에서 사용자에게 파일 이름을 요청하여 파일을 찾는 것입니다.



사용하다 -NS 파일의 존재를 확인합니다.

아래 스크립트를 작성하십시오.

#!/bin/bash
던졌다 '파일 이름을 입력하세요'
읽다새 파일1
만약 [ -NS '$newfile1' ]
그 다음에
던졌다 '파일을 찾았습니다'
또 다른
던졌다 '파일을 찾을 수 없습니다'
~이다

터미널로 돌아가서 파일을 실행하여 출력을 인쇄합니다.

./파일명.sh

터미널에 권한 거부 메시지가 표시됩니다.

아래에 언급된 명령을 실행하여 실행 가능하게 만드십시오.

$chmod+ x 테스트 파일.sh

파일 이름을 입력하면 출력이 인쇄됩니다.

2) 스크립트를 작성하는 동안 파일 이름을 입력하여:
스크립트를 작성하는 동안 파일 이름을 지정하여 파일을 찾는 또 다른 방법입니다. 파일의 가용성을 확인하는 세 가지 방법이 있습니다. 첫 번째는 테스트 명령을 사용하는 것이고, 두 번째는 if를 대괄호로 묶은 표현식을 사용하고, 세 번째는 if를 사용하지만 아래 표시된 것처럼 이중 대괄호를 사용하는 것입니다.

  1. 테스트 표현.
  2. if [ 표현 ]
  3. 만약 [[ 표현 ]]

예를 들어 이해합시다.

1) 테스트 [ 식 ]
주어진 스크립트를 복사하여 편집기에 붙여넣고 저장합니다.

#!/bin/bash
파일 이름=파일1
만약 시험 -NS '$파일명';
그 다음에
던졌다 '$파일찾았습니다.'
또 다른
던졌다 '$파일발견되지 않았다'
~이다

산출:

내 디렉토리에 그러한 파일이 없기 때문에 코드는 파일을 찾을 수 없다는 메시지를 표시합니다.

2) if [ 표현식 ]

다음 스크립트를 복사하여 파일이 있는지 여부를 확인합니다.

#!/bin/bash
파일 이름=myfile.txt
만약 [ -NS '$파일명' ];
그 다음에
던졌다 '$파일명찾았습니다.'
또 다른
던졌다 '파일 이름을 찾을 수 없습니다'
~이다

산출:

3) 만약 [[ 표현식 ]]

아래 작성된 스크립트를 복사하여 터미널에 붙여넣습니다.

#!/bin/bash
파일 이름= 테스트 파일
만약 [[ -NS '$파일명' ]];
그 다음에
던졌다 '$파일명찾았습니다.'
또 다른
던졌다 '$파일명발견되지 않았다'
~이다

산출:

디렉토리를 확인하려면:

3) 스크립트 작성시 디렉토리명 입력

사용 -NS 디렉토리의 존재를 확인하는 플래그.

아래에 언급된 스크립트에서 dir11은 찾고 있는 파일을 저장하는 변수입니다. 이 예에서는 디렉토리 이름 testDir의 존재 여부를 확인하고 싶습니다.

#!/bin/bash
디렉토리11=testDir
만약 [ -NS '$dir11' ]
그 다음에
던졌다 '디렉토리를 찾았습니다'
또 다른
던졌다 '디렉토리를 찾을 수 없습니다'
~이다

산출:

2) 터미널에 파일 이름을 입력하여:
디렉토리 존재 여부를 확인하기 위해 터미널에서 명령을 실행할 때 검색하려는 디렉토리 이름을 입력해야 합니다.

#!/bin/bash
던졌다 '디렉토리 이름을 입력하세요.'
읽다디렉토리1
만약 [ -NS '디르1' ]
그 다음에
던졌다 '디렉토리를 찾았습니다'
또 다른
던졌다 '디렉토리를 찾을 수 없습니다'
~이다

산출:

if 문을 사용하지 않고 파일 확인:

테스트 명령은 if 문 없이 실행할 수 있습니다. 파일이 존재하는 경우에만 출력을 표시합니다. 그렇지 않으면 출력이 없습니다.

스크립트 작성:

  1. 시험 -NSmyfile.txt&& 던졌다 '파일을 찾았습니다'

  2. [ -NSmyfile.txt] && 던졌다 '$파일발견되었다.'

  3. [[ -NSmyfile.txt]] && 던졌다 '$파일발견되었다.'

산출:

if 문을 사용하지 않고 디렉토리 확인:

디렉토리가 존재하는지 여부를 확인하려면 아래에 언급된 명령문을 사용하십시오.

  1. [[ -NS테스트 디렉토리]] && 던졌다 '디렉토리가 존재합니다'

  2. 2) [ -NS테스트 디렉토리] && 던졌다 '디렉토리가 존재합니다'

산출:

여러 파일/디렉토리 확인:

1) if 문으로 여러 파일 확인:
중첩된 if/else 문을 사용하는 대신 -a 플래그를 사용하여 다양한 파일의 존재를 확인합니다.

#!/bin/bash
만약 [ -NSnew_file.txt-에게 -NSnewfile.txt];그 다음에
던졌다 '두 파일 모두 존재합니다.'
~이다

다른 방법은 다음과 같습니다.

#!/bin/bash
만약 [[ -NSnew_file.txt&& -NSnewfile.txt]];그 다음에
던졌다 '두 파일 모두 존재합니다.'
~이다

산출:

2) if 문을 사용하지 않고 여러 파일 확인:
if를 사용하지 않고 1여러 파일을 동시에 확인하려면 다음 명령문을 사용하십시오.

  1. [[ -NSnew_file.txt&& -NSnewfile.txt]] && 던졌다두 파일이 모두 종료됩니다.

  2. [[ -NSnew_file.txt&& -NSnewfile.txt]] && 던졌다두 파일이 모두 종료됩니다.

산출:

결론:

이 기사에서는 bash 스크립팅을 사용하여 파일이나 디렉토리를 확인하는 방법을 보여주었습니다. 파일의 가용성을 확인하기 위해 다른 옵션을 사용했습니다. 첫째, 다른 플래그와 함께 테스트 명령을 사용합니다. 그런 다음 if, 중첩된 if-else 및 if 문 없이 파일이나 디렉토리를 확인하는 사용법을 배웠습니다. 또한 여러 파일 또는 디렉터리를 확인하는 방법도 살펴보았습니다.