이번에는 IC 레이아웃 검증이나 layout 관련 실무에서 자주 사용하게 되는 리눅스 명령어들 중, 조금 더 다양한 기능을 가진 명령어들을 소개해 본다.
기본적인 디렉토리/파일 이동과 열람은 마스터했다면, 이제 이런 유틸리티성 명령어들을 익혀두는 것이 업무 효율에 큰 도움이 된다.
1. split – 파일 나누기 (라인 수 또는 용량 기준)
파일이 너무 클 때, 한 번에 열어서 보기 어려운 경우 split 명령어로 파일을 나눌 수 있다.
업무 중 DRC 결과 로그나 netlist처럼 매우 큰 텍스트 파일을 처리할 때 유용하다.
라인 수 기준으로 나누기
용량 기준으로 나누기
참고로, 파일명 접두사(part_)를 지정하지 않으면 기본값은 x로 시작하는 이름이 만들어진다 (예: xaa, xab, xac...).
2. sort – 줄 단위로 정렬하기
파일 안의 내용을 줄 단위로 정렬하고 싶을 때 사용하는 명령어이다.
예를 들어 netlist 안의 instance 이름 리스트나 error log 등을 알파벳 순서로 정렬하고 싶을 때 유용하다.
기본 정렬 (오름차순)
반대로 정렬 (내림차순)
숫자 기준 정렬 (예: 에러 개수 등)
3. uniq – 중복 제거 또는 중복 확인
sort 명령어와 함께 자주 쓰이며, 중복된 라인을 제거하거나, 중복된 항목을 찾아낼 수 있다.
4. paste – 라인 병합
두 개의 파일의 같은 줄을 나란히 붙여서 보고 싶을 때 사용한다. 비교 작업에 유용하다.
5. touch – empty 파일 생성 & 타임스탬프 변경
가장 기본적인 용도는 새로운 empty 파일을 만드는 것이다.
새로운 empty 파일 만들기
실무 팁: 디렉토리 전체의 타임스탬프를 특정 날짜로 변경하기
새로운 tape-out 용 레이아웃 작업을 시작할 때, 기존에 존재하던 라이브러리, 셀, GDS, LVS/DRC DB 등의 타임스탬프를 작업 시작일 기준으로 통일하고 싶을 때가 있다.
이럴 때 touch 명령어로 날짜를 일괄 변경하면 정리하기 좋다.
(형식: [[CC]YY]MMDDhhmm[.ss])
하위 디렉토리 포함 전체 파일 날짜 변경
6. gzip – 파일 압축 및 해제
파일을 .gz 형식으로 압축할 때 사용한다.
압축 해제는 gzip -d, gunzip 등으로 할 수 있다.
현업 팁: Calibre에서 .gds.gz 파일 사용하기
Calibre로 레이아웃 검증을 수행할 때, .gds.gz 형식의 GDS 파일을 직접 사용할 수 있다는 점도 꼭 알아두자.
예를 들어 GDS 파일이 디스크 공간 절약을 위해 압축되어 있을 경우, 굳이 압축을 풀 필요 없이 아래와 같이 rule file에서 바로 사용하면 된다:
Calibre는 내부적으로 gzip 포맷을 자동으로 인식해서 백그라운드에서 압축을 해제하며 처리해 준다.
실제로는 압축된 상태로 사용하는 것이 디스크 I/O 성능 면에서도 유리할 수 있으므로, 가능하면 압축 상태로 사용하는 것을 추천한다.
7. wc – 라인 수, 단어 수, 바이트 수 확인
netlist 파일의 line 수나 DRC 결과 파일의 통계를 확인할 때 유용하다.
8. date – 현재 시간 확인
리눅스 시스템의 현재 시간과 날짜를 확인할 수 있는 명령어이다.
실행하면 아래처럼 출력된다:
1. 서버 시간 기준 확인
서버에 접속해 작업할 때 자신의 로컬 컴퓨터 시간과 서버 시간이 다를 수 있다.
특히 해외에 있는 서버나, 시간이 제대로 동기화되지 않은 서버의 경우 수정한 파일의 시간 정보가 헷갈릴 수 있는데,
date 명령어를 사용해 현재 서버가 인식하는 시간을 확인해두면 이후 ls -l, touch, make 등으로 파일의 최종 수정 시간을 확인할 때 혼동을 줄일 수 있다.
2. 원하는 형식으로 출력하기
시간 출력 형식을 지정할 수도 있다. 예를 들어:
스크립트 작성 시 로그에 시간 찍어둘 때 유용하게 사용된다.
3. UTC 기준 시간 보기
9. ln – 파일 링크 생성 (하드 링크, 심볼릭 링크)
하나의 파일을 여러 위치에서 참조할 수 있도록 도와주는 명령어.
하드 링크와 심볼릭 링크(바로가기) 두 가지 방식이 있다.
1) 하드 링크 만들기
- 원본과 링크는 동일한 inode 번호를 공유함.
- 원본 파일을 삭제해도 링크는 유효.
- 같은 파일 시스템 내에서만 사용 가능.
2)심볼릭 링크 만들기
3) 링크 확인
4) 실무 팁
심볼릭 링크로 공용 스크립트나 PDK 경로를 설정해 두면 유지보수에 매우 유리함.
필요할 때 unlink로 조심스럽게 링크만 제거 가능하니, 실수로 원본 지울 걱정도 줄어든다.
10. unlink -링크 삭제 (해제)
링크 삭제는 두 가지 방법으로 가능한데, rm 명령어를 사용하는 방법과 unlink를 사용하는 방법이 있다.
1) rm 사용
2) unlink 사용 (심볼릭 링크 삭제에 적합)
설명을 보면 알겠지만 하드 링크는 원본과 구분이 어려운 단점이 있기 때문에 이 글을 읽는 이들은 링크를 실행시킬 때는 무조건 ln -s 를 사용하고, 링크를 해제할 때는 unlink 명령어를 사용하는 것을 권한다.
이번 글에 소개한 명령어들은 실무에서 자주 사용되는 툴들과 함께 쓰이게 되며, 알고 있으면 업무 속도가 훨씬 빨라진다.
열심히 연습들 해보시길!!
'Linux command' 카테고리의 다른 글
Linux 왕초보를 위한 command - 파일 내용 확인 및 출력 (0) | 2025.03.29 |
---|---|
Linux 왕초보를 위한 command - 간단한 Linux 소개 (0) | 2025.03.17 |
퇴근 후에도 서버에게 일을 시켜보자 - sleep 명령어 (0) | 2024.05.27 |
퍼미션 좀 바꿔주세요! - chmod 명령어 (0) | 2024.05.23 |
Linux command - tar 명령어 (0) | 2024.05.16 |