파일과 디렉터리

2024. 2. 10. 14:21리눅스/모두의 리눅스

728x90
반응형

리눅스는 파일로 구성된다,

리눅스는 파일로 구성된다. 정보(데이터), 문서, 이미지, 영상, 프로그램 등이 파일로 보존
윈도느 맥에서도 마찬가지이다.

사용자의 데이터뿐만 아니라 시스템을 구성하는 장치조자초 파일로 다룬다. 즉, 하드 디스크, 키보드, 프린터 같은 장치를 전부 파일로 다룬다. 물런 커널, 시스템 설정도 파일에 기록된다. 

디렉토리

여러 개의 파일을 담아서 정리할 수 있는 것이 디렉터리이다. 윈도나 맥의 폴더 개념과 동일하다.

디렉터리 안에 있는 디렉터리를 서브 디렉터리(자식 디렉터리)라고 부르며, 반대의 경우를 부모 디렉터리라고 부른다. 

https://jinwoo1990.github.io/dev-wiki/linux-directory/

 

맨 위에 있는 / 디렉터리를 "루트 디렉터리"라 한다. 루트 디렉터리 아래에 디렉터리와 파일이 있는 계층 구조를 트리 혹은 디렉터리 트리라고 한다. 

PATH

  • /usr/bin/로 경로 표시
윈도우와의 차이
물리 디스크가 2개 있다면 디렉터리 트리도 2개이다. 하지만 리눅스에서는 언제나 시스템 전체에 단 하나의 트리만 가진다.

 

https://velog.io/@zoo81001/Linux-Mount-%EB%A7%88%EC%9A%B4%ED%8A%B8

 

 

장치와 디렉터리를 연결하는 것을 마운트라 한다. 

 

리눅스의 디렉터리 구조는 FHS라는 표준 사양을 따른다.

https://www.pathname.com/fhs/

 

Filesystem Hierarchy Standard

Filesystem Hierarchy Standard Introduction This page is the home of the Filesystem Hierarchy Standard (FHS). The current version is 2.3. It was announced on January 29, 2004. The filesystem standard has been designed to be used by Unix distribution develop

www.pathname.com

호출하면 파일 명령어가 다음에 대한 간략한 설명을 인쇄합니다
파일의 내용 예:

file picture.jpg
picture.jpg: JPEG image data, JFIF standard 1.01

 

  • /bin
    • 일반 사용자 및 관리자가 사용하는 명령어의 실행 파일이 배치되어 있는 디렉터리이다. /bin는 특히 시스템과 관련된 중요도가 높은 명령어를 포함하고 있다.
  • /dev
    • 디바이스 파일이 배치되어 있는 디렉터리이다. 디바이스 파일이란 디스크나 키보드 등 하드웨어를 다루기 위한 특 파일이다.
  • /etc
    • 리눅스에서 돌아가는 다양한 애플리케이션의 설정 파일이 /etc 아래에 배치된다. 애플리케이션뿐만 아니라 리눅스 자체의 설정 파일도 이곳에 있다. 따라서 리눅스를 운영하고 관리할 때 무척 중요한 디렉터리이다.
  • /home
    • 사용자별로 할당되는 홈 디렉터리가 배치되는 디렉터리이다. 홈 디렉터리란 사용자별로 할당되는 개인용 디렉터리를 말한다. 사용자 이름이 디렉터리 이름으로 사용된다. 예를 들어 사용자 이름이 abc라면 사용자의 홈 디렉터리는 /home/abc가 된다. 사용자는 홈 디렉터리 안에서 자유롭게 파일이나 디렉터리를 작성해 작업할 수 있다.
  • /sbin
    • /bin와 비슷하게 실행 파일을 포함하는 디렉터리이다. 그런데 이 디렉터리에는 관리자용 명령어가 포함되어 있다. 예를 들어 shutdown 명령어가 이 안에 있다.
  • /tmp
    • 임시 파일이 들어 있는 디렉터리이다. 애플리케이션 실행 중 임시로 작업 결과를 파일로 보존할 때 보통 이 디렉터리에 저장한다. 정기적으로 이 디렉터리 안의 파일을 삭제하도록 설정된 배포판도 있으므로 중요한 파일을 /tmp에 보관하면 안 된다.
  • /usr
    • 설치한 애플리케이션의 실행 파일, 문서, 라이브러리 등이 이 디렉터리에 포함된다. /usr 아래에는 bin, sbin, etc등이 있어 루트 디렉터리와 구조가 비슷하다.
  • /var
    • 변화하는 데이터를 저장하기 위한 디렉터리이다. 애플리케이션 실행 중에 만들어진 데이터나 로그, 메일 등이 이곳에 저장된다. /var에는 많은 파일이 기록되므로 용량이 부족해질 수도 있으니 시스템을 관리할 때 주의해야 한다.

현재 디렉터리와 pwd

현재 위치한 디렉터리를 현재 디렉터리, 영어로 current directory 혹은 working directory라고 한다. 리눅스에 로그인한 직후에는 사용자의 홈 디렉터리에서 시작한다. 현재 디렉터리를 표시 하는 명령어인 pwd로 확인할 수 있다.

pwd
/home/username

 

셸에서 파일을 다룰 때는 현재 디렉터리가 기준이 된다. 현재 디렉터리의 위치를 확인해야 엉뚱한 파일에 작업하는 실수를 줄일 수 있다.

절대 경로와 상대 경로

리눅스에서 디렉터리나 파일의 위치를 표시하는 두 가지 방법이 있다.

절대 경로

루트 디렉토리부터 해당 파일에 이르는 경로를 표시하는 것을 절대 경로라 한다.

  • /usr/bin/perl

상대 경로

현재 디렉터리의 위치를 기준으로 표기하는 경로를 상대 경로라고 한다. 

  • 현재 디렉터리는 /home/ldk이다.
  • "." 는 현재 디렉터리를 표현한다
  • ".."는 부모 디렉터리를 표현한다.
  • "."은 현재 디렉터리 /home/ldk를 의미한다.
  • ../../는 두번 상위를 나타내므로 그림상 "/" 루트디렉터리를 의미한다.
  • file-2는 현재 디렉터리에 있으므로 file-2혹은 ./file-2로 표현한다.

위의 규칙처럼 ../../../../는 현재 위치에서 4개위의 디렉터리를 뜻한다. ../test라고 하면 부모 디렉터리 아래의 test를 뜻한다.


디렉터리 이동

  • pwd - 현재 디렉터리 출력
  • cd - 현재 디렉터리 변경
  • ls - 디렉터리 안의 파일을 출력

pwd로 현재 디렉터리 확인

pwd
/home/ldk

 

cd 명령어로 현재 디렉터리를 바꿀 수있다. /usr 디렉터리로 이동해 본다.

cd /usr
#pwd로 이동이 확인
pwd
/usr

 

ls 명령어로 현재 디렉터리의 파일과 디렉터리를 출력할 수 있다.

ls
bin include lib32 lib64 ...

 

lib 디렉터리로 이동

# 현재위치 /usr
# 상대경로방법
cd lib

# 절대경로방법
cd /usr/lib

 

다시 /usr로 이동

# 현재 위치 /usr/lib
# 절대경로방법
cd /usr

# 상대경로방법
cd ..

 

경로도 탭키를 누르면 나머지 경로가 자동으로 완성된다.

cd /u           ← 여기서 tap 입력하면
cd /usr/       ← 자동완성

 

홈 디렉터리 이동

# 아무런 인자 없이 cd사용하면 홈 디렉터리로 이동
cd

# "~" 틸를 사용해도 홈 디렉터리로 이동
cd ~

 

"~"는 /home/ldk 사용자 홈디렉터리를 의미한다. 이러한 기능을 틸드 확장이라 한다.


ls 명령어

파일이나 디렉터리의 목록을 출력해준다. 

 

ls /

https://www.geeksforgeeks.org/ls-command-in-linux/
https://www.geeksforgeeks.org/ls-command-in-linux/

종류 기호
보통 파일 표시되지 않음
디렉터리 /
실행 가능 파일 *
심볼릭 링크 @

 

반응형

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

파일 검색 및 명령어 사용법  (3) 2024.03.17
파일 조작의 기본  (1) 2024.02.12
셸 도움 기능  (1) 2024.02.07
  (1) 2024.01.31
리눅스  (0) 2024.01.31