사용자가 특정 프로그램의 설치를 요청하면, 패키지 매니저는 패키지가 저장된 위치에서 패키지를 다운로드해 설치 프로그램을 실행한다.
wget
: URL을 통해 파일을 다운로드하는 프로그램sudo apt install wget
neofetch
: 시스템 정보를 확인할 수 있는 프로그램sudo apt install neofetch
ls -l
해서 내부 디렉토리 리스트를 출력해보면 다음과 같다.
노란색 박스를 보면 코드가 적혀있는데
d
로 시작하면 directory, -
로 시작하면 not directory(주로 파일)r
, w
, x
는 각각 read, write, execute permission(권한)owner(user)
: 파일의 소유자group
: 여러 userother
: 파일을 만들지 않은 다른 모든 user (global 권한)sudo
명령어를 통해 관리자 권한을 획득해야 변경할 수 있다.chmod
로 권한을 변경하는 방식은 두 가지가 있다. (자세한 내용은 URclass에서 확인)
- 시스템 자체에 설정한 전역 변수
- 환경에 따라 프로그램의 동작에 영향을 줄 수 있는 값
예를 들어, A라는 프로그램을 만들었을 때, A 프로그램에게 B라는 폴더에 있는 어떤 값을 전달해줘야 한다고 가정해보자.
만약 A 프로그램을 내 컴퓨터에서만 사용한다면, 고정된 어떤 값을 주면 되지만 A 프로그램은 나 외에도 다양한 환경에서 사용될 것이다.
그때마다 B 폴더의 경로는 다를 것이므로 하나의 동일한 값을 주지 못한다.
이를 해결하고자 운영체제는 환경 변수를 설정하고, 프로그램이 환경변수를 찾아서 사용할 수 있도록 도와준다.