리눅스를 쓰는 이유
1. 오픈소스 - 무료로 제공이 되며 마음대로 커스터마이징이 가능(배포판 기)
2. 안정성 - 시스템 다운/오류가 적고 높은 안정성 덕분에 많은 웹 서버/클라우드에서 리눅스를 사용함
3. 보안성 - 오픈소스 특성상 리눅스를 사용하는 사람이 많기 때문에 신속하게 문제가 해결 가능함
그리고 다양한 아키텍쳐를 지원함
Linux System
리눅스 시스템은 커널, 쉘, 사용자 프로그램 세 가지의 구성 요소로 이루어져 있음
- 사용자 프로그램 - 우리가 일상적으로 사용하는 프로그램으로 커널의 리소스를 활용해서 수행되고 사용자와 상호작용하는 인터페이스는 쉘을 통해서 이루어짐
- 쉘 - 사용자가 커널에 명령을 내리기 위해 사용하는 인터페이스로 CLI(명령줄)과 GUI로 나뉨
- 커널 - 리눅스 운영체제의 핵심으로 하드웨어-소프트웨어 간의 상호작용을 관리
쉘과 프로그래밍 언어의 실행 방식 차이
- 쉘에서는 명령어가 직접적으로 실행되며, 실행 속도가 빠르고 즉각적
- C나 Python은 프로그램을 실행하기 전에 컴파일 과정을 거쳐야 하므로, 실행하기 전에 준비 단계가 필요하지만 C는 컴파일 후 실행 파일을 실행하고, Python은 코드가 실행되는 동안 해석합니다( 컴파일 언어 / 인터프리터 언어)
우분투 리눅스(ubuntu Linux)의 명령어들을 가볍게 정리!
date | 현재 날짜와 시간 출력 |
cal | 오늘 날짜가 속한 달 출력 |
cal 2025 | 2025년의 달력 |
clear | 명령창 청소 |
history | 지금까지 사용한 명령 목록 |
logname | 현재 사용 중인 로그인 네임 |
user | 우분투에 접속된 사용자 아이디 |
who | 우분투에 로그인한 모든 사용자의 계정과 터미널 확인 |
arch | 하드웨어 정보 |
env | 환경변수 확인 |
echo 문자열 출력
-e를 사용해서 이스케이프 문자 사용 [옵션]
echo -e [옵션]
ex) echo -e "\n"
이스케이프 문자 | |
\a | 벨(경고음) |
\b | 백스페이스 적용 |
\c | 마지막에 줄 바꿈 문자 출력 안 함 |
\f | 폼 피드 형식으로 출력(프린터에서 용지변경) |
\n | 줄 바꿈 문자 출력 |
\r | 다음 행의 처음으로 커서 이동(캐리지 리턴) |
\t | 수평 탭 정렬 |
\v | 수직 탭 정렬 |
# help echo - echo [옵션] 목록 출력
# pwd - 현재 디렉토리 출력
gedit
파일을 열어 편집하는 명령어로 파일이 존재하지 않을 때는 새 파일을 생성한다
$ gedit newfile.txt
newfile.txt라는 파일을 만들고 편집하는 명령어
$ gedit file1.txt file2.txt
다음과 같이 여러 개의 파일을 동시에 열 수 있음
cat ( concatenate ) - 사슬같이 잇다; 연쇄시키다
파일 내용을 출력하거나 결합하고, 새로운 파일을 만들 때 사용
$ cat sample.txt
#sample.txt의 내용을 터미널에 출력하는 명령어