📝 시작과 종료
- 종료하는 방법
- 바탕화면의 [사용자 이름] -> [컴퓨터 끄기]
- 터미널/콘솔에서 시스템 종료 명령어 입력
shutdown -P now
,halt -p
,init 0
위와 같은 명령어의 경우 시스템에 대한 어느정도의 권한이 있어야 제대로 동작한다.
터미널 창에서 # 프롬프트는 root 사용자를, $ 프롬프트는 일반 사용자를 의미한다.
- 시스템 재부팅
- 바탕화면의 [사용자 이름] -> [컴퓨터 끄기] -> [다시 시작]
- 터미널/콘솔에서 시스템 재부팅 명령어 입력
shutdown -r now
,reboot
,init 6
- 로그아웃
- 바탕화면의 [사용자 이름] -> [로그아웃]
- 터미널/콘솔에서 시스템 종료 명령어 입력
logout
또는exit
📝 가상 콘솔
- 가상 콘솔이란 쉽게 말해 '가상의 모니터'라고 생각하면 되는 개념으로, CentOS는 총 5~6개의 가상 콘솔을 제공한다.
- 각각의 가상 콘솔로 이동하는 단축키는
Ctrl + Alt + (F3~F6)
- 다시 게스트 OS 화면으로 돌아오는 단축키는
Ctrl + Alt + F2
- 가상 콘솔을 종료시킬 때에는 아래와 같이
shutdown -h
명령어를 사용하며 뒤에+5
와 같은 숫자를 추가로 입력할 경우 5분후에 시스템이 종료되도록 할 수 있다. - 만약 종료 명령을 취소하고 싶을 때에는
shutdown -c
명령어를 입력하여 취소시킬 수 있다.
- 참고로 위와 같이 가상 콘솔 상에서 명령어를 입력하게 되면 다른 가상 콘솔 창에 아래와 같은 경고 메시지가 출력되는 것을 확인할 수 있다.
- 추가로
shutdown -k
명령어의 경우에는 실제로 시스템을 종료하는 명령어가 아니라 아래와 같이 경고 메시지만 출력되도록 하는 기능을 수행한다.
📝 런 레벨(Runlevel)
init
명령어 뒤에 붙는 숫자를 런 레벨(Runlevel)이라고 부른다.
- 런 레벨 2와 4는 거의 사용하지 않으며, 3과 5는 GUI 존재 여부에 따라 분류하지만 거의 동일한 기능을 수행한다.
- 런 레벨 모드는
/lib/systemd/system
디렉터리의runlevel?.target
파일을 통해 확인할 수 있다.
- 현재 우리가 사용하고 있는 시스템에서는 어떤 런 레벨 모드를 사용하고 있는지 확인하기 위해서 아래와 같은 명령어를 입력해보았다.
- default.target은 현재 시스템에 적용되어 있는 런 레벨을 의미하며 현재 graphical.target, 즉 런 레벨 5를 사용하고 있는 것을 확인할 수가 있다.
- 이 또한 명령어를 통해 임의로 변경하여 사용할 수 있다.
- 위 명령어의 결과를 보면 default.target의 값이 multi-user.target으로 변경된 것을 확인할 수 있다.
- 이후 시스템을 재부팅해보면 X윈도우가 아닌 터미널 모드로 시스템을 실행시키는 것을 확인할 수 있다.
- 위 상태에서
startx
명령어를 입력하면 다시 graphical 모드로 변환하여 X윈도우 창이 띄워지게 된다. - 다만 재부팅 시 다시 터미널 모드로 접속되기 때문에 터미널 창으로 접속한 후 default.target의 값을 다시 graphical.target으로 변경해주자
📝 자동 완성과 히스토리
- 자동 완성이란 파일명의 일부만 입력한 후에
Tab
키를 눌러 나머지 파일명을 자동으로 완성하는 기능을 말한다.- 만약
Tab
키를 눌러도 아무 반응이 없다면 자동 완성의 후보가 되는 파일명이 여러 개 존재한다는 것을 의마하며Tab
키를 한번 더 눌러주면 해당 후보군들을 출력해준다.
- 만약
자동 완성 기능은 빠른 입력효과도 있지만, 파일명이나 디렉터리가 틀리지 않고 정확하게 입력되는 효과도 있으므로 자주 활용된다.
history
명령어를 입력하면 이전에 입력한 명령어들을 모두 확인할 수 있다.history -c
명령어를 입력하면 이전에 입력한 명령어 내역을 모두 삭제할 수 있다.
- 도스 키(DOSKEY)란 이전에 입력한 명령어(history)를 상/하 화살표 키를 이용해서 다시 나타내는 기능을 말한다.
- history 내역에 아무 것도 없다면 작동하지 않는다.
📝 에디터 사용
- 에디터란 말 그대로 편집기라는 뜻으로, 그 종류로는 크게 gedit과 vi가 있다.
📜 gedit
- gedit은 Windows의 메모장처럼 X윈도우에서 제공해주는 편리한 에디터로, X윈도우 기반이기 때문에 X윈도우를 사용하지 않는 서버 기본 텍스트 모드에서는 사용할 수 없다.
- 터미널 창에서
gedit
명령어를 통해 실행시킬 수 있다.
- 파일을 저장하고 해당 파일을 다시 열고 싶을 경우 아래와 같이
gedit [파일명]
을 입력하여 실행시킬 수 있다.
📜 vi
- vi는 모든 리눅스/유닉스 시스템에 포함되는 기본 에디터로써, 편집 시 다양한 색상을 이용해 가시성을 높였고 패턴 검색 시 하이라이트 기능을 제공하여 빠른 검색을 가능하게 해준다. 이 외에도 히스토리 기능, 확장된 정규 표현식 문법, 강력한 문법 강조 기능, 다중 되돌리기 기능, 유니코드를 비롯한 다국어 지원, 문법 검사 등 다양한 기능을 제공한다.
vi는 자주 사용해야 할 기능이므로 반드시 익혀두도록 하자
- 터미널 창에서
vi
명령어를 입력하면 아래와 같은 화면이 띄워진다.
- 우선 vi 에디터를 종료하려면 먼저
Esc
키를 누른 뒤:q
명령어를 입력하면 된다. - 이번에는 다시 vi 에디터를 실행하여 파일을 작성하고 저장해보도록 하자
- vi 에디터를 처음 실행하면 위 개요도에 나와있듯 명령 모드로 들어가게 된다.
- 그 상태에서 문서를 작성하기 위해서는 입력 모드로 바꿔주어야 한다. 이를 위해서는 단축키
i(insert)
또는a(append)
키를 눌러야 한다.
- gedit과 동일하게 문서를 작성하고 이를 저장하기 위해서는 다시 명령 모드로 빠져나와 ex 모드(라인 명령 모드)로 전환해야 한다.
- 이를 위해
Esc
키를 눌러 먼저 명령 모드로 빠져나온 후, 콜론(:
)을 입력하여 ex 모드로 전환하고 그 상태에서 저장(w
), 종료(q
), 취소(i
) 등을 수행한다. - 우리는 파일을 저장하고 에디터를 종료시킬 것이므로 결과적으로
:wq
를 입력하면 된다. 다만 처음 생성한 파일이기 때문에 이름을 정해주지 않으면 저장이 되지 않으므로:wq [파일명]
과 같이 입력해준다.
- 기존의 파일을 수정하기 위해서는 gedit과 마찬가지로 명령어 뒤에 파일명을 추가하여 입력해주면 된다.
- 추가로 만약 수정된 파일의 내용을 저장하지 않고 종료시키고 싶을 때에는
:q!
와 같이q
명령어 뒤에 느낌표(!
)를 추가하여 입력해주면 된다. - 또한 만약 사용자가 vi 에디터를 비정상적으로 종료시킬 경우(작업 도중 터미널 창을 종료시키는 경우 등) 다시 해당 파일을 열었을 때 아래와 같은 화면이 나오는 것을 확인할 수 있다.
- 위 화면에 띄워진 문구에서
.file2.txt.swp
라는 문구를 확인할 수 있는데 이는 임시 파일이 생성되어 남아있다는 것을 의미한다. - 해당 임시 파일은 에디터를 정상적으로 종료시켰을 경우 사라지게 된다. 즉, 임시 파일이 남아있다는 것은 에디터가 비정상적으로 종료되었다는 것을 의미하는 것이다.
- 이 경우에는 해당 임시 파일을 삭제함으로써 위와 같은 경고 메시지가 띄워지지 않도록 해야한다.
- 우선 해당 파일을 종료시키고 터미널 창에서
ls -a
명령어를 통해 숨김 파일을 포함한 모든 파일을 확인해본다.- 임시 파일의 맨 앞에 붙어있는 점(
.
)은 숨겨진 파일이라는 것을 의미
- 임시 파일의 맨 앞에 붙어있는 점(
- 해당 명령어를 통해
file2.txt
에 대한 임시 파일이 남아 있는 것을 확인할 수 있으며 이는rm -f .file2.txt.swp
과 같은 명령어를 통해 삭제할 수 있다.-f
는 파일 삭제시 별도의 질문 없이 삭제시키는 기능
- 이후 다시 에디터를 실행시켜보면 더 이상 경고 메시지가 출력되지 않고 정상적으로 작업을 수행할 수 있는 것을 확인할 수 있다.
- vi 에디터의 기능을 요약하자면 다음 표와 같다.
명령모드에서 입력모드로 전환 | |||
i | 현재 커서의 위치부터 입력 | I | 현재 커서 줄의 맨 앞에서부터 입력(Shift + I) |
a | 현재 커서의 위치 다음 칸부터 입력 | A | 현재 커서 줄의 맨 마지막부터 입력(Shift + A) |
명령모드에서 커서 이동 | |||
h | 커서를 왼쪽으로 한 칸 이동 | j | 커서를 아래로 한 칸 이동 |
k | 커서를 위로 한 칸 이동 | l | 커서를 오른쪽으로 한 칸 이동 |
명령모드에서 삭제, 복사, 붙여넣기 | |||
x | 현재 커서가 위치한 글자 삭제(Del과 같은 의미) | X | 현재 커서가 위치한 앞 글자 삭제(BackSpace와 같은 의미) |
dd | 현재 커서의 행 삭제(d키 연속 두 번 입력) | 숫자 dd | 현재 커서부터 숫자만큼의 행 삭제(숫자 다음 d키 연속 두 번 입력) |
yy | 현재 커서가 있는 행을 복사(y키 연속 두 번 입력) | 숫자 yy | 현재 커서부터 숫자만큼의 행 복사(숫자 다음 y키 연속 두 번 입력) |
p | 복사한 내용을 현재 행 이후에 붙여넣기 | P | 복사한 내용을 현재 행 이전에 붙여넣기 |
** 행 번호 표시는 ":set number"
📝 도움말
man(manual)
명령어를 사용하여 도움말 목록을 출력할 수 있으며, 도움말 페이지는 섹션 1부터 9까지 존재한다.
📝 마운트와 CD/DVD 및 USB 메모리의 활용
- 마운트란 물리적인 장치(CD/DVD, USB 메모리 등)를 특정한 위치(대개는 디렉터리)에 연결시켜 주는 과정을 말한다.
- Windows 운영체제의 경우 CD/DVD 또는 USB 메모리가 접속될 경우 자동으로 할당하지만 Linux는 이러한 기능이 없다. 즉, 리눅스 환경에서는 필요할 때마다 CD/DVD 또는 USB 메모리와 같은 물리적인 장치를 특정 위치에 연결시켜주는 마운트 작업을 수행해야 한다.
- 간단하게
mount
명령어를 입력하여 현재 마운트 된 목록을 확인할 수 있다.
- 참고로 위 목록에서
/dev/sda2
라는 요소를 확인할 수 있는데, 이는 우리가 이전에 Server 가상머신의 디스크 장치를 파티션 할 때 임시 메모리로 사용하기 위한 4GB의 swap 파티션을 제외한 나머지 루트(/) 파티션을 의미한다.
📜 X윈도우 - CD/DVD
- 오른쪽 상단의 화살표 버튼을 클릭해보면 현재 연결된 장치를 확인할 수 있는데, CD/DVD 장치만 연결되어 있지 않은 것을 확인할 수 있다.
- 위 상태에서 만약 CD를 넣어 마운트를 하고자 한다면 우선 다음과 같이 CD/DVD 장치 아이콘을 오른쪽 클릭하여 'Settings' 메뉴로 이동하고, 설정 화면에서 아래와 같이 설정해준다.
- 위 과정을 마치고 돌아오면 자동으로 CD/DVD 장치를 연결하는 것을 확인할 수 있다.
- 이는 X윈도우인 경우의 이야기이며, 자동으로 연결할 경우 내가 원하는 곳이 아닌 이상한 위치에 연결하는 경우가 있어 이를 확인해주어야 한다.
- 다시
mount
명령어를 통해 마운트 된 목록을 출력해보면 아래와 같다.
- 가장 마지막 요소가 우리가 방금 연결한 요소이며,
/dev/sr0
은/dev/cdrom
과 같은 의미이다. - 해당 연결 경로를 살펴보면 복잡한 위치에 마운트되어 있는 것을 확인할 수 있다.
- 이를 수정하고 우리가 원하는 위치에 직접 마운트하기 위해 아래와 같이 해당 폴더로 이동하여
umount /dev/cdrom
명령어를 입력해보면 경고 메시지가 뜨며 마운트가 해제되지 않는 것을 확인할 수 있다.umount
명령어는 마운트를 해제하기 위한 명령어
- 이는 현재 사용자가 해당 CD/DVD 위에 올라와 있는 상태이기 때문에 발생하는 문제이므로, 마운트를 해제하기 위해서는 해당 폴더에서 빠져나와야 한다.
cd
명령어를 통해 홈 디렉터리로 이동하자
- 이후 다시
umount
명령어를 통해 마운트를 해제한다.
📜 X윈도우 - USB 메모리
- USB 메모리를 연결하여 사용하고자 할 경우에는 호스트 컴퓨터에서 먼저 USB 메모리를 할당시킨 후 게스트 컴퓨터에 접속하여 USB 아이콘을 우클릭하고 Connect를 수행한다.
- 위 과정을 수행하면 호스트 컴퓨터에 할당되었던 USB 메모리가 사라지고 게스트 컴퓨터에 할당되는 것을 확인할 수 있다.
- CD/DVD 장치와 마찬가지로
mount
명령어를 통해 마운트 위치를 확인할 수 있다.
📜 텍스트 모드
- 이번에는 텍스트 모드에서 CD/DVD 장치 및 USB 메모리를 마운트하는 방법에 대해 알아보자
- Server(B) 가상머신을 실행하여 루트 사용자로 접속한다.
- 마찬가지로 우측 상단의 아이콘을 우클릭하여 아래와 같은 설정 화면을 열어주고 동일하게 설정을 진행한다.
- Server 가상머신의 경우 X윈도우 상에 위치해 있기 때문에 자동으로 마운트 해주었지만 X윈도우가 아닌 텍스트 모드는 위에서 언급했듯이 직접 마운트해야 한다.
- 동시에 USB 메모리 역시 동일한 방법으로 연결해준다.
- 이후
mount
명령어를 실행시켜보면 당연히 자동으로 연결되어있지 않기 때문에 목록 상에 존재하지 않는 것을 확인할 수 있다.
- 이를 직접 마운트해주기 위해 특정 폴더(원하는 폴더)로 이동하여 새로운 디렉터리를 만들어주었다.
- 디렉터리 이름을 보면 알 수 있듯이 각각은 CD/DVD 장치와 USB 장치를 연결할 디렉터리이다.
- 우선 CD/DVD 장치를 연결하기 위해 아래와 같이
mount /dev/cdrom /media/cdrom/
명령어를 입력해준다. - 여기서 뒤에 나오는
/media/cdrom
은 방금 연결을 위해 만든 디렉터리이다. - 이후 해당 폴더로 이동하여 파일을 확인해보면 정상적으로 연결되어 파일이 존재하는 것을 확인할 수 있다.
- 마찬가지로
umount
명령어를 사용하면 마운트 해제가 가능하다. - 동일한 방법으로 USB 장치 역시 마운트 연결 및 해제가 가능하다.
- USB 장치의 이름은
/dev/sdb1
즉,mount /dev/sdb1 /media/usb/
의 명령어로 마운트 할 수 있음
- USB 장치의 이름은
'🐧 Linux > 이것이 리눅스다(CentOS 8)' 카테고리의 다른 글
[이것이 리눅스다(CentOS 8)] 04장. 필수개념과 명령어(4) (0) | 2023.03.28 |
---|---|
[이것이 리눅스다(CentOS 8)] 04장. 필수개념과 명령어(3) (0) | 2023.03.27 |
[이것이 리눅스다(CentOS 8)] 04장. 필수개념과 명령어(2) (0) | 2023.03.26 |
[이것이 리눅스다(CentOS 8)] 03장. CentOS 리눅스 설치 (0) | 2023.03.24 |
[이것이 리눅스다 (CentOS 8)] 01장. 실습 환경 구축 (0) | 2023.03.23 |