검색결과 리스트
rm에 해당되는 글 2건
- 2014.09.23 [리눅스] 파일 크기 기준으로 찾아서 삭제하기(find -size / rm 이용) 1
- 2012.11.22 [리눅스] 기본적인 리눅스 명령어 정리 1
글
예전에 포스팅 했던 [리눅스] 파일 개수 구하기(find, wc 이용) 글에서, find 명령어를 이용해 이름 기준으로 파일을 검색하는 방법을 알아보았다. 이번에는 파일 크기를 기준으로 검색하고, 그리고 검색된 결과를 바로 삭제하는 방법을 알아본다.
리눅스 콘솔에서 find --help 명령어를 쳐보면 아래와 같이 find에 대한 설명이 나온다. 아래 설명에서 굵게 처리한 부분을 보면, 힌트를 얻을 수 있다.
# find -- help
사용법 : find [경로...] [수식]
default path is the current directory; default expression is -print
expression may consist of: operators, options, tests, and actions:
operators (decreasing precedence; -and is implicit where no others are given):
( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2
EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2
positional options (always true): -daystart -follow -regextype
normal options (always true, specified before other expressions):
-depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf
--version -xdev -ignore_readdir_race -noignore_readdir_race
tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N
-cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME
-ilname PATTERN -iname PATTERN -inum N -iwholename PATTERN -iregex PATTERN
-links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE
-nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN
-wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
-used N -user NAME -xtype [bcdpfls]
-context CONTEXT
actions: -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print
-fprint0 FILE -fprint FILE -ls -fls FILE -prune -quit
-exec COMMAND ; -exec COMMAND {} + -ok COMMAND ;
-execdir COMMAND ; -execdir COMMAND {} + -okdir COMMAND ;
find에서 -size 옵션을 주면 파일 크기를 기준으로 검색을 할 수 있고, -exec 옵션을 주면 검색 결과에 특정 액션을 할 수 있다. 그럼 케이스 별로 나누어 실제 사용 예시를 알아본다.
1. 파일 크기 기준으로 검색
# find ./* -size +N => N 이상 크기의 파일을 검색한다.
# find ./* -size -N => N 이하 크기의 파일을 검색한다.
# find ./* -size N => N 크기의 파일을 검색한다.
** 사이즈 단위
b : 블록단위
c : byte
k : kbyte
w : 2byte 워드
예를 들어 콘솔 현재 경로에서 512byte 이상, 1024byte 이내의 파일을 찾고자 한다면 아래와 같이 입력하면 된다.
# find ./* -size +512c -size 1024c
2. 파일 검색 후 삭제
# find ./* [옵션] -exec rm -rf {} \; => find 검색 결과를 모두 삭제한다.
예를 들어 콘솔 현재 경로 아래의 파일을 모두 삭제하고자 한다면 아래와 같이 입력하면 된다.
# find ./* -type -f -exec rm -rf {} \;
3. 복합
그럼 지난 포스팅의 내용과, 이번 포스팅의 내용을 복합하여 정리해보면 아래와 같은 명령어도 실행할 수 있다.
# find ./* -type -f -name '*.jpg' -size +512k -size -1024k -exec rm -rf {} \;
=> 현재 경로의 파일 중에 파일 확장자가 jpg이면서, 사이즈가 512kbyte 이상, 1024kbyte 이하인 것들을 모두 삭제한다.
'컴퓨터 > OS' 카테고리의 다른 글
[Linux] 리눅스 rsync 설정 방법 (0) | 2013.12.03 |
---|---|
솔라리스(SunOS) inode 확인 방법 (0) | 2013.09.13 |
[AIX] sendmail 서비스 중지 방법 & 부팅시 서비스 실행 설정 (0) | 2013.08.24 |
[리눅스] 시스템 환경변수 등록 : .bash_profile (0) | 2013.08.23 |
솔라리스 프로세스(ps) full 내용 확인 방법 (0) | 2013.08.20 |
설정
트랙백
댓글
글
아직도 나에게 멀기만 한 리눅스..ㅠ
아직 아는 명령어는 몇 개 없지만, 다시 공부도 해볼 겸 기본적인 리눅스 명령어들을 정리해본다.
(혹시 틀린 내용이나 추가해야할 내용이 있으면 댓글 부탁해요)
cd [경로]
- 해당 경로로 이동한다.
- "."은 현재 경로를, ".."은 상위 경로를 의미한다.
- 상대경로 혹은 절대경로를 이용해 이동 가능하다.
- ex) cd / : 루트 경로로 이동.
cd conf : 현 위치의 conf 폴더로 이동
cd .. : 상위 경로로 이동.
cd ../conf : 상위 경로의 conf 폴더로 이동
cd /apache/conf : 루트 경로의 apache폴더 내의 conf 폴더로 이동
pwd
- 현 위치를 나타낸다.
mkdir [폴더명]
** 이건 경로 이동은 아니지만 어디에 넣어야 할지 애매해서 여기다 그냥 씁니다 ㅎㅎ
- 현 경로에 폴더를 생성한다.
- ex) mkdir example : 현재 경로에 example이라는 이름의 폴더를 생성
mkdir /apache/conf/example : /apache/conf/ 경로에 example이라는 이름의 폴더를 생성
ls
- 현재 경로의 파일 및 하위폴더 목록을 보여준다.
옵션 |
내용 |
-a |
숨김 파일을 포함한 목록을 보여준다. |
-l |
리스트 형식으로 권한, 파일명, 수정시간 정보도 함께 보여준다. |
-c |
파일 상태 정보가 변경된 순으로 보여준다. |
-t | 파일이 변경된 순으로 보여준다. |
-i | 파일 왼쪽에 색인 번호를 보여준다. |
-m | 파일을 쉼표로 구분하여 가로로 보여준다. |
-r | 정렬 순서를 역순으로 보여준다. |
-u | 최근 사용 파일 순으로 보여준다. |
- ex) ls : 그냥 현재 경로의 파일 및 하위폴더 목록을 보여줌
ls -l : 현재 경로의 파일 및 하위폴더 목록을 자세히 보여줌
ls -al : 현재 경로의 파일 및 하위폴더 목록(숨김 파일 포함)을 자세히 보여줌
ls -altr : 현재 경로의 파일 및 하위폴더 목록(숨김 파일 포함)을 파일 변경 시간 내림차순으로 보여줌(오래된 순으로)
** 개인적으론 보통 ls나 ls -altr을 많이 사용합니다.
cp [소스] [목적지]
- 소스에 있는 파일을 목적지로 복사한다.
옵션 |
내용 |
-a |
원본 파일의 속성, 링크 정보를 유지하면서 복사한다. |
-b |
복사할 대상을 덮어쓰거나 지울 때를 대비하여, 백업 파일을 만들며 복사한다. |
-d |
심볼릭 파일 자체를 심볼릭 정보와 함께 복사한다. |
-f |
복사할 파일이 존재할 때 삭제하고 복사한다. |
-i | 복사할 파일이 존재하는 경우 복사할 것인지 물어보고 복사한다. |
-l | 디렉토리가 아닌 경우 복사 대신 하드 링크로 만든다. |
-p |
원본 파일의 소유, 그룹, 권한, 허용 시간을 보존한 채로 복사한다. |
-r |
서브 디렉토리 내에 있는 모든 파일까지 통째로 복사한다. |
-s |
디렉토리가 아닌 경우 복사 대신 심볼릭 링크로 만든다. |
-u | 대상 파일보다 원본 파일이 새로운 것일 때 복사한다. |
** 심볼릭 링크 : 윈도우의 바로가기와 같은 역할을 한다. 심볼릭 링크가 걸어진 파일을 수정시, 원본 파일은 수정되지 않는다.
하드 링크 : 심볼릭 링크과 형태는 같은데, 하드링크에서 파일을 수정하면 원본파일도 함께 수정된다.
- ex) cp test1 test2 : 현 위치의 test1이라는 파일을 현위치에 test2라는 이름으로 복사한다.
cp test1 /apache/conf/test2 : 현 위치의 test1이라는 파일을 /apache/conf/에 test2라는 이름으로 복사한다.
cp -rp test1 /apache/conf/ : 현 위치의 test1이라는 폴더와 폴더 내의 모든 파일을 /apache/conf/에
test2라는 이름으로 복사한다(소유, 그룹, 권한, 허용 시간 등을 보존한 채로)
** 실제 서비스에 사용되는 폴더, 파일의 경우 소유권이나 권한이 바뀌게 되면 정상적으로 작동하지 않을 수 있으므로, 중요한 설정 파일 등을 복사할 때는 -p 옵션을 사용하는 것이 좋다.
mv [소스] [목적지]
- 소스에 있는 파일을 목적지로 이동한다.
옵션 |
내용 |
-b | 파일이 지워지기 전에 백업 파일을 만들고 이동한다. |
-f |
대상 파일이 있더라도 그 파일을 삭제하고 이동한다. |
-i | 대상 파일이 있는 경우 덮어쓸 것인지 물어보고 이동한다. |
-u | 대상 파일보다 원본 파일이 최신 것일 때 이동한다. |
-v | 파일 이동의 과정을 보여준다. |
- ex) mv test1 ../ : 현 위치의 test1이라는 파일을 상위 경로로 이동한다.
mv test1 /apache/conf/ : 현 위치의 test1이라는 파일을 /apache/conf/로 이동한다.
mv /apache/test1 /apache/conf/ : /apache/의 test1이라는 파일을 /apache/conf/로 이동한다.
** 경로는 적어주지 않고 파일명만을 입력하여(mv test1 test2 와 같은 식으로), 파일명 수정처럼 사용할 수도 있다.
rm [파일명]
- 파일을 삭제한다.
옵션 |
내용 |
-d |
디렉토리를 삭제한다. |
-f |
삭제하냐고 다시 물어보지 않고 바로 삭제한다. |
-i | 일일이 삭제할 것인지 다시 물어본다. |
-r | 하위 디렉토리 포함한 파일들을 모두 삭제한다. |
-v | 삭제 되기 전의 파일을 보여준다. |
- ex) rm test1 : 현 위치의 test1이라는 파일을 삭제한다.
rm -rf test1 : 현 위치의 test1이라는 폴더와 하위 디렉토리를 포함한 파일들을 모두 바로 삭제한다.
** 명령어를 치기 전에 충분한 검토 후에 rm -f 혹은 rm -rf로 손쉽게 삭제할 수 있다.
이 외에도 시스템 상태를 체크하는 명령어들, vi편집기 명령어들 등 엄청나게 많지만 일단 기본적인 명령어는 여기까지 :)
'컴퓨터 > OS' 카테고리의 다른 글
[리눅스] 리눅스 tar, gz 압축 및 해제 (32) | 2013.05.08 |
---|---|
[리눅스] 리눅스 서버 부팅 시각 확인 (0) | 2013.04.15 |
[리눅스(Linux)] 크론탭(crontab) 설정 방법 (0) | 2013.04.09 |
[리눅스] 리눅스에서 CPU 정보 확인하기 (1) | 2013.01.24 |
[리눅스] 리눅스 버전 확인(OS/Apache/Tomcat/MySQL/JAVA) (1) | 2013.01.12 |
RECENT COMMENT