멀티부팅 -> 한 번에 하나의 운영체제만 가동
가상머신 -> 여러 개의 운영체제 가동
# 프롬프트는 root 사용자
$ 프롬프트는 일반 사용자
root 권한 얻으려면? => su 명령 실행
명령어 모음
시스템 종료 시
poweroff
shutdown -P now
halt -p
init 0
시스템 재부팅
shutdown -r now
reboot
init 6
shutdown 명령은 뒤에 now가 아니더라도 시간을 지정해줄 수 있음!
shutdown -P +10 => 10분 뒤 종료
shutdown -r 22:00 => 22시에 종료
shutdown -c => 예약된 shutdown 명령을 취소
shutdown -k +15 => 현재 접속한 사용자에게 15분 후에 종료된다는 메시지를 보내지만 실제로 종료하지는 않음
로그아웃
logout
exit
Ctrl + Alt + F2는 X윈도우 모드 F1 ~ F6으로 가상 콘솔 여러개를 이동하면서 조작 가능
런 레벨(Runlevel)
init 명령어 뒤에 붙는 숫자
/lib/systemd/system 디렉터리로 가서 ls -l runlevel?.target으로 확인 가능
ln -sf로 런레벨 변경
자동 완성과 히스토리
tab키 누르면서 파일명 자동 완성할 수 있음
도스 키(상하 화살표 키)로 입력한 명령을 다시 나타나게 할 수 있음
history 히스토리 확인
history -c 히스토리 모두 삭제
cd : 현재 사용자의 홈 디렉터리로 이동
ls : 해당 디렉터리 내의 파일 확인
cat 파일 : 파일 내용을 화면에 출력
man : 명령어 도움말 출력
pwd : 현재 디렉터리 위치 확인
rm : 파일이나 디렉터리 삭제
. : 현재 디렉터리
.. : 상위 디렉터리
cp : 파일이나 디렉터리를 복사
touch : 크기가 0인 새 파일을 생성, 이미 존재하는 경우 수정 시간을 변경
mv : 파일과 디렉터리의 이름을 변경하거나 위치 이동 시 사용
mkdir : 새로운 디렉터리를 생성
rmdir : 디렉터리를 삭제(단, 비어있어야 함)
head, tail : 텍스트로 작성된 파일의 앞 10행 또는 마지막 10행만 출력
more : 텍스트로 작성된 파일을 화면에 페이지 단위로 출력
less : more와 용도가 비슷하지만 기능이 더 확장된 명령
file : File이 어떤 종류의 파일인지를 표시
clear : 명령창을 깨끗하게 지워줌
에디터에는 3가지가 있다.
gedit, vi, nano
nano에서 행정보 출력하고 싶을 때 nano -c 파일명 을 치면 된다.
vi 에디터에서 i 또는 a를 입력하면 입력 모드로, :를 입력하면 라인 명령 모드(저장(w), 종료(q), 취소(i) 등)로 실행할 수 있다.
vi 에디터 종료 시: ESC + :q + Enter (:q! 일 때는 변경 사항 무시하고 종료 / :wq는 파일 저장 및 종료)
저장하지 않은 채로 비정상적으로 종료됐을 때 해결 사항
ls -a 입력해 파일 확인하고 rm -f .파일명.swp 명령을 입력해 스왑 파일 삭제
마운트(mount) : 물리적인 장치를 특정한 위치(디렉터리)에 연결하는 과정
mount: 마운트된 장치 리스트 확인 <-> umount : 마운트 해제
CD/DVD 예시) mount /dev/cdrom
리눅스는 다중 사용자 시스템
/etc/passwd 파일에 사용자 정보들이 있음
사용자 이름:암호:사용자 ID:사용자가 소속된 그룹 ID:전체 이름:홈 디렉터리:기본 셸
사용자의 비밀번호는 /etc/shadow
그룹은 /etc/group
사용자와 그룹 관련 명령어
useradd : 새로운 사용자를 추가 / 옵션) -u: ID 지정, -g: 그룹 지정, -d: 홈 디렉터리 지정, -s: 셸 지정
passwd : 사용자의 비밀번호를 지정하거나 변경
usermod : 사용자의 속성을 변경
userdel : 사용자를 삭제
chage : 사용자의 암호를 주기적으로 변경하도록 설정
groups : 현재 사용자가 속한 그룹을 보여줌
groupadd : 새로운 그룹을 생성
groupmod : 그룹의 속성을 변경
groupdel : 그룹을 삭제
gpasswd : 그룹의 암호를 설정하거나, 그룹의 관리를 수행
파일과 디렉터리의 소유와 허가권
chmod : 파일 허가권 변경 명령어
chown, chgrp : 파일의 소유권을 바꾸는 명령어(chown: 소유자 변경, chgrp: 그룹만 변경)
*chown 명령어는 root 사용자만 실행할 수 있음
하드 링크와 심볼릭 링크
하드링크 생성 : ln 링크대상파일이름 링크파일이름
심볼릭링크 생성 : ln -s 링크대상파일이름 링크파일이름
심볼릭 파일은 원본 파일이 없으면 연결이 끊어진다.
프로그램 설치를 위한 RPM
RPM : setup.exe와 같은 설치 파일. 확장명은 .rpm 이며 패키지라고 부름
설치: rpm -Uvh 패키지파일이름.rpm
삭제: rpm -e 패키지이름
이미 설치된 패키지 조회
rpm -qa 패키지 이름 : 시스템에 패키지가 설치되었는지 확인
rpm -qf 파일의 절대경로 : 이미 설치된 파일이 어느 패키지에 포함된 것인지 확인
rpm -ql 패키지이름 : 특정 패키지에 어떤 파일이 포함되었는지 확인
rpm -qi 패키지이름 : 설치된 패키지의 상세 정보
아직 설치되지 않은 rpm 파일 조회
rpm -qlp 패키지파일이름.rpm : 패키지 파일에 어떤 파일이 포함되었는지 확인
rpm -qip 패키지파일이름.rpm : 패키지 파일의 상세 정보
RPM의 단점 : 의존성 문제 => DNF(또는 YUM)으로 해결
DNF : 인터넷을 통하여 필요한 파일을 저장소에서 자동으로 모두 다운로드해서 설치하는 방식(네트워크 연결 필수)
RHEL 7까지 YUM, 그 이후부터는 DNF
저장소의 url은 /etc/yum.repos.d/
DNF 기본 설치: dnf install 패키지이름 (dnf -y install 패키지이름으로 치면 사용자의 확인을 모두 yes로 간주하고 바로 설치 진행)
설치된 패키지 중 업데이트 가능한 목록 보기: dnf check-update
업데이트: dnf update 패키지이름
삭제: dnf remove 패키지이름
정보확인: dnf info 패키지이름
DNF 고급 사용법
패키지 그룹 설치: dnf groupinstall 패키지그룹이름
패키지 리스트 확인: dnf list 패키지이름
특정 파일이 속한 패키지 이름 확인: dnf provides 파일이름
GPG 키 검사 생략: dnf install --nogpgcheck rpm파일이름.rpm
기존 저장소 목록 지우기: dnf clean all
파일 압축과 묶기
파일 압축 관련 명령
xz : 확장명 xz로 압축하거나 풀어준다.
bzip2 : 확장명 bzip2로 압축하거나 풀어준다. (bzip2 파일명(압축), bzip2 -d 파일명.bz2(압축해제))
bunzip2 : bzip2 -d 파일명.bz2과 같음. 압축 해제
gzip : 확장명 gzip로 압축하거나 풀어준다. (gzip 파일명(압축), gzip -d 파일명.gz(압축해제))
gunzip : gzip -d 파일명.gz와 같음. 압축 해제
파일 묶기 관련 명령
tar : 확장명 tar로 묶음 파일을 만들어주거나 묶음을 풀어준다.
동작: c(묶기), x(풀기), t(경로확인)
옵션: f(파일), v(과정보이기), J(tar+xz), z(tar+gzip), j(tar+bzip2)
find 경로 옵션 조건 action: 기본 파일 찾기
시스템 설정
네트워크 설정: nmtui
방화벽 설정: firewall-config
서비스 설정: ntsysv
CRON과 AT
cron: 주기적으로 반복되는 일을 자동적으로 실행될 수 있도록 설정
at: 주기적으로 반복되는 작업을 예약하는 것이지만 일회성 작업을 예약
네트워크 명령어
systemctl <start/stop/restart/status> NetworkManager : 네트워크의 설정 변경한 후, 변경된 내용을 시스템에 적용
ifconfig <장치이름> up 및 ifup <장치이름> : 네트워크 장치를 On시키는 명령어
ifconfig <장치이름> down 및 ifdown <장치이름> : 네트워크 장치를 Off시키는 명령어
ifconfig <장치이름> : 장치의 IP주소 설정 정보를 출력
nslookup : DNS 서버의 작동을 테스트하는 명령어
ping <IP주소 또는 URL> : 해당 컴퓨터가 네트워크 상에서 응답하는지를 테스트하는 간편한 명령어
/etc/NetworkManager/system-connection/ens160.nmconnection : ens160 장치에 설정된 네트워크 정보가 모두 들어 있는 파일
/etc/resolv.conf : DNS 서버의 정보 및 호스트 이름이 들어 있는 파일
/etc/hosts : 현 컴퓨터의 호스트 이름 및 FQDN이 들어 있는 파일
네트워크 보안을 위한 SELinux
grubby --update-kernel ALL --args selinux=0 => 비활성
grubby --update-kernel ALL --remove-args selinux => 활성
system-config-selinux 명령의 [현재 강제 모드]의 작동 방식
▫ ‘강제(Enforcing)’는 시스템 보안에 영향을 미치는 기능이 감지되면 아예 그 기능이 작동되지 않도록 시스템에서 막아줌.
▫ ‘허용(Permissive)’은 시스템 보안에 영향을 미치는 기능이 감지되면 허용은 되지만 그 내용이 로그에 남음.
▫ ‘비활성화(Disabled)’은 SELinux를 사용하지 않음
uname -r : 커널 버전 확인
make mrproper: 커널 초기화 설정
make xconfig: 커널 환경 설정 진입
인터넷 응용 프로그램 - 에볼루션
에볼루션(Evolution)은 MS Outlook과 비슷한 기능을 하는 이메일 클라이언트
메뉴 : [현재 활동] → '프로그램 표시' 아이콘 → '에볼루션'
명령어 : evolution
'CS > 운영체제' 카테고리의 다른 글
리눅스 서버 정리(메일 서버 설치 및 운영 / 데이터베이스 서버 구축 및 운영) (1) | 2024.12.11 |
---|---|
리눅스 서버 정리(원격지 시스템 관리 및 네임 서버 설치 및 운영) (0) | 2024.12.11 |
리눅스 서버 정리(셸 스크립트 프로그래밍) (1) | 2024.12.09 |
[CS/운영체제] 가상 메모리, 캐시메모리 (2) | 2024.10.07 |
[CS/운영체제] 스케줄링, 메모리 관리 정리 (2) | 2024.10.02 |