리눅스 (1) - 기초 명령어
리눅스 (1) - 기초 명령어
우분투 리눅스 기준으로 글을 작성한다.
Linux의 특징
- Linux는 공개 소프트웨어이며 무료로 사용
- 유닉스와의 호환성을 유지
- 서버용 운영체제로 많이 사용
- 편리한 GUI 환경을 제공
Linux 구조
- 커널(kernel): 프로세스/메모리/파일 시스템/장치 관리
- shell: 사용자 인터페이스
- application
가상환경에 Linux 돌리기
mac os에서는 UTM을 사용한다.
https://ubuntu.com/download/server 위의 사이트에서 26.04 LTS 를 다운로드 받는다.
UTM에서 가상환경 설정을 할 때 iso 이미지를 base로 한다. 
SSH를 이용한 외부 접속: 포트포워딩
내가 쓰는 원래 os에서 접근하려면 포트포워딩이 필요한데 UTM에서는 자동으로 해준다고 한다.
ssh etakyung@192.168.64.6 으로 접근이 된다.
1
2
3
4
5
6
sudo apt update
sudo apt install openssh-server # SSH 설치
sudo systemctl status ssh
sudo systemctl start ssh # 아직 시작이 안되었다면 치기
sudo ufw allow ssh # 방화벽에서 포트 개방
hostname -I # IP 확인
포트 포워딩을 한다면
- NAT을 사용하는 경우
- 가상머신을 선택한 후 설정을 클릭하고 네트워크 탭으로 이동
- 포트포워딩을 누르고 추가
- 호스트IP: 현재 컴퓨터의 실제 IP
- 호스트포트: 접속하고자 하는 포트번호
- 게스트 IP: 가상 머신에 설치된 리눅스의 IP
- 게스트 포트: ssh의 기본 포트인 22
- 외부에서 접속
ssh 계정@IP -p 포트번호- 포트번호가 22번 인 경우는 -p 옵션은 생략 가능
기본 명령어
1
etakyung@linuxv1:~$
위와 같은 형태로 프롬프트가 생긴다.
etakyung: 현재 접속한 사용자 계정 linuxv1: 현재 컴퓨터 ~: 현재 디렉토리로 사용자의 홈 디렉토리
1. 디렉토리 이동 및 위치 확인
pwd(Print Working Directory): 현재 위치한 디렉토리의 절대 경로 출력cd(Change Directory): 디렉토리 이동cd ~: 홈 디렉토리로 이동cd ..: 상위 디렉토리로 이동cd -: 이전 디렉토리로 이동
2. 파일 및 디렉토리 조회
ls(List): 현재 디렉토리의 파일 및 폴더 목록 조회ls -l: 상세 정보(권한, 소유자, 크기, 수정일 등) 포함 출력ls -a: 숨김 파일( .으로 시작하는 파일) 포함 출력ls -la: 상세 정보와 숨김 파일 모두 출력
3. 파일 및 디렉토리 생성 / 삭제 / 관리
mkdir(Make Directory): 새 디렉토리 생성 (mkdir -p path/to/dir옵션으로 하위 디렉토리까지 일괄 생성)touch: 빈 파일 생성 또는 파일의 수정 시간 업데이트rm(Remove): 파일 또는 디렉토리 삭제rm -r: 디렉토리 및 내부 내용 삭제rm -rf: 경고 없이 강제 삭제 (주의 필요)cp(Copy): 파일/디렉토리 복사 (cp -r디렉토리 복사)mv(Move): 파일/디렉토리 이동 또는 이름 변경
4. 파일 내용 확인 및 편집
cat(Concatenate): 파일 내용 전체 출력less/more: 파일 내용을 페이지 단위로 끊어서 조회 (대용량 파일 조회 시 유용)head: 파일의 앞부분 일부 출력 (기본 10줄)tail: 파일의 뒷부분 일부 출력 (tail -f옵션으로 로그 실시간 감시)nano/vim: 터미널 기반 텍스트 에디터
5. 권한 및 소유권 변경
chmod(Change Mode): 파일/디렉토리의 읽기(r)·쓰기(w)·실행(x) 권한 변경 (예:chmod 755 script.sh)chown(Change Owner): 파일/디렉토리의 소유자와 그룹 변경 (예:chown user:group file.txt)
6. 시스템 상태 및 프로세스 확인
ps(Process Status): 현재 실행 중인 프로세스 확인 (ps aux,ps -ef)top/htop: 실시간 CPU, 메모리 사용량 및 프로세스 모니터링df(Disk Free): 디스크 용량 확인 (df -h로 읽기 쉬운 단위 표시)du(Disk Usage): 파일/디렉토리별 사용 용량 확인 (du -sh *)free: 메모리(RAM) 사용량 확인 (free -h)
7. 검색 및 필터링
grep: 파일 내부 또는 출력 결과에서 특정 문자열/패턴 검색 (예:cat log.txt | grep "ERROR")find: 파일 시스템에서 이름, 크기, 수정일 등의 조건으로 파일 검색 (예:find . -name "*.txt")
8. 시간 확인 및 설정
date: 시스템의 현재 날짜와 시각 출력timedatectl: 시스템 시계, 타임존(Timezone), 시간 동기화 상태 등 상세 정보 확인timedatectl list-timezones: 설정 가능한 타임존 목록 조회sudo timedatectl set-timezone Asia/Seoul: 타임존 변경 (예: 서울 기준)
9. 별칭(Alias) 관리
alias: 현재 설정된 명령어 별칭 목록 확인alias 별명='원래 명령어': 긴 명령어나 자주 쓰는 옵션을 간단한 별칭으로 등록 (예: alias ls=’ls -al’)type 명령어: 해당 명령어가 일반 명령어인지, 별칭(alias)인지 확인unalias 별명: 등록된 별칭 삭제
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.