Unix / Linux-디렉토리 관리

이 장에서는 Unix의 디렉토리 관리에 대해 자세히 설명합니다.

디렉토리는 파일 이름과 관련 정보를 저장하는 솔로 작업 파일입니다. 일반, 특수 또는 디렉토리에 관계없이 모든 파일이 디렉토리에 포함됩니다.

Unix는 파일과 디렉토리를 구성하기 위해 계층 구조를 사용합니다. 이 구조를 종종 디렉토리 트리라고합니다. 트리에는 단일 루트 노드 인 슬래시 문자 (/) 및 기타 모든 디렉토리가 그 아래에 포함됩니다.

홈 디렉토리

처음 로그인 할 때 자신이있는 디렉토리를 홈 디렉토리라고합니다.

파일을 구성하기 위해 만들 홈 디렉터리와 하위 디렉터리에서 대부분의 작업을 수행하게됩니다.

다음 명령을 사용하여 언제든지 홈 디렉토리로 이동할 수 있습니다.

$cd ~ $

여기 ~홈 디렉토리를 나타냅니다. 다른 사용자의 홈 디렉토리로 이동해야한다고 가정하고 다음 명령을 사용합니다.

$cd ~username $

마지막 디렉토리로 이동하려면 다음 명령을 사용할 수 있습니다.

$cd - $

절대 / 상대 경로명

디렉터리는 루트 (/)가 맨 위에있는 계층 구조로 정렬됩니다. 계층 구조 내에서 파일의 위치는 경로 이름으로 설명됩니다.

경로 이름의 요소는 /로 구분됩니다. 루트와 관련하여 설명되는 경우 경로 이름은 절대적이므로 절대 경로 이름은 항상 /로 시작합니다.

다음은 절대 파일 이름의 몇 가지 예입니다.

/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/Os3

경로 이름은 현재 작업 디렉토리에 상대적 일 수도 있습니다. 상대 경로 이름은 /로 시작하지 않습니다. 사용자 amrood의 홈 디렉토리에 비해 일부 경로 이름은 다음과 같습니다.

chem/notes
personal/res

언제든지 파일 시스템 계층 구조 내에서 현재 위치를 확인하려면 다음 명령을 입력하십시오. pwd 현재 작업 디렉토리를 인쇄하려면-

$pwd /user0/home/amrood $

디렉토리 나열

디렉토리에있는 파일을 나열하려면 다음 구문을 사용할 수 있습니다.

$ls dirname

다음은 포함 된 모든 파일을 나열하는 예입니다. /usr/local 디렉토리-

$ls /usr/local

X11       bin          gimp       jikes       sbin
ace       doc          include    lib         share
atalk     etc          info       man         ami

디렉토리 생성

이제 디렉토리를 만드는 방법을 이해할 것입니다. 디렉토리는 다음 명령에 의해 생성됩니다-

$mkdir dirname

여기서 directory는 만들려는 디렉터리의 절대 또는 상대 경로 이름입니다. 예를 들어, 명령-

$mkdir mydir
$

디렉토리를 만듭니다. mydir현재 디렉토리에서. 여기 또 다른 예가 있습니다.

$mkdir /tmp/test-dir
$

이 명령은 디렉토리를 만듭니다. test-dir/tmp예배 규칙서. 그만큼mkdir 명령은 요청 된 디렉토리를 성공적으로 생성 한 경우 출력을 생성하지 않습니다.

명령 줄에 둘 이상의 디렉토리를 제공하면 mkdir각 디렉토리를 만듭니다. 예를 들어,-

$mkdir docs pub
$

현재 디렉토리 아래에 docs 및 pub 디렉토리를 만듭니다.

부모 디렉터리 생성

이제 부모 디렉터리를 만드는 방법을 이해합니다. 때로는 디렉토리를 만들려고 할 때 상위 디렉토리가 존재하지 않을 수 있습니다. 이 경우mkdir 다음과 같이 오류 메시지를 발행합니다-

$mkdir /tmp/amrood/test
mkdir: Failed to make directory "/tmp/amrood/test"; 
No such file or directory
$

이러한 경우 다음을 지정할 수 있습니다. -p 옵션에 mkdir명령. 필요한 모든 디렉토리를 생성합니다. 예를 들면-

$mkdir -p /tmp/amrood/test
$

위의 명령은 필요한 모든 상위 디렉토리를 만듭니다.

디렉토리 제거

디렉토리는 다음을 사용하여 삭제할 수 있습니다. rmdir 다음과 같이 명령-

$rmdir dirname
$

Note − 디렉토리를 제거하려면 비어 있는지 확인하십시오. 즉,이 디렉토리 안에 파일이나 하위 디렉토리가 없어야합니다.

다음과 같이 한 번에 여러 디렉토리를 제거 할 수 있습니다.

$rmdir dirname1 dirname2 dirname3
$

위의 명령은 dirname1, dirname2 및 dirname3 디렉토리가 비어있는 경우이를 제거합니다. 그만큼rmdir 명령이 성공하면 출력을 생성하지 않습니다.

디렉토리 변경

사용할 수 있습니다 cd명령은 홈 디렉토리로 변경하는 것 이상을 수행합니다. 유효한 절대 또는 상대 경로를 지정하여 디렉토리를 변경하는 데 사용할 수 있습니다. 구문은 다음과 같습니다.

$cd dirname
$

여기, dirname변경하려는 디렉토리의 이름입니다. 예를 들어, 명령-

$cd /usr/local/bin
$

디렉토리 변경 /usr/local/bin. 이 디렉토리에서 다음을 수행 할 수 있습니다.cd 디렉토리로 /usr/home/amrood 다음 상대 경로를 사용하여-

$cd ../../home/amrood
$

디렉토리 이름 바꾸기

그만큼 mv (move)명령을 사용하여 디렉토리 이름을 바꿀 수도 있습니다. 구문은 다음과 같습니다-

$mv olddir newdir
$

디렉토리 이름을 바꿀 수 있습니다. mydir ...에 yourdir 다음과 같이-

$mv mydir yourdir
$

디렉토리. (점) 및 .. (점점)

그만큼 filename .(점)은 현재 작업 디렉토리를 나타냅니다. 그리고filename .. (점)은 현재 작업 디렉토리보다 한 수준 높은 디렉토리를 나타내며 종종 상위 디렉토리라고합니다.

현재 작업 디렉토리 / 파일 목록을 표시하는 명령을 입력하고 -a option 모든 파일을 나열하고 -l option 긴 목록을 제공하기 위해 다음과 같은 결과를 받게됩니다.

$ls -la
drwxrwxr-x    4    teacher   class   2048  Jul 16 17.56 .
drwxr-xr-x    60   root              1536  Jul 13 14:18 ..
----------    1    teacher   class   4210  May 1 08:27 .profile
-rwxr-xr-x    1    teacher   class   1948  May 12 13:42 memo
$