xclip - 리눅스 터미널창에서 클립보드(clipboard) 입출력
By 반달가면 | 2018년 12월 18일 |
xclip을 사용하면 리눅스 터미널창에서 파일의 내용 또는 문자열 등을 파이프(|)를 이용한 I/O 리다이렉션(redirection)을 통해 클립보드에 저장할 수 있다. 또한 클립보드에 저장된 내용을 출력할 수도 있다. 즉, 마우스를 사용하지 않고 명령어 기반으로 클립보드 입출력을 다룰 수 있게 해 준다. 우선 xclip 패키지를 설치한다. 데비안/우분투 계열 기준으로 터미널창에서 아래와 같이 작업. # S/W 저장소 갱신 sudo apt-get update # xclip 패키지 설치 sudo apt-get install xclip 사용 예시를 보기 전에 간단하게 X-윈도우의 "X selection"에 대해 알아보자. X selection은 세가지 종류가 있는데, PRIMARY, S
[리눅스커널] 인터럽트 컨택스트에서 많은 일을 하면 어떻게 될까?
By Guillermo Austin Kim | 2019년 2월 10일 |
인터럽트 컨택스트에서 많은 일을 하면 어떻게 될까? 인터럽트 후반부 처리 기법을 왜 적용해야 하는지 설명드리기 위해 인터럽트 컨택스트에서 많은 일을 하는 코드를 적용하면 시스템이 어떻게 오작동하는지 소개합니다. 디바이스 드라이버를 개발하다 보면 인터럽트 컨택스트에서 인터럽트 핸들링을 할 때 많은 일을 하는 코드를 입력할 때가 있습니다. 대표적으로 다음과 같은 예를 들 수 있습니다. - I/O을 시작하는 코드 - 과도한 while loop - 유저 공간으로uevent를 전달해서 인터럽트 발생을 알림 - 스케줄링을 지원하는 커널 함수 호출 위와 같은 코드를 입력하면 시스템 반응 속도가 아주 느려지거나 평소에 볼 수 없는 오류 메시지를 볼 수 있습니다. 인터럽트 핸들러와 서브 루틴에서 코드
리눅스에서 파일을 인자(argument)로 사용하는 곳에 표준입출력 사용하기
By 반달가면 | 2019년 1월 24일 |
제목이 약간 복잡한데, 좀 더 자세히 설명해 보자면 이렇다. 인자(argument)로 파일명을 입력 받아서 작업을 하는 프로그램/스크립트가 있는데, 파일 대신에 터미널창의 출력(표준출력)을 파이프(|)로 넘겨서 마치 파일의 내용인 것처럼 입력하고 싶은 경우다. 좀 억지스럽긴 하지만, 편의상 예를 들어 test.sh 스크립트의 내용이 아래와 같다고 해 보자. # test.sh 내용 cat test.sh file "$1" cat "$1" 위 스크립트의 내용을 보면 file 명령어로 파일 종류를 식별하여 출력한 후에 cat 명령어로 해당 파일의 내용을 출력하는 것임을 알 수 있다. # test.sh 실행 예시 bash test.sh my_doc.pdf my_doc.pdf: PDF d
[Linux][Kernel] gcc - asmlinkage란
By Guillermo Austin Kim | 2018년 11월 21일 |
커널 소스를 보다보면 asmlinkage로 선언된 함수들을 볼 수 있습니다. 대표적으로 시스템 콜 핸들러를 들 수 있으며 다음 해더 파일에 정의되어 있습니다.[https://elixir.bootlin.com/linux/v4.14.70/source/include/linux/syscalls.h]asmlinkage long sys_fork(void);asmlinkage long sys_exit(int error_code);asmlinkage long sys_read(unsigned int fd, char __user *buf, size_t count);asmlinkage long sys_write(unsigned int fd, const char __user *buf, size_t count); asm