본문 바로가기

Learning/ └Essential & Admin

리눅스 디렉터리 명령어_Unit2

1.디렉터리 이동 관련 명령어



pwd CMD (printfing working directory)


pwd - 현재/작업 디렉터리명 출력




절대경로 를 통한 현재 나의 경로 출력





pwd 명령어를 디렉터리 변경 할 때 마다 치는 것은 불편하다. 따라서 PS1 변수를 환경변수에 선언한다.

PS1 변수 : 쉘 프롬프트 정의할 때 사용하는 변수


쉘프롬프트에 $pwd 변수 넣기




gedit ~/.bashrc 입력 후 메모장 공백에 export PS1='[\u@\h \w]\$ ' 입력


# echo $PS1       

[\u@\h \W]\$        -> [root@localhost ~]#



cd CMD (change working directory)


cd - 현재 디렉터리 변경하기



상대경로(Relative PATH) 이동


cd /etc                       [root@ /etc]

cd sysconfig                [root@ /etc/sysconfig]

cd network-scripts        [root@ /etc/sysconfig/network-scripts]


cd .                         // 현재 디렉터리 [root@ /etc/sysconfig/network-scripts]

cd ..                        // 상위 디렉터리  [root@ /etc/sysconfig]

cd ../../                    // 상위 디렉터리 의 상위 디렉터리 [root@ /]



상위 디렉터리의 파일 생성 과 삭제





절대경로(Asolute PATH) 이동



그러하다.


처음 위치한 /는 최상위 디렉토리를 나타내지만 뒤에 나와 있는 /는 구분자 역할만 한다.

따라서 /etc/sysconfig/network-scripts /etc/sysconfig/network-scripts/는 같은 뜻을 가지게 된다.




로그인 된 사용자의 홈 디렉토리 이동



ssh fedora@localhost    =    su - fedora

ssh root@localhost       =    su





사용한 이전 디렉터리로 이동


cd -        이전 디렉터리로 이동



같은 디렉터리 안에 옆에 있는 디렉터리 이동


dir1 dir2 디렉터리를 각 생성

dir2 디렉터리로 이동

cd .. 상위 디렉터리로 이동

dir1 디렉터리로 이동


test 디렉터리 안에 dir1 dir2 각 디렉터리 이동 할 때 이동을 최소화 할수 있게

cd ../dir2

cd ../dir1 로 바로 이동




2.디렉터리 관리 명령어



ls 명령어


ls, dir, vdir - 경로의 내용을 나열하는 명령어


ls(list - 해당폴더에 어떤 것들이 있나를 나열)

옵션

-a (--all) : 경로안의 모든 파일을 나열 (dot). 으로 시작하는 파일들도 포함

-l : 경로안의 파일을 자세하게 나열

-al : 경로안의 모든 파일을 자세하게 나열

-d (--directory) : 경로안의 내용을 나열하지 않고, 그 경로를 보여준다(쉘 스크립트 에서 유용하게 쓰임)

-i (--inode) : 파일 왼쪽에 색인 번호 출력

-r (--reverse) : 정열 순서를 내림차순으로 나타낸다

-t (--sort=time) : 파일 시간 순으로 정열한다 (최근 파일 순서)

-u (--time=atime, --time=access, --time=use) : 파일 사용 시간 순으로 정열 (시간표시는 사용된 날짜 표시)

-F (--classify) : 파일 형식을 알리는 문자를 각 파일 뒤에 추가

-R (--recursive) : 하위 경로와 그 안에 있는 모든 파일들도 나열

-s : 알파벳 순으로 정열해서 나열


//ex ) ls -asl /etc/...        ( etc 디렉터리 안에 모든 파일을 알파벳 순으로 자세하게 나열 )

   ex ) ls -altr /etc/...      ( etc 디렉터리 모든 파일을 자세하게 최근 파일 시간 순서대로 정열 순서를 내림차순으로 나열)


--color , --colour, --color=yes, --colour=yes 

->파일의 형태에 따라 그 파일의 색깔을 다르게 보여주는 기능


--color=tty, --colour=tty

->--color 옵션과 같으나, 표준 출력에서만 색깔을 사용한다


--color=no, --colour=no

->색깔 사용하지 않는다. (초기값) 이옵션은 색깔을 이미 사용하고 있다면, 이 값을 무시한다.



ls -l 출력 결과 해석


-rw-r--r-- 1 root root    0 10월 20 11:23 file1


-                         : 파일의 종류(File Type), -(일반파일), d(디렉토리 파일)

rw-r--r--               : 퍼미션 모드(Permission mode)            // r : 읽기 w : 쓰기  (관리자/사용자/그외)

1                        :링크 수 (Hard Link Count)

root                    :소유자(Owner)

root                    :그룹(Group)

0                        :파일의 크기 ( 기본단위 bytes)

10월 20 11:23        : 수정 또는 생성 시간

file1                     : 파일 이름

 

퍼미션 숫자로 표현:

r : 4 (2^2)

w: 2 (2^1)

x : 1 (2^0)

- : 0

- rw- r-- r--  : 일반파일 644


 


ls -f 옵션 해석



dir1/   : 디렉토리 파일 

file1    : 일반 파일

file2@ : 링크 파일

filr3*   : 실행 파일



파일 또는 디렉토리만 출력



lsf : 파일인 경우 속성 정보에 -로 표시

lsd : 디렉토리인 경우 속성 정보에 d로 표시


선언된 alias 확인 # alias / # alias lsf



ls -h 옵션 설정(-h : human)




ls -l /etc/services 입력시 

아래 354K 가 아닌 362031 로 표시된다. 사이즈가 커질수록 숫자를 보기 힘들기 때문에

alias ls='ls --color=tty -h' 를 gedit에 입력하여 저장한다.




mkdir 명령어


mkdir - 경로만들기

명령어 형식 

# mkdir dir1              //현 디렉터리에 dir1 디렉터리 생성

# mkdir dir1 dir2        //현 디렉터리에 dir1, dir2 디렉터리 2개 생성

# mkdir -p dir3/dir2/dir1        // dir3 디렉터리 안에 dir2를 생성하고 dir2 안에 dir1을 생성 (있으면 진행 없으면 생성)


rmdir 명령어


rmdir - 비어 있는 경로 삭제

명령어 형식

# rmdir dir1

# rmdir dir1 dir2

# rmdir -p dir3/dir2/dir1        // 경로에 포함되어 있는 하위 항목 디렉터리 같이삭제( 단 비워 있어야 가능 )


[참고] 비어 있지 않은 디렉터리 삭제 

# rm -rf dir1        // -r : recursive , -f : force