파일처리_19 HTML 파일인 .htm과 .html 확장자를 txt로 일괄 변경하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: 확장자, 파일명 변경, case문
키워드: 복사, 백업, 파일 속성, 심볼릭 링크
사용처: 확장자가 제각각인 파일들을 하나의 확장자로 변경하고 싶을 때
실행예제
$ ls
abc.html index.htm rename.sh same.htm same.html sp ace.html
# ./rename.sh
$ ls
abc.txt index.txt rename.sh same.txt sp ace.txt
스크립트
#!/bin/sh
for filename in * # ------------------------- 1
d...
파일처리_18 파일 퍼미션과 타임 스탬프 등 원래 파일 속성을 유지한 채 파일 복사하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: getopts, cp
키워드: 복사, 백업, 파일 속성, 심볼릭 링크
사용처: 디렉터리를 복사할 때 파일 속성과 심볼릭 링크를 포함해서 백업하고 싶을 때
실행예제
$ ./cp-p.sh -a
스크립트
#!/bin/sh
backup dir="home/user1/backup"
# myapp 디렉터리를 $backup_dir 밑에 백업 복사
while getopts "a" option
do
case $option in
a)
cp -a myapp "$backup_dir"
...
파일처리_17 tar 아카이브에 파일 추가하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: tar, date
키워드: tar, 아카이브, 추가, 어펜드
사용처: 월별 아카이브에 목차 파일을 추가하는 등 기존 tar 아카이브에 파일을 추가하고 싶을 때
실행예제
$ tar tf 201312.tar # --------- 기존 파일 확인
log/
log/20131201.log
log/20131202.log
log/20131203.log
log/20131204.log
$ ./tar-add.sh # -------------- 실행
log/20131205
$ tar tf 202103.tar # --------- 추가된 ...
파일처리_16 tar 아카이브할 때 일부 파일이나 디렉터리 제외하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: tar
키워드: tar 아카이브, 제외, 예외
사용처: tar 명령어로 아카이브 파일을 만들면서 Subversion의 [.svn] 디렉터리 등 특정 파일이나 디렉터리를 제외하고 싶을 때
실행예제
$ ls -aF myapp
./ ../ .svn/ bin/ etc/ log/
$ ./tar-exclude.sh
myapp/
myapp/etc/
myapp/etc/app.conf
myapp/etc/disk.conf
myapp/log/
myapp/bin/
myapp/bin/start
myapp/bin/stop
스크립트
#!/...
파일처리_15 gzip 명령어로 압축률 높이기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: 압축률, gzip 형식
키워드: 암호, 암호화, zip 파일
사용처: 다른 프로그램과 연계하기 위해 암축 형식은 gz 그대로이지만 압축률을 높이고 싶을 때
실행예제
$ ./gzip.sh
$ ls
archive.tar.gz gzip.sh log
스크립트
#!/bin/sh
tar cf archive.tar log
# -9 옵션으로 압축률을 최대로 함
gzip -9 archive.tar # -------- 1
해설
이 스크립트는 디렉터리 log를 tar 아카이브한 다음에 gzip으로 압축합니다. ...
파일처리_14 중요한 파일을 암호 걸어서 zip으로 아카이브하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: zip
키워드: 암호, 암호화, zip 파일
사용처: 중요한 정보를 담은 로그 파일 등을 암호가 있는 zip으로 아카이브 할 때
실행예제
$ ./passzip.sh
Enter password: <--------------------------- 암호를 입력함
Verity password: <--------------------------- 암호를 입력함
adding: log/ (stored 0%)
adding: log/access.log-20210322 (deflated 43%)
addin...
파일처리_13 로컬 디렉터리에 파일을 만들지 않고 직접 원격 호스트에 아카이브하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: tar, ssh, cat
키워드: tar 아카이브, 원격 호스트, 중간 파일
사용처: tar 아카이브를 작성해서 원격 호스트에 복사하면서 중간 파일을 만들지 않고 직접 복사하고 싶을 때
실행예제
$ ./tar-ssh.sh
myapp/log
myapp/log/20131201.log
myapp/log/20131202.log
스크립트
#!/bin/sh
username="user1"
server="192.168.1.5"
tar cvf - myapp/log | ssh ${username}@${server} "cat &g...
197 post articles, 29 pages.