LINUX
Posts
477 posts[bash: $()] 역따옴표(`)를 중첩해서 사용하고 싶을 경우
리눅스 bash shell에서 특정 명령어의 결과를 변수에 할당하거나 다른 명령어의 인자(argument)로 사용하고 싶을 때 역따옴표(`)를 사용하게 된다. # ls 명령의 결과 출력에서 마지막 줄을 변수 x에 할당 x=`ls | tail -1` 그런데, 역따옴표 안에 다시 역따옴표를 사용하고 싶은 경우가 생겼을 경우에는 대신에 "$(명령어)" 형태를 사용하면 되겠다. 기능은 역따옴표와 동일하나 중첩해서(nest) 사용할 수 있다. # ls 명령의 결과 출력에서 마지막 줄을 변수 x에 할당 x=$(ls | tail -1) 예시가 좀 억지스럽긴 한데 겹쳐서 사용하는 경우를 만들어 보자면 아래와 같이 해 볼 수 있을 것이다. # 문자열 "txt"를 출력해서 grep의 인자로 사
우분투 14.04 기반 배포판에서 와이어샤크 2.6.7 설치 (소스코드에서 설치)
우분투 14.04의 공식 S/W저장소에서 제공하는 와이어샤크(wireshark)의 버전은 2.6.6인데, IP주소 위치정보(GeoIP)를 사용할 수 있는 "MaxMind DB resolver"가 제외된 채로 컴파일되어 있었다. 와이어샤크에서 IP주소 위치정보를 사용하는 방법은 이전 게시물을 참고하자. 여기로 IP주소 위치정보를 사용하기 위해 wireshark 공식 홈페이지에서 2.6.7 소스코드(source code)를 다운로드하여 수동 설치를 해 보았다. 생각보다 꽤 번거롭긴 하나, 어쨌든 설치 과정은 아래와 같다. 소스코드를 컴파일하기 위해서는 사전 작업이 좀 필요하다. 아래와 같이 몇가지 S/W를 설치한다. # S/W저장소 정보 갱신 sudo apt-get update # 패키지
[bash: csplit] 설정한 기준에 따라 텍스트 파일 분할하기
csplit은 리눅스에서 기본적으로 제공되는 파일 분할 프로그램이다. 특정 행번호, 또는 특정 문자열을 기준으로 파일을 분할해야 하는 경우에 사용한다. csplit의 인자(argument)는 아래와 같이 지정한다 csplit [옵션] [입력 파일] [패턴] 자주 사용하는 옵션은 아래와 같다. -f: 분할된 출력 파일 이름 지정 -z: 결과중에 크기가 0인 파일은 삭제 -k: 오류가 발생할 경우에도 이전까지 생성된 분할 결과 파일 유지(-k 옵션이 없으면 오류 발생시 출력 결과가 삭제된다.) 패턴은 행번호 또는 정규표현식(regular expression, regex), 그리고 반복 회수를 지정할 수 있다. 몇가지 예시를 통해서 살펴보자. 예시에 사용할 파일 sample.t
[리눅스커널][디버깅] dump_stack() 함수
dump_stack() 함수 dump_stack() 함수는 콜스택을 커널 로그로 출력합니다. 커널 로그로 콜스택을 보고 싶은 코드에 삽입하면 됩니다. 이 함수를 호출하려면 C 코드 윗부분에 다음과 같이 "linux/kernel.h" 해더 파일을 추가해야 합니다. #include dump_stack() 함수 선언부를 봅시다.asmlinkage __visible void dump_stack(void); 인자와 반환값 타입이 모두 void입니다. 커널 소스 코드 어디든 dump_stack() 함수만 추가하면 됩니다. dump_stack() 함수로 커널 로그에서 콜스택 확인하기이번엔 dump_stack() 함수를 써서 커널 로그로 콜스택을 볼 수 있는 패치 코드를 소


![[웹툰단행본] 『통제구역관리부』 1권 후기 : 이상한 변칙과 기이한 일들이 일어나는 공간에 대하여](https://img.zoomtrend.com/2026/06/09/1780996474-SE-5eda86fa-0d63-4afd-b8dd-b801879fed52.jpg)
