출처 : 생활코딩 - Linux
- / : root
- /bin(실행가능한 프로그램을 binary or bin이라고함) : user binaries(사용자들이 사용하는 명령어)
- /sbin : system Binaries(시스템 관리자(root 관리자)가 사용하는 프로그램)
- /etc : 프로그램의 동작을 변경하고 싶을 때 설정 변경 가능
- /var : Variable Files(ex. log 내용이 바뀌고, 증가됨)
- /tmp : Temporary Files(임시 파일)
- /home : 사용자 디렉토리로 cd ~ 을 사용해서 한번에 이동가능
- /lib : System Libraries (공통으로 사용하는 라이브러리들이 보관됨)
- /opt : Optional add-on Applications(apt-get install htop : 알아서 적절한 위치에 설치됨, 이동경로는 whereis로 확인가능)
- /usr : User Programs (usr안에 bin, sbin, lib, local 디렉토리 존재) 설치하는 프로그램들은 usr밑에 설치됨 (unix계열에 설치되어 있는 bundle형식은 바로 저장됨)
- locate : 디렉토리가 아닌 db(mlocate: locate가 사용하는 db)를 뒤져서 파일을 찾음
locate *.log
.log로 끝나는 파일 모두 찾아 (sudo apt install plocate 설치해야함)
sudo updatedb
: mlocate라는 db에 현재 이 컴퓨터에 있는 파일에 대한 정보들이 저장됨
- find : 디렉토리를 직접 뒤지기 때문에 locate보다는 성능이 덜좋음
- 형식: find [option][path..][expression]
find / -name *.log
: root dir에서 확장자가 .log인 파일을 찾겠다.find . -type f -name a.log
: 타입이 file인 것을 찾겠다find . -type f -name "a.log" -exec rm -f {}
: rm -f(묻지도 따지지도 않고)를 삭제하겠다. {}: 명령을 통해서 검색한 파일의 이름이 위치하게 됨(검색된 파일을 삭제하겠다)
find --help | head
: find가 return하는 표준 출력을 head가 입력으로 받아서 앞쪽에 있는 것만 출력 (|는 출력을 다른 명령어의 입력으로 전달하는데 사용)
- whereis ls
- /bin/ls : ls라는 명령어(프로그램)이 bin이라는 디렉토리 밑에 있다.
- 뒤의 주소는 manual에 대한 경로(즉, man ls를 입력했을때의 내용이 저 경로에 존재한다)
- $PATH : 변수로 데이터가 들어가 있어
- ls는 bin안에 있는데 바로 실행되는 이유는 path라는 변수에 경로가 저장되어 있기 때문
- 운영체제는 $PATH에 담겨있는 디렉토리를 검색해서 디렉토리에 실행파일이 존재하는지를 차례로 뒤져서 명령어가 발견되면 실행해라
- 변경 가능함
- 환경 변수(우리가 만들지 않은 함수)