본문 바로가기

Linux/Commands Part

리눅스 명령어 300

여기에 기술된 모든 내용은 "리눅스 실무기술 300 - 박성수 저"를 기반으로 본인(?)에게 필요한 내용으로 요약되었습니다.

* 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 실행


-------------------------------------------------------------------------
원문 : http://linuxphil.blogspot.com/2011/06/300.html