최근에 나는 암호화에 관해 읽었습니다. crypt 및 encrypt 명령을 찾았습니다. 매뉴얼 페이지를 읽으면 괜찮아 보이지만 몇 가지 예제를 실행하면 시스템에 bash 명령을 찾을 수 없다는 메시지가 표시됩니다. RHEL 5.9를 사용하고 있습니다. 시스템의 이러한 동작은 정상입니까, 아니면 운영 체제가 손상되었습니까? 안내해주세요.
답변1
많은 맨페이지에서는 셸에서 사용할 수 있는 명령이 아니라 프로그램, 개념 또는 구성 파일에서 사용할 수 있는 기능을 설명합니다. 맨페이지crypt
그리고encrypt
라이브러리 기능을 설명합니다.
해당 맨페이지의 섹션별로 설명된 내용을 빠르게 배울 수 있습니다. 쉘에 사용할 수 있는 명령은 섹션 1 또는 8에 있습니다(후자는 관리 명령용이며 일반적으로 쉘에만 유용합니다 root
).
또한 해당 명령 없이 1부 또는 8부 맨페이지를 설치할 수 있으므로 맨페이지가 1부에 있더라도 해당 명령을 사용할 수 있다는 보장은 없습니다. 어떤 경우에는 매뉴얼 페이지가 동일한 이름을 가진 다른 섹션에 존재합니다.
man 1 printf
man 3 printf
바라보다매뉴얼 페이지의 숫자는 무엇을 의미합니까?각 섹션에 대해 자세히 알아보세요.
답변2
아니요, 시스템이 손상되지 않았습니다. 많은 매뉴얼 페이지는 참조를 제공하기 위한 것이지만 반드시 실행 가능한 명령에 관한 것은 아닙니다. 맨 시스템의 페이지에는 다음이 포함될 수 있습니다.
사용자는 명령을 사용할 수 없습니다. 일반적으로 사용되는 명령(sudo 패키지가 설치된 경우)은 입니다
visudo
. 남성용 항목이 있습니다man visudo
. 하지만 그것은 가능하다오직루트 사용자에게(그렇게 해야 합니다). 어떤 사용자도 실행할 수 없으므로(sudo 없음) 사용자(prompt$
)는 실행할 수 없으며 일반적으로 루트를 제외한 다른 사용자의 경로에 없습니다. 그러므로:$ visudo bash: visudo: command not found
하지만:
$ sudo visudo
또는 (루트로서
#
프롬프트):# visudo
작동합니다.
다음과 같은 일반적인 개념:
man man man ascii
물론
man
실행 파일이기도 하며 매뉴얼 페이지를 호출하는 파일이기도 합니다. 맨 페이지에는section
맨 시스템의 의미에 대한 개념이 설명되어 있습니다.이는 다음과 같은 개념에 중요합니다
passwd
(-f
옵션은 다음을 의미함 ).find
$ man -f passwd passwd (1) - change user password passwd (1ssl) - compute password hashes passwd (5) - the password file
이는
1
,1ssl
및 섹션 에5
3개의 페이지가 있음 을 나타냅니다. 이 섹션은 패키지가 설치된 경우에만1ssl
사용할 수 있습니다 .openssl
매뉴얼 페이지 섹션 5에서는 파일 형식 중 하나인/etc/passwd
파일 형식을 설명합니다. 섹션 5(Linux용)의 전체 목록을 볼 수 있습니다.여기또는여기. 운영 체제에 따라 다음과 같은 항목이 있을 수 있습니다.man acl
이것은 실행 파일이 아니며 그럴 것으로 예상되지도 않습니다(아직은 아닙니다).
man 항목은 명령이나 파일로 존재하지 않을 수도 있습니다.
openssl 패키지가 설치된 경우 다음 매뉴얼 페이지가 있습니다.
man dgst
openssl 명령의 일부가 작동하는 방식을 설명합니다
openssl dgst
. 주문 이 없습니다dgst
.또는:
man ascii
이것은 ASCII 문자가 무엇인지 설명합니다.
프로그래밍(C언어) 기능
많은 C 언어 함수에는 매뉴얼 페이지가 있습니다.
man scanf
이름이 지정된 명령이 없으며 해당 명령의 존재도 예상되지 않습니다
scanf
.그러나 일부 페이지는 여러 섹션에 존재합니다.
$ man -f printf printf (3) - formatted output conversion printf (1) - format and print data
(섹션 1) 이라는 명령이 있고
printf
이라는 C 언어 함수 페이지도 있습니다printf
.