11. mkfs(리눅스 파일 시스템 생성 명령어) |
1) 경로
/sbin/mkfs
/sbin/mkfs.bfs
/sbin/mkfs.ext3
/sbin/mkfs.jffs2
/sbin/mkfs.reiserfs
/sbin/mkfs.cramfs
/sbin/mkfs.ext4
/sbin/mkfs.minix
/sbin/mkfs.ubifs
/sbin/mkfs.ext2
/sbin/mkfs.ext4dev
/sbin/mkfs.msdos
/sbin/mkfs.vfat
2) 요약 : 리눅스 파일 시스템을 만듦
3) 사용 방법 : mkfs [옵션] 장치명 [크기]
4) 옵션
-V : 실행한 파일 시스템의 의존적인 명령어를 포함한 상세한 정보를 출력
-t 파일 시스템 형태 : 생성할 파일 시스템의 타입을 지정. 지정하지 않으면 기본 파일 시스템 타입은 ext2임
-c : 파일시스템을 생성하기 전에 디바이스의 배드 블록을 검사
-l(엘) 파일명 : 지정한 파일명으로부터 배드 블록 목록을 읽음
-v : 상세한 정보 출력
5) 추가 설명
mkfs 명령어는 지정한 타입의 파일 시스템을 생성 합니다. 그 중에는 ext2, ext3, vfat 등의 다양한 파일 시스템을 만들 수 있습니다. 시스템에서 지원하는 파일 시스템 타입은 /sbin/mkfs로 시작하는 명령어를 확인할 수 있습니다.
# ls /sbin/mkfs*
/sbin/mkfs /sbin/mkfs.ext2 /sbin/mkfs.ext4dev /sbin/mkfs.ntfs
/sbin/mkfs.bfs /sbin/mkfs.ext3 /sbin/mkfs.minix /sbin/mkfs.vfat
/sbin/mkfs.cramfs /sbin/mkfs.ext4 /sbin/mkfs.msdos
프라이머리나 슬레이브 파티션 구성은 fdisk -l 명령으로 확인할 수 있습니다.
# fdisk -l /dev/hdb
Disk /dev/hdb: 255heads, 63 sectors, 2491 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End BlocksId System
/dev/hdb 111275 10241406 83 Linux
/dev/hdb 212762491 9767520 83 Linux
/dev/hdb는 2개의 Linux 파티션으로 나누어져 있습니다. /dev/hdb2 파티션을 ext2 파일 시스템으로 생성해 봅니다. 새로 파일 시스템을 만들 디바이스명을 입력합니다.
# mkfs -t ext2 /dev/hdb2
mke2fs 1.23, 12-May-2020 for EXT2 FS 0.5b, 95/08/09
Filesystem label =
OS type : Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1221600 inodes, 2441880 blocks
122094 blocks (5.00%) reserved for the super user
First data block=0
75 block groups
32768 blocks per group, 32768 fragments per group
16288 indoes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
12. nice(우선 순위 변경) |
1) 경로 : /bin/nice
2) 요약 : 프로세스의 스케쥴링 우선 순위를 변경
3) 사용 방법 : nice [옵션] [명령어[인수]...]
4) 옵션
-n 조정수치, -조정수치, --adjustment=조정수치 : 우선 순위에 10 대신 조정 수치로 변경
--help : 사용법 출력
--version : 버전 정보 출력
5) 추가 설명
nice 명령어는 실행할 프로그램의 우선권을 변경할 수 있습니다. 만약 인수를 지정하지 않으면 현재의 스케쥴링 우선권을 출력합니다. 인수를 지정하면 변경한 스케쥴링 우선권으로 실행합니다. 조정 수치를 생략하면 명령어의 우선권은 10으로 실행합니다. nice 명령으로 조정할 수 있는 범위는 -20(가장 높은 우선권)에서 19(가장 낮은 우선권)까지 입니다.
참고로 슈퍼 유저만이 마이너스(-)의 조정 수치로 변경할 수 있습니다.
nice 명령어에서는 양수일 때를 -를, 음수일 때 --를 기호로 사용하지만 renice 명령어에서는 양수일 때 -를 사용하지 않습니다.
nice 명령어는 실행할 프로그램의 우선 순위를 변경하지만, renice 명령어는 이미 실행되어 있는 프로세스의 우선 순위를 변경합니다.
# nice -7 /usr/bin/vi &
ps -l 명령으로 우선 순위 7로 변경된 것을 확인할 수 있습니다. 우선 순위는 PRI 필드에 나타납니다.
# ps -l 4131
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 T 1000 4131 2288 0 82 7 - 1002 signal pts/0 0:00 /usr/bin/vi
vi를 백그라운드 프로세스로 두개를 생성합니다.
$ vi &
$ vi &
ps aux 명령으로 vi의 프로세스 ID를 살펴봅니다.
$ ps aux | grep vi
user 3653 0.0 0.1 4008 1264 pts/0 T 07:32 00:00 vi
user 3656 0.0 0.1 4008 1268 pts/0 T 07:32 00:00 vi
user 3658 0.0 0.0 3148 804 pts/0 S+ 07:33 0:00 grep --color=auto vi
renice -3 명령으로 3653번 프로세스에 우선 순위 -3을 부여합니다. 음의 우선 순위는 슈퍼 유저 권한으로만 실행할 수 있습니다. 단 일반 사용자가 실행하면 퍼미션 에러가 발생합니다.
$ renice -3 3653
renice: 3653: setpriority: Permission denied
아래와 같이 슈퍼유저 권한으로 음의 우선 순위를 변경할 수 있습니다.
$ sudo renice -3 3653
[sudo] password for user:
3634: old priority 3, new priority -3
3656 프로세스에는 6의 우선 순위로 변경합니다.
$ renice 6 3756
3656: old priority -2, new priority 6
ps -l 명령으로 프로세스 3653 3656의 변경된 우선 순위를 확인할 수 있습니다. 각각 -3과 6의 우선 순위를 가지고 있는것을 확인할 수 있습니다.
$ ps -l 3653 3656
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 T 1000 3653 2288 0 77 -3 - 1002 signal pts/0 0:00 vi
0 T 1000 3656 2288 0 86 6 - 1002 signal pts/0 0:00 vi
13. nohup(hangup 시그널 무시) |
1) 경로 : /usr/bin/nohup
2) 요약 : 실행 중인 프로세스가 행업 시그널을 무시하고 파일로 출력
3) 사용 방법 : nohup 명령[인수...]
4) 추가 설명
nohup 명령어는 행업 시그널을 무시하고, 명령을 실행합니다. 예를 들어 대용량의 파일을 다운로드하거나 커널이나 안드로이드 처럼 소스의 크기가 방대한 프로젝트를 컴파일 할 경우 실행 프로세스는 터미널이 종료되더라도 백그라운드로 진행되면 편리합니다.
아래는 실행 프로세스의 표준 출력과 표준 에러를 nohup.out 파일에 저장합니다.
$ nohup make
안드로이드 소스를 받은 디렉터리로 이동하여 아래와 같이 실행합니다. 'result 2>&1'은 make의 표준 출력과 표준 에러를 result 파일에 저장학, 맨 끝의 '&'는 터미널이 종료되어도 백그라운드로 계속 실행하게 합니다.
$ nohup make > result 2>&1 &
위와 같이 nohup 명령어는 프로세스의 행업 시그널을 무시하고 우선권을 5만큼 증가시켜 로그 아웃 이후에도 계속 백그라운드로 실행합니다. 로그아웃 이후에도 백그라운드로 명령을 계속 수행하려면 반드시 &를 붙여야 합니다.
14. pidof(PID 확인) |
1) 경로 : /sbin/pidof
2) 요약 : 실행 중인 프로그램의 프로세스 IP를 찾음
3) 사용 방법 : pidof [옵션] 프로그램
4) 옵션
-s : 중복되는 프로세스 ID가 있을 때 하나의 프로세스 ID만 출력
-x : 스크립트와 함께 실행중인 프로세스 ID도 출력
-o pids : 지정한 프로세스(pids)를 제외하고 나머지를 출력
5) 추가 설명
pidof 명령어는 실행 프로세스의 ID를 확인할 때 유용합니다.
아래는 실행 중인 프로세스 중 vi와 관련된 정보만을 출력합니다.
$ ps aux | grep vi
user 3653 0.0 0.1 4008 1264 pts/0 T< 07:32 0:00 vi
user 3656 0.0 0.1 4008 1268 pts/0 TN 07:32 0:00 vi
아래와 같이 pidof 명령으로 해당 프로세스의 PID를 확인할 수 있습니다.
$ piddof vi
3656 3653
'IT 이야기 > Linux 명령어' 카테고리의 다른 글
[RHEL6] 프로세스 관리 명령어 5탄(slabtop, strace, taskset, telinit) (0) | 2020.05.13 |
---|---|
[RHEL6] 프로세스 관리 명령어 4탄(pmap, ps, pstree, renice) (0) | 2020.05.13 |
[RHEL6] 프로세스 관리 명령어 2탄(kill, killall, lockfile, lsof, mkfifo) (0) | 2020.05.12 |
[RHEL6] 프로세스 관리 명령어 1탄(fuser, init, ionice, ipcrm, ipcs) (0) | 2020.05.08 |
[RHEL6] 패키지 관리 명령어 3탄(rpm, rpm2cpio, rpmbuild, yum) (0) | 2020.05.07 |
댓글