시스템

리눅스 실무기술 300 정리

JihwanGo 2020. 12. 24. 15:00
반응형

* useradd rsyoung    /etc/login.defs, /etc/default/useradd 파일을 참조하여
        /etc/passwd 파일에 등록. ID/ UID/ GID, home 디렉토리, 쉘 정의
        /etc/shadow 파일에 password 정보등록

    /home/rsyoung 생성
    /etc/skel/ 모든 파일 (히든파일포함)을 /home/rsyoung 에 복사함
    /var/spool/mail/rsyoung 메일박스를 생성함

* passwd에 대한 간략한 정보

    passwd -s <userid>

* userdel

    userdel <userid>
        /etc/passwd
        /etc/shadow
        /etc/group
        파일에서 해당 id 제거

    userdel -r <userid>
        /home/<userid>
        /var/spool/mail/<userid>
        파일까지 제거

    userdel -f <userid>
        심지어 로그인중이라도 삭제 ㅠ.ㅠ (잔인한놈 ㅋㅋㅋ)

* w

    현재 시스템에 접속한 정보 확인

* last, last reboot

    시스템의 부팅정보

* who -d

    죽어있는 프로세스 정보 확인

* chsh -l

    /etc/shells의 내용을 보여줌
        : chsh은 기본쉘을 변경하는 것임. 기본쉘은 로그인쉘을 의미하며 
          /etc/passwd의 값이 변경됨
    현재쉘을 변경하는 명령은
        /bin/sh
        /bin/csh
        /bin/bash

* logname

    서버에 접속할 당시의 이름. rsyoung --> root --> mybrain으로 사용자를 변경해도
    logname은 rsyoung임

* users

    서버에 접속해있는 사용자들의 계정만을 확인하는 명령. 
    참조하는 파일
        /var/run/utmp   
        /var/log/wtmp

* chage

    aging 정보 변경하기. aging 정보는 /etc/passwd 파일에 저장됨    

* ls -a

    . 시작하는 파일 리스트 (not hidden file only)

* ls -A

    ., .. 제외

* ls -F

    파일종류 표시
        regular file: none
        execution file: *
        directory: /
        symbolic link: @
        FIFO file: |
        socket file: =

* ls -n

    UID/ GID 표시

* ls -1

    file명만 리스트

* ls -alRSh | more

    recursively 디렉토리까지 파일 크기별로 (K,M,G) 단위 표시

* 홈 디렉토리의 위치는  /etc/passwd 파일에 지정되어있고 로그인하면 쉘환경변수 HOME에 저장함

 

* cat -b <text file>

    행번호를 붙혀서 출력, 빈행은 번호를 붙히지 않음

* cat -n <text file>

    빈행도 번호를 부여함

* cp -rp <dir1> <dir2>

    원본파일의 소유자, 그룹소유자, 권한, 시간정보등을 보존하면서 복사하기

* mv -u

    이동하려는 파일이 더 최근것일경우만 이동시킴

* rename test test0 test?

    test? 파일에 대해서 test로 시작하는 prefix를 test0로 변경
    test1 --> test01

* rename .htm .html *.htm

    *.htm 파일에 대해서 .htm --> .html로 변경

* more 명령

   - b : 한페이지씩 앞으로 이동
   - = : 현재 위치의 행번호 표시하기
   - /문자열 : 지정한 문자열을 검색하기
   - n : /문자열로 검색한 문자열을 차례대로 계속해서 찾기
   - !쉘명령어: more 명령어 상태에서 쉘명어를 실행하기
   - v : more 명령어로 열려있는 파일의 현재위치에서 vi를 실행하기

* head 명령어로 바이트단위로지정하여 확인

   head -c 200 website

*less 명령

  - space bar or f : 현재페이지에서 한페이지 뒤로 이동
  - b : 현재페이지에서 한페이지 앞으로 이동
  - Enter : 한행씩 차례대로 뒤로 이동
  - 숫자 + n: 원하는페이지 만큼 뒤로 이동 (이후부턴 n만 클릭)
  - q : 종료

*로그파일 실시간 모니터링

  - $ tail -f /var/log/messages
  - $ tail -f /var/log/secure
  - $ tail -f /va/log/maillog

* 파일 내용을 행단위로 거꾸로 출력하기

  - $ rev <file name>

* 탭을 공백문자로 변경

  - $ cat <file name> | expand -t <# of space>
  - Tab이 # of space만큼 공백으로 변경됨

* 지정한 파일의 시간정보를 특정파일의 날찌시간과 동일하게 변경

  - tourch -r <original file> <target file>
  - <target file>이 <original file>과 동일한 시간으로 변경됨

* 특정 파일내에서 가장 긴 행의 길이 확인

  - $ wc -L <file name>

* 특정 디렉토리내에 존재하는 전체 디렉토리개수 확인하기

  - $ ls -Rl /etc | grep "^d" | wc -l

* 특정 파일내용을 지정한 열을 기준으로 정렬

  - $ sort -k 2 textfile

* 현재 디렉토리내의 파일들을 용량기준으로 오름차순 정렬

  - $ ls - l /var/log | sort -k 5

* 현재 디렉토리내의 파일들을 용량기준으로 내림차순 정렬

  - $ ls -l /var/log | sort -rk 5

* 지정한 파일의 모든 영문자를 대문자로 바꾸기

  - $ cat trtest | tr '[a-z]' '[A-Z]'

* 지정한 파일내의 특정문자 삭제

  - $ cat trtest | tre -d <삭제할 문자>

* /etc/passwd의 구조

  ----------------------------------------------------------------------------------------------------------------------
  ID : password: UID : GID : Description : Home Directory : Shell
  ----------------------------------------------------------------------------------------------------------------------

  rsyoung: x : 500 : 500 : my username : /home/rsyoung : /bin/bash

  (1)         (2)  (3)     (4)            (5)                  (6)                   (7)

*/etc/passwd 파일에서 ID, 패스워드자리, UI만 출력

  - $ cut -d : -f 1, 2, 3 /etc/passwd

* 바이트만 잘라내기

  - $ cut -b1 /etc/passwd  (첫바이트)
  - $ cut -b1,2,3 /etc/passwd (1, 2, 3 바이트)
  - $ cut -b-10 /etc/passwd (처음부터 10 바이트)
  - $ cut -b10- /etc/passwd (10부터 마지막바이트)

* 파일 종류를 확인하는 file 명령어가 참조하는 파일

  - /usr/share/file/magic
  - /usr/share/file/magic.mgc
  - 위 두 파일을 참조하여 파일 종류를 표시해 줌.

* type 명령으로 리눅스 명령어의 종류 확인

  - $ type test

* 표준입력되는 문자열을 가로 -> 세로순으로 정렬

  - $ cat group | column -x

* 표준입력되는 무자열을 특정문자를 기준으로 가로정렬

  - $ cat group | column -t -s :

* dd로 파일복사하기

  - $ dd if=<input file> of=<output file>

* 두파일이 동일한지 검사

  - $ diff --brief <file 1> <file 2>

* 파일 세개 비교

  - $ diff3 <file1> <file 2> <file 3>

* grep

  - Globally find Regular-Expression and Print의 약자
  - egrep = grep -E
  - fgrep = grep -F
  - 대소문자 구분없이 검색 : -i

* 특정 디렉토리내에서 디렉토리리스트만 확인

  - $ ls -l /etc | grep "^d"

* 특정 디렉토리내에서 일반파일리스트만 확인

  - $ ls -l /etc | grep "^-"

* 특정 디렉토리내에 존재하는 파일들 한번에 편집하는 명령어 만들기

  - $ ls -l | grep "^-" | awk '{print "vi "$8}'

*awk

  - 1977년 Bell 연구소의 Alfred v. Aho' Peter j. Wenberger, Brian W. Kernighan이 만듬

* /home 디렉토리의 각 계정별로 압축하는 명령어 만들기

  - $ ls -l /home | grep "^d" | awk '{print "tar cvfpz " "/backup/"$8".tar.gz" "/home/"$8}'
  - Shell 파일 생성후 실행함

* 공백을 TAB 문자로 대체하는 unexpand

  - $ cat spacefile | unexpand

* Symbolic Link vs. Hard Link

  - Symbolic Link: 원본파일을 가르키도록 링크만 시켜둔 것 (다른 파일시스템에서 적용됨)
  - Hard Link: 다른 이름으로 존재하는 동일한 파일 (다른 파일시스템에서 적용안됨)

* 기본 명령어에 대한 심볼릭 링크 관리기 alternatives

  - /etc/alternatives 디렉토리와 /var/lib/alternatives 디렉토리에는 많은 링크파일들의 설정이 정의되어 있으며 시스템 설치시에 기본적으로 정의되어 있는 링크파일들의 설정값

* 비어있는 파일 찾기

  - $ find / -empty -exec ls -l {} \;
  - {}는 검색된 파일이 하나씩 치환됨을 의미

* 최근 몇시간 이전(후)에 사용된 적이 있는 파일 검색

  - $ find /home/rsyoung -atime -100 -exec ls -l {} \;

* 특정명령어의 간략한 도움말 확인하기

  - $ whatis find

* 실행파일, 소스, man페이지파일의 위치를 찾기

  - $ whereis -b ifconfig

* 파일시스템의 용량이 0인 모든 파일 시스템을 대상으로 디스크용량 확인

  - $ df -a

* 디스크용량을 파일 시스템의 종류와 함께 표시

  - $ df -T

* 특정 디렉토리의 전체 사용량 점검

  - $ du -s /etc

* hdparm로 디스크의 기본 설정정보 확인

  - $ hdparm /dev/hdc1

* hdparm 명령어로 버퍼링되어있지 않은 데이터의 디스크 ACCESS 속도 체크하기

  - $ hdparm -t /dev/sda

*hdparm 명령어로버퍼링되어 있는 데이터와 되어있지 않은 데이터의 ACCESS 속도 비교하기

  - $ hdparm -tT /dev/sda

* IDE 하드디스크 휴지 또는 준비상태로 전환하기

  - $ hdparm -Y /dev/hdc
  - $ hdparm -y /dev/hdc

* 하드디스크에 배드블럭 존재 유무 검사

  - $ badblocks -v /dev/sda1

* 어떤 디스크가 장착되어있는지 확인하기

  - $ df 
  - $ fdisk -l /sda7    (root 명령으로 확인)

  - $ fdisk -l   (root 명령으로 확인)

* 대용량 디스크 파티션 (2TB 이상) - parted

  - 리눅스의 모든 파티션들은 msdos 레이블만을 사용함
  - 리눅스의 부트로더인 LILO와 GRUB은 msdos 디스크 레이블만을 인식
  - 2TB 이상되는 디스크는 gpt라는 레이블을 사용해야함
  - gpt 레이블은 LILO와 GRUB에서 인식되지 못하므로 시스템디스크 같은 부팅디스크는 gpt 레이블을 사용해서는 안됨.

* /etc/fstab 파일 구조

  - [파일시스템장치명] [마운트포인트] [파일시스템종류] [옵션] [dump관련설정] [파일점검옵션]
  - [옵션의 종류]
    + defaults: rw, nouser, auto, exec, suid 속성을 모두가지는 속성
    + auto: 부팅시 자동마운트
    + exec: 실행파일이 실행되는 것을 허용하는 파일 시스템
    + suid: SetUID와 SetGID의 사용을 허용하는 파일 시스템
    + ro: 읽기전용
    + rw: 읽고 쓰기 파일시스템
    + user: 일반 계정사용자들도 마운트 할수 있는 파일 시스템
    + nouser: 일반 사용자들은 마운트 할 수 없는 파일 시스템 (root만 마운트)
    + noauto: 부팅시 자동마운트되지 않게 함
    + noexec: 실행파일을 실행되지 못하게 하는 파일시스템
    + nosuid: SetUID와 SetGID의 사용을 허용하지 않는 파일 시스템
    + usrquota: 개별 사용자의 쿼타 설정이 가능한 파일 시스템
    + grpquota: 그룹별 쿼타설정이 가능한 파일 시스템

  - [dump관련 설정]
    + 1: 데이터백업등을 위해 dump가 가능한 파일시스템
    + 0: dump 명령으로 덤프되지 않은 파일시스템

  - [파일점검 옵션]
    + 0: 부팅시 실행되는 fsck가 실행되지않게 설정
    + 1: 루트파일 시스템 
    + 2: 루트파일 시스템 이외의 파일 시스템

* mke2fs로 파일시스템 생성하기전에 배드블럭 검사하기

  - $ mke2fs -t ext4 -c /dev/sdb1

* 파일시스템 생성시에 예비블럭 크기 지정

  - $ mke2fs -t ext4 -m 20 /dev/sdb1
  - 전체 파일시스템의 20%를 예비블럭으로 생성

*e2fsck명령어로 특정 파일시스템의 점검및 복구

  - $ e2fsck /dev/hdc2
  - /dev/hdc2가 unmount된 상태에서 수행해야 함

* 백업수퍼블럭을 이용한 파일 시스템 보구

  - $ dumpe2fs /dev/sda3 | grep superblock   (Superblock 위치확인)
  - $ e2fsck -b 98304 -f -y /dev/hdc2
  - $ e2fsck -b 98304 -j ext3 -y /dev/hdc2   (ext3 filesystem의 경우)

* e2fsck로 배드블럭 마킹

  - $ e2fsck -j ext3 -cv /dev/sda3
  - e2fsck 옵션에서 badblocks를 실행하여 배드블럭을 찾은 후에 디스크의 배드블럭 아이노드에 추가하여 마크함으로써 배드블럭을 사용하지 못하도록 하는 방법

* e2fsck로 손상된 파일시스템 자동복구

  - $ e2fsck -b 98304 -p /dev/hdc2
  - 옵션 -p가 없으며 질문에 답을 해야함..해넘어갈 수 있음 ^^;

* 특정 파일시스템의 상세정보와 그 사용내역확인

  - $ dumpe2fs /dev/sda3

* 특정 파일시스템의 수퍼블럭만 확인

  - $ dumpe2fs -h /dev/sda3

* tune2fs로 특정 파일시스템의 수퍼블럭 정보 확인

  - $ tune2fs -l /dev/sdb1

* 파일시스템 디버거 debugfs

  - $ debugfs
  - q: 종료
  - help: 도움말
  - params: 실행옵션에 대한 파라미터 보기

* 리눅스에서 삭제된 파일들의 inode목록 확인

  - $ debugfs -w /dev/sd3
  - lsdel

* 현재 상태에서 사용가능한 debugfs 명령어 확인

  - lr

* nice값 조정하기

  - $ renice -15 -p 2010
  - $ renice +10 -p 3999


* 각 프로세스 명령해 옵션들까지 pstree로 확인하기

  - $ pstree -a

* 현재 프로세스와 그 조상 프로세스를 강조하여 pstree 결과 출력

  - $ pstree -h

* 각 프로세스들의 PID를 함께 표시하여 pstree 출력

  - $ pstree -p

* pstree의 결과를 긴출력이 있더라도 그대로 출력

  - $ pstree -l

* 프로세스 이름으로 정렬하여 pstree 출력

  - $ pstree -n

* bg를 이용하여 백그라운드로 프로세스 실행

  - $ jobs
  - $bg %1
  - Ctrl + Z로 foregroud process 를 Stop 시킬 수 있으며, jobs로 확인가능

* 백그라운드 프로세스를 포그라운드로 전환

  - $ fg %1

*kill 명령어에서 사용 가능한 시그널들 모두 확인하기

  - $ kill -l

* chkconfig로 관리되는전체 리스트 확인

  - $chkconfig --list

* 특정파일이나 특정 디렉토리를 사용하고 있는 프로세스 모두 죽이기

  - $ fuser -k /usr/sbin/httpd

* 특정 데몬 (프로세스) 파일이 사용하고 있는 상세정보 확인

  - $ fuser -v /usr/sbin/httpd

* jobs로 실행중인 프로세스들의 PID 확인

  - $ jobs -l
  - $ jobs -p

* 특정 프로세스의 PID를 출력하는 pidof

  - $ pidof httpd

* 현재 마운트된 정보 자세히 살펴보기

  - $ mount -v
  - $ cat /etc/mtab

*free 명령어로 시스템 메모리 사용현황 확인

  - $ free

* free 명령어로 메모리사용현황 정보를 초단위 갱신하여 확인

  - $ free -s 3

* 시스템 부하율 점검

  - $ uptime

* top

top - 15:09:38 up  4:56,  3 users,  load average: 0.07, 0.08, 0.06
        [현재시간] [up time] [사용자]  [1분, 5분, 15분 각각의 평균부하율]     

Tasks: 188 total,   1 running, 187 sleeping,   0 stopped,   0 zombie
  [전체 프로세스수]  [running]  [sleeping]         [stopped]     [zombie]


Cpu(s): 11.7%us,  6.3%sy,  0.0%ni, 82.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
          [사용자]     [시스템]   [nice 정책]   [idel]   [I/O waiting]  [IRQ]   [soft IRQ]   [Steal값] 

Mem:   6057416k total,  1978864k used,  4078552k free,   358080k buffers
           [Total]                 [Used]               [Free]                 [버퍼링된 메모리양]    

Swap: 12000516k total,        0k used, 12000516k free,   770520k cached
          [Total]                       [Swap된양]   [Free]              [캐싱메모리양]

* top의 결과를 메모리 사용율이 높은 프로세스 순서로 정렬

  - $ top
  - SHIFT + M

* top의 결과를 실행시간이 오래된 프로세스 순서대로 정렬

  - $ top
  - SHFIT + T

* top의 결과를 idle 프로세스들을 모두 감추고 확인

  - $ top
  - i

* top 상태에서 특정 프로세스 죽이기

  - $ top
  - k

* top 상태에서 프로세스들의 우선순위 조정

  - $ top
  - r

* top 상태에서 특정 사용자가 실행한 프로세스 확인

  - $ top
  - u

* 시스템 각 계정의 최근 접속 정보 확인

  - $ lastlog

* 자주 사용하는 ssh 명령어 alias 설정으로 간편하게 사용하기

  - $ alias ssh123='ssh -l rsyoung abc.def.ghi.jkl'

* 휴대용 시스템의 전원관리 정보를 확인하는 apm

  - $ cat /proc/apm
  - APM (Advanced Power Management)

* 히스토리파일 (.bash_history)에 저장된 최근 명령어리스트 확인

  - $ fc -l
  - $ fc -l 250 260  (범위지정)
  - $ fc -ln 250 260 (번호 생략)

* 최근에 사용했던 명령어를 지정된 편집기로 편집한 다음 실행

  - $ fc -e vi


* 터미널에 작업중인 내용을 텍스트 형태로 모두 저장하기

  - $ script
  - exit
  - $ script <filename>
  - exit


* 일정기간 이상 사용되지 않은 파일은 자동삭제

  - $ tmpwatch --mtime 10 /home/rsyoung


* shutdown 명령어가 실행된 후 시스템 종료 절차

  - sych 작업
  - 종료메시지 전달 to 사용자
  - 새로운 사용자 로그인 금지
  - 지정된 시간내에 종료안된 프로세스 강제 종료
  - 지정된 시간내 로그아웃 안된 사용자 강제 로그아웃
  - 메모리에 남아있는 데이터를 디스크에 저장
  - 시스템 종료에 관련된 정보를 시스템 로그파일에 기록 (wtmp, utmp)
  - 마운트되어 있는 디바이스들을 마운트 해제
  - 시스템 종료

* init 프로세스의 의미

  - PID 1번
  - swapper (PID 0번, 커널의 일부)가 init 프로세스를 생성함

* 하드웨어시간과 운영체제 시간 확인

  - $ hwclock -r
  - $ date

* 운영체제 시간을 참조하여 하드웨어 시간 재설정

  - $ hwclock -w

* 파일 허가권 종류

  - permission
  - attribution
  - SetUID, SetGID, StickyBit

* 특정파일에 SetUID Bit 설정하기

  - $ chmod 4<xxx> testfile
  - SetUID가 설정된 파일을 실행하였을 경우 실행되는 동안 실생시킨 사용자의 권한이 아닌 파일 소유자권한으로 실행한다.

* 특정 디렉토리에 Sticky Bit 설정하기

  - $ chmod 1<xxx> testdir
  - testdir 디렉토리내에서 특정 파일을 생성하면 생성한 사용자의 소유로 파일이 생성됨

* SetUID의 대문자 S의 의미

  - SetUID는 설정하였지만 일반퍼미션에 소유자퍼미션자리에 실행권한이 설정되지않았기 대문에 S로 마킹됨.  Sticky Bit의 T도 동일한 의미임.

* Attribution - chattr & lsattr

  - chattr 명령어는 파일과 디렉토리의 속성을 지정하는 명령어
  - $ lsattr rc.local

*특정파일에 삭제, 변경, 추가등을 불가능하게 속성부여

  - $ chattr +i rc.local
  - $ lsattr rc.local
  - i : immutable
  - a: secure deletion - 파일삭제시 해당 블럭이 모두 0으로 셋팅
  - S: synchronous updates

* 특정 파일이 어떤 패키지에 의해 설치된 파일인가 확인

  - $ rpm -qf /bin/ps

* 특정 패키지에 의해 설치된 모든 파일들 확인

  - $ rpm -ql httpd

* 특정 패키지에 의해 설치된 파일들의 정상여부 점검

  - $ rpm -qs htdtp-2.2.10-2.i386

* 특정 RPM 패키지의 설정파일들만 확인하기

  - $ rpm -qc httpd

* 설치된 특정 RPM 패키지의 문서파일위치 확인

  - $ rpm -qd quota

* RPM 패키지 의존성 관계 확인하기

  - $ rpm -qRp quota-3.16-5.fc10.i386.rpm

* 설치된 RPM 패키지 변경 가능성 여부 검증하기

  - $ rpm -V httpd-2.2.10-2.i386

* yum을 이용한 업데이트 가능한 패키지 리스트 확인하기

  - $ yum list all   (이미 설치되어있는 목록)
  - $ yum list available (설치 가능한 모든 패키지)
  - $ yum list updates (업데이트 가능한 패키지 리스트)
  - $ yum list installed <패키지 명>   (패키지의 인스톨여부 확인)

* 라우팅설정과 라우팅 테이블 확인하는 route

  - $ route
  - $ netstat -rn

* 특정 ethernet으로 송수신되는 패킷을 파일에 저장

  - $ tcpdump -i eth0 -w TCPDUMP
  - $ tcpdump -r TCPDUMP

*ping

  - ICMP (Internet Control Message Protocol) 프로토콜 사용

* 특정 도메인명의 호스트 통신경로 확인하기

  - $ traceroute www.daum.net

* nmap

  - nmap은 사용자가 지정한 네트워크와 호스트 (서버)들을 대상으로 보안측면에서 취약한 점이 있는가를 스캐닝할 수 있고 포트기반을 스캐닝할 수 있다.
  - 옵션
    + -sS: TCP SYN 스캔
    + -sT: TCP 연결 스캔
    + -sF -sX -sN: Stealth FIN, Xmas Tree, 또는 Null 스캔모드
    + -sP: Ping 스캐닝
    + -sU: UDP 스캐닝
    + -sO: IP 프로토콜 스캔
    + -sI <zombie host[:probeport]: Idlescan
    + -sA: ACK 스캔
    + -sW: Window 스캔
    + -sR: RPC 스캔
    + -sL: List 스캔

* nmap으로 로컬 서버 스캔해보기

  - $ nmap -sT -O -v localhost

* 현재 시스템에 열려있는 서비스와 포트 점검

  - $ lsof | grep LISTEN

* 특정파일이 사용하는 서비스데몬 (프로세스) 확인

  - $ lsof /lib/libdb-4.0.so

* 현재 열려진 포트를 사용하고 있는 프로세스 확인

  - $ lsof | grep <port num>

*현재 시스템에 열려져있는 TCP 포트 점검

  - $ lsof -i TCP | grep LISTEN

* 환경변수 적용하여 root로 변경

  - $ su - root

* sudo

  - sudo 명령어는 /etc/sudoers 파일에 설정되어 있는 허가된 사용자들에 한하여 허용
  - 일반사용자에게 root 사용자만 사용할 수 있는 명령어들의 사용을 허용하고자 할때 사용

* 쿼타파일의 위치

  - 파일시스템의 루트에 위치해야함
  - aquota.user, aquota.group

* 시스템로그파일 관리를 위한 logrotate

  - /usr/sbin/logrotate
  - /etc/cron.daily/logrotate
  - /etc/logrotate.conf
  - /etc/logrotate.d

*logwatch의 시스템 로그분석 결과 보고

  - $ /usr/sbin/logwatch

* /etc/fstab에 설정된 모든 스왑파일시스템을 스왑영역으로 설정

  - $ cat /etc/fstab
  - $ swapon -a     (swapoff -a , 스왑해제)

* 시스템크론 데몬

  - 시작:
    + $ /etc/rc.d/init.d/crond start
    + $ service crond start
  - /etc/crontab
    + 01 * * * * root run-parts /etc/cron.hourly  : 매시 1분마다 실행
    + 02 04 * * * root run-parts /etc/cron.daily  : 매일 4시 02분마다 실행
    + 22 4 * * 0   root run-parts /etc/cron.weekly: 매주 일요일 4시 22분마다 실행
    + 42 4 1 * *   root run-parts /etc/cron.monthly: 매월 1일 4시 42분 마다 실행

* 일반 사용자의 crontab 명령어 사용허가 또는 제한

  - $ cat /etc/cron.allow

* crontab으로 설정한 개별사용자의 cron 설정, 파일로 확인

  - $ cat /var/spool/cron/<userid>

* root 권한으로 일반 사용자의 cron 설정

  - $ crontab -u <userid> -e

* root 권한으로 root의 cron 설정내용 확인하는 방법

  - $ crontab -l

* root 권한으로 일반 사용자의 cron 설정내용 확인

  - $ contab -u <userid> -l

* at으로 예약작업 설정하기

  - $ at -f /root/backup.sh 22:05  (22시 05분에 예약)
  - $ atq   (큐확인)
  - $ atrm <id>   (큐에서 id 삭제)
  - $ at -f /root/backup.sh 1pm+1days   (1일 후 오후 1시)
  - $ at -f /root/backup.sh 10182015  (2015년 10월 18일로 설정)
  - $ ls -l /var/spool/at     (예약된 작업이 파일로 저장됨)
  - $ atrun    (큐에 있는 예약된 작업 바로 실행)
  - $ batch -f /root/backup.sh 20:00   (at과 동일)

* 커널 파라미터값 확인 및 설정하는 sysctl 사용법

  - $ cat /etc/sysctl.conf 

* 현재 커널의 모든 파라미터값 확인

  - $ sysctl -a

* 커널의 특정 파라미터값 변경하기

  - $ sysctl -a | grep kernel.sysrq 
  - $ sysctl -w kernel.syssrq=1
  - $ cat /proc/sys/kernel/sysrq

* modprobe 명령어로 로드되어있는 모듈 제거하기

  - $ modprobe -r birdge

* modprobe 명령어로 현재 사용되고 있는 커널모듈 설정확인

  - $ modprobe -c
  - $ modprobe -d | grep <모듈명>

*modprobe 명령어로 전체(특정) 커널모듈 파일 확인하기

  - $ modprobe -l
  - $ modprobe -l | grep <모듈명>

* 커널모듈 정보를 확인

  - $ lsmod
  - $ cat /proc/modules

* 리눅스 커널모듈의 의존성관계 재설정

  - $ depmod -a
  - 리눅스 부팅과정에서 "Finding modules dependance..." 에러가 발생할 경우 싱글모드로 들어가서 depmod -a 실행

반응형