실제 파일 압축에 대한 자세한 내용과 보관 파일을 만드는 예는 9장을 참조하세요.
![]()
7.2. 텍스트 환경
7.2.1. 환경 변수
7.2.1.1. 일반
우리는 이미 다음과 같은 몇 가지 환경 변수를 언급했습니다. PATH 그리고 홈지금까지는 셸에서 특정 목적을 수행하는 예만 살펴보았습니다. 하지만 제대로 작동하려면 사용자 정보가 필요한 다른 많은 Linux 유틸리티도 있습니다.
경로와 홈 디렉토리 외에 프로그램에 필요한 다른 정보는 무엇입니까?
많은 프로그램은 사용자가 사용하는 단말기 종류를 알고 싶어합니다. 이 정보는 다음에 저장됩니다. TERM 변수입니다. 텍스트 모드에서는 이것이 됩니다. 리눅스 그래픽 모드에서 터미널 에뮬레이션을 사용할 가능성이 높습니다. xterm많은 프로그램이 하위 프로세스에서 편집기를 시작해야 할 경우를 대비하여 사용자가 선호하는 편집기가 무엇인지 알고 싶어 합니다. 사용 중인 셸은 다음 위치에 저장됩니다. SHELL 변수, 운영 체제 유형 OS 등등. 현재 세션에 대해 정의된 모든 변수 목록을 입력하여 볼 수 있습니다. 인쇄 명령.
환경 변수는 셸에서 관리합니다. 일반 셸 변수와 달리 환경 변수는 다른 셸을 포함하여 사용자가 시작한 모든 프로그램에서 상속됩니다. 새 프로세스는 이러한 변수의 사본을 할당받으며, 이를 읽고 수정하고 자식 프로세스에 전달할 수 있습니다.
변수 이름에는 특별한 것이 없습니다. 다만 관례상 대문자로 표기하는 것이 일반적입니다. 원하는 이름을 자유롭게 지을 수 있지만, 표준 변수 이름도 있습니다.
모든 Linux 시스템에서 동일하게 적용될 만큼 중요한 사항입니다. PATH 그리고 홈.
![]()
7.2.1.2. 변수 내보내기
개별 변수의 내용은 일반적으로 다음을 사용하여 표시됩니다. 에코 다음 예와 같이 명령을 사용합니다.
데비:~> 에코 $PATH
/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin:/usr/local/bin
데비:~> $MANPATH를 에코합니다
/usr/man:/usr/share/man/:/usr/local/man:/usr/X11R6/man
데비:~> 에코 $PATH
/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin:/usr/local/bin
데비:~> $MANPATH를 에코합니다
/usr/man:/usr/share/man/:/usr/local/man:/usr/X11R6/man
다른 프로그램에 유용한 방식으로 변수의 내용을 변경하려면 새 값을 현재 환경에서 해당 프로그램을 실행하는 환경으로 내보내야 합니다. 일반적인 예로는 PATH 변수입니다. 다음과 같이 선언하면 비행 시뮬레이터 소프트웨어를 사용할 수 있습니다. /opt/FlightGear/bin:
데비:~> PATH=$PATH:/opt/FlightGear/bin 이는 셸에게 현재 경로에서 프로그램을 검색할 뿐만 아니라 $ PATH, 또한 추가 디렉토리에도 있습니다 /opt/FlightGear/bin.
그러나 새로운 가치가 PATH 변수가 환경에 알려지지 않은 경우 여전히 작동하지 않습니다.
데비:~> 런프지프스
bash: runfgfs: 명령을 찾을 수 없습니다
데비:~> 런프지프스
bash: runfgfs: 명령을 찾을 수 없습니다
변수 내보내기는 셸 내장 명령을 사용하여 수행됩니다. 수출:
데비:~> 내보내기 경로
데비:~> 런프지프스
--비행 시뮬레이터가 시작됩니다--
데비:~> 내보내기 경로
데비:~> 런프지프스
--비행 시뮬레이터가 시작됩니다--
Bash에서는 일반적으로 이 작업을 우아한 한 단계로 수행합니다.
수출 변하기 쉬운=가치
동일한 기술이 사용됩니다 맨패스 변수는 다음을 알려줍니다. 사람 압축된 매뉴얼 페이지를 어디에서 찾을지 명령입니다. 새 소프트웨어가 시스템에 새롭거나 특이한 디렉터리에 추가되면 해당 소프트웨어의 설명서도 특이한 디렉터리에 있을 가능성이 높습니다. 새 소프트웨어의 매뉴얼 페이지를 읽으려면 다음을 확장하세요. 맨패스 변하기 쉬운:
데비:~> MANPATH=$MANPATH:/opt/FlightGear/man을 내보냅니다.
데비:~> $MANPATH를 에코합니다
/usr/man:/usr/share/man:/usr/local/man:/usr/X11R6/man:/opt/FlightGear/man
데비:~> MANPATH=$MANPATH:/opt/FlightGear/man을 내보냅니다.
데비:~> $MANPATH를 에코합니다
/usr/man:/usr/share/man:/usr/local/man:/usr/X11R6/man:/opt/FlightGear/man
셸 설정 파일 중 하나에 이 명령을 추가하면 열려 있는 모든 창에서 이 명령을 다시 입력하지 않아도 됩니다. 섹션 7.2.2를 참조하세요.
![]()
7.2.1.3. 예약된 변수
다음 표는 가장 일반적인 사전 정의된 변수에 대한 개요를 제공합니다.
표 7-1. 일반적인 환경 변수
변수 이름 | 저장된 정보 |
DISPLAY | X Window 시스템에서 디스플레이 서버를 식별하는 데 사용됨 |
DOMAIN | 도메인 이름 |
EDITOR | 좋아하는 라인 편집기를 저장합니다 |
히스트사이즈 | 쉘 히스토리 파일의 크기(줄 수) |
홈 | 홈 디렉토리 경로 |
호스트 이름 | 로컬 호스트 이름 |
입력RC | 키보드와 같은 입력 장치에 대한 정의 파일의 위치 |
랑 | 선호하는 언어 |
LD_LIBRARY_PATH | 라이브러리 검색 경로 |
로그 이름 | 로그인 이름 |
수신 메일 폴더의 위치 | |
맨패스 | man 페이지를 검색하는 경로 |
OS | 운영 체제를 설명하는 문자열 |
OS 유형 | 버전 등에 대한 자세한 정보 |
휴대용 소형 무선 호출기 | 다음과 같은 프로그램에서 사용됨 사람 출력이 두 개 이상의 터미널 창에 도달하는 경우 무엇을 해야 하는지 알아야 합니다. |
PATH | 명령어 검색 경로 |
PS1 | 주요 프롬프트 |
PS2 | 2차 프롬프트 |
PWD | 현재 작업 디렉토리 |
SHELL | 현재 쉘 |
TERM | 터미널 타입 |
UID | 사용자 ID |
사용자(이름) | 사용자 이름 |
시각 | 당신이 가장 좋아하는 전체 화면 편집기 |
X환경 | X 동작에 대한 개인 설정 위치 |
XFILE검색경로 | 그래픽 라이브러리를 검색하는 경로 |
많은 변수가 미리 정의되어 있을 뿐만 아니라 설정 파일을 통해 미리 설정됩니다. 다음 섹션에서 이에 대해 살펴보겠습니다.
![]()
7.2.2. 셸 설정 파일
입장할 때 ls -알 홈 디렉토리에 있는 .으로 시작하는 파일을 포함하여 모든 파일의 긴 목록을 가져오는 명령을 실행하면 .으로 시작하고 .으로 끝나는 하나 이상의 파일이 표시됩니다. rc. 의 경우 세게 때리다이있다 .bashrc. 이것은 시스템 전체 구성 파일의 대응 파일입니다. / 기타 / bashrc에.
대화형 로그인 셸에 로그인할 때, 로그인 인증을 수행하고 환경을 설정하고 셸을 시작합니다. 세게 때리다다음 단계는 일반적인 내용을 읽는 것입니다. 윤곽 에 / 기타해당 파일이 존재하는 경우. 세게 때리다 그런 다음 찾습니다 ~ / .bash_profile, ~/.bash_login 그리고 ~ / .profile, 순서대로 실행하고, 읽을 수 있는 첫 번째 명령부터 읽고 실행합니다. 존재하지 않는 경우, / 기타 / bashrc에 적용됩니다.
![]()
문서