유닉스 명령어
디렉토리와 폴더
디렉터리란 파일을 분류하기 위한 이름공간 이다, 파일의 정보를 가지는 파일 정보를 가지는 파일의 한 형태
- 파일의 구조화된 속성 정보를 담아 하위 디렉토리 또는 파일과 연결해주는 형태의 파일
- 데이터를 저장하는 것이 아닌 하위 디렉토리와 포인터 정보
- 많은 운영체제는 디렉토리 계층 구조를 통해 시스템를 체계
폴더는 일종의 가상화 분류로, 일반 폴더와 가상폴더가 존재
- 디렉토리는 절대 경로 중심의 수직적 구조에 가까우나, 폴더는 Shell 네임 스페이스의 개체를 포함한 수평적 구조
유닉스 디렉토리
유닉스 계열의 운영체제는 시스템을 계층적 디렉토리 구조로 관리한다 , 트리 형식의 디렉토리 구조를 가지며 이로 인해
데이터의 효율적인 관리 요구를 만족시킬수 있다.
디렉토리 액세스
- 루트 디렉토리 : 최 상위 디렉토리로, / 로 접근
- 작업 디렉토리 : 현재 작업 디렉토리로, . 로 접근
- 상위 디렉토리 : 작업 디렉토리의 상위 디렉토리로 , ..로 접근
- 홈 디렉토리 : 각 사용자에게 할당된 디렉토리로. ~로 접근
리눅스 파일 루트 디렉토리 계층
-
/ : 최 상위 디렉토리, 파티션 설정시 반드시 존재해야 하는 디렉토리 (/root와 별개)
-
/bin : 기본이 되는 명령어들을 포함
-
boot : 부팅이 필요한 자원들이 저장되어 있는 디렉토리
-
etc : 시스템설정 파일 디렉토리 (파일 시스템, 보안 ,시스템 초기화 ,네트워크 등 환결 설정에 포함된 파일)
-
lib : 공유 라이브러리 디렉토리
-
dev : 시스템 디바이스 장치 파일 디렉토리
-
root : 루트 사용자의 홈 디렉토리
-
tmp : 임시 파일 저장 디렉토리
-
srv : 시스템에서 제공하는 서비스 데이터
-
opt : 추가 응용 프로그렘 소프트웨어 패키지
-
mnt : 입출력 장치 연결 마운트 디렉토리
-
tmp : 임시 파일 저장 디렉토리 (시스템 재 구동시 무도 삭제)
-
usr : 응용 패키지 프로그램 설치 디렉토리
-
var : 가변 데이터 저장 디렉토리 (시스템 로그, 로그인 보안 기록등이 저장)
유닉스 기본 명령어
-
ls (list): 디렉토리의 파일 목록 조회
-
pwd (print working directory) : 현재 디렉토리 표시
-
cd (change directory). : 디렉토리 이동
-
mkdir (make directory) : 디렉토리 생성
-
cp (copy) : 파일 복사
-
mv (move) : 파일 이동
-
rm (remove) : 파일 제거
-
cat (concatenate) : 파일의 내용을 화면에 출력
-
grep : 파일에 포함된 특정 단어를 검색
-
man : 명령어 도움만
-
Find : 파일을 검색
파이프
파이프는 데이터가 한 프로세스에서 다른 프로세스로 전달하도록 한다, 즉 프로세스의 명령들이 스트림에 의해 서로 연결되도록 함
이런 프로세스의 연결을 파이프라인 이라고한다.
구현에 있어서 파이프는 Buffered Stream이며 , 스트립은 2개의 파일 디스크립터와 연결 되어있다.
첫 번째는 데이터를 읽기 위한것, 두 번째는 쓰기 위한것 이다.
| 파이프 라인에어 명령어 사이의 파이프는 ** | ** 기호로 아래와 같은 형태로 표시된다 |
$ cat Yesterday.txt | grep Yesterday (txt파일 안에 Yesterday 단어를 찾아 출력)
I/O 리다이렉션
리다이렉션은 유닉스 계열 운영체제에서 제공되는 표준 스트림을 재지정 할 수 있는 메커니즘이다, I/O 리다이렉션을 사용하면
입 출력 대상으로 STDIN, STDOUT, STDERR를 사용하지 않고 다른 파일을 경로로 지정할 수 있습니다.
-
입력 리다이렉션 (<) : 지정된 파일의 내용을 표준 입력으로 넘겨줍니다
-
출력 리다이렉션 (> Overwrite) : 기존 파일의 내용을 무시하고 새 내용으로 덮어 씁니다
-
출력 리다이렉션 (» Append) : 스트림으로 전달되는 내용을 기존 파일의 내용에 추가한다
-
오류 출력 리다이렉션 (2>) : 오류 출력을 해당 파일로 넘겨준다
-
Here Document(«) : 구분자를 통해 “여기까지가 문서”임을 나타낸다. 일반적으로 EOF를 구분자로 사용