find [path] 옵션 정규식/표현
옵션 및 조건연산자
옵션 | 의미 |
-name | 주어진 이름의 파일이나 디렉터리를 찾습니다 (아무래도 이름가지고 찾는 경우가 많기 때문에 엄청 많이 쓰게 될 옵션입니다.) $ find -name '*.txt' 현재 디렉터리 이하의 모든 디렉터리에서 .txt로 끝나는 파일 및 디렉터리를 싹 찾는다. |
-user | 지정한 사용자의 파일이나 디렉터리를 찾는다 (위에가 이름가지고 찾았다면 이거는 사용자 기준입니다) |
-group | 지정한 그룹 소유의 파일이나 디렉터리를 찾는다 |
-uid | 지정한 UID소유의 파일이나 디렉터리를 찾는다.(아이디번호로 찾기) |
-gid | 지정한 UID 소유의 파일이나 디렉터리를 찾는다 (그룹번호로 찾기) |
-perm | 지정한 허가권 값을 갖는 파일이나 디렉터리를 찾는다 (permission의 약자겠죠?) ex) -perm 755 : 퍼미션 값이 755로 설정된 파일이나 디렉터리 |
-type | 지정한 파일 유형을 찾는다. (이거 많이 씁니다. 파일만 찾고 싶을때 또는 디렉터리만 찾고 싶을 경우가 많기 때문이예요) d: 디렉터리, f: 일반 파일, l: 링크 파일, b: 블록 디바이스, c: 캐릭터 디바이스, p:파이프 디바이스, s:소켓 파일 (주로 -type f 옵션이나 -type d 옵션을 많이 쓰게 되더라고요) |
-atime n | n일 이전에 접근한 파일 찾기 (exactly) +n은 말그대로 플러스니까 n보다 오래된 녀석들 기준 (greater), -n은 n일부터 지금까지 즉 n일 내에 접근했던 파일들을 불러줍니다. (less) |
-ctime n | change time 기준으로 찾는다 |
-mtime n | modify time 기준으로 찾는다 (modify랑 change의 차이는 modify는 내부 내용이 수정된 시간을 기준으로 말하고 change는 메타데이터가 변경 될때 기준입니다. 메타데이터는 퍼미션을 변경했을 때 등등 파일 상태가 변경됐을 때 변경돼요) |
-mmin n | time은 기준이 day, 즉 일이라면, min은 분이 기준입니다. (아무래도 mmin보다는 mtime을 더 많이 사용하겠죠?) |
-empty | 빈 파일을 찾습니다. 빈 파일(파일의 크기가 0일 경우)이나 빈 디렉터리일 경우 출력 |
-exec | 찾아진 파일 등과 연계하여 어떠한 명령을 내릴 수 있는 옵션입니다. 실행파일이라는 뜻이 아니라 얘를 실행하고나서 이 결과들을 가지고 추가적인 작업을 같이 진행하겠다라고 생각하시면 됩니다. 결과값은 {} 기호로 표시하고 \;로 끝내야 함. |
-ls | ls명령어알죠?! 이 옵션을 사용하면 상세 출력하는 'ls -l'과 같은 역할을 합니다. |
-size n | n블록 길이의 파일을 찾습니다. 앞에서 +,- 기호와 유사하게, +n은 n블록보다 큰 파일을 찾으며 (greater) -n은 n블록보다 작은 파일을 찾습니다 (less) 보통 nc라는 형태로 많이 사용되는데 n은 문자 길이의 파일을 의미하고, c는 character를 의미하여 1문자는 1바이트이므로 보통 바이트 단위로 인식해서 사용합니다. |
-inum n | node번호가 n인 파일 찾기~ |
-iname | 대소문자 구별 안하고 이름으로만 찾을 때 (insensitive의 약자예요) (얘도 개인적으로 자주 쓰는 옵션이예요. 맨날 SHIFT눌러서 대문자 쓰기 힘들잖아요..) |
-maxdepth n | 검색 시 주어진 정수값 n만큼의 서브 디렉터리만 검색. 현재 내 폴더에서부터 n 깊이까지만 ~ (참고로 운영체제에 따라 지원하기도 하고 안하기도 합니다. 솔라리스의 경우 maxdepth를 지원하지 않아요. ) |
-mindepth n | maxdepth의 반대입니다. 그 디렉터리부터 하위디렉터리까지 쭉 아래까지 내려가는 느낌으로 파고드는거 |
-prune | 찾은 결과 중 디렉터리가 해당될 때 그 디렉터리 이름만 출력하고 하위 디렉터리에 해당되는게 있어도 들어가서 찾지 않는다 (밑에 내리면 예시로 좀 더 쉽게 이해할 수 있습니다~) |
-newer | -newer 옵션 뒤에 적힌 파일보다 최근에 변경된 파일을 찾습니다 ex) find -newer 'abc.c' abc파일보다 최근에 변경된 파일을 찾음 |
-cnewer | 앞의 newer가 내용 변경이라면 cnewer라면 파일 상태 즉 change기준입니다. |
2>/dev/null | 옵션은 아니지만 맨 뒤에 이거 붙이면 퍼미션디나이드 된거는 화면에 출력하지 않습니다 (밑에 예시~) |
sort [-옵션] [-o 저장될 파일명] 정렬할 파일명 [병합할 파일명....]
# 옵션
-n 라인의 각 필드를 비교하는 대상을 숫자로 한정
-f 영어를 정렬할 때, 대소문자 구별안함
-r 출력 순서를 역순으로
-b 앞에 붙는 공백 무시
-t 필드 구분자 지정
-m 정렬된 파일을 병합
-u 정렬후, 중복행 제거
-o 저장할 파일명을 명시, 명시하지 않으면 화면에 출력
# cat /etc/passwd | sort | uniq -c >> passwd.sort
-> 정렬하고 중복을 제거하고 저장한다(★★★가장 많이 유용하게 사용한다)
# cat /etc/passwd | sort -k 4 -n -t ":"
-> 파일의 4번째필드로 숫자 정렬한다(★★)
-> -n은 숫자정렬
출처: https://linuxmadang.tistory.com/entry/linux리눅스-sort-명령어 [리눅스마당]
strings <옵션> <파일명>
바이너리 파일에서 출력가능한 문자만 출력
-a - --all 파일을 검색하고 데이터 섹션까지 검색합니다.
-f --print-file-name 각 문자열 전에 파일명을 출력 합니다.
-n --bytes=[number] 찾다 & 적어도 모든[숫자] 문자에서 NULL로 끝나는 순서로 출력( (default 4).
-t --radix={o,d,x} 문자열의 위치를 8, 10,16진수로 출력 합니다.
-o 별명 --radix=o
-T --target=<BFDNAME> 바이너리 파일 형식을 지정합니다
-e --encoding={s,S,b,l,B,L} 문자의 크기나 에디안을 선택해주세요:
s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit
@<file> <file> 에서 옵션 정보를 가져옵니다.
-h --help 프로그램의 정보를 출력 합니다.
-v -V --version 프로그램의 버전을 출력 합니다.
출처: https://crasy.tistory.com/80 [HELLO_HELL?]
uniq
중복제거
-u 중복되지 않는 라인만 표시
-d 중복만 표시
-c 중복횟수 표시
-i 대소문자 구분X
접속자 확인 명령어
w
w 는 서버시간, 시스템 작동 시간, 접속한 유저수, 접속자별 평균 서버 부하율,
접속한 계정명, TTY, IP, 로그인 시간, CPU정보, 사용 쉘의 관한 정보를 확인할 수 있다.
who
현재 접속중인 사용자의 계정과 TTY, 접속일시, IP를 보여준다.
users 명령어
users는 현재 로그인 되어있는 계정명을 출력한다.
출처: https://kk-7790.tistory.com/57
폴더 및 파일용량 확인
du -sh [폴더 or 파일]
파일이동
mv * [이동시키고 싶은위치]
- 현재 경로에 잇는 모든 것을 이동시킴
포트확인
netstat -nap
deb 설치
dpkg -i [.deb]
deb 삭제
dpkg -r [패키지이름]
dpkg -P [패키지이름]
curl -O 경로
굳이 wget 할필요가 없음
o옵션은 설정대로 이름설정하여 받는것.
-L, —location
서버 응답이 3XX로 와서 페이지가 이동된 걸로 판단된 경우,
해당 페이지로 다시 요청을 보낸다.
용량
du -sh *
history관련
w 옵션 파일로 저장
c 옵션 삭제
'LINUX' 카테고리의 다른 글
Ubuntu에 java 설치 (0) | 2022.01.28 |
---|---|
Ubuntu gateway 설정(vm 인터넷 안됨) (0) | 2022.01.27 |
Tee 명령어 (0) | 2021.10.01 |
dd(UNIX) (0) | 2021.07.28 |
overthewire bandit - linux 명령어 연습 (0) | 2021.05.14 |
댓글