테크/리눅스

[리눅스] 디렉토리 구조 & 파일찾기

2022. 1. 26. 15:48

 

리눅스 시스템은 디렉토리가 모든 작업을 한다고 해도 과언이 아닐 정도로 중요한 개념이다.

 

우리가 처음 리눅스를 시작할때 home디렉토리에서 시작하며 ~로 표시하고 나름 안전한 영역(?)에서 작업을 하는 것이다.

최상위 단은 root디렉토리 라고 부르며 / 로 시작한다.

root디렉토리에 있는 다른 디렉토리는 시스템을 진행할 때 매우 중요한 자료가 저장되어 있기 때문에 함부로 건들면 안된다.

 

간단히 bin(Essential User Binaries)이라는 디렉토리를 확인해보자.

해당 디렉토리에는 우리가 흔히 사용하는mv, rm, ls와 같은 프로그램 명령어들이 저장되어 있는것을 알 수 있다.

 

이렇게 root디렉토리에는 각각의 역할을 하는 중요한 디렉토리별로 시스템이 나뉜것을 알 수 있으며 각각의 역할은 다음 글을 보면 자세히 알 수 있다.

The Linux Directory Structure, Explained (howtogeek.com)

 

The Linux Directory Structure, Explained

If you’re coming from Windows, the Linux file system structure can seem particularly alien. The C:\ drive and drive letters are gone, replaced by a / and cryptic-sounding directories, most of which have three letter names.

www.howtogeek.com


 
파일 찾기
locate

locate 명령어는 디렉토리를 일일히 탐색하는 것이 아니라 내 pc의 데이터베이스에 접근해 검색하고자 하는 파일 이름을 전부 출력해준다.

리눅스 시스템은 하루에 한번씩 pc의 데이터베이스의 정보를 업데이트를 한다고 한다.

 

find
 

find 명령어는 locate와 다르게 디렉토리를 탐색하는 방식이라 속도측면에서는 느리지만 디렉토리를 지정해서 탐색을 할 수 있기 때문에 보다 세부적으로 다룰 수 있다.

~ find /     #루트 디렉토리에서 탐색
~ find .     #현재 디렉토리에서 탐색
 

find는 사용법이 워낙 다양하기 때문에 그때그때 필요한 작업에 맞춰서 찾으면 된다.

 

35 Practical Examples of Linux Find Command (tecmint.com)

 

35 Practical Examples of Linux Find Command

The Linux find command is one of the most important and frequently used command command-line utility in Unix-like operating systems. The find command is used to search and locate the list of files and directories based on conditions you specify for files t

www.tecmint.com

가장 기본적으로 파일 이름으로 찾는 방법은 다음과 같다.

~ find / -name *.log     # 루트디렉토리에서부터 .log로 끝나는 모든 파일 찾기
~ find . -name *.log     # 현재디렉토리에서부터 .log로 끝나는 모든 파일 찾기
 

 

whereis

whereis라는 명령어는 실행파일의 위치를 찾아주는 기능을 한다.

사용법은 다음과 같으며 첫번째로 알려주는 정보는 해당 명령어의 위치이며 두번째 정보는 매뉴얼의 위치를 알려준다.

~ whereis ls
~ whereis rm
 

man whereis를 실행하면 다음과 같이 표현함을 알 수 있다.

여기서 한가지 궁금점이 생긴다.

 

ls는 분명히 /bin/ls디렉토리 안에 있는데 어떻게 어느 위치에서나 해당 명령어를 쓰면 동작을 하는 것일까?

그 이유는 바로 $PATH에 있다.

 

$PATH

$PATH는 환경변수라고 부르며 해당 변수는 사용자가 생성한 것이 아닌 리눅스 자체적으로 생성된 변수이다.

위와같이 $PATH는 콜론(:)을 기준으로 해당 경로에 저장되어 있으며 ls와 같은 명령어를 내리면 해당 파일이 실행되는 원리이다. 즉, 우리가 사용하는 모든 명령어가 환경변수라는 $PATH안에 있기 때문에 어디서든 사용 가능한 것이다.

 

'테크 > 리눅스' 카테고리의 다른 글

[리눅스] 정기적 실행(cron) & wsl에서 cron안될때 해결법  (0) 2022.01.27
[리눅스] 백그라운드, 데몬 프로세스  (0) 2022.01.27
[리눅스] 쉘 스크립트 맛보기  (0) 2022.01.25
[리눅스] I/O Redirection  (0) 2022.01.24
[리눅스] 패키지 매니저(apt, wget, git)  (0) 2022.01.22
'테크/리눅스' 카테고리의 다른 글
  • [리눅스] 정기적 실행(cron) & wsl에서 cron안될때 해결법
  • [리눅스] 백그라운드, 데몬 프로세스
  • [리눅스] 쉘 스크립트 맛보기
  • [리눅스] I/O Redirection
시그널보내
시그널보내
삽질을 통해 깊게 공부하는 Electronic Engineer 연락 및 문의사항은 'donghyun9904@naver.com' 으로 부탁드립니다!
시그널보내
시그널보내
시그널보내
전체
오늘
어제
  • 분류 전체보기 (86)
    • 감상평 (0)
    • 테크 (4)
      • Network (2)
      • C | C++ (3)
      • MATLAB (12)
      • OSEK ⁄ VDX (4)
      • AVR(Microchip Studio) (9)
      • STM32 (1)
      • PcB (2)
      • [verilog | VHDL] (6)
      • 라즈베리파이 (4)
      • 아두이노 (6)
      • ML | DL (5)
      • ROS (3)
      • 리눅스 (12)
      • 프로젝트 (3)
      • 예제 (3)
    • 연수 ⁄ 교육 (4)
    • 대회 ⁄ 공모전 (3)
    • 취준 (4)
    • 사담 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • IDEC
  • 마이크로프로세서
  • 선형회귀
  • 현대오토에버
  • 아두이노
  • 아두이노avr
  • 아트멜스튜디오
  • 머신러닝
  • osekos
  • vhdl문법
  • VHDL
  • AVR
  • osek
  • 리눅스
  • MSE
  • 매트랩
  • 현대오토에버 모빌리티 임베디드 SW스쿨
  • 경사하강법
  • 라즈베리파이
  • 차량용운영체제

최근 댓글

최근 글

hELLO · Designed By 정상우.
시그널보내
[리눅스] 디렉토리 구조 & 파일찾기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.