[LINUX] LINUX 명령어 정리
< 지난 포스팅 정리 >
절대경로: /(root)
상대경로: 현재 작업 위치(pwd) /../ .
현재 작업 위치 - 프롬프트 (사용자 아이디 @ 호스트: 현재위치)
프로그램 소스 에디터
visualstudio code
vi / nano(디폴트)
명령모드 < - > 입력모드
< - > 마지막행 모드
=> java / python
=> c / shell script
사용자 - 하드디스크 공간할당..
관리자(root)명령자
일반 사용자 -> 관리자 권한 위임: sudo
*master(설치 시 생성한 사용자)
* 사용자 생성하기
$ sudo adduser
$ sudo useradd
$ sudo userdel(-r)
* 특정 별칭 설정하기 ( 자주 사용하는 명령어, 해당 명령어가 너무 길 때)
$ sudo nano .bashrc (home 디렉토리에 위치, 안보이면 $ls -al)
alias cls='clear' ( alias 별칭='명령어')
사용자 계정 조작
* 사용자 암호 변경
해당 사용자의 계정 안에서 $ passwd 명령어를 통해 변경 가능
$ sudo - 사용자 아이디
$ sudo su (-) : 루트 사용자로 넘어감
* 사용자의 정보 확인
$ who : 현재 시스템을 사용하고 있는 사용자의 목록
옵션
-H : 어떤 정보인지에 대한 열 이름 확인
-q : 접속자의 수 확인
-b : 시스템 부팅 시간
$ w : 로그인한 사용자의 접속정보 및 작업정보를 확인할 수 있음
$ last : 마지막 로그인에 대한 로그 확인
$ whoami : 현재 사용자의 이름 확인
$ who am i
$ id : 자신의 정보를 확인할 수 있음 (uid, gid, group..)
파일/디렉토리의 권한 관리하기
소유자 그룹 기타사용자
파일/디렉토리 읽기 쓰기 실행 읽기 쓰기 실행 읽기 쓰기 실행
읽기 : ls 명령으로 디렉터리 목록을 볼 수 있다. (단, ls 명령의 옵션은 실행권한이 있어야 사용가능)
쓰기 : 파일의 생성과 삭제
실행: cd 명령을 사용할 수 있다. 파일을 디렉터리로 이동하거나 복사할 수 있다.
숫자로 환산하기
읽기:4 쓰기:2 실행:1 => 총 7
활성화 된 기능마다 환산한 숫자가 다르다.
ex) r - x -> 4+0+1 = 5
$ chmod 권한모드 파일/디렉터리명 : 파일이나 디렉터리의 접근 권한을변경한다.
ex) $ sudo chmod 777 test1.txt
기호로 부여하기
$ chmod 사용자 카테고리 문자 연산자 기호 접근권한 문자 파일
ex) $ sudo chmod g+rx test1.txt : 그룹의 읽기와 실행권한을 부여한다.
기본 접근 권한 설정
디렉토리(777) / 파일(666 - 실행권한)
일반 775 664
$ umask 마스크 값 : 기본 접근 권한을 출력하거나 변경한다.
$ chown 소유자.소그룹 파일/디렉토리: 파일이나 디렉토리의 소유권을 변경할 수 있다.
$ chgrp 사용자 계정 파일/디렉토리명 : 파일과 디렉터리의 소유 그룹을 변경한다.
프로세스 관리하기
사용자
생성 / 삭제 / 권한변수
허가권 / 소유권
프로그램
설치
실행(프로세스)관리
$ ps : 현재 실행 중인 프로세스에 대한 정보를 출력한다. => java IO
옵션:
$ ps -ef | grep bash (많이 사용된다)
$ ps aux
접속자 프로세스를 tty로 구분한다. ( 특정 tty에 대한 동작 프로세스를 확인할 수 있다)
$ pgrep : 지정한 패턴과 일치하는 프로세스에 대한 정보를 출력한다.
$ pgrep - xl bash : bash 패턴의 PID와 프로세스 이름을 출력한다.
+) $ pstree : 실행되고 있는 프로세스들을 트리형태로 보여줌
$ top : 현재 실행 중인 프로세스에 대한 정보를 주기적으로 출력
top => gui
ProcessBuilder (명령어, 옵션1,..) -> 가변처리
top -b -n 1 ( top 내용을 한 번 가져올 수 있다 => 변하지 않음)
$ java ProcesStateEx01 | head -n 5 : 결과물 출력을 위에서부터 5줄만 출력하기
프로세스
foreground process - 전면부 실행
일반적인 프로그램
background process - 후면부 실행
서버류 - 실행과정에 대한 출력이 없음
$ sleep [&] : 포그라운드 상태에서 sleep상태 / &을 붙이면 백그라운드로 넘어감
$ jobs : 백그라운드 상태를 확인할 수 있음
+) $ gedit으로 메모장 실행 가능
$ gedit & 으로 백그라운드 실행 가능
$ fg 1 / bg 1을 통해 포그라운드 백그라운드 변경 가
압축파일 생성하기
프로그램 설치
1. 압축파일
소스(c / c++) : 예전(최적화)
컴파일 - 설치 - 실행
실행파일
설정 - 실행
zip
zip / tar.gz
tar - 파일 묶기
gz - 파일 압축
2. 인스톨 파일
* window *.msi / setup
패키지별로 구분
1) Redhat - rpm
2) Debian - deb(DKPG - Debian Package)
$ tar cvf 압축파일이름.tar 파일1 파일2 파일3 : 여러 파일들을 압축한다.
$ tar tvf 압축파일이름.tar : 압축파일 안의 내용을 확인한다.
$ tar uvf 압축파일이름.tar 새로운 파일 이름 : 압축파일 내용 갱신
$ tar xvf 압축파일이름.tar : 압축해제
$ gzip
홈
다운로드
tar zvf 이클립스
인스톨
dkpg -i 패키지 파일
dkpg --install 패키지명
설치된 패키지 검색
dpkg
옵션
- l 목록확인
--list
패키지 제거
dpkg -r
dpkg --remove
dpkg -p
dpkg --purge