명령 줄 프롬프트는 명령과 파일을 조작하는 세 가지 추가 방법을 허용합니다. 리디렉션, 파이프 및 연결. 연결은 특별한 리디렉션양식입니다. 리다이렉션은 명령 또는 프로그램에 의해 생성 된 출력을 취하는데, 일반적으로 화면에 표시하고 대신 파일에 저장합니다.
이 기능은 화면. 보다 큼 연산자 (>)는 화면 출력을 텍스트 파일로 바꾸는 데 사용됩니다. 그만큼 구문은 다음과 같습니다.
[PROMPT) PROGRAM {SWITCHES} {ARGUMENTS} > FILENAME [ENTER)
스위치 및 인수 세트가있는 모든 명령을 입력 한 후 더 큰 명령을 입력 할 수 있습니다
기호 및 파일 이름. 프로그램에 의해 화면으로 출력되는 모든 출력은
대신 텍스트 파일 내에 저장됩니다. 파일이 아직 없으면 만들어집니다. 파일
이미 존재하면 덮어 씁니다. 예 :
$ l s - 1 > t e s t
ls 명령은 현재 디렉토리에있는 모든 보이는 파일의 파일 이름을 모두 나열합니다. 각 파일에 대한 메타 정보 (-1). 일반적으로 이것은사용자의 정보를 표시합니다. 화면. 그러나이 예제에서 출력은 표시되지 않습니다. 대신 출력은 테스트라는 텍스트 파일.
파이프 (pipe)는 사용자 화면으로 향하는 출력을 취하는 리디렉션 (redirection) 대신 다른 pngram을 입력으로 보냅니다. 파이프 기호는막대 (I)입니다. 구문은 다음과 같습니다.
[PROMPT) PROGRAM {SWITCHES} {ARGUMENTS} I PROGRAM {SWITCHES} {ARGUMENTS}
이것은 대상이 텍스트 파일이 아니라는 점을 제외하고 리디렉션 연산자와 비슷하게 작동합니다.
다른 프로그램. 이 프로그램은 스위치와 논쟁 중 하나를 사용할 수 있습니다. 그만큼
첫 번째 프로세스의 파이프 된 출력은 stdout을 통해 전송됩니다. 그런 다음 두 번째 홍보 오 그램에 제공됩니다.
std.in을 통한 입력으로 데이터 소스 stdin 및 stdout은 Unix 정의 정보입니다.
출처. stdout 소스는 화면을 나타내며 stdin은 키보드를 나타냅니다. 정보
예를 들어 stdin에서 표준 프로그래밍을 사용하는 프로그램을 사용할 수 있습니다
키보드 읽기 명령. C에서 이것은 명령의 명령 일 수 있습니다. 예 :
$ l s - 1 I more
디렉토리 목록 명령의 화면 출력은 더 많은 정보로 파이프됩니다. 프로그램
more 디렉토리를 한 번에 한 화면 씩 표시합니다. 화면에 정보가 가득 차면 출력이 일시 중지됩니다. 사용자는 스페이스 바를 눌러
다음 sceenful을 얻습니다. 이런 식으로,
디렉토리 목록이 너무 길어서 한 화면에 표시되지 않으면 한 번에 한 화면 씩 표시 할 수 있습니다.
다음 셸 연산자는 두 번 큼 기호 (>>)로 표시되는 연결입니다. 이
리디렉션 기호의 특수한 경우입니다. 리디렉션 기호와 동일한 방식으로 작동합니다.
유일한 차이점은 대상 텍스트 파일을 처리하는 방법입니다. 이 경우,
파일이 존재하지 않으면 파일이 만들어지고 화면의 출력이 다음 파일 대신 해당 파일에 저장됩니다.
화면에 표시됩니다. 파일이 이미 있으면 파일을 덮어 쓰지 않습니다. 대신 파일
파일이 열리면 새 파일이 추가됩니다. 결과 파일에는 모든
이전 정보가 먼저오고 그 다음에 파일의 마지막 부분 인 새 정보가옵니다.
마지막 쉘 연산자는보다 작음 기호로 표시되는 입력 방향 지정 문자입니다
(<). 일반적으로 컴퓨터의 키보드에서 읽는 (입력을 얻는) 프로그램은
텍스트 파일에서 입력을 얻으려면 방향이 바뀌 었습니다. 예 :
$ PROGRAM < FILENAME
would cause PROGRAM to read from FILENAME when it was originally supposed to get its information
from the user through the keyboard.
We can also combine things:
$ PROGRAM < FILENAME I PROGRAM2 > FILENAME2
위의 예제는 PROGRAM을 실행하는데, PROGRAM은 대신에 P I LENAME으로부터 입력을 받는다.
건반. 출력은 추가 처리를 위해 PROGRAM2로 전송됩니다. PROGRAM2 출력
프로 시저는 FILENAME2에 저장되며 화면에 표시되지 않습니다.
Unix 명령에서 와일드 카드 문자와 리디렉션을 자유롭게 혼합 할 수 있습니다.
Unix Directories
Unix 디렉토리는 Windows에서 찾은 폴더와 같습니다. 그것들은 파일들과
다른 디렉토리 (하위 디렉토리라고 함). 디렉토리의 일반적인 용도는 조직입니다.
관련 파일 그룹화. 디렉토리를 삭제하고 삭제할 수 있으며 보안 권한이 있습니다.
그들에게 배정 된 파일을 디렉토리에 넣거나 디렉토리에서 제거 할 수 있습니다.
디렉토리는 그 내부에 서브 디렉토리를 가질 수 있으며, 재귀 적으로 어떤 깊이로도 이동할 수 있습니다.
디렉토리에 영향을주는 명령은 다음과 같습니다.
Create a directory mkdir NEW_DIRECTORY_NAME
Delete a directory rmdir EXI STING_DIRECTORY_NAME
Go to a directory cd PATH
Copy a file into a directory cp FROM_PATH TO_ PATH
Move a file into a directory mv FROM_PATH TO_ PATH
In what directory am I in? pwd
Other special "go to directory" commands:
Go to the root directory cd I
Go up one directory cd
Unix PATH syntax
유닉스 쉘은 항상 pa를 가정합니다. pa th를 지정하지 않으면 cur rent 디렉토리
가정합니다. 경로는 디렉토리 이름 목록으로 정의되며 각 디렉토리 이름은 전달으로 구분됩니다.
선택적으로 파일 이름을 사용하여 종료합니다. 모든 파트는 선택 사항입니다.
따라서 파일 이름 만있는 pa를 작성할 수 있습니다. 또한 다음과 함께 작성할 수 있습니다.
오직 디렉토리와 파일 이름을 공고하십시오. 필요한 것은 그것이 내면에서 의미가 있다는 것입니다.
명령 컨텍스트 예 : / usr / j smith / l ett er. doc은 파일이
편지. doc 디렉토리에 j smi t h가 있습니다. 디렉토리 인 j smith가 존재합니다.
루트 디렉토리에 포함 된 usr.
디렉토리 목록없이 파일 이름 만 제공하면 쉘은 사용자가 참조하는 것으로 가정합니다.
현재 디렉토리로. 디렉토리 목록과 파일 이름을 제공하지 않으면,
이미 다른 곳에 파일 이름을 제공했습니다. 이러한 가정 중 어느 것도 타일이 아니면
쉘은 오류를 표시하고 아무 것도 실행되지 않습니다.
쉘은 루트의 이름이 I (슬래시)라고 가정합니다. 경로가 전달로 시작하지 않으면
슬래시이면 경로는 현재 디렉토리에서 시작한다고 가정합니다. 예 : 데이터 /
파일. c x c는 file이라는 파일을 말합니다. txc는 daca 디렉토리 내에 존재하며,
현재 디렉토리.
따라서 두 가지 관점에서 경로를 작성할 수 있습니다. 루트에서 시작하거나
현재 디렉토리. 다음은 경로의 몇 가지 예입니다.
Full path cp data/file.txt /usr/jim/backup/n ew. t xt
Path without a filename cp d a t a/file.txt /usr/jim/backup
Path with filename only cp file.txt /usr/jim/backup
전체 예제에서는 data / file에서 파일을 복사하고 있습니다. txt를 / usr / j로 바꾸십시오. im / backup /
파일. t × t. 이것은 from-path가 경로 이후 현재 디렉토리의 관점에 있음을 나타냅니다.
슬래시로 시작하지 않았습니다. 이것은 현재 디렉토리에 하위 디렉토리가 있다고합니다.
데이터이고 해당 하위 디렉토리에는 fil라는 파일이 있습니다. t xt. 경로는 루트 포인트에 있습니다.
전망. 그 파일을 말합니다. t x t는 a에있는 backup이라는 디렉토리에 복사됩니다.
부모 디렉토리 인 j i m. root 디렉토리에 usr이라는 상위 디렉토리가 있습니다.
파일 이름 파일. txt는 to-directory에서 new로 이름이 바뀝니다. t xt. 포함될 경우
모든 동일한 정보; 파일 이름 만 바뀝니다. 우리는 같은 것을 지킬 수 있었다.
filename을 사용했지만 더 재미있는 예제를 만들기로했습니다.
두 번째 예제는 파일을 복사합니다. t x t를 동일한 백업 디렉토리에 저장하십시오. 이 경우 우리는
to-filename을 정의하십시오. 쉘은 우리가 다른 곳에서 그것을 제공했다고 가정합니다. 이게 어디 있니? 쉘은 입력 한 명령 또는 쉘의
메모리 내에서만 볼 것입니다. 에
쉘의 메모리 내에서 보면 쉘 내부에서 쉘 변수 이름을 사용해야했습니다.
명령. 우리는 그렇게하지 않았으므로 파일 이름이 명령에 있어야합니다. 현재 유일한 파일 이름
from-filename입니다. 쉘은 그것을 가정합니다. 따라서이 예제에서는 파일을
동일한 디렉토리에 저장하고 원본 파일 이름을 유지합니다.
from-filename의 마지막 예에는 디렉토리 목록이 없습니다. 그 다음에 파일이
현재 디렉토리. 즉, 예를 들어 data라는 디렉토리에 이미 있어야합니다.
이것은 우리가 데이터의 상위 디렉토리에 있어야했던 다른 예제와는 다릅니다.
경로는 리디렉션 및 와일드 카드 문자와 함께 완전히 혼합 될 수 있습니다.
CHMOD (File Security Privileges)
Unix에는 사용자가 파일의 보안 권한을 수정할 수있는 특수 유틸리티 프로그램이 있습니다
사용자가 소유 한 디렉토리. 일반 사용자의 경우 이는 자신이 만든 파일 일뿐입니다.
자신의 홈 디렉토리 내에서. 보안 수준이보다 높은 시스템 운영자의 경우
다른 디렉토리 또는 심지어 타이어 시스템을 포함합니다. 모든 파일과 디렉토리에는 세 개의 파일이 있습니다.
액세스 권한 및 세 가지 보안 수준 액세스 권한은 읽기, 쓰기 및 실행입니다. 파일
읽기 권한이있는 사용자는 pngram에 대한 입력으로 사용하거나 pngram에 대한 입력으로 사용할 수 있습니다. 파일이있는
쓰기 권한을 만들고, 추가하고, 덮어 쓸 수 있으며, 프로그램에서 정보를 저장할 수 있습니다.
그것에. 실행 가능한 액세스 쓰기가있는 파일은 쉘 인터프리터가 텍스트 인 경우 실행될 수 있습니다
파일 또는 운영 체제가 아닌 경우. 보안 수준은 다음과 같습니다 : 개인,! ihared 및
공공의. 비공개로 지정된 파일 또는 디렉토리는 소유자 만이 읽고 쓰기 / 실행할 수 있습니다.
파일 또는 디렉토리. 공유 파일 및 디렉토리는 소유자가 읽고 쓸 수 있습니다.
파일을 사용하는 사용자와 동일한 보안 그룹에 속한 것으로 지정된 사용자 또는
예배 규칙서. 공개 액세스는 모든 사용자가 파일이나 디렉토리를 읽고 쓸 수 있음을 의미합니다.
보안 수준과 액세스 권한은 어떤 조합으로도 조합 될 수 있습니다. 따라서 파일은
공개로 지정하지만 읽기 전용으로 지정하십시오. 이 경우 모든 사용자가 파일을 읽고보고 사용할 수 있습니다.
프로그램에 입력; 그러나 파일에 쓸 수없고 내용을 변경하거나 파일을 실행할 수 없습니다.
보안 레벨과 액세스 권한을 할당하는 데 사용되는 Unix 명령은 chmod (변경 모드)입니다.
c hrnod SWITCH FILENAME
Where:
SWIT CH specifies the security level and access right for a file or directory
FILENAME is the name of the file or directory. It can be preceded with a path
Switches come in the following forms:
LEVEL+ ACCESS •this means give access
LEVEL - ACCESS • this means take away access
LEVEL = ACCESS •this means overwrite privileges to the new access
Where:
LEVEL is the security level assignment for the file or directory
ACCESS is the file access assignment for the file or directory
Where:
LEVEL can have the values:
a for public (all)
u for private (user), and
g for shared (group)
ACCESS can have the values:
r for read-only
w for write-only
x for execute-only
These can be concaenated together to giv~ for example, read/write privileges.
For example:
$ chmod a +rwx l e t ter .doc
The above example will make the file l ett e r . doc publicly accessible for r eading, writing,
and executing by any user currently logged in. If the file had any other privileges, they are not
disturbed.
Another example:
$ chmod g - x l e tter. doc
In this example, users in the shared group are no longer permitted to execute lettei:doc. It does
not change any other privileges. So, for example, if the group was permitted to read the file
previously, then it retains this privilege.
'컴퓨터 지식' 카테고리의 다른 글
자세한 명령 줄 명령 설명 (0) | 2017.08.09 |
---|---|
유닉스 세션과 커맨드 라인 인터페이스 (0) | 2017.08.09 |
유닉스 쉘 2편 (0) | 2017.08.09 |
유닉스 운영체제 (0) | 2017.08.09 |
유닉스 쉘 (0) | 2017.08.09 |