'리눅스강좌'에 해당되는 글 5건

  1. 2007.11.20 9. 리눅스 df 명령어
  2. 2007.10.15 8. 리눅스 명령어 find 와 옵션 12
  3. 2007.07.03 3. cp 리눅스 copy 명령어 1
  4. 2007.07.03 2. find 의 다양한 옵션
  5. 2007.07.03 1. rdate 리눅스 서버 시간동기화
2007. 11. 20. 09:44

9. 리눅스 df 명령어

리눅스에서 df 명령어는 현재 사용중과 남은 하드의 용량을 표시해주는 명령어이다.
df - 디스크의 남은 공간을 보여준다.

SYNOPSIS
       df  [-aikPv] [-t fstype] [-x fstype] [--all] [--inodes] [--type=fstype]
       [--exclude-type=fstype]  [--kilobytes]  [--portability]  [--print-type]
       [--help] [--version] [filename...]

DESCRIPTION
       이  문서는 더이상 최신 정보를 담고 있지않다.  그래서,  몇몇틀릴  경우도
       있고,  부족한  경우도  있을  것이다.  완전한매뉴얼을 원하면, Texinfo 문
       서를 참조하기 바란다.

       이 매뉴얼 페이지는 df 명령의 GNU  버전에  대한  것이다.  df 명령은 지정
       한 filename이 있는 파일 시스템의 사용가능한디스크 공간 정보를 보여준다.
       아무런 filename 인자가 없으면, 현재 시스템에서사용하는 모든 파일 시스템
       의 사용가능한 디스크 공간 정보를 보여준다.  나타나는 숫자들의 기본 단위
       는  1KB이다. 물론이 단위는 POSIXLY_CORRECT 환경 변수의 설정으로 512Byte
       로 바꿀 수 있다.

       만일 filename 인자로 디스크 장치 이름이 절대 경 로   형 식 으 로  ( 예,
       /dev/hda1) 주어지면, 그 해당 디스크의 사용가능한 디스크 공간을보여준다.
       이 버전에서는 마운트(mount(8))되지 않은 파일 시스템에 대해서는그  공 간
       정 보를 보여지 못한다. 이런 이유는 각각의 파일 시스템 구조에대한 정보들
       을 확실하게 알아야하는데, 마운트 되지 않은 상태에서는이런 정보들을 알기
       가 거의 불가능하기 때문이다.

   OPTIONS
       -a, --all
              파 일 시스템의 크기가 0인 것도 모두 보여준다. 초기값은 제외 시킨
              다.  이런 파일 시스템은 전형적으로 자동 마운트관련, 특별  구 성,
              pseudo-filesystems 이 다.   어 떤  시스템에서는 ‘‘ignore’’, 또는
              ‘‘auto’’ 형태의 파일 시스템이 초기값으로 생략되는 경우가  있 다.
              이때 이옵션을 사용한다.

       -i, --inodes
              블럭 사용 정보 대신에 inode 사용정보를 보여준다.  inode란 특별한
              종류의 디스크 블럭인데, 이것은 파일이름, 소유주, 권한, 시간   정
              보, 디스크에서의 위치등에대한 정보를 담고 있다.

       -k, --kilobytes
              보여주는 숫자들의 단위를 512 바이트 블럭 단위 대신 1KB 단위로 보
              여준다.  이 옵션은 POSIXLY_CORRECT 환경 변수를 무시한다.

       -P, --portability
              POSIX에서 사용되는 형태로 보여준다.  이 옵션은 한 줄에 하나의 파
              일   시스템 정보만 보여주다는 것을 제외하고는기본 출력 양식과 같
              다. 한 마운트 장치는 그 줄에 포함되지 않는다.  이 말은 만약 마운
              트 장치 이름이 20 문자 이상이면,(원격 마운트파일 시스템일 경우는
              그렇다) 줄이 나뉘어 지는데, 이런 경우는 생략되거나축약된다.

       -T, --print-type
              각 파일시스템의 형태를 보여준다.  특정 파일시스템의 정보만을  원
              할 경우에는 --type= 또는 --exclude-type= 옵션을 사용한다.

       -t, --type=fstype
              fstype 값을 가진 파일시스템만 보여준다.  초기값은 모든 파일 시스
              템을 보여준다.

       -x, --exclude-type=fstype
              fstype 값을 가진 파일시스템만 빼고 나머지 모든 파일 시스템 정 보
              를 보여준다.

       -v     무시: System V 용 df와 호환을 위해서 있는 옵션.

사용법: df [OPTION]... [FILE]...
각각의 FILE이 있는 파일 시스템에 대한 정보를 출력합니다.
기본값은 모든 파일시스템입니다.

  -a, --all             include filesystems having 0 blocks
  -a, --all             0블럭을 가진 파일시스템도 출력에 포함합니다
        --block-size=SIZE use SIZE-byte blocks
        --block-size=SIZE SIZE 바이트 크기의 블럭을 사용합니다

  -h, --human-readable  print sizes in human readable format (e.g., 1K 234M 2G)
  -h, --human-readable  크기를 사람이 알기 쉽게(1K, 234M, 2G등)표시합니다

  -H, --si              likewise, but use powers of 1000 not 1024
  -H, --si              비슷합니다만 1024배 대신 1000배를 사용합니다

  -l, --local           limit listing to local filesystems
  -i, --inodes          블럭 사용 대신 inode정보를 표시합니다

  -k, --kilobytes       like --block-size=1024
  -k, --kilobytes       --block-size=1024와 같습니다

  -l, --local           limit listing to local filesystems
  -l, --local           지역 파일시스템만 나열합니다

  -m, --megabytes       like --block-size=1048576
  -m, --megabytes       --block-size=1048576과 같습니다
      --no-sync         do not invoke sync before getting usage info (default)
      --no-sync         사용정보를 얻기 전에 sync를 부르지 않습니다(기본값)

  -P, --portability     use the POSIX output format
  -P, --portability     POSIX사양으로 출력합니다
      --sync            invoke sync before getting usage info
      --sync            사용정보를 얻기 전에 sync를 부릅니다

  -t, --type=TYPE       limit listing to filesystems of type TYPE
  -t, --type=TYPE       TYPE형태의 파일시스템에 대한 정보만 표시합니다

  -T, --print-type      print filesystem type
  -T, --print-type      파일시스템 형태를 출력합니다

  -x, --exclude-type=TYPE   limit listing to filesystems not of type TYPE
  -x, --exclude-type=TYPE   TYPE형태가 아닌 파일시스템 정보만 표시합니다

  -v                    (ignored)
  -v                    (무시합니다)

      --help            display this help and exit
      --help            이 도움말을 표시하고 종료합니다

      --version         output version information and exit
      --version         버전 정보를 표시하고 종료합니다


추천하는 사용방법
df -h

이것은 h 옵션을 사용하는 것으로 human 즉 사람이 읽기편하게 용량을 Mega 또는 Giga 단위로 바꿔서 표현해준다.
df -i

inode 로 바꿔서 나타내준다.



2007. 10. 15. 11:06

8. 리눅스 명령어 find 와 옵션

find 명령어는 리눅스가 그렇듯 다양한 옵션과 함께 쓰일때 강력해진다.

1. 파일이름으로 찾기
전체 디렉토리에서 wav 라는 확장자를 가진 파일을 모두 찾기
find / -name *.wav

find [디렉토리] -name[ 옵션] 
전체디렉토리에서 ab로 시작하는 파일을 찾고 ls 명령어로 화면에 출력한다
find / -name 'ab*' -ls

2. 마지막으로 수정된 파일의 시간으로 찾기
옵션종류 
-atime n : File was last accessed n*24 hours ago.
-ctime n : File status was last changed n*24 hours ago
-mtime n : File data was last modified n*24 hours ago

-amin n : File was last accessed n minutes ago.
-cmin n : File status was last changed n minutes ago.
-mmin n : File data was last modified n minutes ago

현재 디렉토리에서 정확히 3일 전 것만 찾는 것
find . -mtime 3

현재 디렉토리에서 3일 이전의 파일들을 모두 찾는 것
find . -mtime +3

현재 디렉토리에서 3일 전의 파일들 중에서 OUT으로 시작하는 이름으로 찾고 ls 로 나타내는 것
 find . -mtime 3 -name 'OUT*' -ls

현재 디렉토리에서 OUT 으로 시작하는 파일 이름을 찾고 지우는 명령
find . -name "OUT200703*" -exec rm -f {} \;

3. 디렉토리를 찾기
전체 디렉토리에서 et로 시작하는 디렉토리를 찾기
find / -name 'et*' -type d

4. 원하는 파일을 찾고 그 안의 내용을 grep 으로 찾기

디렉토리에 에서 txt 파일을 찾고 그 안에 내용중에서 특정 내용을 grep 으로 찾는 명령어

[root@localhost temp]# more 1.txt
1111111111111111111111
2222
[root@localhost temp]# more 2.txt
2222
[root@localhost temp]#
[root@localhost temp]#
[root@localhost temp]# find . -name "*.txt" -exec grep 22 {} \;
2222
2222
[root@localhost temp]#




'내가쓰는리눅스 강좌' 카테고리의 다른 글

12. 리눅스에 대한 좋은 링크  (2) 2008.05.09
11. 파일 개수 세기  (3) 2008.05.07
10. 시간 동기화 rdate 와 다른 NTP  (6) 2008.04.21
[리눅스 다운받는 곳]  (1) 2008.03.05
9. 리눅스 df 명령어  (0) 2007.11.20
7. 리눅스의 시간 date 와 hwclock  (0) 2007.09.04
6. vsftp 유용한 옵션  (0) 2007.07.13
5. cron 과 그 활용법  (0) 2007.07.12
4. 리눅스 du 와 df  (2) 2007.07.11
3. cp 리눅스 copy 명령어  (1) 2007.07.03
2007. 7. 3. 17:52

3. cp 리눅스 copy 명령어

1. 기능
파일을 현재의 위치나 다른 디렉토리로 복사(copy)한다.

2. 문법
# cp [ 옵션 ] 파일명1 파일명2
# cp [ 옵션 ] 파일명(들) 디렉토리

3. 옵션
-a : 가능한 한 원 파일의 구조와 속성을 그대로 복사한다.
-b : 복사할 때 덮어쓰게 되는 파일은 백업을 만든다.
-d : 심볼릭 링크는 심볼릭 링크로 복사한다. 그리고 원본 파일과의 하드 링크 관계를 유지한다.
-f : 복사 위치에 존재하는 파일을 제거하고 복사한다.
-i : 복사 시 같은 이름의 파일이 존재한다면 덮어쓸 것인가 확인한다.
-I : 하드 링크를 만든다.
-P : 원본 파일의 소유자, 그룹, 권한, 시간 기록을 그대로 복사한다.
-R , -r : 파일과 하위 디렉토리에 포함된 파일 모두를 복사한다.
-s : 디렉토리가 아닌 파일의 심볼릭 링크를 만든다. 소스 파일의 이름은 전체 경로 이름으로 한다. 목적지 파일 이름은 전체 경로를 주지 않아도 현재 디렉토리로 간주되므로 상관없다.
-u : 파일의 정보를 갱신한다.
-x : 다른 파일 시스템인 하위 디렉토리는 무시한다.



=======================
cp -a 가 가능한 원본파일의 속성을 유지시켜면서 복사하므로 이것이 원츄
2007. 7. 3. 17:48

2. find 의 다양한 옵션

- 파일 이름에 foobar 가 들어간 파일 찾기
   find / -name "foobar" -print

- 특정 사용자(foobar) 소유의 파일을 찾기
   find / -user foobar -print | more

- 최근 하루동안에 변경된 파일을 찾기
   find / -ctime -1 -a -type f | xargs ls -l | more

- 오래된 파일(30일 이상 수정되지 않은 파일) 찾기
   find / -mtime +30 -print | more

- 최근 30일안에 접근하지 않은 파일과 디렉터리를 별도의 파일로 만들기
   find / ! ( -atime -30 -a ( -type d -o -type f ) ) | xargs ls -l > not_access.txt

- 하위 디렉터리로 내려가지 않고 현재 디렉터리에서만 검색하기
   find . -prune ...

- 퍼미션이 777 인 파일 찾기
   find / -perm 777 -print | xargs ls -l | more

- others 에게 쓰기(write) 권한이 있는 파일을 찾기
   find / -perm -2 -print | xargs ls -l | more

- others 에게 쓰기(write) 권한이 있는 파일을 찾아 쓰기 권한을 없애기
   find / -perm -2 -print | xargs chmod o-w
      또는
   find / -perm -2 -exec chmod o-w {} ; -print | xargs ls -l | more

- 사용자이름과 그룹이름이 없는 파일 찾기
   find / ( -nouser -o -nogroup ) -print | more

- 빈 파일(크기가 0 인 파일) 찾기
   find / -empty -print | more
      또는
   find / -size 0 -print | more

- 파일 크기가 100M 이상인 파일을 찾기
   find / -size +102400k -print | xargs ls -hl

- 디렉터리만 찾기?
   find . -type d ...

- root 권한으로 실행되는 파일 찾기
   find / ( -user root -a -perm +4000 ) -print | xargs ls -l | more

- 다른 파일시스템은 검색하지 않기
   find / -xdev ...

- 파일 이름에 공백이 들어간 파일 찾기
   find / -name "* *" -print

- 숨겨진(hidden) 파일을 찾기
   find / -name ".*" -print | more

- *.bak 파일을 찾아 지우기
   find / -name "*.bak" -exec rm -rf {} ;

- *.bak 파일을 찾아 특정 디렉터리로 옮기기
   mv `find . -name "*.bak"` /home/bak/

- 여러개의 파일에서 특정 문자열을 바꾸기
   find / -name "*.txt" -exec perl -pi -e 's/찾을문자열/바꿀문자열/g' {} ;


============================

유닉스에서 세미콜론(;)은 명령어 구분자로 사용됩니다. 따라서 질문하신 분 처럼 사용하시면 쉘이 이를 명령어 구분자로

인식하여 find에게 전달이 안되는 것입니다.

이러한 경우 다음과 같이 하시면 됩니다.

find . -name "*.log" -a -mtime +3 -exec rm {} \;

또한 질문하신 내용중 -mtime +3 이라고 하면 마지막 수정시간이 3일을 포함하여 그 이후의 것... 예를들어 3일전 4일전

5일전 6일전 ...  이 되는 것이구요..
-mtime -3이라고 하면 3일 이전의 것 0일전, 1일전, 2일전, 3일전 뭐 이런 의미가 됩니다.

정확히 3일전 것만 하시려면 +나 -없이 그냥 -mtime 3이라고만 지정하시면 됩니다.
================
실제사용 예

find . -name "OUT200703*"

OUT200703 으로 시작하는 파일 찾기

find . -name "OUT200703*" -exec rm -f {} \;

OUT200703 으로 시작하는 파일 찾고 지우기

find . -name "OUT200703*" && find . -name "*.mp3"

OUT200703으로 시작하는 파일과 mp3 로 끝나는 파일 찾기

find . -name "cdr1.txt.2006*"





==================== 생성된지 3분이상된 파일을 이동시키는 것

find /var/spool/asterisk/monitor -cmin +3 -exec mv /var/spool/asterisk/tmp {} \;
find . -cmin +3 -exec cp /var/spool/asterisk/tmp {} \;

find . -cmin +3 && find . -name "OUT*.wav" -exec mv /var/spool/asterisk/tmp {} \;




find . -cmin +3 && find . -name "OUT*.wav" -exec mv /var/spool/asterisk/tmp {} \;

find . -cmin +3 -mtime 0 -exec rm -f {} \;


find . -name "*.wav" | xargs ls -l | grep  test


find . -name "*.wav" | xargs ls -l | grep  OUT105




mv `find . -cmin +3` /var/spool/asterisk/

find / -name "*.c" -print -depth&

   루트디렉토리(/)에서 아래로 내려가면서(-depth)

   확장자가(.c)인 파일(-name "*.c")을 찾아  프린트(-print)해라

   맨 끝에 &는 백그라운드 프로세스로 실행하란 겁니다.


2007. 7. 3. 17:25

1. rdate 리눅스 서버 시간동기화

1. 리눅스 서버 시간 동기화 하기

rdate -s time.bora.net -> tiem.bora.net 서버의 시간으로 이 서버의 시간을 동기화한다

rdate -p time.bora.net  -> time.bora.net 서버의 시간을 표시한다

rdate -s time.kriss.re.kr -> 외부서버와 동기화
rdate -s time.bora.net
clock -w -> 하드웨어 바이오스 동기화
hwclock --show -> 하드웨어 설정 시간 보기




============ 실제 사용예
rdate -s time.bora.net && hwclock -w

'내가쓰는리눅스 강좌' 카테고리의 다른 글

10. 시간 동기화 rdate 와 다른 NTP  (6) 2008.04.21
[리눅스 다운받는 곳]  (1) 2008.03.05
9. 리눅스 df 명령어  (0) 2007.11.20
8. 리눅스 명령어 find 와 옵션  (12) 2007.10.15
7. 리눅스의 시간 date 와 hwclock  (0) 2007.09.04
6. vsftp 유용한 옵션  (0) 2007.07.13
5. cron 과 그 활용법  (0) 2007.07.12
4. 리눅스 du 와 df  (2) 2007.07.11
3. cp 리눅스 copy 명령어  (1) 2007.07.03
2. find 의 다양한 옵션  (0) 2007.07.03