달력

10

« 2019/10 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
2010.06.21 10:55

리눅스 명령어 3 OS/Linux2010.06.21 10:55

※ find 명령어
특정 파일/디렉토리 검색 후 특정작업과 연계가능
형식 : find [검색디렉토리] [검색단어] [옵션] [액션]
ex1) 특정파일 찾기
]#find /home -name install.log [액션]
[액션]
1. -print
2. -exec ls -l {} \;
/dev/null  // 휴지통과 같은 역할
ex2) 비어있는 파일 검색
]#find / -empty -exec ls -l {} \;

 ※ df
현재 사용 중인 파일시스템들의 디스크 사용량 확인하는 명령어
- $df [options] [파일명]
[options]
-a : 모든 파일 시스템을 보여준다.
     (용량이 0byte인 파일시스템을 포함한다)
-h : 사용자가 읽기 쉬운 용량단위로 정보를 보여준다.
-i : 남은 공간, 사용 공간, 사용 퍼센트 정보를 보여준다.
-k : 1KB 단위로 정보를 보여준다.
-t 파일시스템 : 지정한 파일시스템의 정보만 보여준다.
예) df -t ext3
-x 파일시스템 : 지정한 파일시스템만 제외하고, 모든 파일시스템의 정보를 보여준다.
df는 Disk Free의 약어로서 현재 사용중인 파일시스템의 전체 용량, 사용한 용량, 사용 가능한 용량, 사용율, 마운트 정보 등을 보여준다. df 명령은 /etc/fstab파일에서 파일시스템 정보를 참조하고, /etc/mtab에서 마운트된 정보를 참조한다. 기본 용량 단위는 KB이며, 주로 root가 사용하는 명령어이다.
]#df
Filesystem   1k-blocks   Used    Available   Use%   Mounted on
/dev/hda2     5036316   1496644   3283840     32%     /
      1               2               3          4            5      6
1 필드는, 파일시스템 장치명(device name)이다.
2 필드는, 각 파일시스템에 할당된 용량이다.
3 필드는, 사용된 용량이다.
4 필드는, 사용 가능한 용량이다.
5 필드는, 사용율을 나타낸다.
              즉 전체 할당된 용량에 대한 사용된 용량의 백분율을 나타낸다.
6 필드는, 파일시스템이 마운트된 마운트 포인트를 표시한다.

 ※ du
특정 디렉토리의 용량을 확인하는 명령어
- $ du [options] [파일명]/[디렉토리명]
[options]
-a : 현재 디렉토리 아래의 모든 파일과 디렉토리의 사용 정보를 보여준다.
-B : 지정한 size를 블록 사이즈로 사용한다.
-b : 바이트 크기로 보여준다.
-c : 모든 파일의 디스크 사용정보를 보여주고 나서 합계를 보여준다.
-D : 계산되는 파일이나 경로가 심볼릭링크 파일이면 그 원본의 값을 보여준다.
-h : 사용자가 읽기 쉬운 용량단위로 정보를 보여준다.
-H : 1024단위의 비율로 보여준다.
-k : 킬로 바이트 크기로 보여준다.
-s : 디렉토리내에 존재하는 모든 파일과 서브디렉토리들의 전체 용량을 표시한다.
-x : 현재 파일시스템의 파일 사용량만을 보여준다.
-x File : 지정한 파일과 일치하는 것은 제외한다.

df/du : 파티션과 디렉토리 용량확인
df : 파티션에 대한 정보 확인
특정사용자의 홈디렉토리 사용량을 확인
홍길동
]# du -sh /home/홍길동
]# du -sh ~홍길동

 ※ hdparm
- $ hdparm [options] [장치명]
[options]
-a : 파일시스템의 readahead에 대한 파라미터 값을 확인 및 설정
-A : 드라이브의 read-lookahead flag (0/1)를 설정.
-b : BUS 상태 값 (0==off, 1==on, 2==tristate)을 확인 및 설정
-B : APM 값 (범위:1-255) 설정
-c : IDE 32-bit IO 설정에 대한 확인 및 설정
-C : IDE 장치의 파워모드 상태 점검
-d : using_dma 플래그 설정 및 확인
-f : 지정한 장치에 대한 버퍼캐쉬 동기화 그리고 빠져나감.
-g : 드라이브 geometry 값을 표시
-i : 드라이브 identification 값 표시
-k : keep_settings_over_reset 플래그 값 (0/1)의 설정 및 확인
-K :

-L : 드라이브 doorlock 값 (0/1) 설정
-m : multiple sector count 값 확인 및 점검
-n : ignore-write-errors 값 (0/1) 설정 및 확인
-P : 드라이브 prefetch cont 값 설정
-u : unmaskirq 플래그 값 (0/1) 설정 및 확인
-y : IDE 드라이브를 준비 상태로 둠.
-Y : IDE 드라이브를 휴지 (sleep) 상태로 둠.
-z : 파티션테이블 정보를 다시 읽어 들임.
-Z : Seagate 장치에 대한 auto-powersaving 모드를 비활성화 함
-t : 디스크 드라이브의 읽는 속도를 체함
-T : 디스크 드라이브에 대한 캐쉬데이터 읽는 속도를 체크함.
* Readahead 는 하드디스크에 접근할 때 미리 읽는 섹터개수를 알려준다.
hdparm은 SATA와 ATA 장치들의 파라미터를 설정하고 확인하는 매우 유용한 명령어이다.
시스템에 장착된 하드디스크의 설정을 확인하거나 하드디스크의 설정을 하고자 할 때에 사용하는 명령어이다
실무에서는 주로 IDE/SCSI 하드디스크의 Access 속도를 측정 할때에 많이 사용한다.
hdparm
1. multcount = 16 (on) // 블록의 수
2. IO_support = 0 (default 16-bit) // 동작 모드 설정
3. unmaskirq = 0 (off) // IRQ 사용
4. using_dma = 1 (on) // dma 사용 여부
5. keepsettings = 0 (off) // 소프트웨어로도 리셋 가능
6. readonly = 0 (off)
7. readahead = 256 (on) // 256섹터를 미리 읽겠다.
8. geometry = 16383/255/63, sectors = 514017, start = 0
]#hdparm -y /dev/hda (사용)
]#hdparm -Y /dev/hda (휴지상태)

 ※ Badblocks
하드디스크의 Bad Block를 검사하는 명령어
- $ badblocks [options] [장치명] [블록개수]
[options]
-b 블록크기 : 블록크기 지정 (단 bytes 단위). 기본값은 1024bytes
-c 블록수 : 한번에 테스트할 블록 개수. 기본값은 64블록.
 ]# badblocks -s -c 1024 /dev/sda1

-e 최대블록개수 : 점검을 멈출 최대 베드블록개수.
                  0이면 지정된 범위까지 점검을 한다.
-s : 진행과정을 보여준다. 즉, 체크되는 블록번호를 보여줌.
-n : 안전한 read/write 모드로 점검함.
     즉, mount 되어 있는 경우에는 점검하지 않음.
-w : write 모드 점검을 함. -n 옵션과 함께 사용 못함.
-o 파일명 : 지정한 파일명에 점검된 베드블록 리스트를 을 기록함

 ]# badblocks -s -o bad.txt /dev/sda1
-i 파일명 : 미리 알려진 베드블록리스트를 지정한 파일  점검에서 제외함.
               만약, 파일명이 "-"으로 지정되면 키보드로 입력 받음.
BadBlocks 명령어는 하드디스크 같은 디스크의 베드블록을 검사하는 명령어이다.
시스템 관리자에게 가장 중요한 것은 하드디스크의 물리적인 문제로 인한 시스템 다운과 데이터 유실이라고 할 수 있다. 이런 경우를 대비해 주기적인 백업을 하기도 하고, RAID로 구성도 하고 디스크 동기화 작업도 한다. 하지만 베드블록이 존재하고 여기에 데이터를 access 하게 되면 시스템 장애가 발생되기에 주기적인 베드블록 점검 작업이 반드시 필요한 것이다.

parted
대용량 파티션 설정 및 관리 유틸리티 명령어
- $ parted [장치명]
parted는 대용량 디스크장치에 대한 파티션을 설정하고 삭제 하는 하티션 관리도구이다.
이 명령어는 fdisk와 같이 파티션 작업도 가능하며, 파일시스템도 만들 수 있다. 그리고 특정 파티션에 있는 데이터를 다른 파티션으로 옮길 수도 있다.
1. 레이블 타입에 gpt 라는 것이 있다.
리눅스에서는 모든 디스크는 몇 개의 파티션으로 나뉘어져 있고 이들 파티션은 모두 레이블을 가지고 있다. 그리고 이런 리눅스의 모든 파티션들은 msdos 레이블만 사용한다.
즉, 리눅스의 부트로더인 LILO와 GRUB은 msdos 디스크 레이블만을 인식 가능하므로 그 외의 디스크레이블은 인식하지 못한다.
그런데 2TB 이상 되는 디스크는 gpt라는 레이블을 사용해야 한다.
하지만 gpt 레이블은 LILO와 GRUB에서 인식되지 못하므로 시스템디스크와 같은 부팅관련 디스크는 gpt 레이블을 사용해서는 안 된다.
2. kernel의 대용량 디스크 인식 문제
kernel이 2TB 이상의 파티션을 인식 가능하도록 즉, 사용 가능하도록 설정되어 있어야 한다.
현재의 kernel은 2TB를 인식하도록 되어 있기 때문에 특별한 문제는 없다. Parted의 작업 대상이 되는 장치들은 일반적으로 사용하는 리눅스 디스크 장치명이면 가능하며 RAID로 구성한 디스크 장치명과 Software RAID 장치명도 가능하다. 또한 LVM 논리장치명 또한 작업이 가능하다.
대부분의 작업이 2TB이상 되는 대용량이지만 2TB이하의 작업도 가능하다.
[parted 활용법]
1. check partition : 파일시스템에 대한 간단한 확인 작업을 수행한다.
2. cp from to : 파일 시스템을 한 파티션에서 다른 파티션으로 복사한다.
3. help : 사용 가능한 명령어 목록을 보여준다.
4. mklabel label : 파티션 테이블에 대한 디스크 레이블을 생성한다.
5. mkfs partition file-system-type : file-system-type 유형의 파일 시스템을 생성한다.
6. mkpart part-type [fs-type] start end : 새로운 파일 시스템을 생성하지 않고 파티션을 만든다.
7. mkpartfs part-type fs-type start-mb end-mb : 파티션을 만들고 특정 파일 시스템을 생성한다.
    ex)(parted) mkpartfs primary ext3 101 220
8. move partition start-mb end-mb : 파티션을 이동한다.
9. print : 파티션 테이블을 보여준다.
10. quit : parted를 종료한다.
11. resize partition start-mb end-mb : 파티션의 크기를 start-mb에서 end-mb로 재조정한다.
12. rm partition : 파티션을 삭제 한다.
13. select device : 설정할 다른 장치를 선택한다.
14. set partition flag state : 파티션 상에 프래그를 설정한다. state는 on(켜짐) 이나 off(꺼짐) 중 하나를 입력한다.
   - partition : 파티션번호를 지정
   - flag : boot, root, swap, hidden, raid, lvm, lba, hp-service, palo, prep, msftres
   - state : on 또는 off 지정.
15. name partition name : 파티션 이름을 지정한다. 뒤의 name 자리에 이름을 지정한다.
16. rescue start end : 읽어버린 파티션 정보를 찾아준다.

[출처] 리눅스 명령어 (3)|작성자 Rang


'OS > Linux' 카테고리의 다른 글

리눅스 터미널(Telnet) 설정  (0) 2010.07.06
우분투10.04 설치후 키보드 먹통  (0) 2010.07.05
리눅스 명령어 3  (0) 2010.06.21
리눅스 명령어 2  (0) 2010.06.21
리눅스 기본 명령어 1  (0) 2010.06.21
사용자, 그룹명 변경하기  (0) 2010.05.07
Posted by 현자

댓글을 달아 주세요