
커널(Kernel): 하드웨어 자원(CPU/메모리/디스크/네트워크)을 직접 제어하는 OS의 핵심.
사용자@호스트: 경로 $ (일반 사용자 $), root는 #.$ 또는 # 뒤에 입력하는 부분.Ctrl + b / Ctrl + fCtrl + a / Ctrl + e# 로그아웃(쉘 종료)
exit
# root 전환
sudo su # /root로
sudo -s # 현재 홈 유지
# 전원/재부팅 (root)
shutdown -h now
shutdown -r now
# 사용자 전환
su <user> # 환경 그대로
su - <user> # 로그인 쉘처럼(환경 포함)
echo $SHELL # 현재 로그인 쉘
cat /etc/shells # 사용 가능한 쉘 목록
| 쉘 | 특징 |
|---|---|
| sh | 전통 유닉스 기본 쉘 |
| bash | 가장 보편적, 스크립팅 강력 |
| zsh | 플러그인/테마 풍부 |
| csh/tcsh | C 문법 느낌 |
임시 변경:
sh→ 돌아가기:exit(여러 번)
# 패키지 목록 최신화
sudo apt update
# 설치/제거
sudo apt install <pkg> [<pkg>...]
sudo apt remove <pkg>
sudo apt purge <pkg> # 설정파일까지 제거
# 자동 제거(의존성 잔여물)
sudo apt autoremove
# 검색/목록
apt search <keyword>
apt list
sudo apt install vim
i, a, o, I, A, O, s 등으로 진입)Esc입력 전환
| 키 | 의미 |
|---|---|
i/a/o | 현재/다음칸/다음줄부터 입력 |
I/A/O | 줄 처음/끝/이전줄부터 입력 |
s | 문자 1개 지우고 입력 |
이동
| 키 | 의미 |
|---|---|
h j k l | 좌 하 상 우 |
w | 다음 단어 처음 |
0/^/$ | 줄 처음/첫문자/끝 |
gg/G | 문서 처음/끝 |
:n | n행으로 이동 |
복사/붙여넣기/삭제
| 키 | 의미 |
|---|---|
yy / Nyy | 현재 줄 / N줄 복사 |
p / P | 다음/이전 줄에 붙여넣기 |
x / dw / dd | 문자/단어/줄 삭제 |
되돌리기/검색
| 키 | 의미 |
|---|---|
u | undo |
/text ?text | 아래/위로 검색 |
n / N | 다음/이전 결과 |
치환(명령모드)
:%s/old/new/g " 전체 치환
:%s/old/new/gi " 대소문자 무시
:%s/old/new/gc " 하나씩 확인
종료
:q " 그냥 종료
:q! " 저장 안 하고 강종
:wq " 저장 후 종료
/)부터 단일 트리 구조.| 경로 | 의미(예시) |
|---|---|
/ | 루트 |
/bin | 필수 실행파일(ls, cp…) |
/sbin | 시스템 관리 실행파일 |
/etc | 시스템 설정 파일 |
/dev | 장치 파일 |
/home | 사용자 홈 디렉토리 |
/usr | 일반 앱/라이브러리 |
/var | 로그/가변 데이터 |
/tmp | 임시 파일 |
| 기능 | Windows | Linux |
|---|---|---|
| 루트 | C:\ | / |
| 사용자 홈 | C:\Users\me | /home/me |
| 설정 | 제어판(숨김) | /etc |
| 시스템 파일 | C:\Windows\ | /bin, /sbin |
| 앱 설치 | C:\Program Files | /usr |
/부터 시작. 현재, .. 상위)pwd # 현재 경로
cd <dir> # 이동 (홈: cd ~)
ls # 목록
ls 유용 옵션
ls -lt # 시간순
ls -lh # 사람이 읽기 쉬운 용량
ls -lSh # 크기순(큰→작)
ls -a # 숨김 포함
ls -R # 하위까지 재귀
mkdir <dir>
mkdir -p a/b/c # 중간 경로까지 생성
touch a.txt b.txt
rm file1 file2
rm -r dir # 디렉토리 재귀 삭제
rm -ri dir # 삭제 전 확인
rmdir empty_dir # 빈 디렉토리만
cat file
cat -n file1 file2 # 행번호 포함
cp src dest # 파일→파일명 변경
cp file dir/ # 파일→디렉토리
cp -i src dest # 덮어쓰기 확인
cp -r dir1 dir2 # 디렉토리 복사
mv old new # 이름 변경
mv file1 file2 dir/ # 여러 파일 이동
mv dir ../ # 디렉토리 이동