Linux/실습 기록

[컴퓨터시스템관리] 2021.03.16 3주차 실습 일지 - 리눅스 명령어(2)

daeunnniii 2021. 3. 16. 23:48
728x90
반응형

실습과제

리눅스 프로그램 설치

1) 프로그램 소개: Sticky Notes

윈도우에서 유용하게 쓰고 있는 스티커 메모를 리눅스에서도 프로그램을 설치하여 사용할 수 있다는 것을 알게 되었다. Sticky Notes는 포스트잇에 메모를 할 수 있는 프로그램이다.

 

2) Sticky Notes 다운 과정

1. 패키지 저장소

~$ sudo add-apt-repository ppa:umang/indicator-stickynotes

2. 업데이트

~$ sudo apt-get update

3. apt-get으로 Sticky Notes 설치

~$ sudo apt-get install indicator-stickynotes

4. Sticky Notes 실행

~$ indicator-stickynotes

새로 배운 내용

1. 리눅스 디렉터리 구조

/bin, /etc, /dev, /home 등등 리눅스 디렉터리 구조에 대해 알게 되었다.

2. 사용자 관리 및 파일 속성

1) groupadd로 그룹 생성하기

2) 사용자 계정 생성하기

*adduser --gid 1002 cs-02: 사용자 계정 cs-02를 생성하고 gid가 1002인 그룹으로 지정.

 

3) 생성한 사용자 계정을 cs, ss-univ 그룹에 등록하기

4) chown 명령어로 파일의 소유권 변경 & chmod 명령어로 파일 허가권을 변경

*파일 소유권: 소유자/그룹/그외 사용자

*파일 허가권: r(읽기)-4, w(쓰기)-2, x(실행)-1

 

5) 링크 파일 관련 실습(하드 링크와 심볼릭 링크)

 

3. 프로그램 설치 및 관리

 

문제가 발생하거나 고민한 내용 & 해결 과정

▶고민한 내용

하드 링크(hard link)와 심볼릭 링크(symbolic link)의 장단점이 무엇이고, 어떤 경우에 하드링크를 사용하고 어떤 경우에 심볼릭 링크를 사용하는지 궁금하여 조사해보았다.

1. 하드 링크(hard link)

-원본 파일과 동일한 inode를 가진다. 따라서 원본 파일이 삭제되더라도 원본 파일의 inode를 갖고 있는 링크 파일은 여전히 사용 가능하다. (같은 inode를 가리키는 서로 다른 파일이라고 보아도 됨.)

ln <원본파일> <링크 파일명>

 

2. 심볼릭 링크(symbolic link)

-원본 파일의 이름을 가리키는 링크이다. 따라서 원본 파일이 사라지게 되면 역할을 수행할 수 없다.

-장점: 전혀 다른 파일이라도 원본 파일과 이름이 같다면 계속 사용 가능하다.

ln -s <원본파일> <링크 파일명>

 

*하드링크와 심볼릭 링크의 장단점*

-성능 : 하드 링크는 데이터가 있는 위치를 직접 가리키고 있기 때문에 다른 파일을 가리키고 있는 심볼릭 링크에 비해 약간 더 빠르다.

-저장 공간 : 하드 링크 파일은 마치 용량을 점유하고 있는 것처럼 보이지만 진짜로 데이터를 복사한 것이 아니라 이미 존재하는 데이터의 위치만 (Inode를 통해)가리키고 있으며 별도의 데이터를 저장하지 않기 때문에 용량을 차지하지 않는다. 반면 심볼릭 링크는 자신이 가리키고 있는 파일의 위치를 데이터로서 저장하기 때문에 약간의 용량(보통 4KB)을 차지한다.

 

-하드링크다른 파일 시스템에 있는 데이터에 대해 하드링크를 생성할 수 없다.

-하드링크는 디렉토리에 대한 하드링크를 생성할 수 없다.

 

참고:

b1ix.net/125

 

b1ix | [LINUX] 심볼릭링크(softlink), 하드링크(hardlink) 차이점 2014-05-07

b1ix | [LINUX] 심볼릭링크(softlink), 하드링크(hardlink) 차이점 2014-05-07

b1ix.net

 

참고할만한 내용

*리눅스 디렉토리 구조 정리*

/: root 디렉토리로, 최상의 디렉토리이다. 리눅스의 모든 디렉토리는 root로부터 시작된다.

/bin: 기본적인 명령어가 저장되어있는 디렉토리이다. (ls, cd, rm, ...)
/boot: 리눅스의 부트로더가 존재하는 디렉토리. 운영체제의 부팅을 목적으로 사용된다.
/cdrom: 마운트할 때 사용된다.(현재는 잘 쓰이지 않음)
/dev: 시스템 디바이스 파일을 저장한다.
/etc: 시스템의 설정파일이 들어있다.
/home: 사용자의 홈 디렉토리
/lib: 커널 모듈파일과 각종 라이브러리 파일들이 존재.
/lost+found: 연결이 끊어진 파일들이 들어가있음. mv 명령어로 파일을 이동시켜주면 복구가능. (ex. 윈도우의 휴지통과 비슷)
/media: USB와 같이 탈부착이 가능한 장치들의 마운트포인트로 사용된다.
/mnt: 일시적인 마운트포인트로 사용된다.
/opt: 패키지 같은 것을 설치할 때 그 패키지에 해당하는 파일들이 저장된다.
/proc: "가상파일시스템"이라고도 한다. 현재 메모리 상에 존재하는 모든 작업들이 존재하는 곳이다.

/root: 루트 홈 디렉토리
/run: 애플리케이션 상태가 저장된다.
/sbin: 시스템 관리자용 명령어를 저장한다. (관리자만 접근 가능)
/srv: 외부 사용자와의 공유를 위해 사용됨.
/tmp: "공용 디렉토리"로, 시스템을 사용하는 모든 사용자들이 공동으로 사용하는 디렉토리이다.
/usr: 일반 사용자용 명령어를 저장한다. (일반 사용자 접근 가능)
/var: 시스템 운용 중에 생성되었다가 삭제되는 데이터들이 있는데, 이러한 데이터들을 일시적으로 저장한다. (로그 정보들이 여기에 저장됨.)

 

회고 (+, -, !)

-리눅스 디렉터리가 어떠한 구조로 이루어져있는지 정리할 수 있었다. 또한 파일 또는 디렉토리의 소유권과 허가권을 chown, chmod 명령어를 통해 변경할 수 있고 이를 통해 다중 사용자 시스템의 사용자들을 관리할 수 있다는 것을 알게 되었다.

-패키지 저장소라는 것이 여러 개 분산해서 존재한다는 것을 알게 되어 신기했다. 리눅스 프로그램을 설치하는 과정에서 어떤 프로그램을 설치할지 검색을 해보았는데, 정말 다양한 패키지들이 존재한다는 것을 알게 되어 흥미로웠다. 기회가 된다면 더욱 다양한 리눅스 프로그램을 접해보고 싶다.

 

-하드 링크와 심볼릭 링크에 대해 처음에는 잘 받아들여지지 않아 아쉬웠다. 따라서 하드 링크와 심볼릭 링크에 대해 정리해보았고 두 연결 방식의 차이점과 장단점을 알아보는 과정에서 잘 이해할 수 있었다. 원도우와 달리 리눅스의 파일 시스템에서는 inode라는 자료구조를 사용한다는 것을 실습을 통해 이해할 수 있어서 좋았다.

728x90
반응형