리눅스 사용법
1. 셸(Shell)
- 셸은 유저가 리눅스 시스템을 이용할 수 있는 인터페이스
- 셸은 유저에게 입력 받고, os가 입력을 프로그램으로 처리하면 그 결과를 유저에게 출력함
2. 셸 프롬프트(Shell Prompt)
user@user-VirturalBox:~$ // 이게 쉘 프롬프트
- id 명령어 실행
- id는 현재 유저의 유저 id와 해당 유저가 속해 있는 그룹 id를 보여주는 명령어
user@user-VirtualBox:~$ id
uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),122(lpadmin),134(lxd),135(sambashare)
user@user-VirtualBox:~$
3. 기초 명령어
-
sudo apt update
- apt 명령어로 설치 가능한 소프트웨어 패키지 목록 업데이트
- 각 패키지 별로 어떤 버전 설치 가능한지도 업데이트
- 실행 결과
user@user-VirtualBox:~$ sudo apt update
[sudo] password for user:
Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Hit:2 http://kr.archive.ubuntu.com/ubuntu jammy InRelease
Hit:3 http://kr.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:4 http://kr.archive.ubuntu.com/ubuntu jammy-backports InRelease
Fetched 110 kB in 2s (60.0 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
3 packages can be upgraded. Run 'apt list --upgradable' to see them.
user@user-VirtualBox:~$
-
sudo apt upgrade
-
id
- 현재 유저의 유저 ID와 해당 유저가 속해있는 그룹 ID 출력
- 자신이 해당 권한을 가지고 있는지 확인용으로 사용
-
pwd
- Print Working Directory의 줄임물
- 현재 작업 중인 디렉토리의 경로 출력
user@user-VirtualBox:~$ pwd
/home/user
user@user-VirtualBox:~$
-
ls
- List의 줄임말, 디렉토리의 내용 출력하는 명령어
- -l 플래그를 추가한 형태인 ls-l을 실행하면 더 자세한 정보 출력
-
cd
- Change Directory의 줄ㅇ미말로 작업중인 디렉토리 변경하는 명령어
- 절대 경로 : 루트 디렉토리 / 를 시작으로 모든 경로 적어서 표현
- 상대 경로 : 현재 디렉토리를 기준으로 상위 디렉토리 또는 하위 디렉토리로 뻗어 나가는 경로
- 특정 고유 경로 : ~는 현재 유저의 홈 디렉토리, -는 이전에 위치했던 디렉토리 의미
-
mkdir
- Make Directory의 줄임말, 디렉토리 생성하는 명령어
-
touch
-
mv
- Move의 줄임말, 파일이나 디렉토리 위치 옮길 때 사용
- 파일이나 디렉토리 이름 변경 시에도 사용 가능
-
rm
- Remove의 줄임말, 파일이나 디렉토리 삭제 시에 사용
-
cat
- 파일 내용 출력하는 명령어
- cat 파일경로 형식으로 사용 가능
-
file
- 파일 유형 출력하는 명령어
- file 파일경로 형식으로 사용 가능
-
echo
-
cp
- copy의 줄임말, 파일이나 디렉토리 복사하는 명령어
-
grep
- 전체에서 특정 문자열 찾을 때 사용
- grep 문자열 파일 형식으로 사용 가능
-
man
- Manual의 줄임말, 특정 명령어의 매뉴얼 확인 가능
- 매뉴얼에는 명령어 사용법, 옵션, 예제 등의 정보가 있음
-
curl
- client URL의 줄임말
- 서버에 데이터 보내거나 서버로부터 데이터 받는 데이터 전송 명령어
- curl [옵션] URL 형식으로 사용 가능
- HTTP, HTTPS, FTP 등 다양한 프로토콜 지원
/
4. 와일드 카드
- 정의 : 리눅스에서 임의의 다른 문자를 나타낼 수 있는 특수 문자
- 종류
- ? : a-z, 0-9 범위 내 임의의 1개 문자로 대체
- : a-z, 0-9 범위 내 임의의 0개 이상 문자로 대체
- [] : [문자1-문자2] 혹은 [문자1, 문자2..] 형태로 범위 지정
/
5. 리다이렉션
- 정의 : 모니터에 나타내는 표준 출력 혹은 키보드로 입력하는 표준 입력을 다른 곳으로 변경하는 작업
- 종류
- 명령어>파일 : 명령어 표준 출력을 파일로 변경. 파일이 없으면 새로 만들고, 있으면 덮어씀
- 명령어>>파일 : 명령어 표준 출력을 파일로 변경. 파일이 없으면 새로 만들고, 있으면 이어서 씀
- 명령어<파일 : 명령어 표준 입력을 파일로 변경, 파일로부터 표준 입력을 받아 명령어 수행
/
6. 파이프
- 정의 : 리다이렉션의 한 형태, 명령어 결과 표준 출력을 다른 명령어의 표준 입력으로 보낼 때 사용
/
/
디렉토리 구조
- 루트 디렉토리 / : 리눅스의 최상위 디렉토리, 절대 경로는 /
- /bin : 일반 유저가 사용할 수 있는 기본 명령어, 프로그램 담고 있는 디렉토리
- /boot : 시스템 부팅에 필요한 파일 담음
- /dev : 컴퓨터에 부착된 물리적인 장치들을 디바이스 드라이버를 거쳐 파일 형태로 접근 가능. 그런 장치들을 나타내는 파일들을 담음
- /etc : os나 os 위에서 동작하는 서비스의 설정 파일들을 담고 있는 디렉토리
- /home : 각 일반 유저의 홈 디렉토리를 담고 있는 디렉토리
- /lib : 시스템에 필요한 라이브러리 파일들을 담고 있는 디렉토리
- /opt : 소프트웨어 패키지를 담는 디렉토리
- /proc : 리눅스 커널 자원에 접근할 수 있는 파일과 프로세스를 나타내는 파일 담음
- /root : root 유저의 홈 디렉토리
- /sbin : /bin과 마찬가지로 기본적인 유저 명령어나 프로그램을 가짐, /sbin은 root 유저가 사용할 수 있는 명령어나 프로그램 가짐
- /tmp : 유저나 프로그램이 임시로 파일 생성해야할 때 사용할 수 있는 디렉토리
- /usr : 사용자 바이너리, 문서, 라이브러리, 헤더 파일 등을 담고 있는 디렉토리
- /var : 프로그램이나 시스템이 실시간으로 가변적인 파이릉ㄹ 사용하고 저장해야 할 때 활용하는 디렉토리