LINUX
Posts
477 posts리눅스에서 URL인코딩/디코딩
리눅스 터미널창에서 문자열 또는 파일의 내용에 대해서 URL인코딩/디코딩을 하려다가 인터넷에서 찾은 요긴한 방법이다. 파이썬(python)의 URL인코딩/디코딩 기능을 이용하는 것인데, alias로 지정해 두면 터미널창에서 아주 편리하게 활용할 수 있다. 우선 문자열을 인자로 받아서 URL디코딩을 위한 파이썬 코드는 아래와 같이 작성할 수 있다. python 버전2 기준이다. import sys,urllib as u1; print u1.unquote_plus(sys.argv[1]); 위의 코드를 파이썬을 실행할 때 -c 옵션으로 지정해 주는 방식으로 아래와 같이 alias를 만들 수 있다. # URL디코딩 alias 설정 alias urldecode='python -c "i
리눅스에서 특정 사용자/그룹에 대한 ssh 접속 허가/제한
ssh서버에서 특정 사용자 또는 그룹에 대해 접속을 허가하거나 거부하는 방법이다. ssh 데몬(sshd) 설정 파일을 편집해 주어야 한다. 설정 파일은 통상 /etc/ssh/sshd_config이다. 편집에는 루트(root) 권한을 필요로 한다. # sshd 설정 파일 편집 sudo vi /etc/ssh/sshd_config 만약 특정 사용자만 접속을 허가하고 싶다면 AllowUsers 항목을 추가해 준다. 예를 들어 사용자 john과 jane만 접속을 허용하겠다면 sshd_config 파일에 아래와 같은 내용을 추가. AllowUsers john jane 특정 IP주소 또는 호스트에서 접속하는 특정 사용자를 지정할 수도 있다. 아래의 예시를 보자. IP주소 192.168.0.
[라즈베리파이][리눅스커널]인터럽트 컨택스트란 (1) #CS
인터럽트 컨택스트란인터럽트 컨택스트란 용어가 좀 낯설진 않나요? 그래서 인터럽트 컨택스트를 배우기 전에 우선 컨택스트란 용어를 배울 필요가 있습니다. 혹시 컨텍스트 스위칭이란 단어 들어보신 적이 있나요? 리눅스 커널에서 많이 쓰는 용어인데요. 어렵게 설명하면 컨텍스트란 현재 실행하고 있는 레지스터 묶음을 의미합니다. ARM 프로세스에서는 15개의 레지스터(r0부터 pc)가 있다고 알고 있죠? 이 레지스터 중에 현재 실행 중인 코드 주소를 담고 있는 pc(Program Counter)란 레지스터가 있는데요. 만약 현재 커널이 start_kernel이란 함수를 실행하고 있는데 이 함수의 주소가 0xC000D000이면 pc란 레지스터는 0xC000D000 주소를 담고 있습니다. 이렇게 PC 레지스터를 포함한
[bash: nl, awk] 결과 출력에 행번호를 같이 표시하기
화면에 결과를 출력할 때 행번호를 같이 표시할 필요하 있다면 nl을 이용할 수 있다. 아래의 예시를 보자. cat my_file.txt | nl 1 abc 2 def ... nl에서 아무련 옵션을 주지 않았을 경우, 6칸을 행번호 폭으로 할당하고 행번호와 출력 내용은 탭(tab)으로 구분된다. 만약 행번호의 폭을 1칸으로 하려면 -w 옵션을 사용하고, 구분자를 바꾸고 싶다면 -s 옵션을 사용하면 되겠다. # 행번호 폭 1칸, 구분자 콜론(:) cat my_file.txt | nl -w 1 -s ":" 1:abc 2:def ... 9:abc 10:def ... 출력 행수가 많아서 행번호 자리수가 -w에서 지정한 폭을 넘어갈 경우에는 당연히



