728x90
반응형
리눅스(Linux) 핵심 구성요소
- 커널(Kernel)
- 운영체제(Operating System, OS) 기본 구성요소이며, 커널이 없으면 OS는 작동할 수 없습니다.
커널을 통해 시스템 리소스 관리 및 하드웨어와의 통신, 메모리, 프로세스, 파일시스템 관리를 가능합니다.
- 운영체제(Operating System, OS) 기본 구성요소이며, 커널이 없으면 OS는 작동할 수 없습니다.
- 쉘(Shell)
- 리눅스/유닉스 시스템에서 사용하는 대화형 인터페이스 입니다.
- 사용자로부터 명령을 읽어 실행하는 프로그램의 종류이며, 사용자와 커널사이의 인터페이스 입니다.
- 사용자가 명령어를 입력하면 해석하여 커널에 전달하는 역할을 합니다.
sh, bash, sch, ksh, tcsh, zsh 등의 종류
- 파일 시스템(File System)
- 컴퓨터 내의 파일이나 자료를 저장하고 불러오기 위한 계층구조 형식의 체계를 의미합니다.
- 파일을 더 쉽게 발견하며 접근 할 수 있도록 체계적으로 관리합니다.
- 계층구조의 형식이란 트리 구조이며 디렉터리, 서브 디렉터리, 파일 등의 형태로 계층을 나누어 분류합니다.
반응형
리눅스 명령어 구조
리눅스는 커맨드 라인을 통해 컴퓨터 동작에 대한 액세스를 할 수 있습니다.
흔히 사용하는 Windows, MacOS 등의 마우스를 이용하여 가리키고 클릭하는 방식의 그래픽 사용자 인터페이스(Graphic User Interface, GUI) 방식이 아닌 커맨드라인을 통해 하드웨어 작업을 수행할 수 있도록 소프트웨어를 통해 요청할 수 있습니다.
다양한 운영체제에서 지원하지만 주로 소프트웨어 개발, 하드웨어 개발 및 다양한 IT 엔지니어 업무를 하는 이들이 주로 사용합니다.
$ 명령 [옵션] [인자···]
- 명령: 리눅스를 사용하기 위하여 사용자가 입력하는 명령어
- 옵션: 명령어의 세부 기능을 선택하여 사용 (일부 명령어 옵션 생략가능)
- 인자[parameter]: 명령으로 전달되는 값, 주로 파일명 또는 디렉터리명을 사용 (일부 명령어 인자 생략가능)
리눅스 기본 명령어
리눅스 기본 명령어 몇 가지를 알아 보겠습니다.
- date (날짜와 시간을 출력)
root@ubuntu:~# date
Mon Jul 11 09:56:51 UTC 2022
- hostname
root@ubuntu:~# hostname
ubuntu
- passwd (사용자 계정의 암호 변경)
root@ubuntu:~# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
- w (현재 로그인 사용자 정보)
root@ubuntu:~# w
09:58:15 up 44 min, 2 users, load average: 0.04, 0.01, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
travelo tty1 - 09:32 5:43 0.13s 0.02s -bash
travelo pts/0 10.xxx.xxx.222 09:53 1.00s 0.05s 0.01s sshd: travelo [priv]
- chmod (파일이나 디렉터리의 접근 권한 변경)
root@ubuntu:~# ls -al
total 32
drwx------ 4 root root 4096 Jul 11 10:02 .
drwxr-xr-x 23 root root 4096 Jul 11 09:12 ..
drwxr-xr-x 2 root root 4096 Jul 11 10:00 aaaaa
-rw-r--r-- 1 root root 3106 Apr 9 2018 .bashrc
-rw-r--r-- 1 root root 148 Aug 17 2015 .profile
drwx------ 2 root root 4096 Jul 11 09:14 .ssh
-rw-r--r-- 1 root root 371 Jul 11 10:02 test.yaml
-rw------- 1 root root 1405 Jul 11 10:02 .viminfo
root@ubuntu:~# chmod 777 test.yaml
root@ubuntu:~# ls -al
total 32
drwx------ 4 root root 4096 Jul 11 10:02 .
drwxr-xr-x 23 root root 4096 Jul 11 09:12 ..
drwxr-xr-x 2 root root 4096 Jul 11 10:00 aaaaa
-rw-r--r-- 1 root root 3106 Apr 9 2018 .bashrc
-rw-r--r-- 1 root root 148 Aug 17 2015 .profile
drwx------ 2 root root 4096 Jul 11 09:14 .ssh
-rwxrwxrwx 1 root root 371 Jul 11 10:02 test.yaml
-rw------- 1 root root 1405 Jul 11 10:02 .viminfo
- cat (파일의 전체 내용 출력)
root@ubuntu:~# cat test.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
- tail (파일의 마지막 내용 출력)
root@ubuntu:~# tail test.yaml
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
- pwd (현재 디렉터리 확인, 절대경로)
root@ubuntu:~/aaaaa# pwd
/root/aaaaa
- ls (디렉터리의 내용 출력)
root@ubuntu:~# ls
aaaaa test.yaml
- grep (특정패턴을 가지는 행을 검색)
root@ubuntu:~# grep -rn deploy
test.yaml:4: name: nginx-deployment
test.yaml:9: replicas: 2 # tells deployment to run 2 pods matching the template
- find (특정경로 내 조건에 맞는 파일 검색)
root@ubuntu:~# ls
aaaaa bbbbb test.yaml test.yaml_bak
root@ubuntu:~# find test.*
test.yaml
test.yaml_bak
- mkdir (디렉터리 생성)
root@ubuntu:~# ls
test.yaml
root@ubuntu:~# mkdir aaaaa
root@ubuntu:~# ls
aaaaa test.yaml
- rmdir (디렉터리 삭제)
root@ubuntu:~# ls
aaaaa bbbbb test.yaml test.yaml_bak
root@ubuntu:~# rmdir bbbbb/
root@ubuntu:~# ls
aaaaa test.yaml test.yaml_bak
- cp (파일이나 디렉터리 복사)
root@ubuntu:~# ls
aaaaa bbbbb test.yaml
root@ubuntu:~# cp test.yaml test.yaml_bak
root@ubuntu:~# ls
aaaaa bbbbb test.yaml test.yaml_bak
- rm (파일이나 디렉터리 삭제)
root@ubuntu:~# ls
aaaaa bbbbb test.yaml test.yaml_bak
root@ubuntu:~# rm test.yaml_bak
root@ubuntu:~# ls
aaaaa bbbbb test.yaml
root@ubuntu:~# rm -rf bbbbb/
root@ubuntu:~# ls
aaaaa test.yaml
- mv (파일이나 디렉터리 이동)
root@ubuntu:~# ls
aaaaa bbbbb test.yaml test.yaml_bak
root@ubuntu:~# mv test.yaml_bak bbbbb/
root@ubuntu:~# cd bbbbb
root@ubuntu:~/bbbbb# ls
test.yaml_bak
root@ubuntu:~# ls
aaaaa bbbbb test.yaml
- touch (파일을 생성하거나 갱신)
root@ubuntu:~# ls
root@ubuntu:~# touch test.yaml
root@ubuntu:~# ls
test.yaml
- man (명령어 사용 방법 출력)
root@ubuntu:~# man
What manual page do you want?
root@ubuntu:~# man ifconfig
IFCONFIG(8) Linux System Administrator's Manual IFCONFIG(8)
NAME
ifconfig - configure a network interface
SYNOPSIS
ifconfig [-v] [-a] [-s] [interface]
ifconfig [-v] interface [aftype] options | address ...
DESCRIPTION
Ifconfig is used to configure the kernel-resident network interfaces.
It is used at boot time to set up interfaces as necessary. After that,
it is usually only needed when debugging or when system tuning is
needed.
......
728x90
반응형
'IT기술 > Linux 계열' 카테고리의 다른 글
[Linux] MySQL 이중화 소개 및 사용 (1) | 2023.03.14 |
---|---|
[Linux] 리눅스 hostname 변경 (0) | 2022.07.20 |
[Linux] ansible 설치하기 (ansible-2.4.4.0) (0) | 2022.06.27 |
[Linux] 리눅스 네트워크 접속 사용자 종료 (0) | 2022.06.20 |
[Linux] 리눅스 분할 압축 풀기 (1) | 2022.06.13 |
[Linux] 리눅스 네트워크 드라이브 설정 (1) | 2022.03.14 |
댓글