CentOS 7 환경에서 JDK, NginX, Tomcat을 설치하여 운영을 해보고자 기본적인 리눅스 공부를 해본다.
===============================================================================
리눅스 명령어를 대하는 자세를 다음과 같이 하기로 하였다.
1) 자주 사용하는 명령어는 자주 사용해서 몸에 익힌다.
2) 명령어는 모두 외울 수 없다. 명령어를 찾는 방법과 사용법을 익힌다.
리눅스 명령어와 옵션, 사용법을 외우려고 하니 헷갈리고 현기증이 났다. 자주 사용하는 명령어는 자연스럽게 익숙해 질 것. 그리고 헷갈리는 명령어는 알아보면서 사용하는 것이 효율적이고 정확하다.
▷명령어를 찾고 사용법을 확인하는 방법
명령어를 찾고 사용법을 확인할 줄 아는 것이 중요하다.
명령어를 찾는법 // 검색문자<더블탭>
명령어의 사용법 // <명령어> --help, <명령어> --usage
명령어의 메뉴얼 // man <명령어>
이를 이용하여 리눅스에서 방화벽 port 목록을 확인하고자 한다. 이 경우 다음과 같이 진행한다.
1. 방화벽이니까 f로 시작하는 명령어를 찾아본다.
: f더블탭
2. 여기서 어느정도 어떤 명령어를 써야하는지는 알아야한다. 한 번 써보았던 firewall-cmd 명령어를 확인한다.
3. man firewall-cmd 로 메뉴얼을 확인한다.
친절하게 메뉴얼이 나온다. NAME과 discription을 읽어보면 어떤 기능의 명령어인지 감을 잡을 수 있다.(메뉴얼에서 나갈 때는 q를 입력한다)
4.해당 명령어의 용법 및 옵션을 확인한다.
▷명령어를 조합하여 사용하는 방법 ( 세미콜론, 더블엔퍼센트, 더블버티컬바, 파이프)
명령어를 조합해서 사용할 수 있다.
운영체제의 이름을 출력하는 uname 명령어로 확인해본다.
1) 세미콜론을 이용하면 한 줄에 여러 명령어를 모두 실행할 수 있다.
2) 더블엔퍼센트를 이용하면 앞 명령어를 성공 시 뒷 명령어를 실행한다.
없는 명령어 abc와 uname명령어로 더블엔퍼센트 테스트를 한다.
자바의 &&연산자와 동작이 같다.
둘 다 참이면 참인 and특성 상 앞이 거짓이면 뒤를 안봐도 결과가 거짓이므로 뒤는 실행하지 않는다.
<앞 명령어>가 성공해야만 <뒷 명령어>를 실행하고
<앞 명령어>가 실패하면 <뒷 명령어>를 실행하지 않고자 할 때 사용한다.
3) 더블버티컬바를 이용하면 앞 명령어 성공 시 앞 명령어만, 앞 명령어 실패 시 뒷 명령어를 실행한다.
없는 명령어 abc와 uname명령어로 더블버티컬바 테스트를 한다.
자바의 ||연산자와 동작이 같다.
둘 다 거짓이면 거짓인 or특성 상 앞이 참이면 뒤를 안봐도 결과가 참이므로 뒤는 실행하지 않는다.
<앞 명령어>가 성공하면 <뒷 명령어>는 실행하지 않고
<앞 명령어>가 실패할 경우 <뒷 명령어>를 실행하고자 할 때 사용한다.
4) 파이프를 이용하면 앞 명령어의 결과를 뒷 명령어로 가공 및 필터링 할 수 있다.
▷리눅스 기본 명령어 정리
사용법과 옵션값 등은 man, --help, --usage를 통해 익히도록 하자.
분류 | 기능 및 설명 | 명령어/ 커맨드 |
리눅스 활용 기본 기능 | 해당 문자로 시작하는 명령어 검색 | 검색할문자 <tab> <tab> |
리눅스 활용 기본 기능 | 명령어 용법 | <명령어> --help |
리눅스 활용 기본 기능 | 명령어 용법 | <명령어> --usage |
리눅스 활용 기본 기능 | 매뉴얼 | man <명령어> |
리눅스 활용 기본 기능 | 이전에 사용한 명령어 | 방향키 ↑ /↓ |
리눅스 명령어 조합 연산자 | 파이프 // <앞명령어>| <뒷명령어> 앞 명령어의 출력을 뒷 명령어로 필터링 및 가공 | | |
리눅스 명령어 조합 연산자 | 파이프의 뒷 명령어로 앞 명령어를 필터링 할 때 사용. 파일 이름 패턴 | grep <패턴> 예시)man firewall-cmd | grep port :앞 명령어의 결과인 메뉴얼 화면에서 "port" 단어를 포함한 내용만 출력한다. |
리눅스 명령어 조합 연산자 | 세미콜론 // 한 줄에 다중 명령. <명령어>;<명령어>;<명령어>;… 명령어 모두 실행 | ; |
리눅스 명령어 조합 연산자 | 더블엔퍼센트// 자바의 &&와 유사. <앞명령어> && <뒷명령어> 앞 명령어 성공 시 뒷 명령어 실행 | && |
리눅스 명령어 조합 연산자 | 더블 버티컬바// 자바의 ||와 유사. <앞명령어> || <뒷명령어> 앞 명령어 실패 시 뒷 명령어 실행 | || |
네트워크 | ipconfig | ifconfig |
네트워크 | ip정보 출력 | ip addr sho |
네트워크 | ping 명령어 | ping [ip주소] |
네트워크 | 네트워크 연결, 라우팅 테이블 등 네트워크 정보 출력 | netstat |
네트워크 | url을 전송 | curl <url> |
시스템 | 리눅스 프로세스 모니터링(점유율 등) | top |
시스템 | 리눅스 로그인 | login |
시스템 | 리눅스 로그아웃 | logout |
시스템 | 리눅스 재가동 | reboot |
디렉토리/파일 | 현재 경로 출력 | pwd |
디렉토리/파일 | 현재 경로 내 파일 리스트 | ls |
디렉토리/파일 | 디렉토리 생성 | mkdir |
디렉토리/파일 | 디렉토리 제거 | rmdir |
디렉토리/파일 | 디렉토리 제거 | rd |
디렉토리/파일 | 디렉토리 이동 | cd |
디렉토리/파일 | 파일 복사 | cp |
디렉토리/파일 | 파일 위치 변경/ 파일 이름 변경 | mv |
디렉토리/파일 | 파일 제거 | rm |
디렉토리/파일 | 파일 위치 확인 (경로) | which |
디렉토리/파일 | 소스,파일 등 위치 확인 | whereis |
디렉토리/파일 | 파일 내용 출력, 파일 생성 | cat |
디렉토리/파일 | 파일 내용 출력 | more |
파일 편집 | 편집기 실행 [편집기로 파일 오픈] | vi [파일명] |
파일 편집 | 편집기 실행 [편집기로 파일 오픈] | vim [파일명] |
vi/vim | 편집 모드로 변경 | (명령모드에서) i or a |
vi/vim | 명령 모드로 변경 | (편집모드에서) esc |
vi/vim | 콜론 모드로 변경 | (명령모드에서) : |
vi/vim | 종료/강제종료/저장/저장 후 종료 [ 파일명 ] | (콜론모드에서) q / q! / w / wq [파일이름] |
권한 | 파일 권한 변경 | chmod <권한> <파일> |
권한 | 관리자 권한으로 명령어 실행 | sudo <명령어> |
권한 | 파일 소유자 및 권한 변경 | chown |
사용자 | root계정임을 표시 | 명령어줄 # |
사용자 | 사용자계정임을 표시 | 명령어줄 $ |
사용자 | 현재 사용자 | who |
사용자 | 현재 사용자 | whoami |
사용자 | 사용자 목록 확인 | cat /etc/passwd |
사용자 | 사용자 생성 | useradd [사용자명] |
사용자 | 사용자 제거 | userdel [사용자명] |
사용자 | 사용자 비밀번호 변경 | passwd [사용자명] |
사용자 | 현재 사용자 변경 | su [사용자명] |
시스템 정보 | 시스템 정보 출력 | uname |
시스템 정보 | 시스템 정보 출력 | cat /proc/version |
프로그램/ 프로세스 | 레드햇 패키지 관리자// 소프트웨어 패키지 생성, 설치, 검증, 갱신, 제거 | rpm |
프로그램/ 프로세스 | 파일 실행 | /파일명 |
프로그램/ 프로세스 | Yellowdog Updater Modified// 저장소에서 파일 다운로드, rpm기반 패키지 업데이트 및 설치 기능 | yum <파일명> |
프로그램/ 프로세스 | 링크로 파일 다운로드 // non-interative네트워크 다운로더 | wget <다운로드 링크> |
방화벽 | 방화벽 관련 기능 | firewall-cmd |
장치 | 장치 연결 | mount |
압축 | tar 압축 및 해제 | tar |
압축 | zip 압축 | zip |
압축 | zip 압축 해제 | unzip |
'개발 > linux' 카테고리의 다른 글
[linux] Alias 만들고 없애기 (0) | 2023.03.21 |
---|---|
[linux] 파일 권한 확인 및 권한 부여 (1) | 2023.03.17 |
[linux] 편리한 tab tab 기능 (1) | 2023.03.15 |
[linux] bin, sbin, 심볼릭 링크(Symbolic Link),하드 링크 (0) | 2023.03.15 |
[linux] 리눅스 관련 이슈(점유율, docker, 프로세스) (0) | 2023.03.09 |