포어그라운드는 단 한개로, 현재의 터미널 입출력 권한을 가짐.
백그라운드는 여러개 존재할 수 있고, 입력은 포어그라운드한테만 간다.
참고
리눅스 명령어는 ; 로 여러 명령어를 실행시킬 수 있다.
-1 : 파일이나 디렉토리 한 줄씩 출력
-a : 숨겨진 파일과 디렉토리도 출력
-b : 안보이는 글자(ungraphic chars)에 '\'를 넣어줌
-c : -t나 -l 출력 시 ctime 변경시간을 출력
-C : 복수 개의 칼럼으로 출력(기본 ls와 동일)
-d : 디렉토리 정보만 표시(-l과 함께 사용)
-f : sort를 하지 않고 출력, -l, -t, -s, -r옵션은 무시되고, -a옵션은 자동실행
-F : 파일명 뒤에 파일 종류를 표시(* : 실행파일, / : 디렉토리, = : 소켓파일, | : FIFO, @ : 심볼릭링크)
-g : 파일 소유자 제외한 -l 옵션
-h : 파일의 크기를 k, m, g단위로 표현해줌
-H : 1024단위로 -h 실행
-i : inode 번호 표시
-l : 권한/링크의 수/소유자/그룹/크기/마지막 갱신시간 출력
-L : Symbolic Link 파일이 참조하는 파일에 대한 정보 출력
-m : 파일 사이를 콤마(,)로 구분
-n : -l과 비슷하지만 소유자와 그룹 id 번호가 출력
-o : -l과 비슷하지만 그룹 항목이 제외됨
-p : 디렉토리 파일 뒤에 /를 붙여줌
-q : 비텍스트 파일을 ?로 출력
-r : 파일이나 디렉토리 정렬을 역순으로 함
-R : 서브디렉토리까지 재귀적으로 호출
-s : 512바이트 블록단위로 파일 앞에 크기도 같이 출력
-t : 최근 갱신시간 우선으로 출력
-u : 최근 access time 순으로 출력
-x : -C와 같지만 가로로 채움
ls는 와일드카드 사용 가능
* : 영 또는 연속적인 모든 문자 | ? : 하나의 문자 | [] : 문자 영역 | {} : 여러 패턴
쉘이 처음 실행시 stdin, stdout, stderr를 dev/tty에서 open하고 main함수 실행
디렉토리명만 주면 현재 작업 디렉토리에 생성
-r : 하위 디렉토리가 존재해도 삭제
-f : 강제로 명령 실행
-d : 빈 디렉토리만 삭제
-i : 각 파일을 지울때마다 prompt로 물어봄
-v : 파일 지우는 정보 자세하게 알려줌
source파일들이 실행파일보다 수정 시간이 늦다면 다시 빌드하는 것처럼 시간은 개발 tool의 동작에 영향
-a : 원본 파일의 속성을 그대로 가져오고, 링크파일 복사라면 링크파일 자체를 복사한다.(-dR명령과 동일)
-b : 이미 존재하는 파일의 경우 [file2]~의 백업파일을 만들어 백업본 만든다.
-d : 링크 파일을 복사할 경우 링크파일 자체를 복사한다.
-f : 강제로 복사한다.
-i : 파일이 존재하면 어떻게 처리할지 묻는다.
-l : 하드링크 형식으로 복사한다.
-p : 원본 파일의 소유주, 그룹, 권한, 시간정보가 보존되어 복사
-P : -d와 동일하다.
-r : 경로 안의 하위 디렉토리까지 모두 복사
-u : 복사할 파일이 더 최신일때만 복사
-x : 원본과 대상 파일의 파일 시스템이 다르면 복사하지 않는다.
-b : 원본파일 덮어쓸 때 백업본 만든다.
-f : 프롬프트 실행 없이 바로 덮어쓴다.
-v : -f와 반대로 파일 옮기는 과정을 자세히 보여준다.
-i : 파일이 존재하면 어떻게 처리할지 묻는다.
-u : 복사할 파일이 더 최신일때만 복사
-S : -b에서 꼬리문자를 ~가 아닌 다른 문자로 할 때 지정
8진수 숫자로 지정하거나, [u,g,o,a]로 사용자 지정하여 권한 변경 가능
+, -, =로 권한 추가 및 제거
만약 mode를 4자리 수로 한다면 맨앞에 2(setgid), 4(setuid) 설정 가능
setuid, setgid : 파일을 실행할 때, 파일의 소유자 권한으로 실행
-s : symbolic link 파일 생성
-b : 원본파일 덮어쓸 때 백업본 만든다.
-f : 파일 존재해도 프롬프트로 묻지않는다.
-l : 대상 파일이 있다면 어떻게 할지 물어본다.
-n : 심볼릭 링크 자체를 link할 때 사용
-v : 링크파일 생성과정을 자세히 보여준다.
하드링크는 inode번호가 원본파일과 같다.
b : 이전 페이지
d : 반 페이지 스크롤
f : 다음 페이지
q : 종료
/pattern : 패턴 검색
= : 현재 라인번호 출력
spacebar : 다음 페이지
enter : 라인스크롤
-? : 쓸 수 있는 하위 명령어 보여줌
-c : 화면 다시 갱신
-e : 두번째로 파일의 끝에 도달하면 종료
-E : 파일의 끝에 도달하면 자동 종료
-i : 대소문자를 구분하여 검색
-l : [다른부분 바이트 번호][8진수로 내용] [8진수 내용] 형식으로 출력
-s : 아무런 결과물을 반환하지 않고, echo로 0이면 동일, 1이면 다름, 2면 비교실패
-b : 중복된 띄어쓰기나 탭은 하나로 간주