유지보수 업무(SM)를 하며 서버를 다룰 일이 많았다.
보통 서버는 CentOS, Ubuntu등의 Linux나 Solaris를 사용하며, ssh(secure shell) 접속으로 작업을 진행한다.
서버를 다루며 주로 사용했던 생활 리눅스(?) 명령어를 정리해보려 합니다.
ssh 연결을 위해 보통 MobaXterm
을 사용하여 서버에 접근한다. 접속하면 내가 작업하는 PC는 서버와 연결되기 때문에 보안에 취약해진다. 그래서 보안상 일정시간 이후 자동으로 로그아웃되도록 설정이 되어있다. 하지만 잠깐 회의나 식사를 하러 자리를 비웠는데 로그아웃이 된다면 이전 작업이 기억이 안날 수 있기 때문에 보통 자동으로 세션 로그아웃 기능을 꺼놓는다. TMOUT=0
명령어를 통해 해당 설정을 비활성화 할 수 있다.
pwd는 print working directory
의 준말로 현재 작업 중인 디렉토리를 출력한다.
cd는 change directory
의 준말로 작업 경로를 이동할 때 사용하는 명령어이다.
위 이미지는 디텍토리 중 제일 상단으로 이동하는 명령어이다.
cd ..
는 현재 디렉토리 바로 이전 디렉토리로 이동하는 명령어이다.
ls -al
명령어는 현재 디렉토리에 있는 모든 파일과 폴더를 출력하는 명령어이다.
명령어를 입력하면 다음과 같이 출력이된다.
디렉토리 내에 어떤 파일이 있는지 확인하기 위해 주로 사용하는 명령어이다.
df 명령어는 시스템 전체의 메모리 사용량을 확인할 수 있다.
-h
를 통해 사람이 확인하기 쉽게 표기된다.
top 명령어는 현재 사용 중인 OS의 상태를 확인하는 명령어이다.
CPU 사용량이나 메모리 사용량을 확인할 수 있다.
ps는 process status
를 의미하며 의미 그대로 현재 실행 중인 프로세스 상태를 확인할 수 있다. PID를 통해 실행한 서버가 제대로 잡혀 있는지 확인할 때 사용한다.
|grep (찾을 문자열)
을 통해 원하는 문자열만 필터링도 가능하다.
ex) ps -ef |grep sshd
해당 명령어는 어떤 프로세스가 어떤 포트를 사용하고 있는지 확인할 때 사용한다.
운영서버는 보안 때문에 Defalut Port를 사용하지 않아서 해당 명령어를 통해 몇 번 포트가 할당되어 있는지 확인할 수 있다.
예를 들어 Tomcat이 몇번 PID를 쓰고 포트는 몇번을 할당했는지 확인 가능하다.
kill 명령어는 프로세스를 종료하는 명령어이다. -9 옵션을 통해 강제 종료 시킬 수 있다.
만약 pid가 1234라면 명령어는 다음과 같다.
kill -9 1234
cat 명령어는 파일의 모든 텍스트 내용을 출력하는 명령어이다.
단 확인만 가능하며, 수정은 불가능하다.
vi 명령어는 주로 config파일, 즉 설정파일을 수정할 때 사용한다.
vi test.txt
명령어를 입력하면 cat과는 다른 형태로 텍스트가 나올 것이다.
i
를 눌러 INSERT 모드로 변경한다. 그래야 파일 수정이 가능하다.
파일 수정을 모두 마쳤다면, esc를 눌러준다. 그리고 :wq
를 입력하면 기존 명령어창으로 돌아올 것이다.
여기서 :wq
는 저장 후 종료하는 명령어이다.
만약 저장은 하지 않고 종료하고 싶다면 :q
를 입력해주면 된다.
위에 적은건 거의 야매(?)기 때문에 아래 블로그를 보며 공부하는게 좋다..
vi 명령어 정리
https://blockdmask.tistory.com/25
tail 명령어는 주로 로그 파일을 확인할 때 사용하며, 파일의 맨 뒷부분을 출력한다.
주로 사용하는 유형은 두 가지였다.
tail -1000 파일명
이 명령어는 파일 맨뒤에서 1000줄을 출력하는 명령어이다.
값을 수정하여 출력하는 양을 조절할 수 있다.
tail -f 파일명
이 명령어는 파일의 실시간으로 모니터링 할 때 사용한다.
값이 수정되는 즉시 출력되어 보여진다.
grep 명령어는 주로 사용자가 원하는 문자열을 파일에서 찾을 때 사용한다.
예를 들어 grep 'hello' test.txt
를 입력하면 test.txt 파일 내에서 hello가 들어간 라인을 출력한다.
cp는 copy
의 준말로 파일을 복사할 때 사용한다. 주로 소스 반영 시 백업을 할 때 사용한다.
cp test.txt test.txt_bck
명령어를 실행하면 다음이 복사본이 생성된 것을 확인할 수 있다.
mv는 move
의 준말로 파일을 지정한 위치로 이동하거나 cp 명령어로 백업한 파일을 다시 롤백할 때 사용한다.
경로 이동
mv test.txt /home/test/ex_folder
위 명령어는 현재 경로의 텍스트 파일을 지정한 경로로 이동시키는 명령어이다.
파일 백업
mv test.txt_bck test.txt
위 명령어는 cp로 생성한 백업파일을 다시 test.txt에 덮어쓸 때 사용한다.
소스 반영 후 오류가 나서 롤백할 때 사용했었다.
MobaXterm에서 확인하니 명령어 사용 후 파일 수정 일자가 변경되지 않아서 ftp로 파일을 덮어쓰는 걸 추천합니다..!
내가 사용한 명령어 기록들을 확인할 수 있다.
만약 이전에 사용했던 명령어가 기억이 나지 않는다면 history
명령어를 사용해보자.
파일을 열고 닫고, 명령어 계속 치고 작업하다 보면 터미널이 지저분해진다.
초심을 찾아 다시 새로운 작업을 하고 싶다면 clear
명령어를 사용하면 깔끔하게 밀린다.
유지보수 업무를 하며 가장 보편적으로 사용했던 리눅스, 솔라리스 명령어를 정리했습니다. 업무 간 참고하시면 좋을 것 같습니다.