리눅스 기본 쉘이 bash 이므로, bash에서 제공하는 기본 명령어를 배우는 것임
whoami : 로그인한 사용자 ID를 알려줌
# whoami
root
passwd : 로그인한 사용자 ID의 암호 변경
# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
pwd : 현재 디렉토리 위치
# pwd
/
cd : 디렉토리 이동
# pwd
/etc
# cd ~
# pwd
/root
# cd -
# pwd
/etc
# ls -al
total 32
drwxr-xr-x 4 root root 4096 Oct 3 09:51 .
drwxr-xr-x 1 root root 4096 Oct 4 03:52 ..
drwxr-xr-x 2 root root 4096 Oct 3 09:47 conf.d
-rwxr-xr-x 1 root root 120 Jul 19 19:28 debian-start
-rw------- 1 root root 317 Oct 3 09:47 debian.cnf
lrwxrwxrwx 1 root root 24 Oct 3 09:47 my.cnf -> /etc/alternatives/my.cnf
-rw-r--r-- 1 root root 839 Jan 21 2017 my.cnf.fallback
-rw-r--r-- 1 root root 682 Feb 3 2017 mysql.cnf
drwxr-xr-x 2 root root 4096 Oct 3 12:47 mysql.conf.d
# ls debi* -al
-rwxr-xr-x 1 root root 120 Jul 19 19:28 debian-start
-rw------- 1 root root 317 Oct 3 09:47 debian.cnf
cat : 파일 보기
# cat mysql.cnf
mysql.cnf 파일 내용이 출력됨
head/tail : head 는 파일 시작부분, tail 은 끝 부분을 보여줌
# head mysql.cnf
mysql.cnf 파일 앞부분만 출력됨 (기본적으로 출력 라인 수가 10으로 정해져 있음)
# tail mysql.cnf
mysql.cnf 파일 뒷부분만 출력됨 (기본적으로 출력 라인 수가 10으로 정해져 있음)
more : 파일 보기 (화면이 넘어갈 경우, 화면이 넘어가기 전까지 보여줌)
# more mysql.cnf
mysql.cnf 파일 내용이 출력됨
rm : 파일 및 폴더 삭제
<option>
-i : 영문의 대소문자를 구별하지 않는다.
-v : pattern을 포함하지 않는 라인을 출력한다.
-n : 검색 결과의 각 행의 선두에 행 번호를 넣는다(first line is 1).
-l : 파일명만 출력한다.
-c : 패턴과 일치하는 라인의 개수만 출력한다.
-r : 하위 디렉토리까지 검색한다.
# find / -name '*.py' > list.txt &
[1] 57
foreground process 제어하기
- [CTRL] + z : foreground 프로세스를 실행 중지 상태(suspend 모드)로 변경
- 맨 마지막 [CTRL] + z 로 중지된 프로세스는 bg 명령으로 background 프로세스로 실행될 수 있음
- jobs 명령어 : 백그라운드로 진행 또는 중지된 상태로 있는 프로세스를 보여줌
```
# find / -name '*.txt'
^Z
[1]- Stopped find / -name '*.txt'
# find / -name '*.py'
^Z
[2]- Stopped find / -name '*.py'
# jobs
[1]- Stopped find / -name '*.txt'
[2]+ Stopped find / -name '*.py'
# bg
[2]+ find / -name '*.py' &
```
- [CTRL] + c : 프로세스 작업 취소 (해당 프로세스는 완전히 종료됩니다.)
프로세스 중지시키기
# find / -name '*.py' > list.txt &
[1] 57
# kill -9 57
프로세스 상태 확인
-a : 시스템을 사용하는 모든 사용자의 프로세스 출력 (보통 aux 와 같이 u, x 옵션과 함께 사용) -u : 프로세스 소유자에 대한 상세 정보 출력 -l : 프로세스 관련 상세 정보 출력 -x : 터미널에 로그인한 후 실행한 프로세스가 아닌 프로세스들도 출력함. 주로 데몬 프로세스(daemon process)까지도 확인하기 위해 사용함. 본래 ps 명령은 현재 쉘(shell)에서 실행한 프로세스들만 보여주기 때문에 이 옵션을 사용하는 경우가 많음 -e : 해당 프로세스와 관련된 환경 변수 정보도 함께 출력 -f : 프로세스 간 관계 정보도 출력
USER : 프로세스를 실행시킨 사용자 ID PID : 프로세스 ID %CPU : 마지막 1분 동안 프로세스가 사용한 CPU시간의 백분율 %MEM : 마지막 1분 동안 프로세스가 사용한 메모리 백분율 VSZ : 프로세스가 사용하는 가상 메모리 크기 RSS : 프로세스에서 사용하는 실제 메모리 크기 TTY : 프로세스와 연결된 터미널 포트 STAT : 프로세스 상태 START : 프로세스가 시작된 시간 TIME : 현재까지 사용된 CPU 시간(분:초) COMMAND : 명령어
프로세스 실행 권한
(visudo 를 쉘에서 명령하면, 해당 설정 파일이 오픈되어 수정 가능함, 물론 통상 root 권한으로 수정) 1. 특정 사용자가 sudo를 사용할 수 있도록 설정 userid ALL=(ALL) ALL 2. 특정 그룹에 포함된 모든 사용자가 sudo를 사용할 수 있도록 설정 %group ALL=(ALL) ALL 3. 패스워드 생략 설정 %group ALL=(ALL) NOPASSWD: ALL userid ALL=(ALL) NOPASSWD: ALL