Linux 159

uptime - 시스템 가동시간 확인

uptime 시스템이 실행되고 난 후부터 지금까지의 시간 및 로그인한 사용자 수, 시스템 부하율 등의 정보를 표시하는 명령어 명령어 uptime # -p : pretty. 활성화 후의 시간 출력 # -s : since. 활설화 시각을 yyyy-mm-dd HH:MM:SS 형식으로 출력 실행 결과 의미 12:15:03 : 현재 시각 0 min : 활성화된 시각으로부터 지난 시간 1 user : 로그인한 사용자 수 load average : 1분, 5분, 10분의 평균 부하율

Linux 2021.08.20

[Shell Script] 조건문

매번 구글링 해서 찾기 때문에 적어둔다. IF문 if [ 값1 조건식 값2 ] then 실행문 fi if [ 값1 조건식 값2 ] ; then 실행문 fi # 예시 if [ ${PATH} == "/" ] # == 은 문자열 비교 시 사용 then size=$(df -m | grep ${PATH} | awk '{ print $3 }') fi if [ ${PATH} == "/" ] ; then size=$(df -m | grep ${PATH} | awk '{ print $3 }') fi 대괄호와 값 사이에는 공백이 존재해야 한다. 변수를 참조할 때는 중괄호로 변수명을 감싸는 습관을 들이는 것이 좋다. if문은 fi로 끝낸다. IF-ELSE 문 if [ 값1 조건식 값2 ]; then 실행문 else 실행문 ..

Linux/Shell Script 2021.08.17

특정 파일들의 총 용량 구하기

특정 디렉터리 내에 특정 파일들이 차지하는 총 용량을 구하려고 한다. 방법 - du 명령 du -ch # -c : --total. 총합 계산 현재 디렉터리의 python 코드의 총 용량을 계산한다. - 특정 파일들을 찾은 후, 용량의 총합을 계산 find -type f | grep | xargs ls -l | awk '{ result += $5 } END { print result }' # 예시 find ./* -type f | grep py$ | xargs ls -l | awk '{ result += $5 } END { print result }' 계산 과정 특정 디렉터리에서 특정 파일 찾기 해당 파일의 상세 정보 확인 xargs 명령어는 파이프 이전의 명령어를 인자로 받아 지정된 명령어를 실행한다. ..

Linux 2021.08.13

일반 사용자에게 sudo 권한 부여

sudo 일반 사용자가 루트 권한을 임시로 획득하여 특정 명령을 가능하게 하는 명령어 sudo 명령은 /etc/sudoers라는 설정 파일에 사용자가 등록되어 있어야 사용할 수 있다. /etc/sudoers 파일은 보안 상 아주 아주 중요하기 때문에 root 계정에도 읽기 권한만이 주어져 있다. /etc/sudoers를 편집하는 방법은 2가지가 존재한다. visudo 명령 사용 visudo​ 명령어 사용에는 sudo 권한이 필요하며, 사용 시 /etc/sudoers 파일에 접근할 수 있게 된다. /etc/sudoers 파일에 편집 권한 부여 chmod 명령어를 이용하여 편집 권한을 부여한다. chmod u+w /etc/sudoers #또는 chomde 640 /etc/sudoers 편집을 완료했으면 부여..

Linux 2021.08.12

VIM - 여러 줄 주석 처리하기

vi Emacs와 함께 유닉스 환경에서 많이 쓰이는 문서 편집기 한 화면을 편집하는 비주얼 에디터(visual editor) VIM Vi IMproved(향상된 VI). 현재 대부분의 리눅스 시스템에 표준 모델로 들어감 보통 vi를 쳐도 vim을 사용하게끔 alias가 잡혀있을 것이다. vim으로 여러 줄을 한꺼번에 편집할 때는 다음과 같이 하면 된다. 1. VISUAL BLOCK 모드로 진입 CTRL + V를 누르면 된다. 2. 커서를 이동해 블록 지정 3. Shift + i를 누르고 내용 편집 4. ESC로 편집 모드 종료 잡았던 블록만큼 한꺼번에 주석처리 된 것을 확인할 수 있다.

Linux 2021.08.01

[CentOS 7] You () are not allowed to use this program (crontab) - 1

에러 해결 crontab을 사용하려고 할 때 간혹 아래 사진과 같은 메시지가 노출되며 사용 불가할 때가 있다. 이 경우에는 아래 경로의 설정 파일을 이용하여 사용자의 crontab 사용 권한을 제어하고 있는 상태일 수 있다. /etc/cron.allow /etc/cron.deny 서버에 /etc/cron.allow라는 파일이 존재하면, root 권한으로 해당 파일에 크론탭을 사용할 계정명을 추가하고 저장한다. 이후 사용자가 크론탭을 사용할 수 있는지 확인해본다. 크론 서비스를 재시작할 필요는 없다. 각 파일 유무에 따른 crontab 사용 제한 /etc/cron.deny O /etc/cron.deny X /etc/cron.allow O /etc/cron.allow에 등록된 계정만 허용 /etc/cron...

Linux 2021.07.31

proxy: Unsupported authorisation protocol

원격 서버에서 크롬 브라우저와 같이 GUI 프로그램을 실행했을 때 아래와 같은 에러를 만날 수 있다. proxy: Unsupported authorisation protocol 프로토콜 사용이 안 된다는 말인데, 기본적으로 원격 GUI 실행은 X Forwarding, 즉 실행에 필요한 프로토콜이 SSH를 통해 포워딩된다. 확인할 다른 부분도 있겠지만 /etc/ssh/sshd_config 파일부터 확인해보도록 한다. 아래의 설정이 no로 되어있지는 않은지, X11Forwarding yes 요청한 사용자가 ssh를 사용하도록 허용되어 있는지 확인하도록 한다. 간단한 배경 지식 Linux에서는 X11이라는 디스플레이 서버를 이용하여 GUI(Graphical User Interface) 환경을 그린다. 크롬 브..

Linux 2021.07.30

ssh - 특정 사용자 접속 제한

SSH는 기본적으로 모든 사용자가 사용할 수 있다. 하지만 필요하다면 특정 사용자나 그룹만 접속할 수 있도록 허용하거나 반대로 접속을 제한할 수 있다. 설정 파일의 경로는 일반적으로 아래와 같다. /etc/ssh/sshd_config # 편집 vim /etc/ssh/sshd_config 시스템 설정 파일이므로 편집에는 root 권한이 필요하다. AllowUsers 접속할 사용자를 지정한다. 이 경우 다른 사용자는 ssh 접속이 불가능하게 된다. AllowUsers # 예시 AllowUsers test_user 공백으로 사용자를 구분하여 여러 사용자를 한꺼번에 허용할 수 있다. 또한 사용자가 특정 호스트에서만 접속할 수 있도록 아래와 같이 ip를 제한할 수도 있다. AllowUsers @ # 예시 Allo..

Linux 2021.07.29

sed - 쉘에서 파일 내용 일부 삭제

sed; stream editor 문자열을 필터링하고 변환하는 스트림 편집기 디스크 사용량이 너무 많아서 확인해보니, 로그 파일 하나가 20GB, 30GB가 넘어가고 있었다. 확인해보니 일정 시간 간격으로 로그 파일을 생성하는 게 아니라, 하나의 파일에 로그를 계속 쌓고 있는 상황이다. 정리는 하되 최신 파일 내용을 남겨두어야 하는데 용량이 너무 커서 에디터로 열리지도 않는다. ……도대체 누가 왜 이렇게 한 걸까? 아무튼 그게 급한 게 아니고, 에디터로 편집하는 게 아니라 명령어로 파일 처음부터 어디까지만 삭제할 수는 없을까? 다급하게 찾아보았더니 다행히 sed 명령을 사용하는 방법이 있었다. sed -i '1, 10000d' # -i : 출력 결과를 원본 파일에 저장 sed 명령은 기본적으로 원본 파일..

Linux 2021.07.26

du - 디렉터리 용량 확인

du; Disk Usage 지정된 디렉터리의 디스크 사용량 표시 디스크 정리할 때 디스크 사용량이 많은 디렉터리와 파일을 확인할 때 사용한다. du [OPTION] [DIRECTORY|FILE] # 예시 du -sh ./* # -s : summarize. 디렉터리 내의 모든 파일과 서브 디렉터리의 용량을 합쳐서 표시 # -h : human-readable. 사람이 읽기 쉬운 단위로 표시 보통 현재 디렉터리의 하위 디렉터리 용량을 확인하면서 어느 부분이 원인인지 찾아들어가는 편이다. 모든 디렉터리를 지정하면 출력도 길고 시간도 오래 걸릴 수 있어서 추천하지 않는다. 용량 기준으로 내림차순 정렬 du -sh /PATH | sort -nr

Linux 2021.07.25