코딩하는 문과생

[리눅스] 생활코딩, 디렉토리, 파일, 프로세스 본문

개발 관련 지식/리눅스

[리눅스] 생활코딩, 디렉토리, 파일, 프로세스

코딩하는 문과생 2019. 12. 18. 16:58

[디렉토리 구조]

  • bin: 사용자들이 사용할 명령어들 ex. ls, nano...
  • sbin: ex. shutdown, reboot...
  • etc: ex. timezone, wgetrc
  • var: 바뀔 수 있는 부분을 다룬다.
  • tmp: 임시파일
  • home: 해당 사용자의 파일들이 저장 ex. cd /home/ubuntu, cd ~(해당 사용자의 디렉토리로 이동)

[프로세스]

실행되고 있는 프로그램

# ***ps***
$ ps 
# 현재 돌아가는 프로세스 리스트
$ ps aux
# 백그라운드까지 포함
$ ps aux | grep apache
# apache를 포함하는 프로세스 출력

$ sudo kill 22142(P ID)
# PID: 프로세스 ID
# 강제로 종료

# ***top***
$ sudo top

# ***htop***
$ sudo apt-get install htop
$ sudo htop
# RES: 실제 사용 메모리
# MEM: 실제 사용 메모리(%)

 

-htop

Load average: 부하 평균(1분, 5분, 15분 평균치)

ex. 수치:5, core가 1개라면-> 1개의 프로세스가 처리되는 동안 4개의 프로세스가 대기하고 있다.

ex. 수치:1, core가 4개라면-> 3개의 프로세서는 놀고 있다.

ex. 수치:4, core가 4개라면-> 적절히 돌아가고 있다.

 

[파일을 찾는 법]

파일?

  1. 데이터 보관용
  2. 명령 보관용(실행파일)
# ***locate***
$ locate *.log
# 확장자가 log인 파일을 모두 찾고 싶다.
# 파일 자체가 아닌
# 파일을 관리하는 ***데이터베이스***를 뒤적거린다.

$ sudo updatedb
# 리눅스가 자체적으로 처리한다.
# 파일관리 DB

$ find --help | head
# ***파일 자체***를 뒤진다. 실시간으로 확인 가능

# ***find***
$ sudo find / -name *.log
# '/': root부터 찾겠다, '~': 해당 사용자 디렉토리부터 찾겠다, '-name':이름 기준

# ***whereis***
$ whereis ls
# 명령어가 위치한 장소, 설명서가 위치한 장소
$ whereis rm

# ***PATH : 환경변수***
# 어떻게 ls가 실행될 수 있을까?
$ echo $PATH
# 여기에 경로가 등록되어 있기 때문에