SW개발/Linux, Unix

[Linux, Unix]명령어 응용 및 문제풀이

1. 수정된지 100일이 지난 파일 목록을 출력하시오. (명령어 : find)

find ./ -type f -mtime +100

2. 시간순으로 정렬하기 위한 명령어를 적으시오. (명령어: ll)

ll -tr

3. 명령어가 저장되는 history 파일의 경로는 어디인가?

~/.bash_history

4. 저장된 히스토리를 파일명 ‘myhistory.log’ 으로 저장하시오

history -w myhistory.log

5. temp 디렉터리의 소유자/그룹을 하위 디렉토리, 파일까지 전부 nobody 로 변경하시오. (명령어:chown)

chown -R nobody:nobody temp

6. temp 디렉토리의 파일 중, 하루가 지난 파일을 삭제하시오 (명령어: find)

find temp -ctime +0 -exec rm {} \;

7. screen 명령어를 사용하여, 서버와의 연결이 비정상종료되더라도, session은 유지한 채 작업을 할 수 있다. 이 때 단축키를 사용하여 screen에서 빠져 나오시오.

screen 명령어로 진입후 ctrl-a, d 명령어를 이용해 현재 작업을 유지하면서 세션에서 
빠져나올 수 있다.

8. 자신이 사용하고 있는 tty를 출력하시오.

tty

9. 단계적인 디렉토리를 한번에 생성하시오.

mkdir -p 1/2/3/4

10. grep 명령어의 위치를 출력하시오.

which grep

11. 상위디렉토리로 이동하는 ‘cd..’ 를 ‘pd’로 정의하시오. (alias)

alias pd=‘cd ..’

12. 이전에 친 ‘vi mytest’ 명령어를 다시 출력하는 방법은 무엇인가.

history | grep vi 를 이용해 저장된 명령어의 번호를 확인하다. 그 후 !명령어번호 명령을 통해 재실행할 수 있다.

13. 출력결과를 현재 경로 내에 result.txt 파일로 저장하시오.

ll > result.txt

14. 5개의 백그라운드(background) 작업 중, 3번 작업을 포그라운드(foreground)로 가져오시오.

fg %3

15. 이름 ‘vi’ 프로세스를 찾아 종료시키시오. (vi’ 프로세스 id9999으로 가정한다.)

killall -9 vi / kill -9 9999

16. 디렉터리만 출력하시오. (명령어: ll)

ll -d

17. test.txt’ 파일에서 상단 10줄을 읽어 오류만 ‘error.txt’ 에 저장하시오.

head text.txt 2> error.txt

18. test.txt’ 파일에 ‘link_test’ 이름으로 심볼릭 링크를 생성하시오.

ln -s test.txt link_test

19. 디렉터리와 파일을 전부 보여주고, 읽기 편하게 출력하시오 (명령어: du)

du -ah

20. 현재 디렉토리의 모든 파일에서 ‘mail’ 이라는 패턴이 들어간 파일의 이름을 출력하라. (명령어 : grep)

grep -l ‘mail’ *

21. m’으로 시작하는 모든 파일에서 ‘hamster’ 를 포함하는 모든 행을 찾으시오.(명령어 : grep)

grep ‘hamster’ m*

22. 현재 디렉토리 내의 ‘test.txt’ 파일에서 ‘:’ 구분자를 이용하여 3번째 필드를 출력하라 (명령어 : awk)

awk -F ‘:’ '{ print $3 }' test.txt

23. 현재 디렉토리 내의 ‘test.txt’ 파일에서 1행에서 3행까지 출력하라. (명령어 : sed)

sed -n ‘1,3p’ test.txt

24. vi 에디터의 탭간격을 4로 설정하시오. (vi 에디터를 실행시켰다고 가정)

:set ts=4

25. 다음 vi 화면에서 ‘if’를 ‘testif’ 로 한번에 변경하시오.

:%s/if/testif/g

26. 실행중인 터미널의 사이즈를 구하시오.

stty size

27. 로그인 하고 있는 모든 사용자를 출력하시오.

who

28. 현재 서버의 메모리와 캐시사용량을 mb 단위로 출력하시오.

free -m

29. 현재 디렉토리에 abcd.txt라는 파일을 만드는 alias를 작성하시오. (alias: abcd)

alias abcd=‘touch abcd.txt’

30. 포그라운드(foreground)로 실행중인 프로세스를 일시 중지하는 단축키는 무엇인가.

ctrl + Z 로 일시중지 할 수 있다.

31. 아래 리스트에서 ‘6자리 단어이자, 대소문자 구분없이 ‘y’ 가 포함되는’ 단어의 개수를 출력하라. (명령어:more)

more list | grep -w '......' | -ic 'y'

32. diff -u b a’ 명령어를 이용하여 아래와 같은 결과를 도출하였다. 결과값을 가지고 a파일을 만드시오.

diff -u b a > a

33. 당일 오후 1시로 알람을 지정한 뒤, 프로세스를 죽이시오 (PID9999으로 가정한다.)

kill -14 9999 | at 13:00

34. 10G의 더미파일(빈파일)을 만들고자 한다. 흰색을 채우시오. (파일명은 ‘dummy’로 지정한다.)

dd if=/dev/zero of=dummy count=10

35. 시그널 이름 중 ‘SIGQUIT’ 는 몇 번에 해당하는가?

d.3 번에 해당한다.

36. csh 에서 로그아웃할 때 백그라운드 프로세스들을 자동으로 죽일 때, 어느 파일을 참조하는가?

a. .logout 파일을 참조한다.

37. grep 을 사용하여 마침표로 시작되는 줄을 찾으시오.

grep ^\. 찾을 파일 or 디렉터리

38. 디렉토리 내에서 가장 새로운 파일의 이름을 출력하는 방법은 무엇인가 (명령어: ls)

ls -t | head -1

39. 연결되지 않은 심볼릭 링크 찾아내는 방법은 무엇인가 (명령어: find)

find -L . -type l

40. rm’ 명령어 사용시, 바로 삭제시키지 않고 한번 더 물어본 후 삭제시키고자 할 때 사용하는 옵션은?

rm -i file

41. cat’ 명령어 옵션 중, tab과 행바꿈 문자를 제외한 제어 문자를 ^ 형태로 출력해 주는’ 옵션은?

cat -v file

42. 0.0.0.0 에서 999.999.999.999 까지 표현할 수 있는 정규표현식을 작성하시오.

[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}

43. egrep’ 명령어를 이용하여 ‘testfile’ 내 ‘숫자 3이 한 번 이상 등장하는 행을 출력하시오’.

egrep ‘3+’ testfile

44. 디렉토리 구조는 아래와 같다.a.py vi 편집기로 연 후, 빠져 나오지 않은 채,b.py 로 전환하시오.

:e b.py

45. 파일의 제일 앞부분에 있는 100개의 문자를 삭제하시오 (명령어 : dd)

dd if=input_filename of=output_filename ibs=1 skip=100 conv=notrunc

46. test.log’ 파일을 정렬하여, 동일 디렉토리 내 ‘result.log’ 에 작성하시오. (명령어 : sort)

cat test.log | sort >> result.log

47. 백그라운드로 실행중인 프로세스나 현재 중지된 프로세스 목록을 PID와 같이 출력하라.

jobs -l

48. 현재 등록된 crontab에 등록된 작업을 출력하시오

crontab -l

49. [ 30 4,12 * * *  rm /home/*.log ] crontab 에 대해 맞는 설명은?

매일 4시 30분과 12시 30분에 로그파일 삭제

50. vi 편집기내에서 문서 최상단으로 커서를 위치시키는 명령어는?

gg or 1G
728x90