Unix / Linux-파일 관리

이 장에서는 Unix의 파일 관리에 대해 자세히 설명합니다. Unix의 모든 데이터는 파일로 구성됩니다. 모든 파일은 디렉토리로 구성됩니다. 이러한 디렉토리는 파일 시스템이라고하는 트리와 같은 구조로 구성됩니다.

어떤 식 으로든 Unix로 작업 할 때 대부분의 시간을 파일 작업에 사용합니다. 이 튜토리얼은 파일 생성 및 제거, 복사 및 이름 변경, 링크 생성 등의 방법을 이해하는 데 도움이됩니다.

Unix에는 세 가지 기본 유형의 파일이 있습니다.

  • Ordinary Files− 일반 파일은 데이터, 텍스트 또는 프로그램 명령을 포함하는 시스템의 파일입니다. 이 튜토리얼에서는 일반 파일 작업을 살펴 ​​봅니다.

  • Directories− 디렉토리는 특수 파일과 일반 파일을 모두 저장합니다. Windows 또는 Mac OS에 익숙한 사용자의 경우 Unix 디렉토리는 폴더와 동일합니다.

  • Special Files− 일부 특수 파일은 하드 드라이브, CD-ROM 드라이브, 모뎀 및 이더넷 어댑터와 같은 하드웨어에 대한 액세스를 제공합니다. 다른 특수 파일은 별칭 또는 바로 가기와 유사하며 다른 이름을 사용하여 단일 파일에 액세스 할 수 있습니다.

파일 나열

현재 디렉토리에 저장된 파일과 디렉토리를 나열하려면 다음 명령을 사용하십시오.

$ls

다음은 위 명령의 샘플 출력입니다.

$ls

bin        hosts  lib     res.03
ch07       hw1    pub     test_results
ch07.bak   hw2    res.01  users
docs       hw3    res.02  work

명령 ls 지원합니다 -l 나열된 파일에 대한 추가 정보를 얻는 데 도움이되는 옵션-

$ls -l
total 1962188

drwxrwxr-x  2 amrood amrood      4096 Dec 25 09:59 uml
-rw-rw-r--  1 amrood amrood      5341 Dec 25 08:38 uml.jpg
drwxr-xr-x  2 amrood amrood      4096 Feb 15  2006 univ
drwxr-xr-x  2 root   root        4096 Dec  9  2007 urlspedia
-rw-r--r--  1 root   root      276480 Dec  9  2007 urlspedia.tar
drwxr-xr-x  8 root   root        4096 Nov 25  2007 usr
drwxr-xr-x  2    200    300      4096 Nov 25  2007 webthumb-1.01
-rwxr-xr-x  1 root   root        3192 Nov 25  2007 webthumb.php
-rw-rw-r--  1 amrood amrood     20480 Nov 25  2007 webthumb.tar
-rw-rw-r--  1 amrood amrood      5654 Aug  9  2007 yourfile.mid
-rw-rw-r--  1 amrood amrood    166255 Aug  9  2007 yourfile.swf
drwxr-xr-x 11 amrood amrood      4096 May 29  2007 zlib-1.2.3
$

여기에 나열된 모든 열에 대한 정보가 있습니다-

  • First Column− 파일 유형과 파일에 부여 된 권한을 나타냅니다. 다음은 모든 유형의 파일에 대한 설명입니다.

  • Second Column − 파일 또는 디렉토리가 사용하는 메모리 블록의 수를 나타냅니다.

  • Third Column− 파일의 소유자를 나타냅니다. 이 파일을 만든 Unix 사용자입니다.

  • Fourth Column− 소유자 그룹을 나타냅니다. 모든 Unix 사용자는 관련 그룹을 갖게됩니다.

  • Fifth Column − 파일 크기를 바이트 단위로 나타냅니다.

  • Sixth Column −이 파일이 마지막으로 생성 또는 수정 된 날짜와 시간을 나타냅니다.

  • Seventh Column − 파일 또는 디렉토리 이름을 나타냅니다.

에서 ls -l 목록 예에서 모든 파일 행은 d, -, 또는 l. 이러한 문자는 나열된 파일의 유형을 나타냅니다.

Sr. 아니. 접두사 및 설명
1

-

ASCII 텍스트 파일, 바이너리 실행 파일 또는 하드 링크와 같은 일반 파일.

2

b

특수 파일 차단. 물리적 하드 드라이브와 같은 입력 / 출력 장치 파일을 차단합니다.

c

캐릭터 특수 파일. 물리적 하드 드라이브와 같은 원시 입 / 출력 장치 파일.

4

d

다른 파일 및 디렉토리 목록이 포함 된 디렉토리 파일입니다.

5

l

심볼릭 링크 파일. 일반 파일에 대한 링크.

6

p

명명 된 파이프. 프로세스 간 통신을위한 메커니즘입니다.

7

s

프로세스 간 통신에 사용되는 소켓입니다.

메타 문자

메타 문자는 Unix에서 특별한 의미를 갖습니다. 예를 들면*?메타 문자입니다. 우리는 사용* 0 개 이상의 문자와 일치하려면 물음표 (?)는 단일 문자와 일치합니다.

예를 들어-

$ls ch*.doc

이름이 다음으로 시작하는 모든 파일을 표시합니다. ch 그리고 끝 .doc

ch01-1.doc   ch010.doc  ch02.doc    ch03-2.doc 
ch04-1.doc   ch040.doc  ch05.doc    ch06-2.doc
ch01-2.doc ch02-1.doc c

여기, *모든 문자와 일치하는 메타 문자로 작동합니다. 다음으로 끝나는 모든 파일을 표시하려면.doc, 다음 명령을 사용할 수 있습니다-

$ls *.doc

숨겨진 파일

보이지 않는 파일은 첫 번째 문자가 점 또는 마침표 (.) 인 파일입니다. Unix 프로그램 (셸 포함)은 이러한 파일 대부분을 사용하여 구성 정보를 저장합니다.

숨겨진 파일의 몇 가지 일반적인 예는 다음과 같습니다.

  • .profile − Bourne 쉘 (sh) 초기화 스크립트

  • .kshrc − Korn 쉘 (ksh) 초기화 스크립트

  • .cshrc − C 쉘 (csh) 초기화 스크립트

  • .rhosts − 원격 셸 구성 파일

보이지 않는 파일을 나열하려면 -a 옵션 ls

$ ls -a

.         .profile       docs     lib     test_results
..        .rhosts        hosts    pub     users
.emacs    bin            hw1      res.01  work
.exrc     ch07           hw2      res.02
.kshrc    ch07.bak       hw3      res.03
$
  • Single dot (.) − 현재 디렉토리를 나타냅니다.

  • Double dot (..) − 이것은 상위 디렉토리를 나타냅니다.

파일 생성

당신은 사용할 수 있습니다 vi모든 Unix 시스템에서 일반 파일을 생성하는 편집기. 다음 명령을 내리기 만하면됩니다.

$ vi filename

위의 명령은 주어진 파일 이름으로 파일을 엽니 다. 이제 키를 눌러i편집 모드로 들어갑니다. 편집 모드에 있으면 다음 프로그램에서와 같이 파일에 콘텐츠 쓰기를 시작할 수 있습니다.

This is unix file....I created it for the first time.....
I'm going to save this content in this file.

프로그램이 끝나면 다음 단계를 따르십시오.

  • 키 누르기 esc 편집 모드에서 나옵니다.

  • 두 개의 키 누르기 Shift + ZZ 함께 파일에서 완전히 나오도록합니다.

이제 다음으로 만든 파일이 있습니다. filename 현재 디렉토리에서.

$ vi filename
$

파일 편집

다음을 사용하여 기존 파일을 편집 할 수 있습니다. vi편집자. 기존 파일을 여는 방법에 대해 간단히 설명하겠습니다.

$ vi filename

파일이 열리면 키를 눌러 편집 모드로 들어갈 수 있습니다. i그런 다음 파일을 편집하여 계속할 수 있습니다. 파일 내에서 여기 저기 이동하려면 먼저 키를 눌러 편집 모드에서 나와야합니다.Esc. 그 후, 다음 키를 사용하여 파일 내부로 이동할 수 있습니다.

  • l 키를 눌러 오른쪽으로 이동합니다.

  • h 키를 눌러 왼쪽으로 이동합니다.

  • k 키를 눌러 파일에서 위쪽으로 이동합니다.

  • j 키를 눌러 파일에서 아래쪽으로 이동합니다.

따라서 위의 키를 사용하여 편집하려는 위치에 커서를 놓을 수 있습니다. 포지셔닝되면 다음을 사용할 수 있습니다.i키를 눌러 편집 모드로 들어갑니다. 파일 편집이 완료되면Esc 마지막으로 두 개의 키 Shift + ZZ 함께 파일에서 완전히 나오도록합니다.

파일 내용 표시

당신은 사용할 수 있습니다 cat명령을 사용하여 파일 내용을 확인합니다. 다음은 위에서 생성 된 파일의 내용을 볼 수있는 간단한 예입니다.

$ cat filename
This is unix file....I created it for the first time.....
I'm going to save this content in this file.
$

다음을 사용하여 줄 번호를 표시 할 수 있습니다. -b 옵션과 함께 cat 다음과 같이 명령-

$ cat -b filename
1   This is unix file....I created it for the first time.....
2   I'm going to save this content in this file.
$

파일에서 단어 세기

당신은 사용할 수 있습니다 wc명령을 사용하여 파일에 포함 된 총 줄, 단어 및 문자 수를 가져옵니다. 다음은 위에서 만든 파일에 대한 정보를 보는 간단한 예입니다.

$ wc filename
2  19 103 filename
$

다음은 네 개의 모든 열에 대한 세부 정보입니다.

  • First Column − 파일의 총 줄 수를 나타냅니다.

  • Second Column − 파일의 총 단어 수를 나타냅니다.

  • Third Column− 파일의 총 바이트 수를 나타냅니다. 이것은 파일의 실제 크기입니다.

  • Fourth Column − 파일 이름을 나타냅니다.

여러 파일을 제공하고 한 번에 해당 파일에 대한 정보를 얻을 수 있습니다. 다음은 간단한 구문입니다-

$ wc filename1 filename2 filename3

파일 복사

파일의 사본을 만들려면 cp명령. 명령의 기본 구문은 다음과 같습니다.

$ cp source_file destination_file

다음은 기존 파일의 복사본을 만드는 예입니다. filename.

$ cp filename copyfile
$

이제 하나 이상의 파일을 찾을 수 있습니다. copyfile현재 디렉토리에서. 이 파일은 원본 파일과 정확히 동일합니다.filename.

파일 이름 바꾸기

파일 이름을 변경하려면 mv명령. 다음은 기본 구문입니다-

$ mv old_file new_file

다음 프로그램은 기존 파일의 이름을 바꿉니다. filename ...에 newfile.

$ mv filename newfile
$

그만큼 mv명령은 기존 파일을 새 파일로 완전히 이동합니다. 이 경우에는newfile 현재 디렉토리에서.

파일 삭제

기존 파일을 삭제하려면 rm명령. 다음은 기본 구문입니다-

$ rm filename

Caution− 파일에는 유용한 정보가 포함될 수 있습니다. 이것을 사용하는 동안 항상 조심하는 것이 좋습니다Delete명령. 사용하는 것이 좋습니다-i 옵션과 함께 rm 명령.

다음은 기존 파일을 완전히 제거하는 방법을 보여주는 예입니다. filename.

$ rm filename
$

아래에 주어진 명령으로 한 번에 여러 파일을 제거 할 수 있습니다.

$ rm filename1 filename2 filename3
$

표준 Unix 스트림

정상적인 상황에서 모든 유닉스 프로그램은 시작할 때 세 개의 스트림 (파일)이 열려 있습니다.

  • stdin−이를 표준 입력 이라고 하며 관련 파일 설명자는 0입니다. 이는 STDIN으로도 표시됩니다. Unix 프로그램은 STDIN에서 기본 입력을 읽습니다.

  • stdout−이를 표준 출력 이라고 하며 관련 파일 설명자는 1입니다. 이는 STDOUT으로도 표시됩니다. Unix 프로그램은 STDOUT에 기본 출력을 작성합니다.

  • stderr−이를 표준 오류 라고 하며 관련 파일 설명자는 2입니다. 이는 STDERR로도 표시됩니다. Unix 프로그램은 STDERR에 모든 오류 메시지를 기록합니다.