Linux 실습일지

Linux 실습일지(2) - Linux 명령어

s-jiun 2023. 2. 1. 13:58
반응형
반응형
실습 과제

 

'실습과제'라는 디렉토리를 하나 만들어 리눅스 기본 명령어 중 touch, less, file에 대한 man 내용을 .txt 파일로 저장한 뒤 이들을 bzip2 형식으로 압축하였다.

실습 파일 다운로드

 

새로 배운 내용

 

이번 수업 시간에는 컴퓨터와 프로그램이 동작하는 과정에 대해 배우고 리눅스에서 사용되는 명령어들을 익혔다. 그리고 텍스트 에디터인 vi 에디터 사용법과 리눅스에 외부 장치를 연결하는 마운트, 파일 묶기 및 파일 압축에 대해 실습했다.

새로 배운 명령어들을 정리하면 다음과 같다.

 

<X 윈도>
▶ ubuntu: GNOME
▶ kubuntu: KDE
<터미널, 콘솔에서 시스템 종료 명령 실행>
▶ poweroff
▶ shutdown -P now
▶ halt -p
▶ init 0 (리눅스 시스템의 런레벨을 0으로 전환)
<shutdown 명령어>
▶ shutdown -P +10 (10분 후에 종료, P = poweroff)
▶ shutdown -r 22:00 (22시에 재부팅, r = reboot)
▶ shutdown -c (예약된 shutdown 취소)
▶ shutdown -k +15 (현재 접속자들에게 15분 후에 시스템이 종료된다는 안내 메시지 전송, 실제로 종료하는 명령어는 아님)
<재부팅>
▶ reboot
▶ shutdown -r now
▶ init 6 (리눅스 시스템의 런레벨을 6으로 전환)
<로그아웃 (자신만 접속 종료)>
▶ logout
▶ exit
<런레벨>
▶ 설정된 런레벨 확인: ls -l /lib/systemd/system/default.target
▶ 그래픽 모드 -> 텍스트 모드
: (root 계정에서) ln -sf /lib/systemd/system/multi-user.target /lib/systemd/system/default.target
: (이어서) ls -l /lib/systemd/system/default.target
: (이어서) reboot

 

아래 사진은 리눅스 그래픽 모드에서 텍스트 모드로 전환한 것이다.

리눅스 텍스트 모드의 모습이다. 리눅스 서버의 모습과 흡사하다
▶ 텍스트 모드 -> 그래픽 모드
: (X윈도우 실행) startx
: sudo ln -sf /lib/systemd/system/graphical.target /lib/systemd/system/default.target
: (이어서) reboot

 

아래 사진은 텍스트 모드에서 startx 명령어를 입력한 후 다시 그래픽 모드로 전환하는 모습이다

이 상태에서 reboot을 입력하면 원래의 그래픽 모드로 되돌아온다.
<명령어 도움말>
▶(찾고자하는 명령어 입력 후) --help
▶ | (Shift + \)
▶ less
▶ >
▶ man ( + <명령어 이름>)
<디렉토리>
▶ 디렉토리 생성: mkdir + 디렉토리 이름
▶ 디렉토리 제거: rmdir + 디렉토리 이름

 

아래 사진은 mkdir로 'test' 디렉토리 생성 후 help 명령어로 명령어 cp에 대해 검색해보고 파일을 생성하여 'test' 디렉토리에 저장한 것이다. 지금보니 test1.txt 파일 확장자 앞에 .을 입력해야 하는데 ,(쉼표)로 오타가 났다.

 

<파일 내용 출력>
▶ cat

 

아래 사진은 명령어 cp의 man 내용을 test2.txt 파일로 저장한 뒤 명령어 cat을 사용하여 파일 내용을 확인한 것이다.

 
<파이프>
▶ | (Shift + \) (예시. ps -ef | grep bash)
<필터 (필요한 것만 보여줌, 주로 파이프와 같이 사용)>
▶ grep, tail, wc, sort, awk, sed 등
<리디렉션 (표준 입출력의 방향 전환, 표준 출력을 파일로 처리하고자 할 때 사용)>
▶ ls -l > list.txt
▶ ls -l >> list.txt
▶ sort < list.txt
▶ sort > list.txt > out.txt
<리눅스 터미널, 콘솔에서 이동 방법>
▶ 행 이동: 키보드 화살표 ↑, ↓ 또는 K, J
▶ 페이지 이동: PageUp, PageDown 또는 Space bar, B
▶ 특정 단어 검색: /단어 (다음 단어로 이동 시 N, 종료 시 Q)

 

명령어 실습 이후 vi 에디터를 사용하여 간단한 파이썬 코드를 작성해보았다.

 

또한, 리눅스 데스크톱 ISO 이미지 파일을 마운트해보았다.

우선 연결되어 있는 장치들을 확인해보았다
이후 우측 상단의 CD모양을 눌러 리눅스 데스크톱 이미지 파일을 넣고 마운트를 진행했다

마지막으로 파일을 묶고 압축하는 실습을 해보았다. 파일을 묶고 압축하는 과정이 한꺼번에 진행되는 윈도우와 달리 리눅스는 두 개의 과정을 따로 본다고 한다. 여기서 주의해야 할 사항은

파일을 묶을 때는 파일명 앞에 tar cvf를 입력하고 확장자 .tar

파일을 묶고 gzip으로 압축할 때는 파일명 앞에 tar zcvf를 입력하고 확장자 .tar.gz

파일을 묶고 bzip2로 압축할 때는 파일명 앞에 tar jcvf를 입력하고 확장자 .tar.bz2 라는 것이다.

 

 

 

문제가 발생하거나 고민한 내용 + 해결과정

 

1. 리눅스를 그래픽 모드에서 텍스트 모드로 바꾸는 과정에서, 긴 명령어를 입력하다가 중간에 띄어쓰기를 한 칸 빼먹어 텍스트 모드로 변경되지 않았다. 그런데 오류 메시지가 뜨지 않아 처음에는 무엇이 잘못된 것인지 찾는데 오래 걸렸다. 확인해보니 텍스트 모드로 변경되는 대신 바탕화면에 깨진 파일이 하나 생성되어 있었다. 아래 사진이 바로 그 모습이다.

자세히보면 multi-user.target 뒤에 띄어쓰기가 빠져있다는 것을 알 수 있다.

일반적으로 코딩을 할 때에는 띄어쓰기의 유무가 오류를 발생시키는 경우가 많지 않아서 처음에 위 같은 상황을 접했을 때 띄어쓰기의 오류로 인해 발생되었을 것이라고는 생각지 못했다. 때문에 오류를 찾는 데 시간이 더 오래 걸렸고, 이번 경험을 통해 리눅스 터미널에 명령어를 입력할 때에는 띄어쓰기가 중요하다는 것을 알게 되었다.

 

2. 실습과제를 수행할 때, 처음에 파일명 뒤의 .tar.gz가 파일 병합, 압축 확장자인 줄 모르고(파일명의 일부인 줄 알았다) 파일명만 입력하고 이를 생성하였다. 그랬더니 수업 시간에 실습한 것과 다르게 파일명이 하얀색으로 나타났는데, 처음에는 파일명이 영어가 아니라서 그런가 하고 있다가 파일을 다운받아보니 이상하게 깨져있는 것을 확인할 수 있었다. 그래서 리눅스 교재를 찾아 보았고 .tar는 파일을 묶는 확장자, .gz와 .bz2는 압축 확장자인 것을 알게 되었다. 이후 다시 실습과제를 진행하였고 파일을 무사히 압축할 수 있었다.

 

 

참고할 만한 내용

 

이번에는 실습을 진행하면서 따로 찾아본 사이트가 없다. 강의 내용 외에 찾아본 것이 있다면 리눅스 교재 정도인데, 리눅스 교재에 각종 명령어와 파일 묶기, 파일 압축에 대한 내용이 잘 정리되어 있다.

 

 

회고

 

이번 시간에는 리눅스를 이용하는 데 기본이 될 수 있는 명령어들을 많이 실습해보았는데, 조금 더 리눅스와 친해진 것 같아 좋지만 아직 많이 부족한 것도 사실이다. 일단 명령어를 숙지하는 것이 우선인 것 같은데, 무작정 외우기 보다는 강의도 돌려보고 교재도 참고하며 명령어를 많이 사용해보는 것이 좋을 듯하다. 사실 아직도 리눅스에 대해 배운 내용들이 엉킨 실타래처럼 머릿속에 둥둥 떠다니는 느낌이다. 실습을 많이 하다보면 이 내용들이 차근차근 정리되지 않을까 생각한다.

 

반응형