본문 바로가기
IT/LINUX

리눅스 0 byte 빈파일 만들기

by SidePower 2020. 9. 10.

같은 로그 파일을 이용해서
매분마다 어떤 작업을 실행하고 이력을 로그 파일에 기록합니다.


다음 작업때는 이전 이력 내용이 필요없는 경우가 있습니다.

또 이력이 누적되면 파일 크기가 엄청 커지기땜에
실행할때마다 쉘스크립트 시작부분에
로그 파일 내용을 다 지우고 크기가 0인 새파일로
만들어야 될때가 있더라구요.^^;;

 


리다이렉트 기호 > 를 이용하면 됩니다.
> 는 오른쪽의 출력값을 왼쪽 입력값으로 보내는 특수문자(메타문자)입니다.
echo "hello" > 파일
> 는 기존 내용을 다 지우고 첨부터 데이타를 파일에 기록합니다.


근데 echo > 파일 이렇게 해도 크기가 0byte가 안됩니다.


왜냐하면 echo 명령어는 기본적으로 엔터값(/n)이 들어가더라구요.흑


echo > 파일                                                          
ls -al 파일명                                                          

-rw-r--r-- 1 user1 group1 1 날짜 파일명
빨간색 1이 파일크기 입니다. 1byte란 뜻이에요. 


처음 테스트할때도 이렇게 해도 되나?
생각하면서 아래처럼 그냥 해봤습니다. ㅋ
> 파일
 > 파일                                                                    
ls -al 파일명                                                          

-rw-r--r-- 1 user1 group1 0 날짜 파일명


> 오른쪽에 암것도 안쓰고 그냥 > 만 쓰니깐 0byte 파일이 만들어집니다. ㅋ

>> 는 기존 내용 밑으로 데이타를 파일에 추가합니다. 누적시키는거에요.
cat 파일명                                      

Hello                                             

echo "Thank" >> 파일명                    

cat 파일명                                      

Hello                                             

Thank                                            

 

그리고 존재하지 않는 파일을 0byte로 만들때는
touch 명령어를 사용하시면 됩니다.
touch 파일명                                                        

-rw-r--r-- 1 user1 group1 0 날짜 파일명


능력자 들은 더 많을거 같은데
저는 0byte 빈파일 만들기로 두가지 정리합니다.
1) touch 파일
=> 신규 파일만 가능
2) > 파일
=> 신규 또는 기존파일 모두 가능

그리고 touch 명령어는 옵션이나 기능이 많아서
다음에 포스팅할게요


반응형

댓글