>운영 및 유지보수 >리눅스 운영 및 유지 관리 >리눅스 쉘은 무엇을 의미합니까?

리눅스 쉘은 무엇을 의미합니까?

青灯夜游
青灯夜游원래의
2022-11-11 11:18:572046검색

리눅스에서 쉘은 운영체제에 존재하는 "명령줄 해석기"인 "쉘"을 의미하며, 입력할 수 있는 인터페이스 형태로 표현되는 사용자 중심의 명령 인터페이스를 말합니다. 이 인터페이스는 작동 정보도 피드백할 수 있습니다. 쉘의 기능은 다음과 같습니다. 1. 처리를 위해 사용자의 명령을 커널로 변환합니다. 2. 코어(커널) 처리 결과를 사용자에게 변환합니다.

리눅스 쉘은 무엇을 의미합니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

리눅스의 쉘 프로그램을 쉘(명령줄 해석기)이라고 하는데, 이는 사용자가 입력할 수 있는 인터페이스로 표현되는 사용자 중심의 명령 인터페이스를 의미합니다. 이 인터페이스는 실행 정보도 피드백할 수 있습니다

쉘의 기능은 다음과 같습니다:

  • 명령을 커널로 변환

  • kernl 처리 결과를 사용자에게 변환

일반적으로 우리가 사용하는 쉘은 bash입니다.

명령을 해석할 때 bash는 해석에 직접 참여하지 않고 명령을 해석하기 위한 새로운 프로세스를 생성합니다. Bash는 결과를 기다리기만 하면 되므로 bash 프로세스의 보안이 보장됩니다.

1. Shell

1. 이유

우리 모두는 Linux를 사용할 때 Windows에 비해 Linux는 그래픽 인터페이스가 없기 때문에 명령줄을 사용하여 작동한다고 합니다. 그러나 명령줄 방식은 컴퓨터를 직접 조작하는 방식이 아닙니다. 우리는 컴퓨터의 맨 아래 계층이 실제로 0과 1

으로 구성되어 있다는 것을 알고 있습니다. 각 명령의 전송은 결국 0,1 신호로 변환되어 컴퓨터로 전송되어 컴퓨터가 해당 명령을 실행할 수 있게 됩니다. 그러나 모든 사람이 이런 식으로 컴퓨터를 사용한다면 의심할 여지없이 매우 어려울 것입니다.

2. 기능

리눅스 운영체제는 코어(커널)

역할을 하며, 사용자가

직접 운영할 수 없습니다. 대신 shell을 통해 컴퓨터와 통신합니다. "shell"의 영어 정의는 "shell"이며, 이는 운영 체제에 존재하는 "명령줄 해석기"로, 사용자의 명령을 처리를 위해 커널로 변환하는 데 사용됩니다. 결과를 사용자에게쉘은 실제로 사용자와 운영 체제 사이의 번역기

로 간주할 수 있습니다. 사용자와 운영 체제는 언어를 이해하지 못하고 직접 통신할 수 없지만

, 이후 대화를 통해 이루어집니다. 번역3. Windows 및 Linux 쉘

(1) windows

Windows를 사용할 때 Windows의 커널을 직접 조작할 수는 없지만 쉘을 클릭하여 구성됩니다. 그래픽 인터페이스 관련 작업을 수행하기 위해

(2) linux

Linux에서 쉘은 지침을 구문 분석하고 구문 분석된 지침을 Linux 커널에 전달한 다음 결과를 다시 피드백한 다음

커널을 통해 실행합니다. 결과

를 출력하고 결과를 쉘을 통해 사용자에게 파싱 4. 존재의 의미

(1) 사용자와 운영 체제 간의 통신을 촉진

을 통해 쉘을 사용하면 사용자는 더 많은 운영 체제를 간단한 방식으로 사용할 수 있으며 학습 비용이 크게 절감됩니다.

(2) 운영체제 보호

쉘의 또 다른 존재 목적은 운영체제를 보호하는 것입니다. 불법적이거나 유효하지 않은 사용자 지침을 가로채서,

운영 체제가 쓸모 없거나 유해한 작업을 수행하는 것을 방지

. 예를 들어, Linux에서 잘못된 문자 문자열을 입력하면 쉘은 명령을 가로채서

리눅스 쉘은 무엇을 의미합니까?5을 반환합니다. 실행 모드

쉘이 명령을 실행할 때 다음과 같이 사용자를 실행합니다. 하위 프로세스를 포크하는 경우 명령과

쉘 자체는 일반적으로 해당 명령

을 실행하지 않습니다. shell 자체가

번역 파견 회사

의 사장이라고 생각하시면 됩니다. 사용자가 번역이 필요할 때 Shell에 요청을 보내는 경우는 일반적으로 Shell은 파견 회사의 사장으로서 서비스를 제공하지 않습니다. 다른 번역가들은 다양하고 복잡한 요구 사항을 처리하기 위해 서비스를 제공합니다. 이러한 아웃소싱 번역가는 단지 하위 프로세스일 뿐입니다.

2. Linux 권한

1. Linux 권한의 개념

권한은 운영 체제에서 사용자에 대한 제약입니다.

(1) 사용자 분류

Linux에서 사용자는 2가지 종류로 나뉜다. 하나는 superuser, 즉 root입니다. 다른 하나는 일반 사용자입니다.

1. 슈퍼유저(루트)

루트유저는 단 한명입니다. 동시에 루트 사용자는 운영 체제에 대해 가장 높은 권한을 갖습니다.

운영 체제의 루트 사용자는 고대 국가의 황제와 같으며 어떠한 법적 조항에도 구속되지 않는다고 할 수 있습니다. 루트 사용자에서는 모든 명령 실행이 권한에 의해 제한되지 않습니다. 다른 일반 사용자의 파일에 접근하여 수정 및 삭제할 수 있습니다. 운영 체제의 루트 디렉터리 및 데이터베이스를 삭제하는 등의 작업을 수행하면 운영 체제에 심각한 손상을 입히거나 심지어 충돌을 일으킬 수 있으므로 루트 계정의 비밀번호는 복잡한 것으로 설정하고 잘 보관해야 합니다.

루트 사용자

의 명령 프롬프트는

"#"

2입니다. 일반 사용자는

일반 사용자는 을 여러 개 가질 수 있습니다. 일반 사용자에게는 권한 제한이 적용됩니다. 이러한 권한 제약 조건은 시스템 및 루트 사용자로부터 발생합니다.

일반 사용자를 위한 명령 프롬프트

"$"입니다.

(2) 사용자 전환

Linux에서는 "su" 명령을 사용하여 사용자를 전환할 수 있습니다

여기서, 계정에 로그인하려면 해당 계정의 비밀번호를 입력해야 합니다. 따라서 각 계정의 비밀번호를 다르게 설정하십시오.

리눅스 쉘은 무엇을 의미합니까?계정에서 로그아웃하려면

exit

을 입력하거나 단축키

"ctrl d"

를 사용하세요. 참고:

일반 사용자의 경우 " su"를 입력하고 해당 사용자리눅스 쉘은 무엇을 의미합니까?의 비밀번호를 입력해야 합니다. 단,

루트 사용자 아래의 "su"에는 해당 사용자 비밀번호를 입력할 필요가 없습니다

리눅스 쉘은 무엇을 의미합니까? (3) 해당 명령을 실행하기 위해 사용자를 전환하지 마십시오

우리가 일반 사용자, 하지만 이때는

명령을 실행하려면 루트 권한이 필요하며

, 명령을 실행하기 위해 사용자를 전환하고 싶지 않으므로 “sudo” 명령을 사용할 수 있습니다. 이 명령은 일반 사용자의 권한을 잠시 증가할 수 있습니다. 참고: 비밀번호를 입력할 때 루트 사용자의 비밀번호가 아닌 이 사용자의 비밀번호를 입력하세요

그러나 이때 다음과 같은 오류가 발생합니다.

이것은

일반 사용자이기 때문입니다. 루트가 아닙니다. 신뢰할 수 있는 사용자리눅스 쉘은 무엇을 의미합니까?, 이 일반 사용자는 루트의 해당 파일에 존재하지 않으므로 "sudo" 명령을 수행할 수 없습니다

2. Linux 권한 관리

Linux에서는 권한이 결정됩니다. "사람"

"사물 속성"

으로 구성됩니다. 사람작업을 수행하는 사용자, 사물 속성파일의 속성을 의미합니다. (1) 파일 방문자 분류(사람)

리눅스에서는 파일 방문자 owner(onwer),

group(그룹)

, others(기타) 세 가지 범주로 나뉩니다. 루트 사용자와 구체적인 사람인 일반 사용자와 달리 파일 방문자의 세 가지 범주는 상대적으로 추상적인 개념으로 역할으로 볼 수 있습니다. 그것은 이 파일에 있는 다른 사용자의 신원입니다. 예를 들어, 일반 사용자는 자신의 디렉토리에 있는 파일의 소유자 및 그룹으로 보일 수 있지만 다른 사용자에게는 다른 사람의 파일로 나타날 수 있습니다.1 그룹이 존재하는 이유

누군가 혼란스러울 수 있습니다. , 파일의 소유자 및 기타는 이해하기 쉽습니다. 소유자는 파일의 작성자이고, ​​other는 작성자가 아닌 사용자

입니다. 그러면 파일이 속한 그룹의 의미는 무엇입니까? 속해 있나요?

이제 팀 A팀 B가 동일한 Linux 시스템에서 제품을 개발하고 있다고 가정해 보겠습니다. 이때 A팀의 구성원이 모듈을 구현했고 팀 리더가 모듈의 내용을 보고 싶어합니다. Linux에 소유자와 다른 사람이 존재하는 경우 소유자는 우리 자신이기 때문에 리더가 코드를 보고자 할 때 다른 사람의 권한을 해제해야 합니다. 하지만 이 문서에서는 다른 팀도 다른 팀으로 간주됩니다. 다른 팀을 놓으면 리더뿐만 아니라 다른 팀도 귀하의 코드를 볼 수 있으므로 코드 유출이 쉽게 발생할 수 있습니다. 이러한 상황을 방지하려면 그룹에 속해야 합니다. 파일이 속한 그룹에 리더를 추가하고 그룹의 권한을 해제하기만 하면 다른 권한을 열지 않고도 리더에게 코드를 열 수 있습니다 (2) 사물 속성

이제 위 test.c 파일이 생겼습니다. 파일 이름 앞에 긴 속성 목록이 있는 것을 볼 수 있습니다. 이전에 우리가 아는 가장 큰 것은

"Oct 25 16:43"

리눅스 쉘은 무엇을 의미합니까?마지막 수정 시간

이고

100파일의 디스크 공간(바이트)이라는 것이었습니다. 하지만 우리는 이전 속성을 모릅니다. 1. 파일 방문자

위에서 파일 방문자의 분류에 대해서도 언급했습니다. 실제로 위 그림의

첫 번째 루트는 소유자

를 나타내고, 리눅스 쉘은 무엇을 의미합니까?두 번째 루트는 그룹을 나타냅니다.

에 속합니다.

이 두 사용자 이외의 사용자는 other에 속하므로 other는 표시되지 않으며 를 표시할 필요가 없습니다. 2. 파일 형식

우리 모두는

Linux에서 the의 접미사 파일은 의미가 없습니다

. 왜냐하면 linux리눅스 쉘은 무엇을 의미합니까?는 파일 접미사를 통해 파일 유형

을 구별하지 않기 때문입니다. 그러나 이것이 Linux에 파일 형식이 없다는 의미는 아닙니다.

Linux 파일 형식 은 표시된 속성 열의 첫 번째 열에 있는 첫 번째 문자 "ll" 으로 구별됩니다. 위 그림에서 볼 수 있듯이 test와 test.c의 첫 번째 문자는 각각 "d""-" 문자입니다. 이 두 문자는 실제로 파일 형식입니다. 1) Linux의 일반적인 파일 형식

-: 일반 파일

주로 소스 코드, 라이브러리 파일, 실행 프로그램, 문서 압축 패키지 등이 포함됩니다.

d: 디렉터리 파일

c : 문자 장치 파일

주로 키보드, 모니터 등의 하드웨어

b: 디스크 등의 차단 장치 파일

l: 링크 파일

Windows를 예로 들면, 단축키 데스크탑에 있는 파일은 실제로는 링크 파일입니다. 바로가기는 해당 소프트웨어의 시작 프로그램으로 연결됩니다. Linux에서는

"ln -s a.out test" 명령을 실행합니다.

이때, a.out 파일에 대한

링크 파일 test

가 생성되며 파일의 시작 부분은 다음과 같습니다. 실제로 리눅스 쉘은 무엇을 의미합니까?" l"

링크 파일을 나타냅니다. a.out 파일을 실행하려면 테스트를 사용할 수 있습니다.

p: 파이프라인 파일

리눅스 쉘은 무엇을 의미합니까?

파이프라인 파일에는

프로세스 간 통신이 포함됩니다. , 여기서는 확실하지 않습니다. 이제 그러한 파일이 존재한다는 것만 알면 됩니다

3. 파일 권한

보시다시피 여기서 첫 번째 문자가 파일 형식인 것을 제외하면 9개가 남았습니다. 성격. 동시에

파일 방문자는 세 가지 범주

로 나뉘며, 이 9개의 문자 중 1리눅스 쉘은 무엇을 의미합니까?3개의 문자는 모두 방문자의 액세스 권한 유형을 나타냅니다

.

(1) 파일 권한 분류

파일 권한은

"r", "w", "x" 세 가지 범주로 나뉩니다.

"r"read

를 의미하며, 이는

파일 읽기를 의미합니다. "w"write, 즉 파일 내용을 수정을 의미합니다. '"x"execute, 즉 해당 파일 실행을 나타냅니다.

각 파일의 방문자 권한은 이 3가지 권한으로 구성됩니다. 정렬 기준: "rwx". 해당 권한이 "-"인 경우

1리눅스 쉘은 무엇을 의미합니까?

권한이 위 그림의 권한 과 같다는 의미입니다. "rwx -xr r-x", 소유자가 읽고 쓰고 실행했다는 의미입니다. 권한 ; 에 속합니다. 그룹에는 읽기 및 쓰기 권한이 있지만 실행 권한은 없습니다 방문자에게는 읽기 및 실행 권한이 있지만 쓰기 권한은 없습니다

. 여기서 공백은 구분의 편의를 위해 추가한 것입니다. 실제 표시에는 공백이 없습니다.

(2) 권한 수정

1. 하나씩 수정하세요.

Linux의 권한도 수정을 지원합니다. 명령을 수정할 때 "chomd". 예를 들어, 아래 그림의 실행자 권한을 "-wx"로 변경하려면 "chomd u-r test"

:

1리눅스 쉘은 무엇을 의미합니까?

이 형식에서 "u"소유자를 나타냅니다. , “-”해당 권한을 제거한다는 의미입니다. 그리고 “g”그룹을 의미하고 “o”others를 의미합니다. 다른 방문자의 권한을 수정하려면 그에 따라 "u" 를 수정하세요. 일부 권한을 추가하고 싶다면 "-"를 "+"로

변경할 수 있습니다.

물론, 권한을 추가하거나 삭제할 때 "chmod u-rwx,g-rwx test":

1리눅스 쉘은 무엇을 의미합니까?

와 같은

다중 방문자 및 다중 권한 형식을 사용할 수도 있습니다. 모든 방문자의 권한을 수정하려면 해당 권한을 사용하여 "u, g, o""a"

로 변경할 수도 있지만 여기서는 설명하지 않습니다.

2. 파일 소유자 및 그룹 수정

파일 소유자를 수정하려면 해당 권한이 있어야 하며, 그렇지 않으면 "sudo"를 사용하여 권한을 높여야 합니다. 파일 소유자를 수정하는 명령은 "chown 해당 사용자 파일 이름":

1리눅스 쉘은 무엇을 의미합니까?

그룹을 수정하려면 "chgrp" 명령을 사용하세요. 사용 방법은 다음과 같습니다. "chown"

여기서는 더 이상 설명하지 않겠습니다

소유자와 그룹을 동시에 수정하려면 “chown 사용자 이름:사용자 이름 파일 이름”

명령을 사용하세요. 동일:

1리눅스 쉘은 무엇을 의미합니까?

여기서 사용되는 것은 루트 사용자로서 sudo를 사용할 필요가 없지만 일반 사용자는 sudo가 필요합니다.

other의 경우 소유자 이외의 사용자와 자신이 속한 그룹이 other

3. 권한은 동시에 수정되므로 수정할 필요가 없습니다

컴퓨터에서는 모든 명령은 어떤 방식으로든 전송되는 0,1 신호입니다.

권한은 있는 상태와 없는 상태 의 두 가지 상태로 존재하며, 이 상태 역시 0,1로 구성됩니다. "rwx""111"로 표시되고 "---""000"으로 표시됩니다. 그리고 이 binaryoctal으로 변환하면 "7"과 "0"이 됩니다. 따라서 8진수 권한 범위는 "[0, 7]"으로 볼 수 있습니다. 8진수에서 "r"4을 의미하고, "w"2을 의미하고, "x"1

을 의미합니다. 따라서 권한을 수정할 때 "u-"를 추가로 사용합니다. 이 형식으로 수정하는 것 외에도 8진수 형식으로 수정할 수도 있습니다. 그것은 "chmod 3명의 방문자 파일 이름의 8진수 조합 파일 이름" 입니다. 예를 들어 "chmod 777 test":

1리눅스 쉘은 무엇을 의미합니까?이 수정 방법은 여러 방문자의 권한을 하나씩 수정하는 첫 번째 방법보다 더 편리합니다.

참고: 이 방법으로 모든 내용을 작성하지 않는 경우. , 예를 들어

"7"

또는 "35"라고 쓰면 시스템은 이를 뒤에서 앞으로, 즉 other->group->owner 방향에서 수정합니다. 이번에는 다른 권한의 기본값은 0입니다. 표시되지 않음 . 아래와 같이:

3. 권한 마스크

사실 새 디렉터리 에 대한 시작 권한 777이고 새 폴더 에 대한 시작 권한 666입니다. 그러나 우리가 실제로 보는 것은 이와 같지 않습니다. 그 이유는 파일이나 디렉터리 생성이 umask(권한 마스크)의 영향을 받기 때문입니다.

(1) 권한 마스크의 역할

umask 값, 즉 권한 마스크에 존재하는 권한을 시스템이 자동으로 구성합니다. 파일이나 디렉터리를 생성할 때 권한 마스크에서 권한을 제거하세요.

(2) umask 보기

umask 값을 보려면 "umask" 명령을 직접 입력하세요.

1리눅스 쉘은 무엇을 의미합니까?

여기서는 첫 번째 0 뒤의 첫 번째 0은 신경 쓰지 않습니다. 모든 방문자가 제거해야 하는 권한. 즉, 기본적으로 시스템에서 새로 생성된 각 파일이나 디렉터리의 소유자는 권한을 제거할 필요가 없으며, 가 속한 그룹은 2, 즉 쓰기 권한을 제거해야 합니다. 2, 즉 쓰기 권한을 제거해야 합니다.

리눅스 쉘은 무엇을 의미합니까?

파일의 시작 권한 666에서 022를 제거하고, 디렉터리의 시작 권한 777에서 022를 제거해야 합니다. 이는 그림의 권한입니다. 위에.

일반 사용자와 루트 사용자의 umask 값이 다르다는 점 참고해주세요.

일반 사용자의 umask 값은 002이고, root user의 umask 값은 022

입니다. (3) umask 값 수정

umask 값은 기본적으로 시스템에서 생성할 수 있지만, 수동으로 수정할 수도 있습니다.

수정 방법은

"umask 0 해당 권한"입니다. 예를 들어 "umask 0444":

2리눅스 쉘은 무엇을 의미합니까?

umask 값을 수정하면 새로 생성된 파일의 기본 권한에서 해당 권한이 제거되는 것을 볼 수 있습니다

참고:

umask 값은 umask 값을 사용하지 않습니다. 초기 권한을 사용하여 권한 값을 줄이되 해당 권한을 제거하세요. 예를 들어 파일의 초기 권한은 666입니다. 이때 umask 값을 0111로 변경합니다. 뺄셈을 사용하면 555, 즉 "r-xr-xr-x"가 됩니다. 그러나 실제로는 1에 해당하는 "x" 권한을 제거 해야 합니다. 즉, 여전히 "666" 권한, 즉 "rw-rw-rw-":

2리눅스 쉘은 무엇을 의미합니까?

입니다. 어떤 분들은 왜 디렉터리가 시작되는지 궁금해하실 수 있습니다. 초기 권한은 777이고, 파일의 초기 권한은 666입니다. 그 이유는

디렉토리에 들어가려면 실행 권한, 즉 "x" 권한이 필요하기 때문입니다.

2리눅스 쉘은 무엇을 의미합니까?

root 사용자로 위 작업을 수행하는 경우 "x" 없이 디렉토리에 들어갈 수 있습니다. " 권한 , root 사용자는 권한

에 의해 제한되지 않기 때문입니다. 관련 권장 사항: "

Linux 비디오 튜토리얼"

위 내용은 리눅스 쉘은 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.