학습 키워드
Linux
서버 환경에서 널리 사용되는 컴퓨터 운영체제입니다.
리눅스의 특징
- 오픈 소스
- 누구나 무료로 사용할 수 있는 오픈 소스 소프트웨어입니다.
- 사용자가 자유롭게 수정하고 배포할 수 있어 굉장히 다양한 배포판이 존재합니다.
- 각 배포판은 서로 다른 목적과 필요에 맞게 최적화 되어 있어, 사용자는 자신에게 가장 적합한 리눅스를 선택할 수 있습니다.
- 유연성
- 리눅스는 다양한 목적에 맞게 커스터마이징 할 수 있습니다.(서버 운영, 개발 환경 구축...등)
- 사용자 인터페이스도 자유롭게 변경할 수 있습니다.(데스크탑 화면, 테마...등)
- 안정성/보안성
- 리눅스는 서버 운영에서 매우 안정적이고 신뢰할 수 있는 운영 체제로 알려져 있습니다.
- 많은 인터넷 서버나 데이터베이스 서버에서 리눅스를 사용합니다.
- 오픈 소스 특성상 보안 문제가 발생 시 많은 사용자들이 신속하게 문제를 해결합니다.
- 시스템 로그를 통해 오류의 원인을 정확히 파악하고 해결할 수 있습니다.
- 다양한 컴퓨터 아키텍처 지원
- 다양한 하드웨어 아키텍처에서 실행합니다.(개인용 노트북, 컴퓨터...등)
Unix
1969년에 벨 연구소에서 개발된 운영체제로, 간결하고 효울적인 설계 덕분에 많은 시스템의 기반이 되었습니다. 리눅스는 유닉스의 철학과 설계를 계승한 오픈 소스 운영체제라서, 유닉스와의 연관성을 자주 언급하며 그 원칙을 따라 개발되고 있습니다.
커널
운영체제의 핵심 부분으로, 하드웨어와 소프트웨어를 연결하는 역할을 하며, 우리가 컴퓨터 부품을 살 때 찾는 CPU, 메모리, 디스크 등의 자원을 관리합니다.
리눅스 명령어
-
ls
-
list segment의 약자로, 현재 폴더에 있는 파일과 폴더 목록을 보여줍니다.
-
옵션을 추가하면 각 파일/디렉토리에 존재하는 권한 등을 함께 파악할 수 있습니다.
-a 옵션: 숨김 처리된 파일이나 디렉토리까지 출력
-l 옵션: 파일이나 디렉토리의 이름과 속성정보까지 같이 출력
-t 옵션: 수정 또는 생성된 시간 순으로 정렬하여 출력
-
cd
- change directory의 약자로, 디렉토리를 이동하는 명령어입니다. 현재 디렉토리에서 다른 디렉토리로 이동합니다.
-
pwd
- print working durectory의 약자로, 현재 작업 중인 디렉토리의 경로를 출력합니다.
-
mkdir
- make directory의 약자로, 새로운 디렉토리를 생성할 때 사용합니다.
-
rm
-
rmdir
- remove directory의 약자로, 빈 디렉토리를 삭제합니다.
- 디렉토리가 비어있지 않다면 제거할 수 없습니다.
-
cp
-
mv
- move의 약자로, 파일을 이동하거나 이름을 변경할 때 사용합니다.
-
cat
- concatenate의 약자로, 파일의 내용을 터미널에 출력합니다.
cat file_name
-
echo
- 입력한 문자열을 터미널에 출력할 때 사용합니다.
echo "Hello World!"
-
apt
-
find
-
locate
- 시스템의 파일 인덱스 데이터베이스를 사용하여 빠르게 파일을 찾습니다.
locate filename
-
less
- 파일의 내용을 보여지는 만큼 읽어서 출력합니다.
- 대용량 파일을 열어볼 때 빠르게 읽을 수 있습니다.
-
head
- 파일의 앞 부분을 읽습니다.
- 앞부분만 빠르게 읽어 내용을 확인할 수 있습니다.
-
tail
-
vim
-
df
- 디스크의 경로와 경로별 사용하는 용량을 조회합니다.
-
du
- df가 최상위 디렉토리에서 전체 용량을 본다면, du는 개별 경로에서 사용 중인 용량에 대해 조회합니다.
Git
파일 코드의 변경 기록을 저장하고 관리하는 도구로, 여러 사람이 함께 작업할 때 수정 내역을 쉽게 추적하고 협업할 수 있게 도와줍니다.”버전 관리 시스템(Version Control System)”이라고도 불리며, 프로젝트의 모든과정을 안전하게 기록합니다.
GitHub
Git으로 관리한 코드와 프로젝트를 인터넷에 저장하고 공유할 수 있는 웹 서비스로, 다른 사람과 협업 하거나 자신의 작업물을 공개적으로 저장하기에 편리한 공간입니다.
Git 명령어
- git init
- 사용자가 편집을 수행하는 디렉토리를 git이 추적하는 디렉토리로 만들겠다는 의미입니다.
- git add
- 원격 저장소로 코드를 업로드하는 커밋 작업을 기록할 때까지 변경 사항을 모아놓기 위해서 사용합니다.
- git status
- 현재 사용하고 있는 브랜치 확인 및 커밋 상태를 확인할 수 있습니다.
- git commit
- 변경 사항에 대한 이력을 저장하는 작업입니다.
- git diff
- 커밋 이력에 따른 변경 사항, 브랜치 사이에 변경 사항, 커밋끼리의 비교 등의 변경 작업 차이를 시각적으로 표시해줍니다.
- git log
- git reset
- git restore
- 커밋 전체가 아닌 파일 단위로 변경 사항을 되돌립니다.
- git revert
- 특정 커밋의 변경 사항을 취소하는 새 커밋을 생성합니다.