PATH=/ PATH변수에 명령어의 경로를 등록
which 명령어는 PATH에 등록된 명령어의 위치를 검색하는 명령어
-usr -bin
-sbin
-bin 일반 명령어 디렉토리
-sbin 시스템 명령어 디렉토리 (root만 사용가능)
PATH=/usr/bin:/usr/sbin
-> bin과 sbin 의 명렁어 모두 찾아 줌
파일 검색 : which, whereis, locate, find
1. whcih : PATH변수에 등록된 경로에서만 명령어의 위치를 검색한다.
사용법 - which 명령어
2. whereis : 명령어와 문서파일을 검색한다.
3. locate : 이름이 포함된 모든 파일들 (색인) 검색
다른 명령과 달리 실제 검색을 하지 않고, 색인에서 검색
검색속도가 가장 빠른 장점이 있다.
주기적으로 색인을 갱신해야한다. -updatedb
4. find : 다양한 옵션들을 이용하여 정확한 검색한다.
속도가 가장 느리다.
사용법 - find [검색시작경로] [옵션들] [조건] [액션]
find /etc -name network -print
-> /etc 디렉토리부터 이름이 network인 파일(디렉토리)을
검색하여 결과를 출력하라.
옵션
-xdev : 검색시 디바이스 디렉토리들을 검색에서 제외
-empty : 빈 파일/디렉토리 검색
-name 파일명 : 파일/디렉토리명으로 검색
-type 파일종류 : f (일반파일), d (디렉토리파일), s (소켓파일)
-user 계정명 : 특정 계정으로 소유인 파일/디렉토리 검색
-nouser : 소유자가 없는 파일/디렉토리 검색
-mtime +/-숫자 :수정일, -mtime 5 수정한지 5일이된 파일/디렉토리
-mtime +5 수정한지 5일이 초과된 파일/디렉토리
-mtime -5 수정한지 5일이 미만인 파일/디렉토리
-mmin +/-숫자 : 수정분, -mmin 5 수정한지 5분이된 파일/디렉토리
-mmin +5 수정한지 5분이 초과된 파일/디렉토리
-mmin -5 수정한지 5분이 미만인 파일/디렉토리
-atime +/-숫자 : 실행일
-amin +/-숫자 : 실행분
-ctime +/-숫자
-cmin +/-숫자
-size +/-용량 : 용량(M/G)
-perm u=rwx : rwx------- 권한의 파일/디렉토리
-perm a=rx : rx-rx-rx- 권한의 파일/디렉토리
-perm -4000 : --s------ 권한만 확인하고 그외 권한은 비교하지 않는다.
-perm -u=s : --s------ 권한만 확인하고 그외 권한은 비교하지 않는다.
논리연산자
-not : 이어지는 옵션을 반대로 바꿀 때 사용한다.
-user user1 : user1 사용자의 소유인 ...
-not -user user1 : user1 사용자를 제외한 다른 사용자의 소유인 ...
-and, -a : 옵션1과 옵션2이 모두 만족하도록 설정
-user user1 -and -type d : user1 사용자 소유이면서 디렉토리인
-user user1 -a -type d 파일을 검색할 때 사용
-or , -o : 옵션1 또는 옵션2 중 1개이상 만족하도록 설정
-user user1 -or -user user2 : user1 사용자 또는 user2 사용자 소유인 ...
연산자의 우선순위 : -not -> -and -> -or
액션
-print : 검색된 결과를 경로와 이름으로 출력 (기본값으로 생략시 자동으로 설정)
-ls : ls -lsi 옵션으로 검색된 결과로 출력
-delete : 검색된 결과를 출력하지 않고 제거한다.
-exec 명령어 {} \; : 검색된 결과를 출력이나 제거하지 않고 별도의 명령어를 이용하여 처리한다.
-ok 명령어 {} \; : 검색된 결과를 출력이나 제거하지 않고 별도의 명령어를 이용하여 처리하고,
처리시마다 [y/n] 질문하여 실행 여부 설정할 수 있다.
명령어와 명령어를 이어주는 특수문자들
(pipe)
1. command1 | command2 : command1의 실행 결과를 command2의 입력값으로 전달
rpm -qa | sort | grep ^python
정렬 ^:시작하는
2. command1 && command2 : command1의 정상으로 실행이 끝나면 이어서 command2를 실행한다.
3. command1 ; command2 : command1의 정상 실행 여부와 상관없이 이어서 command2를 실행한다.
★연습문제★
others에 x(execute)권한이 있는 SetUID bit가 있는 파일들만 검색
[root@ns1 ~]# find /test -perm -o=x -perm -u=s -type f -print
리눅스 전체 시스템(/)에서 others에 x(execute)권한이 있는 SetUID bit가 있는 파일들만 검색
[root@ns1 ~]# find / -perm -o=x -perm -u=s -type f -print
/usr/bin 디렉토리에서 setuid bit가 설정된 파일들 중 other가 실행할 수 없는 파일들만 검색
[root@ns1 ~]# find /usr/bin -perm -u=s -and -type f -and -not -perm -o=x -print
/test 에서 빈(empty) 파일/디렉토리를 검색
[root@ns1 ~]# find /test -empty -print
/etc 디렉토리 network 이름으로 되어있는 파일들만 검색
[root@ns1 ~]# find /etc -name network -and -type f -print
[root@ns1 ~]# find /etc -name network -and -type f -exec ls -lh {} \;
/etc 디렉토리 용량이 3M를 초과하는 파일을 검색하여 현재 디렉토리 복사한다.
[root@ns1 ~]# find /etc -size +3M -and -type f -exec cp {} . \;
pyton 이름으로 시작하는 패키지들 검사
[root@ns1 ~]# rpm -qa | sort | grep ^python
/share 생성하고, /share 이동하고, /share 에서 /etc 디렉토리를 압축하여 etc.tar 파일 생성
tar cf etc.tar /etc
[root@ns1 ~]# mkdir /share ; cd /share ; tar cf etc.tar /etc
'리눅스' 카테고리의 다른 글
리눅스 서버 (0) | 2022.12.27 |
---|---|
RPM(Redhat Package Manager), yum,history,tar (0) | 2022.12.27 |
리눅스 파일출력, 퍼미션 명령어 (0) | 2022.12.27 |
리눅스 기초 명령어 - cron&rsync, service booting (0) | 2022.10.20 |
윈도우 서버 2019설치,원격접속 , CentOS07 원격접속 방법 (0) | 2022.10.19 |