본문 바로가기
My Wiki (CodesStates)/Linux

(1-4) Linux 기초 - CLI 명령어 더 알아보기

by Esoolgnah 2021. 7. 16.
728x90

 

리눅스 권한 (Permission)

터미널을 열어 ls -l 명령어를 입력하면 아래와 같은 메세지를 터미널에서 볼 수 있다.

drwxr-xr-x

 

 

위 메세지는 어떤 정보를 담고 있는지 먼저 메세지를 두 부분으로 나눠서 살펴보자.

[d] # 1번 부분
[rwxr-xr-x] # 2번 부분

 

 

1번 부분에서 -는 파일을 의미하고, 'd' 는 폴더를 의미한다. 2번 부분에 존재하는 r, w, x, - 글자는 특정 파일 및 폴더의 접근 권한에 대한 정보를 담고 있다.

  • 'r' 은 'read' 의 약자로 읽기 권한을 의미한다. 파일 및 폴더 안에 있는 데이터, 속성, 서브 폴더 등에 접근이 가능하다.
  • 'w'은 'write'의 약자로 쓰기 권한을 의미한다. 파일 및 폴더의 속성과 데이터를 변경할 수 있다.
  • 'x'은 'execute'의 약자로 실행 권한을 의미한다. 해당 파일을 실행하여 사용할 수 있다.
  • '-'은 권한 없음 을 나타낼 때 쓰인다.

 

 

예시로 몇가지 살펴보자. rwx 는 해당 파일에 읽기, 쓰기, 실행 권한이 있음을 의미한다. r-x는 읽기, 실행 권한은 있으나 쓰기 권한은 부여되지 않았음을 의미한다. r--는 오직 읽기 권한만 존재함을 의미한다.

그런데 왜 2번 부분은 9글자로 구성되어 있을까? 2번 부분은 다시 세부분으로 나눌 수 있다.

[rwx] # 1번 부분
[r-x] # 2번 부분
[r-x] # 3번 부분

 

 

위의 메세지에서 1번 부분은 파일 및 폴더를 소유하고 있는 유저가 가지는 접근 권한에 대해 설명하고 있다. 다시 말해 해당 파일을 소유하고 있는 유저는 해당 파일에 대한 읽기, 쓰기, 실행 권한을 가진다. 2번, 3번 부분은 어떤 유저를 특정하고 있을까? 2번 부분은 그룹을, 3번 부분은 다른 유저를 특정하고 있다. 이 부분에 대해 자세하게 설명하고 있는 레퍼런스를 첨부하겠다.

리눅스 퍼미션 강의

 

 

CLI 기본 명령어 챕터에서 cp, rm 같은 명령어를 학습하며 -r, -f 와 같은 명령어 옵션에 대해 간략하게 안내했다. 이 옵션들이 정확히 어떤 역할을 하는지 알아보겠다. -r 은 recursive 의 약자로 특정 행동을 순환적으로 반복한다. -f 는 force의 약자로 어떤 행위를 강제한다. 어떤 뜻인지는 rm 명령어를 예시로 들어 설명하겠다.

 

command 폴더를 생성하고 'subdirectory' 라는 이름을 가진 폴더와 텍스트 파일을 두 개 생성해보자.

 

subdirectory 폴더 안에는 아래에 보이는 것처럼 두개의 이미지 파일이 저장되어 있다.

 

먼저 기본적인 rm 명령어를 사용해서 text1.txt 파일을 지워보자.

 

성공적으로 삭제가 되었다. 이번에는 subdirectory 폴더를 삭제해보자.

 

rm: subdirectory is a directory 라는 메세지가 출력되며 삭제되지 않는다.
일반적인 rm 명령어는 파일을 저장하고 있는 폴더를 삭제하지 못한다.
이 때 -r 옵션을 추가하면 파일을 저장하고 있는 폴더도 삭제 가능하다.

 

위와 같이 폴더도 성공적으로 삭제된 것을 확인할 수 있다.

 

 

-f  명령어를 사용하면 보호되거나 존재하지 않는 파일도 강제로 삭제할 수 있으니 각별히 주의하자.

-r  과  -f 명령어를 합쳐 -rf 형태로 쓸 수 있다. rm -rf 명령어를 사용하면 민감한 정보를 가진 파일도 무차별적으로 삭제하여 심각한 문제를 일으키는 경우가 생기니 이에 대해 주의하자.

파일, 디렉터리 조작을 위한 기본 명령어들

 

 

cat 명령어 대신 쓰는 명령어

cat 명령어를 이용하면 터미널에서 파일 안에 담긴 내용을 확인할 수 있다. 그러나 항상 전체 내용을 출력하기 때문에 생기는 단점들이 있다. 가령 파일이 담고 있는 내용이 너무 길 경우 터미널 상에서 내용이 잘려서 나오는 경우가 생긴다. 그리고 항상 전체가 출력되기 때문에 원하는 정보를 찾기 위해서 떄로는 시간이 오래 걸린다. 전체를 열람하지 않고 파일 내용의 부분만 열람할 수 있게 만들어주는 명령어가 있을까? 이에 대해 자세히 설명하고 있는 레퍼런스를 첨부해보겠다.

 

head 명령어

tail 명령어

more 명령어

less 명령어

 

 

헬프 옵션 사용하기

어떤 웹사이트나 프로그램의 사용법을 알기 위해 '도움말' 메뉴를 이용한다. 터미널에서 제공하는 기능이나 명령어의 사용법을 알아보려면 어떻게 해야할까? 터미널에서 '도움말' 역할을 하는 명령어 옵션이 있다. 아래 레퍼런스에 자세하게 소개되어 있다.

 

헬프 옵션(-h, –help)으로 사용법 출력하기

 

 

 

 

반응형

댓글