[bash: cut] 필드 구분자(delimiter)가 없는 경우 출력 억제하기
By 반달가면 | 2019년 4월 25일 |
우선, cut 명령어의 기본적인 사용 예시는 이전 게시물을 참고하자. 여기로. cut 명령으로 특정 부분을 잘라낼 경우 필드 구분자(delimiter)를 기준으로 잡는데, 필드 구분자가 없을 경우에 기본적으로 행 전체를 출력하게 된다. 아래의 예시를 보자. # 필드 구분자를 콜론(:)으로 지정, 2번째 항목 가져오기 echo "abc:def" | cut -d':' -f2 def # 대상 문자열에 필드 구분자가 없는 경우 echo "abc def" | cut -d':' -f2 abc def 필드 구분자가 없을 경우에 행 전체를 출력하는 것이 아니라 아예 아무것도 출력하지 않도록 하려면 -s 옵션을 추가해 준다. # 대상 문자열에 필드 구분자가 없는 경우, 출력하지 않음(-s
[Linux][Kernel] fd(file descriptor: 파일 디스크립터) 디버깅 CrashTool
By Guillermo Austin Kim | 2017년 12월 20일 |
"echo c > /proc/sysrq-trigger" 명령어로 강제 커널 패닉을 유발시킨 다음 코어 덤프를 받아 보았어요.crash> bt -I C01003AC -S C59C3E20 0xD110E040PID: 4944 TASK: d110e040 CPU: 0 COMMAND: "sh" #0 [<c01003ac>] (do_DataAbort) from [<c0fde6a0>] pc : [<c0524b88>] lr : [<c0fdde2c>] psr: 60010013 sp : c59c3f10 ip : c1920700 fp : bee5765c r10: 00000000 r9 : acf2a284 r8 : 00000000
[Linux][Kernel] 슬랩 Slab Memory 소개
By Guillermo Austin Kim | 2017년 12월 11일 |
리눅스 커널 Memory Management의 꽃 슬랩(Slab)을 소개할께요. 슬랩이 소개 되기 전 리눅스 커널 메모리는 모두 동적 할당을 했어요. 한참 그렇게 메모리를 썼었죠. 그러다가 메모리 성능을 높이기 위한 과제를 리눅스 커널 전문가들이 진행했어요. 여러가지 메모리 성능을 키우는 코드 작업을 진행하다가, 한 가지 조사를 했어요. 뭐나면, 어떤 타입의 메모리를 커널 코드에서 할당하는지에 대해서였어요. 그런데 재미있게도 메모리를 할당하는 패턴이 정해져 있다는 걸 확인했어요. 평범한 서민들이 먹는 식단을 몇 가지가 될까요? 아마 전 먹는 메뉴가 20여 가지로 정해져 있거든요. 비빔밥, 짜장면, 고구마(저녁으로 먹죠), 스타벅스, 삽겹살, 순대… 저 같은 경우는 20가지도 안되는 것 같네요. 그래서
[리눅스커널] 가상파일시스템/파일객체: 파일 객체 함수 오퍼레이션
By Guillermo Austin Kim | 2019년 9월 3일 |
가상 파일시스템에서 파일 시스템 별로 파일을 열고 쓰고 읽는 함수 포인터 테이블을 지원합니다. 이 정보를 파일 함수 오퍼레이션이라고 하며 다음 해더 파일에 정의돼 있습니다.[https://github.com/raspberrypi/linux/blob/rpi-4.19.y/include/linux/fs.h]struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*read) (struct file *, char __user *, size_t, loff_t *); ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *)