Profile picture

[Linux] file, type 명령어

JaehyoJJAng2023년 06월 05일

file

file은 지정된 파일의 종류(타입)을 확인하는 명령어이다. file은 /usr/share/file 디렉토리의 magic 파일을 참조하여 파일종류를 표시한다. 사용법은 아래와 같다.

file 파일명
$ file join.sh
join.sh: ASCII text

옵션

  • -C: 매직파일의 포맷 검사
  • -f 목록파일: 많은 파일들을 한번에 확인하기 위해 파일리스트인 목록파일을 만들어 그 안에 입력된 모든 파일을 한꺼번에 확인
  • -m 매직파일: 지정된 매직파일로 대상파일 확인

파일리스트 파일내에 검사할 파일명들 적어두고 실행

$ file -f filelist.txt

type

type은 지정된 명령어가 쉘에 내장된 명령어인지, 외부명령어인지, Alias 명령어인지 등을 확인한다. 사용법은 아래와 같다.

type 파일명
$ type docker
-bash: type: docker: not found

$ type kubelet
kubelet is /usr/bin/kubelet

$ type k
k is aliased to `kubectl'

type을 활용한 셸 스크립트

type 커맨드로 도커 / 도커 컴포즈가 설치되어 있는지 확인하고 설치되어 있지 않으면 설치 진행

#!/usr/bin/bash

if [[ ! $(type docker >/dev/null 2>&1) ]]
then
	echo "docker does not exist"
	# Docker Install ....
fi

if [[ ! $(type docker-compose >/dev/null 2>&1) ]]
then
	echo "docker-compose does not exist"
	# Docker-Compose Install ....
fi

Loading script...