profile
pllpokko@alumni.kaist.ac.kr
post-thumbnail

임시 파일 관리, $ mktemp, temp

임시 파일 관리 임시 파일을 사용해야할 '때'도 있다. (분명..) 가령 subshell로 실행한 bg는 wait로 기다릴 수 없기 때문에, 임시 파일에 실행해야할 커맨드들을 쓰고 읽어서 child process를 만들거나... $ mktemp: 임시 파일 간단 생성 임시 파일을 /tmp/tmp.XXXXXX로 생성하고 STDOUT으로 Path를 출력해준다. $ mktemp Path: 지정된 위치에 임시파일 생성 arg로 오는 Path 절대경로에 X에는 랜덤값을 넣어

2021년 10월 2일
·
0개의 댓글
·
post-thumbnail

$ iostat, $ iotop, $ pidstat : I/O 모니터링

$ iostat: device별 IO 모니터링 Install Ubuntu 20.04에서는 sysstat 패키지를 설치해야함 iostat: device별 I/O 모니터링 Device|tps|kBread/s|kBwrtn/s|kBread|kBwrtn| :---|:---|:---|:---|:---|:--- 디바이스|초당 평균 데이터 전송 횟수|KB를 한 블록으로 하는 초당 평균 읽기 횟수|KB를 한 블록으로하는 초당 평균 쓰기 횟수|KB를 한 블록으로 하는 총 읽기 횟수|KB를 한 블록으로 하는 총 쓰기 횟수 2초마다 갱신 파티션 정보까지 모두 나타내기 ![](https://i

2021년 10월 1일
·
0개의 댓글
·
post-thumbnail

$ vmstat: CPU, 메모리 성능 검토

$ vmstat vmstat은 최소한의 오버헤드를 가지고, CPU와 메모리 성능을 검토할 수 있는 오래된 툴이다. 커널이 페이지를 얼마나 자주 서로 교환하는지 CPU가 얼마나 바쁘게 활동하는지 IO가 어떻게 활용되고 있는지 ` 첫 번째 라인은 시스템의 전체 가동 시간 평균이다. memory의 내용은 KB 단위이다. procs|Description|e.g. :---|:---|:--- r|r| b|block 된 프로

2021년 10월 1일
·
0개의 댓글
·
post-thumbnail

Text mode, X window

내용 출처: https://mug896.github.io/bash-shell/tty.html TTY /dev/tty, /dev/pts/는 파일들이 I/O에 관여하는 디바이스 파일, 외부 터미널 장치를 연결할 때, 리눅스 가상 콘솔, xterm, gnome-terminal 같은 터미널 에뮬레이터, ssh 등에 사용됨 그림 출처: http://www.linusakesson.net/programming/tty/ getty 프로세스는 백그라운드에서 라인을 모니터링하다가 터미널에서 접속을하면 login prompt를 보여준다. 이 때, /dev/ttyS[Num] 파일이 사용된다. ![](http

2021년 9월 15일
·
0개의 댓글
·
post-thumbnail

library, readelf, strip 사용

library libary: symbol들을 모아둬 다른 src code에서 접근해서 사용할 수 있게함 static library : .a shared library : .so Dependent libarary: 응용 프로그램에서 컴파일시 이거 이거 사용한다 정보 알려두고 컴파일. 그냥 통용적으로 shared library 라고 함 Dynamic library: 응용 프로그램에서 -ldl, -rdynamic 지정 컴파일,함수 사용법 등이 다름 library는 왜 필요한가? src, include file 관계![](https://images.velog.io/images/markyang92/post/157d615d-9f73-

2021년 8월 29일
·
0개의 댓글
·
post-thumbnail

[명령] tee : stdin을 입력받아 stdout, file에 write

tee tee 명령은 입력: STDIN 출력: STDOUT, file_IO 기존 >> 와 pipe 단점 기존 redirect는 file에 write하긴하나.. 사용자에게 출력을 안보여주는 단점 tee: redirect + stdout출력 tee : > + 화면 표시

2021년 8월 29일
·
0개의 댓글
·
post-thumbnail

[system]: core / thread

물리 CPU 물리 CPU 갯수 조회 $ cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l core 물리 CPU 당 코어 수 $ cat /proc/cpuinfo | grep "cpu cores" | uniq 가상 코어 갯수 조회 $ nproc 다음의 명령어를 실행하면, 가상 코어 갯수가 STDOUT으로 출력된다. ![](https://images.velog.io/image

2021년 8월 11일
·
0개의 댓글
·
post-thumbnail

Block, Non-Block, Sync, Async

Block / Non-Block Block block 상태(Running): caller가 어떤 함수를 call 했는데 callee 가 제어권을 가지고 있어서, caller가 Wait/block(Suspend 아님!!) 있는 상태 callee가 결과 값을 줄때 까지! 제어권을 caller에게 안줌! ![](https://images.velog.io/images/markyang92/post/38ace24b-

2021년 8월 10일
·
0개의 댓글
·
post-thumbnail

[명령] parallel, xargs

parallel install GNU parallel package: https://ftpmirror.gnu.org/parallel/parallel-latest.tar.bz2 압축 푼 폴더가서 설치 man page: https://linux.die.net/man/1/parallel 참고 pdf: https://www.gnu.org/software/parallel/parallel.pdf 명령어를 argument로 하나씩 pass해서, parallel 하게 동작 시킬 수 있다. Options|Description :---|:--- -j |parallel thread 개수의 최대 -l |새 job을 시작할 때, 시스템의 로드 평균을 피하기 위해 필요한 wait -n|한번에 커맨드에 pass할 argument의 갯수 (Default is 1)<b

2021년 8월 9일
·
0개의 댓글
·
post-thumbnail

[명령] du : 용량 체크 다양하게 보여줌 / diskus

du option|Description :---|:--- -a|모든 파일들의 기본정보를 보여준다 -B, --block-size=size|지정한 size를 블록 사이즈로 사용한다. -b|표시단위를 기본 KB대신 Byte로 한다 -k|표시단위르 KB단위로 한다 -m|MB 단위로 보여줌 -h|사용량을 1K, 234M , 2G 등의 형태로 보여준다 -c|모든 파일의 디스크 사용정보를 보여주고 나서 합계를 보여준다 -s|총 사용량만 표시한다 (KB 단위 출력) -x|체크하는 경로안에 다른 시스템이 있으면 생략한다 -D|심볼릭 링크 파일이 있을경우 원본의 값을 보여준다 -L|-D 옵션과 같다 --max-depth=1|현재 위치에서 바로 아래단 까지만 결과를

2021년 7월 27일
·
1개의 댓글
·
post-thumbnail

[명령] /etc/group, groupadd, groupmod, delgroup

group 조회 $ cat /etc/group sudo 권한이 있는 사용자 조회(Password는 요구함) $ groupadd 그룹추가 $ groupmod $ usermod처럼 그룹을 관리하는 $ groupmod가 있다. options|description|example :---|:---|:--- -g, --gid GID|지정한 GROUP의 <span style="color:re

2021년 7월 23일
·
0개의 댓글
·
post-thumbnail

systemd timer

Owner別 파일 위치 Owner:root service/timer /etc/systemd/system/.로 파일을 만든다. Owner: $USER service/timer $HOME/.config/systemd/user/.로 파일 만든다. Timer t

2021년 7월 23일
·
0개의 댓글
·
post-thumbnail

[명령] ctags

ctags c, sh 프로그램을 vim 사용 시, 함수 혹은 변수가 정의된 위치로 왔다 갔다 해야할 일이 많은데 이를 수행 사용법 ctags를 사용할 디렉토리에서 아래의 명령어 사용 하위 디렉토리까지 재귀적으로 사용하려면, 아래의 명령어 사용 결과 tags 파일이 만들어진다. vim 연동 결과인 tags 파일을 vim에서 사용하려면, vim 내부에서 아래와 같이 명령어를 내려야한다. 하지만 vim 을 켤 때마다 명령하는 것은 귀찮기 때문에 보통은 ~/.vimrc에 아래와 같이 작성해 기본 연동한다. 커맨드 Tag Command|*

2021년 7월 22일
·
0개의 댓글
·
post-thumbnail

[명령] atime, mtime, ctime

atime atime = access time 파일에 마지막 접근 시간 cat, vi등으로 파일에 액세스 하면, atime이 변경된다. 이 ?time들은 find 명령어와 자주 쓰인다. find 명령어 참고 mtime (ls -l로 보이는 것) mtime = modified time 파일 마지막 수정 시간 vim, echo "msg" >> file 등으로 내용이 수정되면 변경된다. ctime ctime = inode changed time 아이노드가 변경된 시간 inode 변경 조건 1-1. file permission (chmod ... ) 1-2. file owner (chown, chgrp ... )

2021년 7월 21일
·
0개의 댓글
·
post-thumbnail

[명령]: tar, tar.gz, gz(gzip), xz, tar.xz, bz2, tar.bz2, zip, unzip

종류|동작|명령|opt :---|:---|:---|:--- tar|1. 내용 보기2. tar묶기3. tar풀기 |$ tar -tvf .tar$ tar -cvf .tar$ tar -xvf .tar -C |- gz|1. gz압축2. gz풀기 3. 원본파일 두기: -k 옵션|$ gzip $ gzip -d

2021년 7월 14일
·
0개의 댓글
·
post-thumbnail

[명령] jobs, fg, bg, ctrl+{c,z,d}, sleep, wait

sleep [sec] sleep [second] 명령은 명시된 초 만큼 프로세스 실행을 중지(중지도 running상태) ctrl+{c,z,d} ctrl+c 프로세스 강제 종료 kill -INT PID와 같다. foreground job에 interrupt 신호(SIGINT)를 보내 종료 시킨다. ![](https://images.velog

2021년 7월 13일
·
0개의 댓글
·
post-thumbnail

[명령] snap

snap Snap: .deb, .rpm 등으로 파편화된 패키지들을 Universal Package로 만들기 위해 Ubuntu에서 만든 Universal Package snap 설치 find apt search와 같은 기능 패키지 저장소에 업로드되어 있는 패키지 찾음 $ sudo snap find ` install 위에서 찾은 Package Name을 명시하면, 패키지가 설치됨 $ sudo snap install upgrade=refresh snap 은 업데이트, 업그레이드가 refresh 임! 기존 설치

2021년 7월 9일
·
0개의 댓글
·
post-thumbnail

[패키지] gcc-multilib

gcc-multilib 64bit linux에서 32bit compile을 할 수 있도록 도와주는 라이브러리 혹은 32bit executable이 실행되지 않을 때, strace를 보면 /lib/ld-linux.so.2 를 찾지 못할 땐, gcc-multilib를 사용하자!

2021년 7월 4일
·
0개의 댓글
·
post-thumbnail

linux log: syslog.service, /var/log

linux log kernel log: 커널 메시지. klogd라는 대몬에 의해 생성 1.1. 현재는 아래 서술할 rsyslog에 스며 듦 system log: 시스템 로그. syslogd 대몬에 의해 생성되는 서비스 로그 rsyslog: Ubuntu의 시스템 로거 Ubuntu 20.04 LTS에서는 systemd에 의해 syslog service가 동작한다. syslog 중 rsyslog를 사용하고 결국, rsyslog.service 가 동작한다. ![](https:

2021년 6월 28일
·
0개의 댓글
·
post-thumbnail

[linux] inode, 하드링크, 소프트링크 / [명령] ls

inode i-node: 파일의 고유번호 디렉토리 또한 파일로 i-node를 가진다. 파일에 대한 각종 메타 정보를 가지고 있다. 파일은: 1)파일 이름 2)아이 노드 3) 데이터 블록 을 가지고 있다. 아이노드가 참조 0이되면 최종 삭제된다. 하드링크 cp와 혼동하면 안된다!! 같은 아이노드를 가진 복사본이라 생각하자!! 하나를 수정하면 하드링크도 수정된다!! 원본이 지워져도 상관 없다!! **nums of refere

2021년 6월 12일
·
0개의 댓글
·