유닉스 / 리눅스의 기본 구성
리눅스에서는 모든 것을 파일이라고 생각한다.
모든 인터렉션은 파일을 읽고, 쓰는 것처럼 이루어져 있다.
마우스, 키보드 같은 입출력 디바이스를 포함해 모든 디바이스 관련 기술도 파일같이 다루어진다.
셸(Shell)
셸은 사용자가 운영체제, 컴퓨터 하드웨어 등에 명령을 전달할 수 있게 해주는 인터페이스이다.
셸은 사용자와 운영체제의 내부(커널) 사이의 인터페이스를 감싸는 층이기 때문에 셸(껍데기)이라는 이름이 붙었다.
셸은 일반적으로 명령 줄과 그래픽 형의 두종류로 분류된다.
- 명령 줄 셸 : CLI(Command Line Interface)
- 그래픽 형 셸 : GUI (Graphic User Interface

사용자는 위와 같은 CLI 셸을 이용해서 리눅스 운영체제에 명령을 내릴 수 있다.
유닉스 기본 셸인 bash를 이용해 명령을 내리는 방법을 알아보자.
리눅스 기본 명령어
로그인
맨 처음 셸을 열면 아래와 같이 로그인을 할 수 있다.


whoami
로그인 한 사용자의 ID를 알려준다.
- root : 슈퍼 관리자 ID

sudo 명령어 : root 권한으로 실행하기
root는 모든 권한을 갖고 있기 때문에 파일을 삭제하거나 하는 것에 제한이 없다.
따라서 root ID로 직접 사용하지 않고 필요할 때만 sudo 명령어를 이용해서 root 권한을 이용할 수 있다.
로그인한 ID로는 권한이 없는 명령을 실행하고자 할 때, 앞에 sudo 키워드를 붙여서 사용한다.
apt-get update 명령어는 운영체제에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트하는 명령어이다.

-> 권한이 없어서 실행 불가

-> root 관리자의 권한을 얻어서 실행 가능
clear
현재 셸에 떠있는 텍스트를 전부 지운다.
$ clear
pwd
현재 디렉터리 위치를 알려준다.

cd : 디렉토리 이동 명령어
cd (디렉터리) : 해당 디렉토리로 이동한다.
- pwd : 현재 디렉토리 출력
- cd /home/ : /home 디렉토리로 이동
- pwd : 현재 디렉토리 출력

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

cd ~ : 해당 사용자의 home 폴더로 이동

cd - : 이전 폴더로 이동

ls : 파일 목록 출력
해당 폴더의 파일 목록을 출력한다.
ls -al : 숨김 파일까지 모든 파일 출력

- '. '으로 시작되는 폴더 : 숨김 폴더
리눅스에서의 권한
운영체제는 사용자/리소스 권한을 분리하고, 리눅스는 사용자 / 그룹으로 권한을 분리한다.
ls -al 명령어를 실행하면 아래와 같이 파일 목록들이 나온다.

여기서 가장 왼쪽의 10자리 문자열은 권한을 나타낸다.
10자리 문자열의 첫 번째 문자는 ( - : 파일, d : 디렉터리 )를 나타낸다.
나머지 9자리는 왼쪽부터 소유자, 그룹, 기타 사용자로 나누어서 세 자리씩 그 권한을 명시한다.

(이미지 출처) http://gomguard.tistory.com/76
r은 읽기 권한을, w는 쓰기 권한을, x는 실행 권한을 명시한다.
예를 들어 rw-r--r--를 확인해 보자.
- rw- : 소유자의 권한은 읽기, 쓰기 가능
- r-- : 그룹의 권한은 읽기만 가능
- r-- : 기타 사용자의 권한은 읽기만 가능
파일 권한을 숫자로 표현
파일 권한을 숫자로 표현하고, 이 숫자를 이용해서 파일 권한을 변경할 수 있다.
- r : 4 = 2^2
- w : 2 = 2^1
- x : 1 = 2^0
소유자, 그룹, 기타 사용자의 권한을 각각 이 3개의 수를 더한 값으로 나타낸다.
따라서 위에서 예제로 이용한 rw-r--r--을 숫자로 나타낸다면
- 소유자의 권한 = r + w = 4 + 2 = 6
- 그룹의 권한 = r = 4
- 기타 사용자의 권한 = r = 4
따라서 이 파일의 권한은 '644'로 나타낼 수 있다.
chmod 파일 권한 변경
위에서 다룬 파일 권한을 숫자로 표현하는 방법을 이용해서 파일의 권한을 변경할 수 있다.
chmod 765 (파일명)
위와 같이 사용하면 (파일명) 파일을 소유자 권한 7 = rwx / 그룹 권한 6 = rw- / 기타 권한 5 = r-x로 설정할 수 있다.
즉, 다시 ls -al로 파일을 확인해 보면 해당 파일의 권한은 rwxrw-r-x로 변해있는 것을 확인할 수 있다.
cat : 파일 내용 보기
cat 명령어로 해당 파일의 내용을 볼 수 있다.
cat (파일명)

rm : 파일 및 폴더 삭제
rm과 함께 r, f 옵션을 이용한다.
- r 옵션 : 하위 디렉터리를 포함한 모든 파일 삭제
- f 옵션 : 강제로 파일이나 디렉토리 삭제
rm -rf (디렉토리 명)
man 키워드
명령어 앞에 man을 붙이면 해당 명령어에 대한 설명을 출력한다.
- q를 입력해서 탈출할 수 있다.

'[ Computer Science ] > Linux 리눅스' 카테고리의 다른 글
[Linux/Unix] POSIX란? (포직스, 이식 가능 운영체제 인터페이스, Unix 표준) (0) | 2024.04.17 |
---|---|
[리눅스] VI 에디터 명령어 정리 (0) | 2023.07.21 |
[리눅스] 파일 복사, 하드 링크와 소프트 링크 (0) | 2023.07.10 |
[리눅스] 프로세스, 상태 확인하기 (0) | 2023.07.10 |
[리눅스] 리다이렉션과 파이프, grep 명령어 (0) | 2023.07.10 |
유닉스 / 리눅스의 기본 구성
리눅스에서는 모든 것을 파일이라고 생각한다.
모든 인터렉션은 파일을 읽고, 쓰는 것처럼 이루어져 있다.
마우스, 키보드 같은 입출력 디바이스를 포함해 모든 디바이스 관련 기술도 파일같이 다루어진다.
셸(Shell)
셸은 사용자가 운영체제, 컴퓨터 하드웨어 등에 명령을 전달할 수 있게 해주는 인터페이스이다.
셸은 사용자와 운영체제의 내부(커널) 사이의 인터페이스를 감싸는 층이기 때문에 셸(껍데기)이라는 이름이 붙었다.
셸은 일반적으로 명령 줄과 그래픽 형의 두종류로 분류된다.
- 명령 줄 셸 : CLI(Command Line Interface)
- 그래픽 형 셸 : GUI (Graphic User Interface

사용자는 위와 같은 CLI 셸을 이용해서 리눅스 운영체제에 명령을 내릴 수 있다.
유닉스 기본 셸인 bash를 이용해 명령을 내리는 방법을 알아보자.
리눅스 기본 명령어
로그인
맨 처음 셸을 열면 아래와 같이 로그인을 할 수 있다.


whoami
로그인 한 사용자의 ID를 알려준다.
- root : 슈퍼 관리자 ID

sudo 명령어 : root 권한으로 실행하기
root는 모든 권한을 갖고 있기 때문에 파일을 삭제하거나 하는 것에 제한이 없다.
따라서 root ID로 직접 사용하지 않고 필요할 때만 sudo 명령어를 이용해서 root 권한을 이용할 수 있다.
로그인한 ID로는 권한이 없는 명령을 실행하고자 할 때, 앞에 sudo 키워드를 붙여서 사용한다.
apt-get update 명령어는 운영체제에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트하는 명령어이다.

-> 권한이 없어서 실행 불가

-> root 관리자의 권한을 얻어서 실행 가능
clear
현재 셸에 떠있는 텍스트를 전부 지운다.
$ clear
pwd
현재 디렉터리 위치를 알려준다.

cd : 디렉토리 이동 명령어
cd (디렉터리) : 해당 디렉토리로 이동한다.
- pwd : 현재 디렉토리 출력
- cd /home/ : /home 디렉토리로 이동
- pwd : 현재 디렉토리 출력

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

cd ~ : 해당 사용자의 home 폴더로 이동

cd - : 이전 폴더로 이동

ls : 파일 목록 출력
해당 폴더의 파일 목록을 출력한다.
ls -al : 숨김 파일까지 모든 파일 출력

- '. '으로 시작되는 폴더 : 숨김 폴더
리눅스에서의 권한
운영체제는 사용자/리소스 권한을 분리하고, 리눅스는 사용자 / 그룹으로 권한을 분리한다.
ls -al 명령어를 실행하면 아래와 같이 파일 목록들이 나온다.

여기서 가장 왼쪽의 10자리 문자열은 권한을 나타낸다.
10자리 문자열의 첫 번째 문자는 ( - : 파일, d : 디렉터리 )를 나타낸다.
나머지 9자리는 왼쪽부터 소유자, 그룹, 기타 사용자로 나누어서 세 자리씩 그 권한을 명시한다.

(이미지 출처) http://gomguard.tistory.com/76
r은 읽기 권한을, w는 쓰기 권한을, x는 실행 권한을 명시한다.
예를 들어 rw-r--r--를 확인해 보자.
- rw- : 소유자의 권한은 읽기, 쓰기 가능
- r-- : 그룹의 권한은 읽기만 가능
- r-- : 기타 사용자의 권한은 읽기만 가능
파일 권한을 숫자로 표현
파일 권한을 숫자로 표현하고, 이 숫자를 이용해서 파일 권한을 변경할 수 있다.
- r : 4 = 2^2
- w : 2 = 2^1
- x : 1 = 2^0
소유자, 그룹, 기타 사용자의 권한을 각각 이 3개의 수를 더한 값으로 나타낸다.
따라서 위에서 예제로 이용한 rw-r--r--을 숫자로 나타낸다면
- 소유자의 권한 = r + w = 4 + 2 = 6
- 그룹의 권한 = r = 4
- 기타 사용자의 권한 = r = 4
따라서 이 파일의 권한은 '644'로 나타낼 수 있다.
chmod 파일 권한 변경
위에서 다룬 파일 권한을 숫자로 표현하는 방법을 이용해서 파일의 권한을 변경할 수 있다.
chmod 765 (파일명)
위와 같이 사용하면 (파일명) 파일을 소유자 권한 7 = rwx / 그룹 권한 6 = rw- / 기타 권한 5 = r-x로 설정할 수 있다.
즉, 다시 ls -al로 파일을 확인해 보면 해당 파일의 권한은 rwxrw-r-x로 변해있는 것을 확인할 수 있다.
cat : 파일 내용 보기
cat 명령어로 해당 파일의 내용을 볼 수 있다.
cat (파일명)

rm : 파일 및 폴더 삭제
rm과 함께 r, f 옵션을 이용한다.
- r 옵션 : 하위 디렉터리를 포함한 모든 파일 삭제
- f 옵션 : 강제로 파일이나 디렉토리 삭제
rm -rf (디렉토리 명)
man 키워드
명령어 앞에 man을 붙이면 해당 명령어에 대한 설명을 출력한다.
- q를 입력해서 탈출할 수 있다.

'[ Computer Science ] > Linux 리눅스' 카테고리의 다른 글
[Linux/Unix] POSIX란? (포직스, 이식 가능 운영체제 인터페이스, Unix 표준) (0) | 2024.04.17 |
---|---|
[리눅스] VI 에디터 명령어 정리 (0) | 2023.07.21 |
[리눅스] 파일 복사, 하드 링크와 소프트 링크 (0) | 2023.07.10 |
[리눅스] 프로세스, 상태 확인하기 (0) | 2023.07.10 |
[리눅스] 리다이렉션과 파이프, grep 명령어 (0) | 2023.07.10 |