Linux와 커맨드 라인 기초

$ echo a > f.txt
$ echo b > f.txt
$ echo c >> f.txt
$ cat f.txt

위의 명령을 순서대로 실행했을 때, 마지막 cat으로 표시되는 내용으로 올바른 것은?

  1. Ac 한 줄뿐
  2. Bb와 c 두 줄
  3. Ca, b, c 세 줄
정답과 해설 보기

정답: B. b와 c 두 줄

'>'는 출력을 파일에 쓰는 리다이렉션으로, 파일이 이미 있으면 내용을 비운 다음 씁니다(덮어쓰기). '>>'는 파일의 끝에 추가합니다. 첫 번째 줄에서 a가 쓰이고, 두 번째 줄의 >로 내용이 b뿐이 되며, 세 번째 줄의 >>로 c가 뒤에 더해지므로 f.txt는 b와 c 두 줄이 됩니다. 중요한 파일을 >로 지워 버리지 않도록, bash에서는 set -o noclobber로 덮어쓰기를 금지할 수도 있습니다.

이 분야 연습하기 분야로 돌아가기

Linux와 커맨드 라인 기초의 다른 문제

  1. 위와 같이 a.txt는 있고 nofile은 없는 디렉터리에서 마지막 명령을 실행했다. 결과로 올바른 것은?
  2. 위의 조작에서 마지막 명령이 출력하는 값으로 올바른 것은?
  3. 위의 조작에서 마지막 grep이 출력하는 줄로 올바른 것은?
  4. 선택지에서는 줄 맨 앞의 공백을 빼고 나타낸다. 위의 조작에서 마지막 명령이 출력하는 줄로 올바른 것은?
  5. 서버의 로그 파일 /var/log/app.log에 나중에 추가되는 줄을, 추가될 때마다 화면에 계속 표시하고 싶다. 적절한 명령은?