1. 다음 중 rpm 명령에서 패키지를 검증할 때 사용하는 옵션으로 알맞은 것은 ?
1️⃣ -e
2️⃣ -q
3️⃣ -S
4️⃣ -V
4️⃣ -V
--verify 의 약자로 검증시 사용하는 기본 옵션이다.
RPM 의 개요
레드햇사에서 만든 패키지 관리 기법으로 프로그램을 .rpm 형태의 파일로 배포하고,
rpm 명령을 사용하여 손쉽게 설치 및 갱신, 제거, 검증, 질의 등을 관리할 수 있다.
2. 다음 중 설치하려는 rpm 파일에 대한 정보를 보려고 할 때 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
#rpm ( ? ) totem-2.25.6-2.el6.i686.rpm
1️⃣ -qip
2️⃣ -qfp
3️⃣ -qap
4️⃣ -qcp
1️⃣ -qip
p.356
패키지 파일에 대한 정보를 출력한다.
3. 다음 중 시스템에 설치된 rpm 패키지를 모두 검색할 때 사용하는 옵션으로 알맞은 것은 ?
1️⃣ -qp
2️⃣ -qf
3️⃣ -qc
4️⃣ -qa
4️⃣ -qa
p.356
rpm -qa
시스템에 설치된 모든 패키지 정보를 출력한다. ( query all )
rpm -qa | grep mail
시스템에 설치된 모든 패키지 중에 mail 이라는 문자열이 들어있는 패키지를 출력한다.
4. 다음 중 설치된 파일로 rpm 패키지 이름을 알아내려고 할 때 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
#rpm ( ? ) /bin/ls
1️⃣ -qp
2️⃣ -qf
3️⃣ -qc
4️⃣ -qa
2️⃣ -qf
p.356
-qf
rpm -qf /bin/ls/bin/ls 파일을 설치한 패키지 정보를 출력한다. ( query file )
5. 다음의 조건일 때 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
가 . vsftpd 패키지가 설치한 파일이나 디렉터리 목록을 출력한다.
나 . sendmail 에 대한 정보를 출력한다.
#rpm ( ㄱ ) vsftpd
#rpm ( ㄴ ) sendmail
1️⃣ ㄱ - -qp , ㄴ - -qf
2️⃣ ㄱ - -qf , ㄴ - -qp
3️⃣ ㄱ - -qi , ㄴ - -ql
4️⃣ ㄱ - -ql , ㄴ - -qi
4️⃣ ㄱ - -ql , ㄴ - -qi
p. 356
rpm -qi sendmail
sendmail 패키지에 대한 정보를 출력
rpm -ql sendmail
sendmail 패키지가 설치한 파일 목록을 출력
6. 다음 중 rpm 검증 코드에 대한 설명으로 틀린 것은 ?
1️⃣ S : 파일 크기 변경
2️⃣ M : 메세지 다이제스트 변경
3️⃣ U : 소유자 변경
4️⃣ T : 수정시간 변경
2️⃣ M : 메세지 다이제스트 변경
M : 파일 모드 ( Permission & File Type ) 변경
7. 다음 ( ? ) 안에 들어갈 명령으로 알맞은 것은 ?
# ( ? ) --rebuild gftp-2.0.19-8.fc18.src.rpm
1️⃣ rpm
2️⃣ rpmbuild
3️⃣ rpm2cpio
4️⃣ rpmdb
2️⃣ rpmbuild
rpmbuild ( 리빌드 모드 )
rpm 소스 파일인 .src.rpm 파일을 패키지 파일로 만드는 모드로써 rpmbuild 라는 명령어를 사용한다.
사용법
rpmbuild [option] 소스 패키지
옵션
--rebuild : 소스 rpm 파일을 이용해서 rpm 패키지를 생성한다.
8. 다음 중 totem 이라는 패키지를 yum 으로 설치하는 명령으로 알맞은 것은 ?
1️⃣ yum install totem -y
2️⃣ yum totem install -y
3️⃣ yum totem -y install
4️⃣ yum -y totem install
1️⃣ yum install totem -y
p.358
yum ( Yellowdog Update, Modifoed ) 은 rpm 기반의 시스템에서 패키지를 손쉽게 설치해주고 자동으로 업데이트를 수행하는 명령행 기반의 유틸리티다. 특히, rpm 패키지 설치 시에 가장 많이 발생하는 의존성 문제를 자동으로 해결해준다.yum 은 소프트웨어 저장소 ( repository ) 에 관련 패키지들을 모아두고, 네트워크를 통해서 의존성을 검사하여 설치 및 업데이트 등을 수행한다.데미안 리눅스의 APT ( Advanced Package Tool ) 와 유사하다.
사용법
yum [option] [command] [패키지파일명]
옵션
-y : 모든 질의에 'y' 라고 답한다.
9. 다음 중 totem 이라는 패키지를 yum 으로 제거하는 명령으로 알맞은 것은 ?
1️⃣ yum delete totem
2️⃣ yum remove totem
3️⃣ yum -e totem
4️⃣ yum eliminate totem
2️⃣ yum remove totem
p.361
yum remove totem
패키지를 제거한다. 'yum erase totem' 명령과 동일하다.
10. 다음 중 yum 명령으로 설치된 패키지에 대한 정보를 출력하는 명령어는 ?
1️⃣ yum search installed
2️⃣ yum list updates
3️⃣ yum info installed
4️⃣ yum list installed
4️⃣ yum list installed
yum list installed
설치된 패키지에 대한 정보를 출력한다.
11. 다음 중 yum 명령으로 music 이라는 문자열이 들어있는 패키지를 찾으려고 할 떄 알맞은 것은 ?
1️⃣ yum search music
2️⃣ yum telnet -server
3️⃣ yum list telnet-server
4️⃣ yum search telnet-server
1️⃣ yum search music
p.360
yum search music player
music 과 player 문자열이 들어있는 패키지를 찾아준다.
12. 다음 중 yum 사용 방법으로 틀린 것은 ?
1️⃣ yum install telnet-server
2️⃣ yum telnet-server
3️⃣ yum list telnet-server
4️⃣ yum search telnet-server
2️⃣ yum telnet-server
p.360
insall
패키지를 설치한다.
list
전체 패키지에 대한 정보를 출력한다.
search
yum 패키지중 찾고자하는 문자열을 찾아준다.
13. yum 관련해서 저장된 모든 정보를 삭제하려고 한다. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
# yum ( ? ) all
1️⃣ clear
2️⃣ remove
3️⃣ clean
4️⃣ erase
3️⃣ clean
clean 은 yum 관련해서 저장된 모든 정보를 삭제한다.
14. 다음 dpkg 옵션 중 특정 디렉터리에 저장된 패키지를 모두 설치하려고 할 때 알맞은 것은 ?
1️⃣ -il
2️⃣ -iR
3️⃣ -iL
4️⃣ -iC
2️⃣ -iR
데비안 리눅스는 dpkg ( Debian Package ) 라는 데비안 패키지 관리 도구를 사용하는데,
관련 프로그램을 .deb 형태의 파일로 배포하여 설치, 삭제 등의 관리를 한다.
배포되는 deb 파일의 형식은 다음과 같다.
p.364
책에는 dpkg -i -R 옵션으로 나오는데 문제는 -iR 인지 모르겠다. 아는 사람 댓글 좀 ;
dpkg -i -R /usr/debian/stable/binary-i386/admin
지정한 디렉터리 안에 있는 모든 패키지를 설치한다.
15. 다음 중 apt-get 명령으로 update 할 때 가장 관계가 깊은 파일로 알맞은 것은 ?
1️⃣ /etc/sources.list
2️⃣ /etc/apt/sources.list
3️⃣ /var/cache/apt/archive
4️⃣ /var/cache/archive
2️⃣ /etc/apt/sources.list
p.365
update 명령은 패키지 목록을 갱신할 때 사용한다.관련 정보는 /etc/apt/sources.list 에서 가져온다.
binsoo@DESKTOP-9IVP0T4:/etc$ cd apt
binsoo@DESKTOP-9IVP0T4:/etc/apt$ ls
apt.conf.d auth.conf.d preferences.d sources.list sources.list.d trusted.gpg.d
binsoo@DESKTOP-9IVP0T4:/etc/apt$ cat sources.list
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://archive.ubuntu.com/ubuntu/ bionic main restricted
# deb-src http://archive.ubuntu.com/ubuntu/ bionic main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted
# deb-src http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu/ bionic universe
# deb-src http://archive.ubuntu.com/ubuntu/ bionic universe
deb http://archive.ubuntu.com/ubuntu/ bionic-updates universe
# deb-src http://archive.ubuntu.com/ubuntu/ bionic-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://archive.ubuntu.com/ubuntu/ bionic multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://archive.ubuntu.com/ubuntu/ bionic-updates multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ bionic-updates multiverse
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner
deb http://security.ubuntu.com/ubuntu/ bionic-security main restricted
# deb-src http://security.ubuntu.com/ubuntu/ bionic-security main restricted
deb http://security.ubuntu.com/ubuntu/ bionic-security universe
# deb-src http://security.ubuntu.com/ubuntu/ bionic-security universe
deb http://security.ubuntu.com/ubuntu/ bionic-security multiverse
# deb-src http://security.ubuntu.com/ubuntu/ bionic-security multiverse
16. 다음 중 vim 패키지가 설치한 파일 목록을 보려고 할 때 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
# dpkg ( ? ) vim
1️⃣ -l
2️⃣ -L
3️⃣ --list
4️⃣ --unpack
2️⃣ -L
p.364
dpkg -L vim
vim 패키지에서 설치된 파일을 목록으로 보여준다.
'dpkg ---listfiles vim' 과 같다.
17. 다음의 조건일 때 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
dpkg 로 패키지를 제거할 때 ( ㄱ ) 옵션을 사용하면 환경 설정 파일을 포함하여 모두 제거하나,
( ㄴ ) 옵션을 사용하면 환경 설정 파일은 제거되지 않는다.
1️⃣ ㄱ : -r , ㄴ : -F
2️⃣ ㄱ : -P , ㄴ : -F
3️⃣ ㄱ : -P , ㄴ : -r
4️⃣ ㄱ : -r , ㄴ : -P
3️⃣ ㄱ : -P , ㄴ : -r
dpkg -P cron
cron 패키지를 환경 설정 파일을 모두 제거한다.dpkg -r croncron 패키지를 제거하나, 환경 설정 파일은 제거되지 않는다.
-P : purge
-r : remove
참고로 purge 의 뜻 : 중앙 처리 장치(CPU)에서 유지하고 있던 기록을 일정 기간을 가지고 삭제하는 것.
18. 다음 중 apt-get 명령으로 nautilus 라는 패키지를 설치할 때 알맞은 것은 ?
1️⃣ apt-get nautilus install
2️⃣ apt-get install nautilus
3️⃣ apt-get nautilus remove
4️⃣ apt-get remove nautilus
2️⃣ apt-get install nautilus
p.365
install 패키지명
패키지를 설치할 때 사용한다.
보통 이 명령을 이용하면 .deb 파일들이 /var/cache/apt/archive 에 생성된다.
root@DESKTOP-9IVP0T4:/etc/apt# cd /var/cache/apt
root@DESKTOP-9IVP0T4:/var/cache/apt# ls
archives pkgcache.bin srcpkgcache.bin
root@DESKTOP-9IVP0T4:/var/cache/apt# cd archives
root@DESKTOP-9IVP0T4:/var/cache/apt/archives# ls
apt-transport-https_1.6.14_all.deb kubectl_1.21.2-00_amd64.deb lock partial tree_1.7.0-5_amd64.deb
r
19. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
데비안 리눅스에서는 설치 시에 발생할 수 있는 의존성을
해결하기 위해 ( ㄱ ) 를 사용하고,
래드햇 리눅스에서는 ( ㄴ ) 을 사용한다.
1️⃣ ㄱ : yum , ㄴ : -apt-get
2️⃣ ㄱ : apt-get , ㄴ : yum
3️⃣ ㄱ : apt-get , ㄴ : yast
4️⃣ ㄱ : yum , ㄴ : yast
2️⃣ ㄱ : apt-get , ㄴ : yum
데비안 리눅스 (우분트) : apt-get
레드헷 리눅스 (Cent OS 7) : yum
20. 다음 중 apt-get 명령으로 install 할 때 관련 deb 파일이 생성되는 디렉터리로 알맞은 것은 ?
1️⃣ /etc/sources.list
2️⃣ /etc/apt/sources.list
3️⃣ /var/cache/apt/archive
4️⃣ /var/cache/archive
3️⃣ /var/cache/apt/archive
p.365
install 패키지명
패키지를 설치할 떄 사용한다.
보통 이 명령을 이용하면 .deb 파일들이 /var/cache/apt/archive 에 생성된다.
21. 다음 중 apt-get 명령으로 install 단계에서 생성된 파일을 제거할 때 사용하는 명령으로 알맞은 것은 ?
1️⃣ apt-get erase
2️⃣ apt-get delete
3️⃣ apt-get clean
4️⃣ apt-get remove
3️⃣ apt-get clean
clean 옵션은 /var/cache/apt/archive 에 생성된 파일을 삭제한다.
22. 다음 중 소스 파일로 프로그램을 설치하는 단계로 알맞은 것은 ?
1️⃣ configure -> make -> make install
2️⃣ configure -> make install -> make
3️⃣ make -> configure -> make install
4️⃣ make -> make install- > configure
1️⃣ configure -> make -> make install
p.365
리눅스에서는 소스 프로그램을 설치하기 위해서는 보통 아래 5 단계를 거친다.
압축풀기 > 디렉터리 이동 > configure > make > make instll
따라서 tar 를 비록한 압축 도구, GNU, C 컴파일러인 gcc, 의존성 검사 도구인 make 등의 응용 프로그램이 필요하다.
configure : 소스 프로그램의 환경 설정을 하는 스크립트이다.
make : 대상 프로그램을 파생시키는 방법을 지정하는 Makefile 이라는 파일을 읽음으로써 소스코드에서 실행 가능한 프로그램과 라이브러리를 자동으로 빌드화 하는 자동화 도구이다.
make install : 컴파일 된 실행 파일을 지정한 속성으로 지정된 디렉터리에서 설치한다.
23. 다음 중 소스 파일을 이용한 프로그램 설치 단계에서 configure 작업 후에 생성되는 파일명으로 알맞은 것은 ?
1️⃣ config
2️⃣ Kconfig
3️⃣ Makefile
4️⃣ README
3️⃣ Makefile
p.366
configure : 소스 프로그램의 환경 설정을 하는 스크립트이다.
tar.gz 등으로 제공되는 것은 대부분 프로그램 소스이기 떄문에 사용자의 환경에 맞게 수정이 필요하다.
그러나 사용자들의 대부분 프로그래머가 아니기 때문에 쉽게 수정할 수 없다.
configure 는 사용자들이 자신의 환경에 맞도록 손쉽게 수정하도록 제공되는 스크립트이다.
이 스크립트는 대부분 소스 코드의 최상위 디렉터리에 존재한다.
사용자는 이 스크립트를 수정하거나 특별히 설정할 필요는 없다.
이 스크립트는 성공적인 컴파일을 하기 위해 필요한
컴파일러, 라이브러리, 유틸리티, 기타 정보를 시스템에서 찾아낸다.
이 스크립트는 이 정보를 이용해 사용자 시스템에 적당한 소프트웨어 패키지가 생성되도록 Makefile를 만든다.
make : 대상 프로그램을 파생시키는 방법을 지정하는 Makefile 이라는 파일을 읽음으로써
소스코드에서 실행 가능한 프로그램과 라이브러리를 자동으로 빌드화 하는 자동화 도구이다.
보통 configure 에 의해 변경된 내용을 반영하고, 타깃 ( target ) 과 의 전송 ( dependencies ) 관련 작업을 한 후에 최종적으로 실행 파일을 지정한 속성으로 지정된 디렉터리에 설치한다.
24. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
#tar ( ? ) linux-3.10.tar.xz
1️⃣ zxvf
2️⃣ jxvf
3️⃣ Jxvf
4️⃣ Zxvf
3️⃣ Jxvf
p.367
tar ( tape archive) ??
tar 는 테이프 관련 장치를 이용하여 백업할 떄 사용하는 명령이었으나,
현재는 여러 파일들을 하나의 파일로 묶어주는 명령으로 사용한다.
파일로 묶을 때 디렉터리를 지정하면 그 디렉터리의 모든 파일과 서브 디렉터리까지 함께 묶여진다.
또한 파일의 속성, 하드링크, 심볼릭링크 등도 보존된다.
유닉스에서 사용되던 tar 는 파일로 묶거나 풀어주는 기능만을 할 뿐이지만, 리눅스에서 사용되는 GNU tar 옵션을 이용해서 파일로 묶거나 풀 때 압축 관련 작업을 동시에 진행할 수 있다.
지원되는 압축 형식에는 compress ( tar.Z ), gzip ( tar.gz ), bzip2 ( tar.gz2 ) , xz ( tar.xz ) 등이 있다.
p.369
--xz 와 Jxvf 같다.
Jxvf
tar Jxvf php-5.5.4.tar.xz -C /usr/local/src
xz 로 압축된 php-5.5.4.tar.xz 를 /usr/local/src 에 푼다.
25. 다음 중 cmake 에 대한 설명으로 틀린 것은 ?
1️⃣ make 를 대체하기 위해 등장하였다.
2️⃣ 리눅스 및 유닉스 계열만 지원한다.
3️⃣ KDE, MySQL 등이 채택하였다.
4️⃣ 크로스 컴파일을 지원한다.
2️⃣ 리눅스 및 유닉스 계열만 지원한다.
p.366
cmake 는 소스 컴파일기 사용되는 Make 의 대체 프로그램으로 멀티 플랫폼을 지원하기 위한 목적으로
등장한 오픈 소스이다.
cmake 는 make 과정을 수행하지 않고, 지정한 운영체제에 맞는 make 파일의 생성을 목적으로 하고 있다.
cmake 를 사용하는 대표적인 프로그램에는 mysql 이 있는데,
configure 와 make 작업을 cmake 로 통합해서 설치 가능하다.
유닉스 계열 운영체제에서 사용되는 make 는 특정 시스템에서만 사용 가능하나,
cmake 는 유닉스 계열 뿐만 아니라 마이크로소프트 윈도우 계열의 프로그래밍 도구도 지원한다.
cmake
- make 를 대체하기 위해 등장하였다.
- KDE, MySQL 등이 채택하였다.
- 크로스 컴파일을 지원한다.
26. 다음 중 가장 압축률이 좋은 프로그램으로 알맞은 것은 ?
1️⃣ compress
2️⃣ gzip
3️⃣ bzip2
4️⃣ xz
4️⃣ xz
p.371
xz 는 LZMA2 ( Lempel-Ziv-Markov chain algorithm ) 이라는 알고리즘을 이용하여
만든 데이터 무손실 압축 프로그램이다.
gzip 및 bzip2 와 비교하여 매우 높은 압축률을 자랑한다.
높은 압축률로 인하여 최근 공개용 소프트웨어 사이트에서 이 압축 포맷을 사용하여 파일을 배포하고 있다.
xz 로 압축하면 파일명 뒤에 .xz 가 붙고, 압축 해제는 unxz 명령을 사용한다.
27. 다음 중 GNU tar 의 압축 관련 옵션 조합으로 틀린 것은 ?
1️⃣ compress - c
2️⃣ gzip - z
3️⃣ bzip2 - j
4️⃣ xz - J
1️⃣ compress - c
p.369
이 페이지에 답이 있을 것 같은데 찾지 못함 . help
xz - J
gzip - z
bzip2 - j
compress - Z
28. 생성되어 있는 posein.tar 에 yuloje.txt 를 추가로 묶고자 할 때 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
# tar ( ? ) posein.tar yuloje.txt
1️⃣ xvf
2️⃣ cvf
3️⃣ rvf
4️⃣ tvf
3️⃣ rvf
p. 368
tar rvf posein.tar jalin.txt yuloje.c
현재 디렉터리에 있는 jalin.txt 와 yuloje.c 라는 파일을 posein.tar 라는 파일에 추가로 묶는다.
-r 이 append 와 같다.
29. 다음중 압축률이 좋은 순서로 나열한 것으로 알맞은 것은 ?
1️⃣ compress > gzip > bzip2 > xz
2️⃣ compress > bzip2 > gzip > xz
3️⃣ xz > gzip > bzip2 > compress
4️⃣ xz > bzip2 > gzip > compress
4️⃣ xz > bzip2 > gzip > compress
p.369
compress전통적으로 유닉스에서 사용했던 압축 프로그램이지만 리눅스에서는 압축률이 낮아 현재는 거의 쓰이지 않는다.
gzipGNU 에서 만든 압축 프로그램으로 유닉스 압축 프로그램인 compress 를 대체하기 위해 만들어졌다. gzip 으로 압축하면 파일명 뒤에 .gz 이 붙고 압축 해제는 gunzip 명령을 사용한다.
xz -> xz
bzip2 -> bz2
gzip -> gz
compress -> Z
30. sum.c 라는 파일을 컴파일하여 sum 이라는 실행 파일명을 생성하려 한다. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
# gcc ( ? ) sum.c
1️⃣ -a sum
2️⃣ -c sum
3️⃣ -o sum
4️⃣ sum
3️⃣ -o sum
p.373
gcc ( GNU Compoler Collection )
gcc 는 GNU 프로젝트에 의해 만들어진 일종의 컴파일러 모음으로C, C++, Objective-C, Fortran, Java, Ada, Go 등 다양한 프로그래밍 언어를 지원한다.
리눅스기반에서 가장 손쉽게 이용할 수 있는 C 컴파일러 도구로써 C 언어로 작성할 파일을 gcc 로 컴파일 하면 a.out 이라는 실행 파일이 생성된다.
a.out 를 실행할 때 이 파일이 환경변수 PATH 에 등록된 디렉터리에 위치하지 않으면 ./a.out 형태로 실행 시켜야 한다.
-o 옵션은 컴파일 할 때 실행 파일의 이름을 지정하는 옵션이다.
31. a.txt 파일에서 lin 또는 joon 이라는 문자열이 있는 줄을 출력하려고 한다. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
#grep ( ? ) 'lin|joon' a.txt
1️⃣ -a
2️⃣ -A
3️⃣ -e
4️⃣ -E
4️⃣ -E
p.319
보통 grep 은 하나의 패턴만을 검색하는데, 이 옵션은 | 와 연계하여 여러 패턴을 찾는다.
egrep 명령과 같다.
32. lin.txt 파일에서 cat, cotton 과 같이 c와 t 사이에 한 글자가 있는 문자열이 있는 줄을 출력하려고 한다. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
#grep ( ? ) lin.txt
1️⃣ c.t
2️⃣ c?t
3️⃣ c*t
4️⃣ c.*t
1️⃣ c.t
p.319
grep 명령과 정규 표현식 - - 정규 표현식이란 쉽고 다양하고 정교하게 찾을 수 있도록 지원해주는 특정한 패턴을 말한다.
. 매칭되는 한 문자는 무조건 존재해야 한다.
*이 표현식이 정규 표현식에서 실질적인 전부 (all) 를 뜻한다. a.*r 로 검색하면 a 와 r 사이에 아무 글자도 없거나 a 와 r 사이에 어떠한 문자가 있어도 검색한다.예를들면 ar, alinr 등이 해당된다.
33. 명령의 실행 결과가 다음과 같을 때 lin.txt 파일의 행 (line) 수로 알맞은 것은 ?
# wc lin.txt
4 3 16
1️⃣ 4
2️⃣ 3
3️⃣ 16
4️⃣ 23
1️⃣ 4
p.320
wc
텍스트 파일의 행 ( line ) 수, 단어 ( word ) 수, 문자 ( byte ) 수 를 출력해주는 명령이다.
34. wc lin.txt 명령을 실행 했을 떄 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
# cat joon.txt
I love linux
I love window
# wc lin.txt
( ? ) joon.txt
1️⃣ 26 6 2
2️⃣ 28 6 2
3️⃣ 2 6 26
4️⃣ 2 6 28
4️⃣ 2 6 28
p.320
wc
텍스트 파일의 행 ( line ) 수, 단어 ( word ) 수, 문자 ( byte ) 수 를 출력해주는 명령이다.
\r\n
개행문자도 단어수에 포함.
35. lin.txt 파일의 내용이 다음과 같다. 'sort lin.txt' 명령을 실행했을 때의 출력되는 행의 순서로 알맞은 것은 ?
[posein@www ~] $ cat lin.txt
7 is seven
I love linux
I love linux
i love linux
[posein@www ~] $
1️⃣ 1 -> 2 -> 3 -> 4
2️⃣ 2 -> 1 -> 4 -> 3
3️⃣ 2 -> 1 -> 3 -> 4
4️⃣ 4 -> 3 -> 2 -> 1
3️⃣ 2 -> 1 -> 3 -> 4
p.321
sort
텍스트 파일의 내용을 행 단위로 정렬하는데, 옵션을 지정하지 않으면 ASCII 코드 순으로 정렬한다.
일반적인 순서는 공백, 특수 문자, 숫자, 대문자, 소문자 순이다.참고로 여기서 숫자는 실제 대소가 아닌 숫자 형태의 문자로 취급하고, 일부 특수 문자는 ASCII 코드표에서 숫자 뒤에 위치한다. 공특숫대소
36. /etc/passwd 파일에서 콜론 (:) 을 구분자로 3번쨰 필드를 숫자값 정렬하는 과정이다. ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
# sort ( ? ) -n k3 /etc/passwd
1️⃣ -d:
2️⃣ -f:
3️⃣ -F:
4️⃣ -t:
4️⃣ -t:
p.322
-t 옵션은 필드 구분자를 지정할 때 사용한다. 기본 필드 구분은 공백으로 한다.
sort -t: -k2.2n -k5.3,5.4 /etc/password 필드의 구분은 : 로 하고,두 번째 필드의 두 번째 문자로 숫자값 정렬한다.정렬한 값이 같은 경우에는 다섯 번째 필드의 세 번째와 네 번째 문자를 비교해서 정렬한다.
37. 다음 중 텍스트 파일에서 필드 단위로 값을 추출할 때 사용하는 명령어의 조합으로 알맞은 것은 ?
1️⃣ sort, cut
2️⃣ sort, awk
3️⃣ cut, awk
4️⃣ tr, awk
3️⃣ cut, awk
p.322
cut : 데이터의 열을 추출할 때 사용한다. 이 때 추출하는 데이터는 파일 각 줄의 글자, 바이트, 또는 필드가 된다.
p.329
awk : awk 란 일종의 프로그래밍 언어로써 주로 패턴 검색과 조작 시에 주로 사용된다.
이 툴의 어원은 프로그램을 개발한 Alfred Aho, Peter Weinberger, Brian Kernigham 의 머리 글자를 따서 명명되어 졌다.
awk 는 단독으로 이용되기 보다는 다른 프로그램들과 연계해서 이용되는 경우가 대부분인데 리눅스 셸에서는 보통 grep 명령으로 넘어온 데이터들의 값을 처리하거나 sed 과 함께 정규화된 양식을 처리하는 경우에 많이 사용된다.
38. /etc/passwd 파일에서 콜론 ( : ) 을 구분자로 첫번째 필드와 세 번쨰 필드의 숫자 값을 추출하는 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
# cut ( ? ) -f1, 3 /etc/passwd
1️⃣ -d:
2️⃣ -f:
3️⃣ -F:
4️⃣ -t:
1️⃣ -d:
p.322
cut
-d 옵션은 필드 구분자를 지정한다.
( 기본 필드구분은 [TAB] 이다. --delimeter )
-c
문자수를 기준으로 추출
-f
파일의 필드를 기준으로 추출
39. 다음 명령의 결과에 대한 설명으로 알맞은 것은 ?
#cut -c 1-10 /etc/passwd
1️⃣ 각 행별로 첫 번째부터 열 번째 필드까지만 추출해서 출력한다.
2️⃣ 각 행별로 첫 번째부터 열 번째 문자까지만 추출해서 출력한다.
3️⃣ 각 행별로 첫 번째 필드와 열 번째 필드만 추출해서 출력한다.
4️⃣ 각 행별로 첫 번째 문자와 열 번째 문자만 추출해서 출력한다.
2️⃣ 각 행별로 첫 번째부터 열 번째 문자까지만 추출해서 출력한다.
p.322
cut 의 -c 옵션은 문자 수를 기준으로 추출한다. ( --characters )
40. 50 행짜리 lin.txt 파일에 다음과 같은 명령을 실행 했을 때 생성되는 파일명으로 알맞은 것은 ?
# sprit -30 lin.txt
1️⃣ lin.txtaa , lin.txtab
2️⃣ lin.txtxa , lin.txtxb
3️⃣ xa, x
4️⃣ xaa, xab
4️⃣ xaa, xab
p.323
sprit
하나의 파일을 여러 개의 작은 파일로 분리하는 명령으로
옵션을 지정하지 않고 실행하면 기본 값이 1000 줄 단위로 파일을 분리한다.
별도의 파일명을 지정하지 않으면 분리되어 생성되는 파일명이 xaa, xab, xac 등으로 x 뒤에 알파벳 순서로 생성된다.
41. 다음 ( ? ) 안에 들어갈 명령으로 알맞은 것은 ?
# ( ? ) o i < lin.txt
1️⃣ tr
2️⃣ awk
3️⃣ cut
4️⃣ sed
1️⃣ tr
tr 은 텍스트 파일 안에 있는 임의의 문자를 원하는 문자로 바꾸거나 제거할 때 사용하는 명령으로 원본의 파일 내용이 바뀌지 않는 스트리밍 명령어이다.보통 프로그램 소스의 변수명이나 데이터 타입을 바꿀 경우 유용하게 쓰인다.명령행에서 사용하는 경우에는 반드시 < 기호를 이용하여 입력을 지정하여야 한다.
42. 다음 ( ? ) 안에 내용으로 알맞은 것은 ?
# cat sedsrc
s/learning/study/g
#sed ( ? ) sedscr lin.txt
1️⃣ -f
2️⃣ -F
3️⃣ -s
4️⃣ -S
1️⃣ -f
sed스트림 편집기 ( stream editor ) 으로 셸 스크립트나 다른 명령의 출력을 여과하는 파이프라인을 사용한다.즉 파일의 내용을 변경없이 화면상 출력만 필터링 한다.
sed 는 ed 명령과는 다르게 처리 단위가 라인이어서, 입력 라인을 하나씩 읽고 수정하고 출력하기 때문에 버퍼를 사용하지 않는다.
버퍼를 사용하지 않으면 파일 크기에 제한 없이 작업을 할 수 있어 sed 는 큰 파일을 처리할 떄 주로 사용한다.
43. lin.txt 파일의 21번째 행부터 30번째 행까지 출력하려고 한다. 다음 ( ? ) 안에 내용으로 알맞은 것은 ?
# sed ( ? ) lin.txt
1️⃣ -p '21,30n'
2️⃣ -n '21,30p'
3️⃣ -n '21,30n'
4️⃣ -p '21,30p'
2️⃣ -n '21,30p'
p.326
-n 은 특정한 행을 지정할 때 쓰임.
p 명령은 선택한 행을 한번 더 출력한다. '/문자열/p' 하면 선택한 문자열이 있는 행을 한번 더 출력한다.특정한 행 지정없이 p command 만 사용하면 모든 행을 두 번씩 출력한다.
44. lin.txt 파일에서 window 라는 문자열을 linux 로 치환하여 즉시 파일에 저장하려고 한다. 다음 ( ? ) 안에 내용으로 알맞은 것은 ?
# sed ( ? ) 's/windows/linux/g' lin.txt
1️⃣ -i
2️⃣ -I
3️⃣ -f
4️⃣ -F
1️⃣ -i
-i 옵션은 치환구문과 같이 사용하는데, 치환된 내용을 화면에 출력하는 것이 아니라 해당 파일을 직접 수정한다. ( --in-place )
45. awk 명령에서 필드 구분자로 콜론 (:) 을 지정하는 옵션과 사용법의 조합으로 알맞은 것은 ?
1️⃣ -d:
2️⃣ -f:
3️⃣ -F:
4️⃣ -t:
3️⃣ -F:
p.330
-F 필드 구분자 : 필드 구분자를 지정할 때 사용한다. 기본 필드 구분자는 공백이다. ( --field-separator )
-f 파일명 : 특정 스크립트 파일을 지정할 때 사용한다. ( --file )
46. result.dat 파일을 미리 작성된 sum.awk 파일에 의거하여 처리하는 과정이다. 다음 ( ? ) 안에 내용으로 알맞은 것은 ?
# awk ( ? ) sum.awk result.dat
1️⃣ -i
2️⃣ -I
3️⃣ -f
4️⃣ -F
3️⃣ -f
-f 옵션은 특정 스크립트 파일을 지정할 때 사용한다. ( --file )
47. result.dat 파일의 두 번째 필드를 출력하려고 한다. 다음 ( ? ) 안에 알맞은 것은 ?
# awk ( ? ) result.dat
1️⃣ 'print $2'
2️⃣ 'print {$2}'
3️⃣ '{print} $2'
4️⃣ '{print $2}'
4️⃣ '{print $2}'
p.330
awk '{print $2 " " $1}' list.txt
list.txt 에서 두번째 필드와 첫번째 필드를 출력하는데 중간에 공백을 추가한다.필드 사이에 공백 대신에 .를 사용해도 된다.
48. 다음 중 텍스트 파일에 있는 대문자를 전부 소문자로 변경할 때 사용하는 명령으로 가장 알맞은 것은 ?
1️⃣ tr
2️⃣ awk
3️⃣ cut
4️⃣ sed
1️⃣ tr
텍스트 파일에 있는 대문자를 전부 소문자로 변경
tr '[a-z]' '[A-Z]' <tr.txt > tr2.txt
tr 은 텍스트 파일 안에 있는 임의의 문자를 원하는 문자로 바꾸거나 제거할 때 사용하는 명령으로 원본의 파일 내용이 바뀌지 않는 스트리밍 명령어이다.
보통 프로그램 소스의 변수명이나 데이터 타입을 바꿀 경우 유용하게 쓰인다.
명령행에서 사용하는 경우에는 반드시 < 기호를 이용하여 입력을 지정하여야 한다.
49. 다음 중 make 유틸리티가 참조하는 파일명으로 알맞은 것은 ?
1️⃣ make
2️⃣ configure
3️⃣ Makefile
4️⃣ cmake
3️⃣ Makefile
make : 대상 프로그램을 파생시키는 방법을 지정하는 Makefile 이라는 파일을 읽음으로써 소스코드에서 실행 가능한 프로그램과 라이브러리를 자동으로 빌드화 하는 자동화 도구이다.
50. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?
# cat Makefile
( ? )
gcc -o lin lin.c
1️⃣ lin : lin.c
2️⃣ lin.c : lin
3️⃣ lin := lin.c
4️⃣ lin.c := lin
1️⃣ lin : lin.c
p.313
cat ( Concatenate ) 은 표준 입력으로 받는 값을 표준 출력으로 이어주는 명령으로
기본적으로는 텍스트 파일의 내용을 출력을 한다.
p.374
Makefile 의 기본 규칙은 맨 왼쪽에 목표 파일을 지정하고 콜론으로 구분한 후에 의존성 있는 파일들을 나열한다.
의존성 있는 파일들은 목표 파일의 생성에 관계되는 모든 파일들을 의미한다.
그 다음 행에는 관련 명령을 기입하면 되는데, 탭 (TAB) 키 후에 입력하면 된다.기본적인 구조는 다음과 같다.
- 기본 구조
목표 파일명 : 의존성 파일1 의존성 파일 2 ... 명령행 ...
- 생성 예
lin : lin.c gcc -o lin lin.c
51. 다음 중 공유 라이브러리 디렉터리를 추가할 때 등록하는 환경 설정 파일로 알맞은 것은 ?
1️⃣ /etc/lddconfig
2️⃣ /etc/ld.config
3️⃣ /etc/ld.so.conf
4️⃣ /etc/ldd.conf
3️⃣ /etc/ld.so.conf
p.378
리눅스 운영체제에서 사용되는 공유 라이브러리는 공유물이라는 의미로 파일명 뒤에 .so ( ld.so* , li-linux.so* 등 ) 라고 덧붙혀져 있다.
공유 라이브러리 파일들의 위치는 전통적으로 /lib 와 /usr/lib 디렉터리에 나뉘어져있었다.
/lib 디렉터리에는 ls, mv 등과 같은 기본 명령어 및 시스템과 연관된 라이브러리가 위치하였고,
/usr/lib 디렉터리에는 주로 응용 프로그램과 관련된 라이브러리가 위치하였다.
또한 추가적으로 특정 디렉터리 위치를 라이브러리 관련 디렉터리로 등록하려면 /etc/ld.so.conf 파일을 사용하였다.
CentOs 7 버전부터는 x86_64 용으로만 배포되면서 대부분 공유 라이브러리 파일들을 /lib64 디렉터리 안에 두고 관리하고 있다.
/etc/ld.so.conf 는 /lib , /usr/lib 디렉터리 뿐만 아니라 /etc/ld.so.conf 파일에 명시한 디렉터리에서 찾을 수 있는 라이브러리 파일 목록 정보를 담고 있는 파일이다.
52. 다음 중 공유 라이브러리 관련 정보를 갱신하려고 설정하는 명령으로 알맞은 것은 ?
1️⃣ ldd
2️⃣ ldconfig
3️⃣ depmod
4️⃣ modprobe
2️⃣ ldconfig
p.380
ldconfig 는 공유 라이브러리 관련 정보를 갱신하고 설정하는 명령으로
주로 변경된 /etc/ld.so.conf 파일의 내용을 갱신할 때 사용한다
53. 다음 결과에 해당하는 명령으로 알맞은 것은 ?
1️⃣ ldd
2️⃣ idconfig
3️⃣ depmod
4️⃣modprobe
1️⃣ ldd
ldd 는 특정 파일이나 프로그램이 의존하고 있는 공유 라이브러리 정보를 출력하는 명령이다.
🧡 리눅스 마스터 준비에 도움이 되었다면 코로나 때문에 재택하는 디벨빈수 구경가주세요 리눅스 화이팅 💛
'자격증 > 리눅스 1급 - 필기 기록' 카테고리의 다른 글
[ 리눅스 1급 요약 ] - 시스템 보안 및 관리 (0) | 2022.02.16 |
---|---|
[ 리눅스 1급 요약 ] - 장치 관리 (0) | 2022.02.14 |
[ 리눅스 1급 요약 ] - 일반 운영 관리 2 (1) | 2022.02.06 |
[ 리눅스 1급 요약 ] - 일반 운영 관리 1 (5) | 2022.02.06 |
[ 리눅스 1급 요약 ] - 네트워크의 이해 (7) | 2022.01.29 |