정보
-
업무명 : 리눅스를 사용할 때 파일 및 프로세스와 관련한 명령의 팁
-
작성자 : 박진만
-
작성일 : 2020-07-16
-
설 명 :
-
수정이력 :
내용
[특징]
-
리눅스에서 awk 명령어 사용방법 소개
[활용 자료]
-
없음
[자료 처리 방안 및 활용 분석 기법]
-
없음
[사용법]
-
작업 환경 구축
-
소스 코드 작성 및 실행
-
실행 결과 확인
[사용 OS]
-
Linux (CentOS v7.0)
- VMware Workstation Pro v15.5
[사용 언어]
-
Bash Script
소스 코드
[파일 조작과 관련된 명령 - 지정된 크기의 더미 파일 생성]
-
coLinux 용 swap 파일을 만들 때 자동 백업 스크립트 벤치 마크에 사용하는 백업 대상 더미 파일을 만들 때 등 어떤 크기의 더미 파일을 작성하려면 dd 명령을 사용한다.
dd if=/dev/zero of=DUMMY_FILE bs=1M count=*100*
→ bs × count (1MB × 100)에서 100MB 더미 파일을 생성.
-
dd 명령은
-
if 에 지정된 파일을
-
bs 에서 지정된 크기로
-
count 에 지정된 횟수만큼 읽고
-
of 에 지정된 파일에 복사
-
-
그리고 실제 실행 결과는 다음과 같다.
$ dd if=/dev/zero of=dummy bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.155313 seconds, 675 MB/s
$ ls -lh dummy
-rw-rw-r-- 1 sunone sunone 100M 5月 31 01:27 dummy
-
if에 /dev/zero 를 지정하고 있기 때문에, 내용이 모두 null 문자 (ASCII의 0x00)에서 100MB (1MB × 100)의 더미 파일이 생성 되었다.
[파일 조작과 관련된 명령 - 여러 파일의 이름을 한번에 바꾸기]
- 여러 파일의 확장자를 일괄 변환 할 때 등 여러 파일 이름의 일부를 일괄 적으로 변경하려는 경우에는 mv 명령이 아닌 rename 명령을 사용한다.
rename FROM_STRING TO_STRING TARGET_FILE
→ 대상이되는 파일 (TARGET_FILE)의 FROM_STRING에 해당하는 부분을 TO_STRING에 대체 이름을 변경한다.
$ ls
bar.htm foo.htm fuga.htm hoge.htm
$ rename .htm .html *.htm
$ ls
bar.html foo.html fuga.html hoge.html
[파일 조작과 관련된 명령 - diff를 이용하여 임시 파일을 생성하지 않고 바로 명령의 실행 결과를 전달하기]
-
diff 명령은 아래 처럼 인수 파일 이외의 파일을 지정할 수 없다.
# 실행 불가능한 코드
diff `command1` `command2`
-
이처럼 명령의 실행 결과를 직접 전달할 수 없다.
-
일반적으로 이 command1와 command2실행 결과를 diff 명령으로 비교하려면 임시 파일에 각 명령의 실행 결과를 출력하고 임시 파일을 diff 명령으로 비교하게 된다.
-
하지만 프로세스 치환을 사용하여 임시 파일을 생성하지 않고 명령의 실행 결과를 직접 diff 명령에 전달할 수 있다.
diff <(command1) <(command2)
[프로세스 처리와 관련된 명령 - 프로세스를 트리 형식으로 표시 (전체 트리 표시) ]
-
프로세스의 상속 관계를 알기 쉽게 표시하려면 pstree 명령을 사용한다.
pstree -anpH프로세스아이디
→ pstree 명령에 anpH옵션으로 강조하고 싶은 프로세스 ID (PID)를 공백없이 지정한다.
-
pstree 명령은 실행중인 프로세스의 상속 관계를 트리 구조로 표시하는 명령이다.
-
특정 프로세스를 강조 표시하려면 H 옵션과 함께 대상의 프로세스 ID를 지정한다. 강조 표시가 불필요한 경우에는 H옵션 및 프로세스 ID는 불필요해진다.
-
각 옵션에 대한 자세한 내용은 다음과 같다.
-
-a
-
명령 줄 인수를 표시한다.
-
-
-n
-
PID별로 정렬한다.
-
-
-p
-
PID를 표시한다.
-
-
-h
-
현재 프로세스와 그 조상의 과정을 강조한다.
-
-
-H * 프로세스 ID *
-
지정한 PID의 프로세스를 강조한다.
-
$ pstree -anph
init,1
┠tq(migration/0,2)
┠tq(ksoftirqd/0,3)
┠tq(watchdog/0,4)
┠tq(events/0,5)
┠tq(khelper,6)
┠tq(kthread,7)
┃ ┠tq(kblockd/0,10)
┃ ┠tq(kacpid,11)
┃ ┠tq(cqueue/0,68)
┃ ┠tq(khubd,71)
┃ ┠tq(kseriod,73)
┃ ┠tq(khungtaskd,134)
┃ ┠tq(pdflush,135)
┃ ┠tq(pdflush,136)
┃ ┠tq(kswapd0,137)
-...-
[프로세스 처리와 관련된 명령 - 프로세스를 트리 형식으로 표시 (일부 트리 표시) ]
-
프로세스 트리의 일부분만을 표시하고 싶은 경우는 대상 프로세스의 프로세스 ID (PID)를 지정한다.
pstree -anp 프로세스ID
→ pstree 명령에 anp옵션과 대상으로하는 프로세스 ID (PID)를 지정한다.
$ pstree -anp 32309
sshd,32309
┠sshd,32311
┠bash,32312
┠pstree,1392 -anp 32309
참고 문헌
[논문]
- 없음
[보고서]
- 없음
[URL]
- 없음
문의사항
[기상학/프로그래밍 언어]
- sangho.lee.1990@gmail.com
[해양학/천문학/빅데이터]
- saimang0804@gmail.com
본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'프로그래밍 언어 > Linux' 카테고리의 다른 글
[Linux] 외장 하드에서 VMware Workstation 기본 환경 설정 (0) | 2021.01.13 |
---|---|
[Linux] 리눅스 VMware Workstation에서 "Entering emergency mode. Exit the shell to continue." 오류 해결 방법 (0) | 2021.01.06 |
[Linux] Awk를 이용하여 텍스트/숫자 빅데이터 자료 처리 및 통계 계산 (0) | 2020.07.15 |
[Linux] ccze 명령어 소개 : 로그 (log) 기록에 컬러 출력 (0) | 2020.03.25 |
[Linux] ccat 명령어 소개 : cat 명령어 + 구문 강조 (0) | 2020.03.25 |
최근댓글