24. sync(메모리 내용 저장) |
1) 경로 : /bin/sync
2) 요약 : 메모리를 디스크 자료로 동기화하여 저장
3) 사용 방법 : sync [--help] [--vesion]
4) 옵션
--help : 도움말 출력
--version : 버전 정보 출력
5) 추가 설명
sync 명령어는 메모리 공간에서 아직 디스크로 쓰여지지 않고 있는 버퍼링된 데이터를 저장합니다. 이것은 슈퍼 블록이나 아이노드의 변경된 사항은 물론 지연된 읽기와 쓰기를 포함할 수 있습니다.
데이터를 디스크에 읽고 쓰기는 속도가 매우 느립니다. 커널은 이런 I/O 처리 속도를 회피하기 위해 우선 메모리에 데이터를 저장하여 실행 속도를 증가시킵니다. 하지만 예기치 않은 원인으로 시스템이 종료된다면 메모리에 있던 자료는 모두 소실됩니다. 만일 종료되기 전에 사용자가 sync 하였다면 프로세서가 비정상으로 정지되더라도 버퍼링되어 있는 데이터는 디스크로 저장되어 자료가 보존됩니다. 또 다른 예로, USB 메모리에 파일을 복사한 후 바로 제거하면 파일이 복사되지 않는다. 이럴 경우엔 메모리 스틱을 제거하기 전에 sync 명령을 수행해야 합니다.
# sync
※ 동기화 : 동기화(Synchronization)는 서로 다른 속도로 동작하는 장치 간에 원활하게 동작할 수 있도록 동작의 진행을 일치시키는 작업을 말합니다. 유닉스에서는 메모리의 임시 내용을 하드 디스크에 저장하는 것을 싱크한다고 말합니다.
25. touch(빈 파일 만들기) |
1) 경로 : /bin/touch
2) 요약 : 빈 파일을 생성하거나 기존 파일의 시간을 변경
3) 사용 방법 : touch [옵션] 파일명
4) 옵션
-a : 접근 시간을 변경
-c, --no-create : 지정한 파일을 생성하지 않음
-d, --date=STRING : 현재 시간 대신 지정한 시간(STRING)으로 변경
-m : 파일의 변경 시간을 수정
-r, --reference=FILE : 지정한 파일(FILE)의 시간으로 변경
-t STAMP : 현재 시간 대신 지정한 시간으로 변경. [[cc]yy]mmddhhmm[.ss] 형식임([cc]yy년, mm:달, dd:일, hh:시, mm분, ss:초)
--help : 도움말 출력
--version : 버전 정보 출력
5) 추가 설명
touch 명령어는 최근에 파일에 접근한 시간과 최근에 파일을 변경한 시간(파일 내용이 변경된 시점)을 시스템의 현재 시간으로 변경합니다. 만인 파일이 존재하지 않으면 0바이트 크기의 빈 파일을 생성합니다.
아래는 chan.txt 라는 새로운 파일을 생성합니다.
# touch chan.txt
# ls -alh chan.txt
-rw-r--r-- 1 root root 0 Mar 24 2020 11:30 chan.txt
-t 옵션은 지정한 파일의 생성 시간을 변경할 수 있습니다. 예제에서 파일의 날짜를 2030년 6월 6일 01시 01분으로 변경했습니다. 날짜 형식은 [CC]YYMMDDHHMM ([CC]YY:년도 뒷자리, MM:월, DD(일), HH(시간), MM(분)의 형태로 지정합니다.
# touch -t 203060060101 chan.txt
위의 예제에서 연도가 2030이면 30으로 지정할 수 있습니다.
# touch -t 3006060101 chan.txt
# ls -alh chan.txt
-rw-r--r-- 1 chan chan 0 Mar 24 2020 11:35 chan.txt
26. xargs(표준 입력을 명령으로 실행) |
1) 경로 : /usr/bin/xargs
2) 요약 : 인자를 필터링하여 넘겨주고 명령어를 다시 조합하여 처리
3) 사용 방법 : xargs [옵션] 명령어
4) 옵션
--eof[=eof-str], -e[eof-str] : EOF 또는 지정한 문자열이 출력할 때까지 xargs를 통해 필터링을 수행
--help : 도움말 출력
--replace[=replace-str], -i[replace-str] : 인자로 문자열을 지정
--max-lines[=max-lines], -l(엘)[max-lines] : 공백이 없는 매개변수의 행을 지정
--max-args=mar-args, -n max-args : 표준 입력 수(max-args)를 지정
--interactive , -p : 명령을 실행할 때마다 사용자에게 확인을 요청
--max-chars=mar-chars : 명령 행의 최대 문자 크기(max-chars)를 지정
--verbose, -t : 상세한 정보를 출력
--version : 버전 정보 출력
--exit, -x : -s 옵션의 지정한 크기보다 클 경우 xargs를 종료
5) 추가 설명
xargs는 명령어에게 인자를 필터링해서 넘겨주고 지정한 명령어를 재 조합하여 실행합니다. 예제를 보면서 확인해 봅시다. 아래는 xargs 명령어의 조합으로 자주 사용하는 예제들입니다. 현재 디렉터리의 모든 파일을 하나씩 확인하면서 .gz 파일로 압축을 합니다.
# ls -| xargs -p -l gzip
현재 디렉터리의 파일을 한 행에 10개씩 출력합니다.
# ls | xargs -n 10 echo
apache라는 이름을 포함하는 패키지를 아래와 같이 삭제할 수 있습니다.
# rpm -qa | grep apache | xargs rpm -e --nodeps
27. zdump(타임 존 덤프) |
1) 경로 : /usr/sbin/zdump
2) 요약 : 타임 존의 시간을 출력
3) 사용 방법 : zdump [옵션] [zonename]
4) 옵션
-v : 자세한 정보를 출력
5) 추가 설명
zdump 명령어는 알ㅐ와 같이 타임 존에서 해당하는 시간 정보를 출력합니다.
# zdump EST
7EST Tue Mar 24 19:57:49 2020 EST
아래는 KST 타임 존의 시간을 출력합니다.
# zdump KST
KST Tue Mar 5 00:57:53 2020 KST
아래와 같이 타임 존의 디렉터리에는 모든 zone 데이터를 포함하고 있습니다.
# ls -F /usr/share/zoneinfo/
Africa/ Australia/ Cuba Etc/ GMT-0 Indian/ Kwajalein MST7MDT Portugal ROC Universal zone.tab
America/ Brazil/ EET Europe/ GMT+0 Iran leapseconds Navajo posix/ ROK US/ Zulu
Antarctica/ Canada/ Egypt GB Greenwich iso3166.tab Libya NZ posixrules Singapore UTC
Arctic/ CET Eire GB-Eire Hongkong Israel MET NZ-CHAT PRC Turkey WET
Asia/ Chile/ EST GMT HST Jamaica Mexico/ Pacific/ PST8PDT tzdata.zi W-SU
Atlantic/ CST6CDT EST5EDT GMT0 Iceland Japan MST Poland right/ UCT zone1970.tab
'IT 이야기 > Linux 명령어' 카테고리의 다른 글
[RHEL6] 커널 명령어 2탄(modprobe, rmmod, sysctl, update_drv) (0) | 2020.03.24 |
---|---|
[RHEL6] 커널 명령어 1탄(depmod, insmod, lsmod, modinfo) (0) | 2020.03.24 |
[RHEL6] 일반 명령어 5탄(readonly, rm, rmdir, sudo) (0) | 2020.03.24 |
[RHEL6] 일반 명령어 4탄(mv, printf, pd, readlink) (0) | 2020.03.23 |
[RHEL6] 일반 명령어 3탄(info, ln, ls, man, mkdir) (0) | 2020.03.23 |
댓글