본문 바로가기

Linux

02. CentOS7 기본 명령어

1. 기본 명령어

1.1.

  • root : 로그인 사용자
  • centos7-1 :  컴퓨터 이름 (hostname)
  • ~ : 현재 디렉토리

 

1.2. 사용명

롱옵션
숏옵션

  • long option : option fullname
    • ex)  명령어 --help
  • short option : option 축약명
    • ex) 명령어 -a

 

1.3. ls (list)

디렉토리의 내용을 보는 명령어

 

1.3.1. -a : 모든(숨김) 파일 및 디렉토리 출력

 

1.3.2. -l : 파일 및 디렉토리의 속성(메타데이터) 정보 출력

 

1.3.3. -h : 파일이나 디렉토리의 사이즈를 가독성 좋게 변경하여 출력

 

1.3.4. -i : 파일이나 디렉토리의 inode number 출력 (inode: 리눅스에서 파일이나 디렉토리를 관리하는 고유 번호)

 

1.3.5. -R : 디렉토리의 하위 디렉토리 및 파일 목록 나열

 

1.4. mkdir (make directory)

디렉토리 생성

 

1.4.1. mkdir a

 

1.4.2. mkdir b c d

 

1.4.3. mkdir -p 1/2/3

  • -p 옵션을 주지 않을 경우 디렉토리 생성 실패

 

1.5. rmdir (remove directory)

디렉토리 삭제

 

1.5.1. rmdir a (단, 이때 디렉토리 아래에 다른 디렉토리나 파일이 없어야 한다.)

 

1.5.2. rmdir b c d

 

1.5.3. rmdir 1/2/3

  • 디렉토리 3 만 삭제됨

 

1.5.4. rmdir -p 1/2

  • 디렉토리 경로에 파일이 존재할 경우 해당 디렉토리의 하위 디렉토리까지만 삭제됨

 

1.6. 파일 생성

1.6.1. touch 

  • touch [파일명]
  • 0byte 파일을 생성한다.

 

1.6.2. cat >

  • cat : 파일의 내용을 출력하는 명령어
  • > : redirection > 은 표준 출력 방향 변경, 컴퓨터 시스템의 표준 출력은 Monitor

내용 입력 후 ctrl + d 로 저장

 

1.6.3. vi (편집기)

vi 편집기로 test2.txt 파일 오픈


내용 입력 후 :wq 로 저장



test2.txt 내용 확인

 

1.7. rm (remove)

파일 삭제

 

1.7.1rm [파일명1] [파일명2] [파일명3] : 여러 개의 파일 한 번에 삭제

 

1.7.2. -f : 파일 삭제 여부를 묻지않고 바로 지운다. force 공통옵션

 

1.7.3. -r : 디렉토리까지 삭제 (하위 디렉토리 포함)

  • -r 옵션을 주지 않고 디렉토리 삭제 시 메세지가 출력되며 삭제 불가
  • -r 옵션을 주어 디렉토리 삭제 시 해당 디렉토리 아래에 있는 파일 및 디렉토리까지 모두 삭제됨

 

1.8. cd

디렉토리 이동

 

1.8.1. cd . : 현재 디렉토리

  • pwd 명령어로 현재 위치 확인

 

1.8.2. cd .. : 바로 위 상위 디렉토리로 이동

 

1.8.3. cd - : 바로 직전 작업 디렉토리로 이동

 

1.8.4. cd ~ : login한 사용자의 홈 디렉토리로 이동

  • cd 명령어 입력 시 루트 홈 디렉토리로 이동

 

1.8.5. / : 절대경로, 최상위 디렉토리(/)로부터 경로 지정, 사용자가 어느 디렉토리에 있던지 경로 동일

 

1.8.6. / 없이 지정 : 상대경로, 사용자가 위치하는 디렉토리에따라 경로 지정이 달라짐

                         (현재 위치 기준으로 디렉토리 경로 지정)

  • 현재 위치해있는 /root 에서 상위 디렉토리 / 로 이동 후 / 아래에 있는 d/c 디렉토리로 이동한다.

 

1.9. cp (copy)

파일 복사

1.9.1. -a : 파일 속성(메타데이터) 정보까지 복사

  • 원본파일 test1.txt 의 내용이 동일하게 복사본파일 test2.txt 에 적용된 것을 확인할 수 있다.

 

1.9.2. -r : 디렉토리 복사

※ 복사본의 이름 지정할 경우 복사본 이름 변경, 원본 파일 및 디렉토리는 보존

  • a 디렉토리를 d 아래에 복사
  • a 디렉토리와 그 아래에 있는 파일 및 디렉토리가 d 아래에 복사된 것을 확인할 수 있다.

 

  • a 디렉토리를 디렉토리명 c를 지정하여 복사
  • a 디렉토리가 c 디렉토리명으로 변경되어 복사되었으며, a 디렉토리 아래에 있던 파일 및 디렉토리도 복사된 것을 확인할 수 있다.

 

1.10. mv (move)

파일 및 디렉토리 이동

 

1.10.1. mv 명령어를 이용해서 파일 및 디렉토리 이름 변경 가능

  • 홈 디렉토리 아래에 있던 test1.txt 파일을 a/b 아래로 이동

 

  • text.txt 파일을 mv 명령어를 사용하여 abc.txt로 파일명 변경
  • inode 값과 파일 내용이 동일한 것을 확인할 수 있으며, 이것은 같은 파일이며, 파일명만 변경되었다는 것을 뜻한다.

 

1.11. ln (link)

inode number가 동일한 완벽하게 같은 파일 생성

(상대 경로로 링크 생성 시 사본파일 위치 기준으로 원본 파일의 위치를 지정한다.)

 

1.11.1. hardlink

  • ln [원본파일] [사본파일]
  • inode가 동일하다. (inode number는 속성, 원본 데이터 위치를 갖고 있음)
  • 사본을 변경할 경우 원본도 함께 변경되며, 원본을 변경할 경우 당연히 사본도 함께 변경된다.
  • 원본을 삭제해도 사본은 존재한다.

  • c.txt 파일을 a.txt 파일에 링크한다.
  • inode가 같은 것을 확인할 수 있다.

 

  • 사본 c.txt 파일을 변경한 뒤, 원본 a.txt 파일을 확인해보면 함께 변경된 것을 확인할 수 있다.

 

  • 원본 파일을 삭제 했음에도 사본 파일이 여전히 존재하는 것을 확인할 수 있다.

 

1.11.2. symboliclink (softlink)

  • ln -s 원본파일 사본파일
  • 바로가기 inode number가 다르다.

 

  • b 디렉토리가 a 디렉토리에 링크된 것 확인
  • inode number가 다른 것을 확인할 수 있다.

 

※ 상대 경로만 사용하여 a/b/c/a 아래에 1.txt 파일명으로 a/text.txt의 링크파일 생성하기

  • tree로 디렉토리 구조 확인
  • 위치 이동 없이 홈 디렉토리에서 링크파일을 생성할 것이므로 현재 위치 기준 사본파일 위치 지정, 사본파일 기준으로 원본파일 위치 지정하여 명령어 입력

 

※ 존재하지 않는 파일 링크하기

  • 없는 파일을 링크할 경우 위와 같이 붉은색 배경의 텍스트가 깜빡이며, 링크가 실패한다.

  • 이때 해당 경로에 파일을 다시 생성하면 정상적으로 링크가 이루어 지는 것을 확인할 수 있다.