cat 명령어와 바이너리 파일: ASCII text vs data 파일의 차이
CS/운영체제
리눅스에서 파일을 읽기 위해 cat명령어를 사용하다 보면,어떤 파일은 정상적으로 읽히지만 어떤 파일은 터미널 화면이 깨지면서 이상한 문자들이 출력되는 경우가 있다.이런 현상은 구체적으로 왜 발생하는 걸까? 파일 타입 확인하기: file 명령어먼저 file 명령어를 통해 파일의 타입을 확인해보자.file 파일명위 이미지에서의 결과는 data로 나온다. 이 파일은 일반 텍스트 파일이 아닌 바이너리 파일이다.여러 파일 한 번에 확인하기디렉토리 내 모든 파일의 타입을 한 번에 확인하려면 와일드카드를 사용하면 된다.file ./*이미지 속 결과를 보면, 대부분은 data로 표시되지만 -file07만 ASCII text로 표시된다.이 ASCII text파일은 data으로 정상적으로 읽을 수 있다. cat이 바이너리..
-로 시작하는 파일명 여는 방법
CS/운영체제
리눅스에서 파일을 열려고 하는데 다음과 같은 오류를 만날 때가 있다.정상적으로 파일을 읽을 것으로 예상했지만, 읽기는 커녕 아무런 반응도 일으키지 않고 있다. 왜 이런 일이 발생할까?리눅스 CLI에서는 관례적으로 - 또는 --으로 시작하는 값은 명령어의 옵션으로 처리된다.# 예시ls -lrm -rf따라서 -test.txt라는 파일이 있다고 할때,cat -test.txt는 -test.txt라는 파일이 아니라 존재하지 않는 옵션을 전달한 것으로 인식된다. 해결 방안1. -- 사용하기cat -- --- 이후에 오는 값은 옵션이 아닌 순수한 인자로 처리하라는 의미이다.2. 경로 명시하기cat ./-./이 붙는 순간 쉘은 이를 현재 디렉토리의 파일 경로로 인식한다.3. 절대경로 사용하기cat /home/user/..