파일처리_23 디렉터리에 있는 서브 디렉터리들의 디스크 사용량 조사하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: umask
키워드: 보안, 권한, umask
사용처: 디스크립트에서 권한을 지정해서 파일을 작성하고 싶을 때
실행예제
$ ./umask.sh
$ ls -l
total 8
-rw------- 1 user1 48 Dec 11 23:24 idinfo.tmp
-rwxr-xr-x 1 user1 39 Dec 11 23:17 umask.sh
스크립트
#!/bin/sh
umask 077 # ------------------------------------ 1
#echo 명령어 출력을 권한 600인 임시 파일로 생성
echo...
파일처리_23 디렉터리에 있는 서브 디렉터리들의 디스크 사용량 조사하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: du, sort
키워드: 디스크 사용량, 파일 크기
사용처: 디렉터리마다 디스크 사용량을 표시하고 싶을 때
실행예제
$ ./du-sub.sh
29116 /home/user1/myapp/data/dir1/
4716 /home/user1/myapp/data/dir2/
1020 /home/user1/myapp/data/dir3/
스크립트
#!/bin/sh
data_dir="/home/user1/myapp/data"
# $data_dir 디렉터리의 서브디렉터리 용량 표시
du -sk ${data_dir}/*/ | so...
파일처리_22 두 디렉터리를 비교해서 한 쪽에만 있는 파일 표시하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: find, sort, comm
키워드: 파일 목록, 디렉터리 비교
사용처: 두 디렉터리가 비슷한 구조일 대 한쪽에만 있거나 양쪽에 있는 파일을 보기 좋게 목록화하고 싶을 때
실행예제
$ ./find-comm.sh
./dav.conf
./default.conf
./info.conf
./mpm.conf
./ssl.conf
./userdir.conf
./vhosts.conf
스크립트
#!/bin/...
파일처리_21 두 파일을 비교해서 오래된 파일 삭제하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: test, rm
키워드: 타임스탬프, 새로운/오래된
사용처: 타임스탬프를 비교해서 어느 쪽이 오래되었는지 판단하고 싶을 때
실행예제
$ ./olddel.sh
[log2.log]->newer, [log1.log]->older
스크립트
#!/bin/sh
# 비교 대상 파일
log1="log1.log"
log2="log2.log"
# 인수 파일이 존재하는지 확인해서 존재하지 않으면 종료
filecheck() #-------------------------------------- 1
{
if [ ! ...
파일처리_20 처리 시작 전에 실행 권한을 확인해서 정상 동작이 가능한지 확인 후 실행하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: test, [
키워드: 파일 속성, 상태 확인, 파일 테스트, 권한
사용처: 스크립트 초기 설정 등에서 특정 파일의 존재 확인이나 권한 확인을 하고 싶을 때
실행예제
$ ./test.sh
start.
스크립트
#!/bin/sh
start_command="./start.sh"
if [ -x "$start_command" ]; then # ------------------ 1(if문 전체)
$start_command
else
echo "ERROR: -x $start_command failed." ...
파일처리_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"
...
195 post articles, 28 pages.