프로그래밍기능사 실기 · 1장 · 시스템 경로와 유닉스 쉘(Shell) 명령어 · 인쇄는 머리글/바닥글(날짜·URL)을 꺼 주세요 — 쪽 머리·꼬리는 이미 들어가요
dumok.net ·
dumok.net · 프로그래밍기능사 실기 ·
dumok.net ·
[ ] / –쪽 🏠
CHAPTER01

시스템 경로와 유닉스 쉘(Shell) 명령어

01시스템 경로와 파일/디렉터리 명령어

  • ●
    쉘(Shell) 명령어 : 유닉스 환경에서 사용자가 명령어를 입력(CLI)하여 프로그램을 호출하거나, 명령을 실행하는 것을 말한다.

1) 시스템 경로 명령과 사용법

명령어기능
cd디렉터리 위치를 변경한다.
.현재 디렉터리를 의미한다.
..상위 디렉터리를 의미한다.
/
  • 최상위(루트) 디렉터리를 의미한다.
  • 경로가 /로 시작되면 최상위 디렉터리를 기준의 절대 경로를 의미한다.
  • 그 외에는 현재 디렉터리 기준의 상대 경로를 의미한다.
  • ●
    유닉스 Shell 명령 cd와 윈도우 CLI 명령의 cd는 사용법이 동일합니다.
공단 예시 문제

현재 작업 디렉터리의 절대 경로가 다음과 같을 때, 상대 경로로 제시된 디렉터리의 절대 경로를 쓰시오.

[작업 폴더]

/Users/user/workspace

[상대 경로]

../src/test

정답눌러서 확인
/Users/user/src/test

2) 파일/디렉터리 명령어

명령어기능
man유닉스 명령어의 설명서(매뉴얼)를 보여주는 명령어
ls현재 디렉토리 내의 파일 목록을 확인한다. (21.3회, 24.1회)
pwd현재 작업중인 디렉토리 경로를 화면에 표시한다. (20.4회, 22.2회, 24.3회)
rmdir디렉토리를 삭제
mkdir디렉토리를 생성
cp파일 혹은 디렉터리 복사
rm파일을 삭제한다. (21.2회, 23.4회)
mv파일을 이동한다.예)mv handa.txt hansacom/man.txt → handa.txt 파일을 hansacom 디렉토리에 man.txt로 이름을 변경하여 이동한다.
cat
  • 파일 내용을 화면에 한 번에 출력 (21.1회, 23.1회)
  • more는 페이지 단위로 파일을 출력
tar
  • 다수의 파일이나 디렉터리를 하나의 파일로 묶는다. 특히 백업의 목적으로 시스템의 파일을 하나의 파일로 묶을 때 유용하다. (22.2회, 25.2회)
  • gzip이나 bzip2과 같은 파일 압축 명령어와 함께 쓰면 파일 아카이브를 생성하면서 압축까지 같이 병행할 수 있다.
find파일을 찾는다.예)find man.txt → man.txt 파일을 찾는다.
grep특정 문자열을 찾고자 할 때 사용하는 명령어
head↔ tail
  • 파일 내용의 앞부분을 지정한 행의 수만큼 출력하는 명령어 (23.2회)
  • 행을 지정하지 않으면 기본값은 10행이다.
  • tail은 head와 반대 명령으로 파일의 뒤에서부터 지정한 수만큼 출력한다.

[head 예제] a.txt에는 a1부터 a10까지 입력되어 있다.

  • ●
    head a.txt : 파일의 앞 10줄 출력
  • ●
    head -n 5 a.txt : 라인 수를 지정하여 출력

3) 파일의 소유자/권한 변경

  • ①
    chown : 파일이나 디렉터리의 소유자와 그룹을 변경하는 명령어 (21.1회)
    • 예1)
      chown handaman abc.txt : 소유자를 handaman으로 변경한다.
    • 예2)
      chown :staff abc.txt : 그룹을 staff로 변경한다.
    • 예3)
      chown handaman:staff abc.txt : 소유자와 그룹을 모두 변경한다.
  • ②
    chmod : 파일의 보호 모드를 설정하여 파일의 사용 권한을 지정한다. (20.4회, 21.2회, 23.4회, 24.4회)
    • –
      사용 권한에는 “R: 읽기, W: 쓰기, X: 실행”이 있다.
    • –
      그룹에는 “u(user): 소유자, g(group): 그룹, o(other): 기타, a(all): 모두”가 있다.
    • –
      chmod u=rwx abc.txt : user에게 abc.txt 파일의 읽기(r), 쓰기(w), 실행(x) 권한을 부여(=)한다.
문제1

"행복.mp3" 파일의 사용 권한을 소유자는 모두, 그룹은 읽기와 실행, 기타 사용자에게는 읽기 권한만 주도록 chmod 명령을 이용하여 작성하시오.

정답 · 해설눌러서 확인
-rwxr-xr-- 행복.mp3
해설
-rwxr-xr--행복.mp3
파일소유자(u)그룹(g)기타(o)파일이름
읽기/쓰기/실행쓰기 권한 없음쓰기/실행 권한 없음
  • ※
    권한을 변경할 대상이 파일이면 -, 디렉터리면 d를 가장 좌측에 적습니다.
  • ※
    각 사용자의 권한을 숫자로 표현하는 방법은 2진수를 8진수로 변환하는 방법과 같습니다. 즉, 맨 오른쪽부터 세 자리씩 끊고 r(4), w(2), x(1), -(0)이 되도록 계산하면 됩니다.
754
421421421
rwxr-xr--
소유자그룹기타
  • *
    소유자 : 읽기/쓰기/실행 (7:모든 권한)
  • →
    *그룹 : 읽기/실행 (5)
  • *
    기타 : 읽기 (4)

-rwxr-xr--

  • ●
    소유자(u) : rwx(읽기,쓰기,실행, 4+2+1 = 7)
  • ●
    그룹(g) : r-x(읽기,쓰기,실행, 4+0+1 = 5)
  • ●
    기타(o) : r--(읽기,쓰기,실행, 4+0+0 = 4)
문제2

chmod 명령을 이용하여 모든 사용자에게 읽기·쓰기·실행 권한을 주기 위한 옵션을 숫자로 작성하시오.

정답 · 해설눌러서 확인
777
해설

-rwxrwxrwx : 8진수로 변환하여 표시할 수 있습니다.

  • ●
    소유자(u) : rwx(읽기,쓰기,실행, 4+2+1 = 7)
  • ●
    그룹(g) : rwx(읽기,쓰기,실행, 4+2+1 = 7)
  • ●
    기타(o) : rwx(읽기,쓰기,실행, 4+2+1 = 7)

3) 기타 명령어

명령어기능
sudo관리자 권한(root)을 사용하여 명령어를 실행 하는 명령
ps현재 실행 중인 프로세스를 표시한다. (25.3회)
ifconfig네트워크 인터페이스를 설정하거나 확인하는 명령어 (24.3회)
host도메인(호스트)명은 알고 있는데 ip 주소를 모르거나 혹은 그 반대의 경우에 사용하는 명령어
pingIP나 도메인을 이용하여 웹사이트 또는 서버, 네트워크의 연결 상태를 확인한다. (24.2회)
who현재 시스템에 접속해 있는 사용자를 표시한다.
finger현재 시스템에 등록되어 있는 사용자 정보를 조회한다.
killPID(프로세스 고유번호)를 이용하여 프로세스를 종료한다.예)kill 1234 → PID가 1234인 프로세스를 종료한다.
killall프로세스의 이름을 이용하여 프로세스를 종료한다.예)killall handa → 프로세스 이름이 handa인 모든 프로세스를 종료한다.
fsck파일 시스템을 검사하고 보수한다.예)fsck /dev/sda1 → /dev/sda1에 기록된 모든 파일 시스템을 검사하고 보수한다.
login↔ logout
  • 사용자의 아이디와 비밀번호를 확인해서 쉘을 실행 해주는 명령어
  • 순서: 사용자명 입력 → /etc/passwd에서 사용자 정보 확인 → 암호 요청 및 입력 → /etc/shadow에서 암호 확인 → 쉘 이용
id사용자의 로그인 명, id, 그룹 id 등을 출력하는 명령어
last시스템의 부팅부터 현재까지의 모든 사용자의 로그인과 로그아웃에 대한 정보를 표시하는 명령어
top시스템의 프로세스와 메모리 사용 현황을 표시한다.
명령어기능
vi
  • 텍스트 파일을 작성, 수정, 저장할 수 있는 대표적인 유닉스 기본 편집기
  • 유닉스 편집 명령 종류 : nano(초보자용), emacs(강력한 확장형), ed(라인 기반), ex(vi 기반)
echo문자열을 화면에 출력하는 명령어
export
  • 새로 실행되는 프로그램(하위 쉘)에서도 사용할 수 있게 하는 명령어
(예)name = handaman // name 변수에 handaman을 넣는다.export name // 하위 쉘에서도 사용할 수 있게 하겠다.echo $name // name에 있는 handama을 출력한다.
공단 예시 문제

다음 각 기능에 해당하는 Linux 터미널 명령어를 보기에서 골라 쓰시오.

topvicatlspwdechoifconfigchmodrmcpcdexport
  • ①
    현재 작업 중인 디렉터리 경로를 표시하는 명령어를 쓰시오.
  • ②
    대상 파일이나 디렉터리의 시스템 모드를 바꾸어 접근 권한을 설정하거나 변경하는 명령어를 쓰시오.
정답눌러서 확인
① pwd
② chmod
합격을 다지는CHAPTER 1. 예상문제
01

UNIX에서 현재 프로세스의 상태를 확인할 때 사용되는 명령어는 ?

정답
02

현재 작업 디렉터리의 절대 경로가 다음과 같을 때, 상대 경로로 제시된 디렉터리의 절대 경로를 쓰시오.

[작업 폴더]

/Users/USER/Documents/GTQ/Image

[상대 경로]

../../handaman

정답
03

다음 각 기능에 해당하는 Linux 터미널 명령어를 보기에서 골라 쓰시오.

topvicatlspwdechoifconfigcomodrmcpcdman
  • ①
    파일을 삭제하기 위한 명령
  • ②
    네트워크 인터페이스를 설정하거나 확인하는 명령어
  • ③
    파일의 내용을 화면에 출력
  • ④
    유닉스 명령어의 사용 방법을 보여주는 명령어
정답

①

②

③

④

04

다음 설명하는 유닉스 명령어를 쓰시오. (22.2회, 25.2회)

  • ●
    테이프 아카이브에서 유래된 것으로, 유닉스와 리눅스에서 여러 파일을 묶거나 묶인 파일을 풀 때 사용하는 명령어
  • ●
    이 명령어는 다수의 파일이나 디렉터리를 하나의 파일로 묶는다. 특히 백업의 목적으로 시스템의 파일을 하나의 파일로 묶을 때 유용하다.
  • ●
    gzip이나 bzip2과 같은 파일 압축 명령어와 함께 쓰면 파일 아카이브를 생성하면서 압축까지 같이 병행할 수 있다.
정답
05

유닉스에서 네트워크 상의 문제를 진단할 수 있는 명령은 ?

정답
06

현재 작업 중인 디렉터리의 목록을 보여주는 명령어는 ?

정답
07

파일 내용의 앞부분을 지정한 행의 수만큼 출력하는 명령어는 ?

정답
08

그룹 사용자에게 abc.txt 파일의 읽기와 쓰기 권한을 부여하는 명령문을 작성하시오.

정답
09

다음에 제시된 유닉스 명령을 쓰시오.

  • ①
    현재 시스템의 프로세스와 메모리 사용 현황을 표시하는 명령
  • ②
    디렉터리를 생성하는 명령
  • ③
    디렉터리를 삭제하는 명령
  • ④
    대상 파일이나 디렉터리의 시스템 모드를 변경하여 접근 권한을 설정하는 명령
정답

①

②

③

④

10

다음 중 유닉스에서 사용되는 편집기가 아닌 것은 ?

  • ①
    vi
  • ②
    emacs
  • ③
    ed
  • ④
    gcc
정답
CHAPTER 1. 예상문제 정답눌러서 확인
01번ps
프로세스(Process)의 상태(State)를 확인하는 명령은 ps입니다.
02번/Users/USER/Documents/handaman
../../는 상위 폴더로 2번 이동하라는 의미입니다.
03번①rm②ifconfig③cat④man
04번tar
05번ping
06번ls
ls는 list의 약자로 목록을 의미합니다.
07번head
08번chmod g=rw- abc.txt
09번①top②mkdir③rmdir④chmod
10번④
①vi : 대표적인 화면 기반 텍스트 편집기②emacs : 기능이 매우 강력한 편집기③ed : 유닉스 초기부터 사용된 라인 편집기④gcc : C, C++ 등을 컴파일하는 컴파일러
dumok.net · 프로그래밍기능사 실기 · 한다맨 강의 교재