LINUX
Posts
487 posts[bash: sed] 행 맨 앞에 있는 공백 제거
간단한 내용이지만 의외로 사용할 일이 많아서 여기에 정리해 두기로. 출력 결과의 앞쪽에 공백이 여러칸 있는 경우, sed의 문자열 대체 기능을 이용해서 제거할 수 있다. 아래의 예시를 보자. # 기본 예시: sed에서 문자열 abc를 123으로 대체 echo "abcd" | sed 's/abc/123/' 123d # test1.txt 파일의 내용 출력 cat test.txt abc def ghi 위의 경우 맨 앞의 공백이 동일하게 2칸씩이다. 이런 경우는 아래와 같이 제거해 주면 되겠다. 정규표현식(regular expression, regex)에서 행 맨처음을 나타내는 "^" 기호를 사용한다. # test1.txt 출력, 각 행 앞쪽의 공백 2칸 제거 ca
리눅스 systemd에서 실행중이거나 실패한 서비스 출력
리눅스 systemd에서 특정 상태에 있는 서비스(service)의 목록을 확인하기 위한 방법이다. 특정 상태에 있는 서비스를 보려면 list-units 명령에 --state 옵션을 조합한다. 우선 현재 실행중인(active) 서비스 목록을 보려면 터미널창에서 아래와 같이 입력하면 되겠다. # active 서비스 목록 systemctl list-units --state active grep과 조합하여 특정 문자열이 포함된 서비스를 걸러낼 수도 있다. # 활성화되어 있는 서비스중 문자열 "kernel"이 포함된 것만 골라내기 systemctl list-units --state active | grep kernel 실행하려 했으나 실패한(failed) 서비스 목록을 보려면 아래와
linux ipc (socket)
linux application ipc를 socket를 활용해서 제작.. 서버는 소켓을 열고 받은걸 바로 다시 보내는 형태로 제작클라이언트는 연결된 소켓을 사용해서 보내고 받는걸 처리 (read에서 계속 대기 하는 형태입니다.) server.c#include #include
linux ipc (mmap)
APP간 IPC통신을 하기 위해서 mmap을 사용하는 방법을 확인해 보았습니다.file을 하나 잡고 memory mapping해서 쓰는건데 흠.. 전 shared memory에 한표를 던지고 싶네요 ^^; 아래 예제 코드는 maker가 mm file을 만들고 메모리 메핑한 후에 파일에 쓴거고..user는 해당 mm file을 열어서 메모리 맵핑해서 읽는겁니다. 사용법은 간단하나 만약 app 이 파일을 만들어야 하는공간이 root 이면 약간 문제가 생길듯 하네요 ^^; maker.c#include



