본문 바로가기
리눅스

리눅스 구조와 명령어

by ho-bolt 2021. 10. 10.

디렉터리 계층 구조

🥚 리눅스에서는 파일을 효율적으로 관리하기 위해 디렉터리를 계층적으로 구성한다. ==트리구조 

🥚모든 디렉터리의 출발점은 루트(root)디렉터리이며 / 으로 표시한다. 

 

하위 디렉터리 : user, etc, home, tmp 

상위 디렉터리 : .. 으로 표시한다. 

🔥 루트 디렉토리를 제외하고 모든 디렉터리는 부모가 있다. 

 

현재 위치가 user1이라면

 

디렉터리/파일명     |          절대 경로         |          상대 경로 

         /                |             /                 |        ../ ../ 

        home           |          /home            |         ../ 

        tmp             |          /tmp               |         ../../tmp

        lib               |          /usr/lib            |         ../../usr/lib

        ls                |          /usr/bin/ls        |         ../../usr/bin/ls 

 

 

리눅스 파일의 종류와 특징 

 

 

dev : 키보드, USB등 장치를 연결했을 때 그 정보를 파일형태로 dev에 저장 

 

opt : 패키지들이 저장되는 폴더 

 

usr : 환경변수에 들어있는 많은 실행파일들이 usr폴더에 있다. ex) 계산기, 그림판 등 

 

etc: 설정파일들이 들어있는 폴더

 

tmp : 다양한 사용자들이 임시로 사용하는 폴더 

 

 

 

리눅스 경로

절대 경로명 

 

1. 항상 루트 디렉터리 부터 시작한다.

ex) cd /home

2. 반드시 /로 시작 

 

3. 디렉터리 부터 시작해 특정 파일이나 디렉터리 위치까지 이동하면서 거치는 모든 

중간 디렉터리 이름 표시

 

4. 특정 위치를 가리키는 절대 경로명은 항상 동일하다

 

 

상대 경로명 

 

1. 현재 디렉터리를 기준으로 시작 

 

2. /이외의 문자 

 

3. 현재 디렉터리를 기준으로 서브 디렉터리로 내려가면 서브 디렉터리 이름 추가 

                     cd ./ ../로 입력하면 된다. 

                      (현재 -> 상위) 

4. 현재 디렉터리를 기준으로 상위로 가려면 ..을 추가

 

 

명령어 

cd :  이동             ex) cd /        ==root로 이동 

clear :  청소     

ls : 디렉토리에 있는 내용들을 확인 

---------------------------------------------------------------------------------

 ls 옵션 :

-i : 첫 번째 항부터 inode 번호 출력         

-a  :(all) ==숨김파일까지 확인하고 싶다

-d : 상세 내용까지 알고 싶다

-l : 파일의 상세 정보 출력 

-A:  (마침표)와 ..(마침표) 두개를 제외한 모든 파일 목록 출력

-F: 파일의 종류 표시 (* : 실행 파일 / :디렉터리 , @ : 심벌릭 링크) 

-L : 심벌릭 링크 파일의 경우 원본 파일 정보 출력 

-R : 하위 디렉터리까지 출력 

--------------------------------------------------------------------------------

 

ls-la 

여기서 .은 현재 폴더

..은 상위폴더를 의미한다. 

만약 상위폴더로 이동하고 싶다면 

cd ./ ../로 입력하면 된다. 

cd /home(절대 경로 )

 

ls -l 의 결과

-l : 파일의 상세 정보 출력 

읽는 법

문자 파일 종류
- 일반 파일
d 디렉터리
l 심벌릭 링크
b 블록 장치 파일
c 문자 장치 파일
p 파이프 파일
s 소켓 파일

                                     

필드 번호  필드 값 의미
1 d 파일 종류
2 rwxr-xr-x 접근 권한
3 2 하드링크 개수
4 user1 파일 소유자
5 user2 파일이 속한 그룹
6 4096 파일크기(바이트)
7 10월 10 10:10:45 마지막 수정시간
8 공개 파일이름

  ※하드링크 : 이 폴더를 참조하는 심볼릭 링크의 개수 

 

 

🔥etc(설정파일),  home  (사용자 폴더)    root , var (로그 )

 

pwd :                 현재 폴더를 알려주는 거

현재 root폴더라는 것을 알려준다. 

 

 

디렉터리 사용명령 

             mkdir 기능 형식 옵션 예시
디렉터리 생성 mkdir [옵션] 디렉터리명 -p : 하위 디렉터리를 계층적으로 생성할 때 중간의 디렉터리가 없으면 생성하면서 전체 디렉터리를 생성 mkdir temp 

mkdir -p temp

 

            cat  기능  형식  옵션  예시 
파일 내용 출력 cat[옵션] 파일명 -n : 행번호 붙여서 출력 cat file01 
cat -n file01

 

          more 기능 형식 옵션 예시
파일 내용을 화면단위로 출력 more[옵션] 파일명  +행 번호 : 출력 할 때 행 번호 지정 more file1
            less 기능 형식  예 
파일 내용을 화면단위로 출력 less 파일명 less file

less 명령에서 사용하는 키와 동작

 동작
j 한줄 씩 다음 행 스크롤
k 한 줄 씩 이전행 스크롤
스페이스 바 ctrl f 다음 화면 이동
ctrl b 이전 화면 이동

파일 뒷 부분 출력하기 

               tail 
(가장 최신의 로그가 남은 내용을 확인 가능) 
기능 형식 옵션
파일의 뒷 부분 몇행 출력 tail [옵션] 파일명 +행번호 : 지정한 행부터 끝까지 출력
 
-숫자 : 화면에 출력할 행의 수를 지정(기본 값 10)
 
-f : 파일 출력이 종료되지 않고 주기적으로 출력 

tail /etc/passwd

※ 기본값인 10개줄만 출력

-> tail -5 /etc/passwd면 뒤에서부터 5줄로 출력 

 

※ -f 

사진 처럼 echo로 추가할 때마다 계속 출력 된다.

 

            cp(copy)   기능 형식 옵션  예시
파일이나
디렉터리 복사
cp [옵션 ] 파일명1/디렉터리 명1
파일명2 /디렉터리 명2
-i: 대화식 복사 방법으로 이미 파일명 2가 존재할 경우 덮어 쓸 것이지 물어봄 

-r: 디렉터리를 복사할 때 지정한다. 
cp file1 file2

cp f1 f2 f3 dir1

cp -r dir1 dir2

※ ex_) cp ./a ./b

현재 폴더에 있는 a를 b라는 이름으로 복사한다. 

 

           mv 기능 형식 옵션  예시
파일 이동 mv [옵션] 파일명1 /디렉터리명1
파일명 2/디렉터리명2
-i : 파일명2/디렉터리명2가 존재하면 덮어쓸 것이지 물어봄 mv file1 file2

 

           rm 기능 형식 옵션  예시
 파일 삭제 rm [옵션 ] 파일명 / 디렉터리 명 -i : 대화식으로 지정한 파일을 정말 삭제할 것인지 확인 

-r : 디렉터리를 삭제할 때 지정
rm file

rm -r dir

ex) rm -rf는 물어보지 않고 걍 삭제 

 

         touch 기능 형식 옵션 예시
빈 파일 생성 touch [-acm] [-r ref_file] | -t time] 파일 -a : 접근 시간만 변경
 
-m : 수정 시간만 변경

-t [[CC] YY]MMDDhhmm[.ss] :시간을 직접 입력
touch test

 

           grep
(가장 많이 쓰는 것 중 하나 ) 
기능  형식 옵션 예시 
지정한 패턴을 포함하는 행을 찾는다. grep [옵션 ]패턴
[파일명] 
-i : 대,소문자 모두 검색
 
-l : 해당 패턴을 포함하는 파일 이름 출력

-n : 행 번호를 출력 
grep root /etc/passwd

grep -n /unix~/".txt

grep -l hello ".c 

 

-> ntp가 포함된 것만을 검색

 

find 기능  형식 옵션 동작
  조건에 맞는 파일을 지정한 위치에서 찾음 find 경로 검색조건
[동작]
-name filename:파일이름으로 검색

-type 파일 종류 : 파일의 종류로 검색한다.

-user loginID: 지정한 사용자가 소유한 모든 파일을 검색

-perm 접근 권한: 지정한 사용 권한과 일치하는 파일 검색 

-exec 명령 {} \ ; : 검색된 파일에 명령 실행 
-ok 명령 {}\ ; : 사용자의 확인을 받아서 명령을 실행한다. 

-print : 검색된 파일의 절대 경로명을 화면에 출력한다

-ls :검색 결과를 긴 목록 형식으로 출력한다. 

 

ex ) $ find ~ ~ name hello.c 

$ find /tmp -user user10 -exec em {} |; 

이름이 find_01_file인 것을 찾겠다. 

 

        whereis 기능  형식 옵션  예시
지정된 경로에서 명령의 바이너리 파일이나 매뉴얼 파일의 위치를 찾는다.  whereis [옵션] 명령 -b : 바이너리 파일만 검색한다.

-m : 매뉴얼 파일만 검색한다.
 
-s: 소스 파일만 검색한다.
whereis ls

 

mv라는 이름을 가진 애를 전부 찾아준다. 

 

 

★심벌릭 링크와 하드 링크 차이

 

심벌릭 링크는 바로가기이기 때문에 원본파일의 경로와 똑같아서 원본이 삭제되면 같이 삭제된다. 

 

하드링크는 새로운 파일을 하나 더 생성한 거라 파일번호가 달라 원본이 삭제되도 유지된다. 

 

728x90

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

소유권  (0) 2021.10.17
사용자 생성과정  (0) 2021.10.17
사용자 등록정보  (0) 2021.10.17
vi 에디터  (0) 2021.10.14
bash 셸  (0) 2021.10.14

댓글