본문 바로가기

ETC/자격증

[리눅스마스터]제1601회 리눅스마스터 1급 2차 시험 단답식 풀이 2

반응형

4. 다음 ( 괄호 ) 안에 알맞은 내용을 적으시오.

가. source.c와 code.c라는 C 소스파일을 이용해서
source.o와 code.o라는 오브젝트 파일을 생성한다.
# gcc ( ① ) source.c code.c

나. 두 개의 오브젝트 파일을 이용해서 program이라는
실행 파일을 생성한다.
# gcc ( ② ) source.o code.o

<조 건>
- 관련 옵션을 적는다.
- 옵션은 대소문자를 구분하고, 띄어쓰기, 기호등을 정확히 기술한다.
- 옵션과 관련된 인자값(argument)이 있는 경우에는 옵션과 같이 하나의 괄호에 기재한다. (예: -u posein)

 

gcc 주요 옵션

-o : 출력 파일 지정

-c : 오브젝트 파일 생성(컴파일만 진행)

-v : 컴파일 과정을 자세하게 출력

 

[root@server1 test]# gcc --help
Usage: gcc [options] file...
Options:
  -pass-exit-codes         Exit with highest error code from a phase
  --help                   Display this information
  --target-help            Display target specific command line options
  --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...]
                           Display specific types of command line options
  (Use '-v --help' to display command line options of sub-processes)
  --version                Display compiler version information
  -dumpspecs               Display all of the built in spec strings
  -dumpversion             Display the version of the compiler
  -dumpmachine             Display the compiler's target processor
  -print-search-dirs       Display the directories in the compiler's search path
  -print-libgcc-file-name  Display the name of the compiler's companion library
  -print-file-name=<lib>   Display the full path to library <lib>
  -print-prog-name=<prog>  Display the full path to compiler component <prog>
  -print-multiarch         Display the target's normalized GNU triplet, used as
                           a component in the library path
  -print-multi-directory   Display the root directory for versions of libgcc
  -print-multi-lib         Display the mapping between command line options and
                           multiple library search directories
  -print-multi-os-directory Display the relative path to OS libraries
  -print-sysroot           Display the target libraries directory
  -print-sysroot-headers-suffix Display the sysroot suffix used to find headers
  -Wa,<options>            Pass comma-separated <options> on to the assembler
  -Wp,<options>            Pass comma-separated <options> on to the preprocessor
  -Wl,<options>            Pass comma-separated <options> on to the linker
  -Xassembler <arg>        Pass <arg> on to the assembler
  -Xpreprocessor <arg>     Pass <arg> on to the preprocessor
  -Xlinker <arg>           Pass <arg> on to the linker
  -save-temps              Do not delete intermediate files
  -save-temps=<arg>        Do not delete intermediate files
  -no-canonical-prefixes   Do not canonicalize paths when building relative
                           prefixes to other gcc components
  -pipe                    Use pipes rather than intermediate files
  -time                    Time the execution of each subprocess
  -specs=<file>            Override built-in specs with the contents of <file>
  -std=<standard>          Assume that the input sources are for <standard>
  --sysroot=<directory>    Use <directory> as the root directory for headers
                           and libraries
  -B <directory>           Add <directory> to the compiler's search paths
  -v                       Display the programs invoked by the compiler
  -###                     Like -v but options quoted and commands not executed
  -E                       Preprocess only; do not compile, assemble or link
  -S                       Compile only; do not assemble or link
  -c                       Compile and assemble, but do not link
  -o <file>                Place the output into <file>
  -pie                     Create a position independent executable
  -shared                  Create a shared library
  -x <language>            Specify the language of the following input files
                           Permissible languages include: c c++ assembler none
                           'none' means revert to the default behavior of
                           guessing the language based on the file's extension

Options starting with -g, -f, -m, -O, -W, or --param are automatically
 passed on to the various sub-processes invoked by gcc.  In order to pass
 other options on to these processes the -W<letter> options must be used.

For bug reporting instructions, please see:
<http://bugzilla.redhat.com/bugzilla>.

 

[root@server1 test]# gcc hello.c
[root@server1 test]# ll
total 16
-rwxr-xr-x. 1 root root 8511 Mar 25 07:56 a.out
-rw-r--r--. 1 root root   78 Mar 25 07:56 hello.c

 

[root@server1 test]# gcc hello.c -o hello
[root@server1 test]# ll
total 28
-rwxr-xr-x. 1 root root 8511 Mar 25 07:57 hello
-rw-r--r--. 1 root root   78 Mar 25 07:56 hello.c

 

[root@server1 test]# gcc -c hello.c
[root@server1 test]# ll
total 32
-rw-r--r--. 1 root root   78 Mar 25 07:56 hello.c
-rw-r--r--. 1 root root 1504 Mar 25 07:58 hello.o

 

[root@server1 test]# ./hello
hello world

 

① -c

② -o program

 

5. 다음은 하드 디스크에 대한 설명이다. ( 괄호 ) 안에 알맞은 내용을 적으시오.

( ① )란 물리적으로 데이터가 저장되는 둥근 원판을 말한다.
전원이 켜지면 ( ① )는 쉬지 않고 계속해서 회전하면서 ( ② )에 의해 데이터가 저장되고 읽혀진다.
데이터를 기록하고 읽어내는 가장 기본적인 단위는 ( ③ )이다. 
1 ( ③ )는 512 byte의 데이터 영역과 69byte의 주소코드를 가지고 있다.

<조 건>
- 괄호의 내용은 한글 또는 영문으로 적는다.

 

플래터(Platter) : 데이터가 기록되는 부분
헤드(Head) : 데이터를 읽고 쓰는 헤드
섹터(sector) : 자기 디스크나 광 디스크의 트랙의 일부

 

① 플래터

② 헤드

③ 섹터

 

6. 다음은 새로운 하드디스크 장착 후 시스템 부팅 시 자동으로 마운트되도록 설정하는 과정이다.

아래의 조건을 참조하여 ( 괄호 ) 안에 알맞은 내용을 적으시오.

# vi ( ① )
( ② ) ( ③ ) ( ④ ) ( ⑤ ) 1 1

<조 건>
- 관련 파일명을 절대 경로로 적는다.
- 관련 디렉터리는 /home2이다.
- 장치 파일명은 /dev/sdb1이고, ext4로 파일 시스템을 생성하였다.
- 해당 영역은 기본 설정 옵션 이외에 사용자 디스크 제한이 가능하도록 설정한다.

 

[root@server1 test]# find / -name fstab
/etc/fstab

 

/etc/fstab : 부팅시 마운트 할 때 사용하는 파일

 

<주요 옵션>
-defaults : rw, nouser, auto, exec, suid 속성을 모두 가지는 옵션
-auto : 부팅시 자동 마운트
-noauto : 부팅시 자동 마운트 안함
-exec : 실행 파일이 실행되는 것을 허용 함
-noexec : 실행 파일이 실행되는 것을 허용 안함
-suid : SetUID, SetGID의 사용을 허용하는 옵션
-ro[read-only] : 읽기 전용
-rw[read-write] : 읽고 쓰기 가능
-user : 일반 계정 사용자들도 마운트 할 수 있는 옵션
-nouser : root만 mount 가능
-usrquota : 일반 사용자 quota 적용
-grpquota : 그룹 quota 적용
-noatime : access time에 대하여 시간 정보를 파일에 기록하지 않음 (/var 디렉토리에 보통 설정)

<dump 관련 설정>
-0 : 덤프되지 않은 파일 시스템
-1 : 데이터 백업을 위해 dump 가능

<파일 점검 옵션>
- 0: 부팅시 fsck를 사용하지 않음
- 1: 루트 파일 시스템을 의미
- 2: 루트 파일 시스템 이외의 파일 시스템을 의미

 

[root@server1 test]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Mar 14 11:42:35 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        1 1
UUID=6a56e2c4-ca18-466e-8213-3520a7311d47 /boot                   xfs     defaults        1 2
/dev/mapper/centos-swap swap                    swap    defaults        0 0

 

① /etc/fstab

② /dev/sdb1

③ /home2

④ ext4

⑤ defaults,usrquota

반응형