2023. 4. 20. 02:26ㆍ리눅스/리눅스_입문
파이프 - 필터 - 파일과 디렉터리 퍼미션 - chmod 명령으로 파일이나 디렉터리 퍼미션 변경 - chown 명령으로 파일 및 디렉터리의 소유자와 그룹 변경, chgrp 명령으로 파일의 그룹만 변경 - lsattr, chattr - 프로그램을 백그라운드에서 실행
파이프
'|'를 이용해서 두 명령어를 연결해 주는데, 앞에서 실행한 명령의 결과값을 뒤에 적은 명령어의 입력으로 사용한다.
ls -lt | head
파일 목록 중 시간 단위로 최근의 파일을 화면에 출력하는데, head 명령으로 상위 10개의 라인만 출력한다.
파일 목록을 시간 단위로 출력할 때, 내림차순 정렬이다.
오름차순으로 정렬하려면 '역순'을 의미하는 -r옵션을 붙여서
ls -ltr | head를 입력하면 된다.
du -h --max-depth 1 | sort -nr
du 명령은 현재 디렉터리와 하위 디렉터리의 파일용량을 표시해주는데, -h 옵션으로 byte를 킬로바이트, 메가바이트, 기가바이트 단위로 표시해준다. --max-depth 1 은 현재 디렉터리부터 깊이를 1만큼만 출력하는 옵션이다. du 명령으로 파일용량을 표시한 결과가 sort 명령의 입력이된다. sort 명령에서 -n 옵션으로 숫자인 용량을 기준으로 정렬한다. sort명령으로 정렬할 때 기본으로 오름차순으로 정렬된다. -r옵션으로 내림차순으로 정렬해서 가장 용량이 큰 항목을 확인할 수 있다.
find . -type f -print | wc -l
find 명령은 디렉터리 부분에 '.'을 사용해서 현재 디렉터리에서 검색한다는 의미이다. -type f 옵션을 사용하여 파일에 대해 -print 옵션을 사용하여 화면에 출력하기 때문에 현재 디렉터리와 하위 디렉터리들에 포함된 모든 파일들을 출력한다. find 명령의 결과를 파이프를 이용해서 wc 명령의 입력으로 넘겨준다. wc 명령은 출력된느 라인의 수를 카운트한 다음에 화면에 출력한다.
필터
표준 입력 -> 필터(연산) -> 표준 출력
필터는 표준 입력을 받아서 이 필터로 연산을 한 다음, 그 결과를 표준 출력으로 보낸다.
필터의 종류
sort : 표준 입력에 대해 정렬을 수행하여 그 결과를 표준 출력으로 출력한다.
uniq : 표준 입력으로부터 정렬된 데이터를 받아서 중복된 항목을 제거하고 출력한다.
grep : 표준 입력으로부터 받은 라인 단위의 데이터로부터 지정한 문자 패턴이 있는 라인을 찾아서 출력한다.
fmt : 표준 입력으로부터 텍스트를 읽고 형식화된 텍스트를 표준 출력으로 출력한다.
pr : 표준 입력으로부터 텍스트를 입력받아서 페이지 단위로 데이터를 잘라서 출력한다.
tr : 입력된 문자를 변경하고나 반복, 삭제하여 출력한다. Dos용 텍스트 파일을 UNIX용 텍스트 파일로 컨버팅할 수 있다.
sed : 스트림 에디터로써 tr명령보다 다양한 문자 변경을 사용할 수 있다.
awk : 강렬한 필터, 프로그래밍 언어이다.
cat 파일명 | fmt | pr | lpr
cat 파일명 명령의 출력이 fmt 명령의 입력으로 넘어간다. 파일명의 내용을 입력받아서 fmt로 형식화한 다음, pr명령으로 페이지 단위로 나누고, lpr 명령으로 프린터로 프린팅한다.
cat 파일명 | sort | uniq | pr | lpr
정렬되지 않은 파일을 sort 명령으로 오름차순으로 정렬한 다음, uniq 명령으로 중복된 항목을 제거하고 pr로 페이지 단위로 나누고 lpr로 프린팅한다.
파일과 디렉터리 퍼미션
파일 퍼미션은 읽기, 쓰기, 실행 권한을 지정한다.
파일 퍼미션 -rwxr-xr-x -> 퍼미션을 4덩어리로 나눌 수 있다. (1)- (2)rwx (3)r-x (4)r-x
(1) - : 파일 타입을 표시한다. (1)이 '-'은 해당 퍼미션을 가진 항목이 일반파일이라는 것을 의미한다. '-' 외에 다른 문자가 올 수 있다.
'd' : 해당 퍼미션을 가진 항목이 디렉터리이다.
'c' : 캐릭터 디바이스이다.
'b' : 블록 디바이스이다.
'l' : 심볼릭 링크 파일이다.
's' : 네트워크 소켓 파일이다.
(2)rwx : 소유자 권한, (3)r-x : 그룹 권한 (4)r-x : 소유자, 그룹 외 다른 사용자 권한이다.
chmod
파일이나 디렉터리의 퍼미션을 변경한다.
처음에 perm.txt 파일을 생성하면 퍼미션이 -rw-r--r-- 이다. 777 퍼미션을 주기 위해 chmod 명령을 사용했다.
퍼미션을 줄 때 소유자, 그룹, 다른 사용자 각각에 다른 퍼미션을 줄 수 있고 주었던 퍼미션 권한을 해제할 수 있다.
소유자는 u, 그룹은 g, 다른 사용자는 o를 옵션으로 사용한다. +(퍼미션) 은 퍼미션을 준다. -(퍼미션) 은 퍼미션을 해제한다.
chmod o-rwx 파일명 : 파일명에 접근 권한에서 다른 사용자 (o)의 rwx 권한을 해제한다(-)
chmod g-x 파일명 : 그룹의 권한 중 쓰기 권한만 해제한다.
chmod o+r 파일명 : 다른 사용자의 읽기 권한을 부여한다(+)
chown, chgrp
chown : 파일 및 디렉터리의 소유자와 그룹을 변경한다. 이 명령어는 슈퍼 유저만 사용할 수 있다.
lsattr, chattr
lsattr : 파일의 속성을 출력한다.
chattr : 속성을 변경한다. 속성을 추가하려면 + 사용, 속성을 제거하려면 - 사용한다.
파일에 chattr 명령어로 i 속성을 추가하면 슈퍼유저라도 파일의 변경, 삭제 등의 어떠한 조작도 불가능하다. a 속성을 추가하면 파일에 내용을 추가할 수 있지만 슈퍼유저라도 파일 삭제는 불가능하다.
bg
xload & : 시스템 로드를 보여주는 GUI 프로그램이 백그라운드로 실행시키는 명령어이다. &가 실행 프로그램을 백그라운도로 실행한다.
xload를 포그라운드로 실행하다가 잠시 다른 명령어를 사용해야 하는 경우, ctrl+Z를 눌러 실행되고 있는 xload 프로그램이 idle 상태가 되게한다. xload 프로그램이 idle 상태가 되면 프로세스 상태가 멈춰지고 'Stopped'이 표시된다. 그 다음 필요한 명령을 실행하고 다시 xload 프로그램을 진행하기 위해 bg 명령을 사용해서 xload 프로그램이 백그라운드에서 수행하도록 한다. xload 프로세스도 다시 진행된다.
'리눅스 > 리눅스_입문' 카테고리의 다른 글
users, useradd,passwd (0) | 2023.04.21 |
---|---|
jobs, ps, kill (0) | 2023.04.21 |
리다이렉션 (0) | 2023.04.19 |
파일 복사, 디렉터리 이동 (0) | 2023.04.19 |
ls 명령어로 시간 포맷 변경, cd 명령어 (0) | 2023.04.18 |