하루 셸 명령 텍스트 작업 시리즈-linux dd 사용 튜 토리 얼
1.셸 스 크 립 트 는.sh 를 확장자 로 합 니 다.보통 실행 합 니 다./${filename}.sh 또는 sh${filename}.sh
2.셸 스 크 립 트 는\#!/로 시작 합 니 다.bin/bash #!shebang
3.디 버 깅 시작 #!/bin/bash Cxv
4./dev/null 은 모든 물건 을 넣 으 면 사라 집 니 다.Liux 블랙홀./dev/zero 는 초기 화 에 사용 되 며 0 이 발생 합 니 다.
오늘 먼저 dd 명령 을 소개 합 니 다.
유래(전 칭):"Convert an copy"를 기능 설명 에 따라"cc"라 고 명명 해 야 하 는데"cc"는"CComplier"를 대표 하 는 데 사용 되 었 기 때문에"dd"라 고 명명 되 었 습 니 다.
시작 예:
1. dd if=infile.log of=outfile.log bs=1M count=1
infile.log 내용 을 outfile.log 로 복사 합 니 다.한 번 에 읽 기 비트 수 는 1M 이 고 한 블록 씩 읽 기(1M,bs 에서 결정 합 니 다)
2. echo -n "hello world" | dd cbs=1 conv=unblock 2>/dev/null
cbs 를 보 여 줍 니 다.바이트 가 바 뀔 때마다 conv=unblock 은 cbs 크기 의 블록 중 끝 에 있 는 빈 칸 을 줄 바 꾸 는 문자 로 바 꿉 니 다. 2> 오류 정보 출력 흐름 입 니 다. /dev/null 처음 소개 합 니 다.
해독 도움말:
(이렇게 큰 단락 을 보고 싶 지 않 아 먼저 뛰 어 넘 고 해석 을 보 려 고 한다)
용법:d[조작 수]...
d 옵션
파일 을 복사 하여 조작 수 에 따라 변환 하고 포맷 합 니 다.
비트 수 읽 기와 쓰기 비트 수
cbs=비트 수 일차 변환 비트 수
conv=CONVS 각 쉼표 로 분 단 된 표지 목록 에 따라 파일 을 변환 합 니 다.
카운트 지정 한 블록 만 블록 으로 복사 합 니 다.
ibs=비트 수 한 번 에 읽 는 비트 수(기본 값:512)
if=파일 지정 한 파일 에서 읽 기
iflag=기호 쉼표 로 구 분 된 기호 목록 에서 지정 한 방식 으로 읽 기
obs=비트 수 지정 한 비트 수 를 한 번 에 기록 합 니 다(기본 값:512)
문서 지정 한 파일 에 쓰기
oflag=기호 쉼표 로 구 분 된 기호 목록 에서 지정 한 방식 으로 기록 합 니 다.
seek=블록 수 출력 시작 부분 에서 지정 한 블록 을 건 너 뛰 기
skip=블록 수 입력 시작 부분 에서 지정 한 블록 수 를 건 너 뛰 기
status=noxfer 전송 금지 통계
블록 과 바이트 수 뒤에 다음 과 같은 접미사 가 있 을 수 있 습 니 다.
c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M
GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.
모든 CONV 기 호 는 다음 과 같 을 수 있 습 니 다.
ascii EBCDIC 코드 에서 ASCII 코드 로 변환
ebcdic ASCII 코드 에서 EBCDIC 코드 로 변환
ibm ASCII 코드 에서 교 체 된 EBCDIC 코드 로 변환
block 끝 문자 블록 에 있 는 줄 을 같은 길이 의 빈 칸 으로 바 꿉 니 다.
unblock cbs 크기 의 블록 끝 에 있 는 빈 칸 을 줄 바 꾸 기
lcase 대문자 를 소문 자로 변환 하 다
ucase 소문 자 를 대문자 로 변환 하기
swab 모든 입력 데이터 바이트 교환
sync 입력 한 데이터 블록 을 ibs 크기 로 NUL 문자 로 채 웁 니 다.배합 블록
또는 unblock 시 NUL 문자 대신 빈 칸 으로 채 웁 니 다.
excl fail if the output file already exists
nocreat do not create the output file
notrunc 출력 파일 을 차단 하지 않 음
noerror 데 이 터 를 읽 는 중 오류 가 발생 한 후에 도 계속 진행 합 니 다.
fdatasync 종료 전에 출력 파일 데 이 터 를 디스크 에 기록 합 니 다.
fsync 위 와 비슷 하지만 메타 데이터 도 함께 기록 합 니 다.
FLAG 기 호 는 다음 과 같 습 니 다.
append 추가 모드(출력 에 만 의미 가 있 음;conv=notrunc 포함)
direct 직접 I/O 액세스 모드 사용
directory 디 렉 터 리 가 아니면 directory 가 실 패 했 습 니 다.
dsync 동기 화 I/O 액세스 모드 사용
sync 위 와 유사 하지만 메타 데이터 에 도 유효 합 니 다.
fullblock 입력 을 위해 전체 블록 쌓 기(iflag 만)
nonblock 차단 없 는 I/O 액세스 모드 사용
noatime 액세스 시간 업데이트 안 함
nocache 캐 시 데이터 버 리 기
noctty 파일 할당 제어 단말기
nofollow 링크 파일 을 따 르 지 않 음
판독:
1. bs ibs obs cbs
bs:1 회 읽 기와 쓰기=ibs+obs
ibs:한 번 에 읽 기
obs:한 번 에 쓰기
cbs:1 차 변환
2. if of
읽 는 파일
출력 파일
3. seek skip
skip 가 if 에서 읽 을 때 몇 비트 건 너 뛰 기
seek 는 of 를 쓸 때 몇 비트 를 건 너 뜁 니까?
실전 예:
1.무 작위 이름 의 테스트 파일 대량 생 성
for i in {10..10}
do
dd if=/dev/zero of=junk.test$i bs="$RANDOM"K count=20
done
2.백업 및 복구백업
dd if=abc.gz of=abc.gz.bak1 bs=1k count=10000
dd if=abc.gz of=abc.gz.bak2 bs=1k skip=10000 count=70000
dd if=abc.gz of=abc.gz.bak3 bs=1k skip=80000
복구 방법 은 다음 과 같 습 니 다.
dd if=abc.gz.bak1 of=abc.gz
dd if=abc.gz.bak2 of=abc.gz bs=1k seek=10000
dd if=abc.gz.bak3 of=abc.gz bs=1k seek=80000
3.대소 문자 변환대문자 생 성:dd if=dd.txt of=my.log bs=1M count=1 conv=ucce
소문 자 생 성:게 으 르 지 않 기 위해 독자 에 게 남 겨 보 자.
4.자신 복사
file_subscript=copy
dd if=$0 of=$0.$file_subscript 2>/dev/null
5.플 로 피 디스크 의 내용 을 다른 플 로 피 디스크 에 복사 하고/tmp 를 임시 저장 소 로 사용 해 야 합 니 다.드라이브 에 원본 디스크 를 삽입 하고 다음 명령 을 입력 하 십시오:$ dd if =/dev/fd0 of = /tmp/tmpfile
복사 가 완료 되면 원본 디스크 를 드라이브 에서 꺼 내 대상 디스크 를 삽입 하고 명령 을 입력 하 십시오.
$ dd if = /tmp/tmpfile of =/dev/fd0
플 로 피 디스크 복사 가 완료 되면 임시 파일 을 삭제 해 야 합 니 다:
$ rm /tmp/tmpfile
6.net.i 이 파일 을 플 로 피 디스크 에 쓰 고 읽 기/쓰기 버퍼 의 수 를 설정 합 니 다.
(메모:플 로 피 디스크 의 내용 이 완전히 덮어 집 니 다)
$ dd if = net.i of = /dev/fd0 bs = 16384
7.파일 sfile 을 파일 dfile 에 복사 합 니 다.
$ dd if=sfile of=dfile
8.100 M 빈 파일 만 들 기
dd if=/dev/zero of=hello.txt bs=100M count=1
=============================================
/dev/null,별명 은 끝 없 는 구멍 입 니 다.모든 데 이 터 를 출력 할 수 있 습 니 다.모두 먹 을 수 있 고 버 티 지 않 습 니 다!
/dev/zero 는 입력 장치 입 니 다.파일 을 초기 화 할 수 있 습 니 다.
/dev/null---빈 장치 이 며 비트 통(bit bucket)이 라 고도 합 니 다.기록 한 출력 은 모두 버 려 집 니 다.메 시 지 를 표준 출력 으로 표시 하거나 파일 에 쓰 지 않 으 려 면 메 시 지 를 비트 통 으로 바 꿀 수 있 습 니 다.
/dev/zero--이 장 치 는 0 을 무궁무진 하 게 제공 합 니 다.당신 이 필요 로 하 는 모든 수량 을 사용 할 수 있 습 니 다.-장 치 는 더 많은 것 을 제공 합 니 다.그 는 장치 나 파일 에 문자열 0 을 쓸 수 있다.
$ dd if=/dev/zero of=./test.txt bs=1k count=1
$ ls -l
total 4
-rw-r--r-- 1 oracle dba 1024 Jul 15 16:56 test.txt
eg:
$ find / -name access_log 2>/dev/null
본문 은'선비'블 로그 에서 나 온 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
그래, 내 서버 성능이 너무 안 좋아서 후회하면서 CD의 읽기와 쓰기 속도를 확인했어.디스크의 읽기와 쓰기 속도를 확인하고 싶습니다. 물리적 디스크는 개체 차이가 있지만 디스크 자체의 성능에 의해 결정된다. 그러나 VPS와 클라우드 컴퓨팅에서 디스크가 가상이기 때문에 얼마나 속도가 나올지는 경영자에 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.