본문 바로가기

LINUX

[LINUX] 리눅스 기초

리눅스

오픈 소스, 무료이기 때문에 발전이 무궁무진하다

 

윈도우/맥에서 리눅스를 설치없이 사용하는 방법

- codeonweb

- cloud9 (우분투로 동작)

 

맥에서 터미널을 이용해 리눅스처럼 사용하는 법

맥은 리눅스는 아니지만 유닉스라는 공통 조상을 가진 운영체제이기 때문에

그냥 터미널에서 사용해도 되는 것임!

 

가상머신이란?

하드웨어를 소프트웨어적으로 구현해서 그 위에서 운영체제가 작동하도록 하는 기술

 

가상머신을 사용하는 이유?

- 다른 운영체제를 사용해야 하는 경우 (맥에서 윈도우, 윈도우에서 리눅스)

- 독립된 작업 공간이 필요한 경우 (바이러스 회피, 백업, 맥에서 오라클)

- 하나의 머신에서 여러 명에게 운영체제 환경을 제공

 

VirtualBox란?

오라클에서 만든 가상머신 솔루션 / 오픈소스 / 무료

 

가상머신 이용하기

VMware, VirtualPC


GUI <-> CLI (Command Line Interface)

 

ls 파일과 디렉토리 목록

-l : 파일과 디렉토리 목록 자세하게
-a : 모든 파일과 디렉토리 목록 (숨김 파일까지)
-al : 숨김 파일까지 모두 자세하게
pwd 현재 위치하고 있는 디렉토리
mkdir 디렉토리명 새로운 디렉토리 만들기

-p : 여러 개의 디렉토리를 한 번에 만들 수 있음
ex) mkdir -p dir1/dir2/dir3/dir4
cd 경로명 이동할 디렉토리의 경로명
rm 파일 삭제
-r : 디렉토리 삭제
-rf : 싹다 지워버려!! (아주 문제)
명령어 --help 해당하는 명령어의 설명 출력 (간단한 메뉴얼)
man 명령어 해당하는 명령어의 설명 출력 (페이지가 이동되어 상세하게, 맥에서는 이걸 써야해)
clear 커맨드 라인 깔끔하게 하기
cp 파일 복사
같은 디렉토리: cp test.txt test1.txt
다른 디렉토리: cp test.txt dir1/
mv 파일명 변경
mv test1.txt test2.txt
wget 파일 다운로드
wget 파일을 다운받을 주소
cat 파일의 내용 출력
grep 파일에서 특정 단어 출력

grep 특정단어 파일명
ex) grep linux linux.txt -> linux.txt 파일에서 linux라는 단어를 찾아줘
ex) ls -l | grep http -> 현재 리스트 중에 http가 포함된 항목을 출력해줘
ps 현재 실행 중인 프로세스
echo echo "hello" -> 화면에 hello를 출력

 

drwx------@ --> 권한에서 d가 붙으면 디렉토리라는 뜻!

 

리눅스에서 자동완성은 tab키 누르기 

 

부모 디렉토리로 이동하기 -> cd .. -> 하나 위로 올라가는 것 -> 상대경로

/Users/dabin -> 절대경로

 

/ : 루트 디렉토리, 모든 디렉토리의 조상

 

리눅스는 성공하면 답을 안해!

 

* 상대경로와 절대경로

상대경로는 현재 디렉토리의 위치를 기준으로 다른 디렉토리의 위치를 표현하는 것으로 ..은 부모 디렉토리를 의미합니다.

'cd ..'은 현재 디렉토리의 부모 디렉토리로 이동하는 명령이 됩니다. 참고로 현재 디렉토리는 '.' 입니다.

 

절대경로는 최상위 디렉토리를 기준으로 경로를 표현하는 것을 의미합니다.

최상위 디렉토리는 루트(root) 디렉토리라고 하고 '/' 입니다.

'cd /'는 최상위 디렉토리로 이동한다는 뜻입니다.

'cd /home/egoing'은 현재 디렉토리가 무엇이건 언제나 '/home/egoing'을 의미하는데 이런 식의 경로 표현을 절대경로라고 합니다.

 

*man 명령어 페이지 제어 방법

기본적으로 방향키를 이용해서 움직일 수 있음

/ 찾고 싶은 단어 : 특정 단어 찾기

n : 찾은 단어를 넘겨줌? n을 누를 때마다 여러 개를 편하게 볼 수 있도록

q : 나가기

 

*파일이나 디렉토리 앞에 . 이 붙어있으면 숨겨진 파일이야!

 

*touch 파일이름.txt : 빈 파일을 만들자

 

*sudo (super user do)

수퍼 관리자의 권한으로 명령을 실행

 

유닉스는 다중 사용자 시스템 -> 하나의 운영체제를 여러 사람이 씀

보안을 위해 중요한 명령어 앞에는 관리자 권한으로 실행하자


리눅스에서 파일을 편집하는 방법

- vi 편집기나 nano 에디터 사용

 

 

패키지 매니저

- 운영체제에 기본적으로 설치되어 있지 않은 프로그램을 쉽게 설치할 수 있는 방법

- 우분투는 보통 APT를 이용하여 패키지 관리

- 일반적으로 sudo apt -get 옵션명으로 실행

- sudo apt -get install ~

 

- 맥에서는 homebrew로 사용 -> 앱스토어라고 생각하자

- 주로 프로그래머들이 사용하는 프로그램들을 설치, 삭제, 검색

brew update : 패키지들을 업데이트

brew upgrade : 내가 깐 패키지들이 업그레이드

 


파일을 다운 받을 때

- wget이라는 프로그램을 이용

ex) wget 다운로드 받고자 하는 사이트의 경로

 

- git을 이용

ex) git clone 주소명 저장할 디렉토리


CLI의 장점 -> 순차적으로 실행 가능

mkdir why; cd why

why라는 디렉토리를 만들고, why까지 들어가서 한 번에 알려줌.

즉, 명령어를 치면 한 번에 목적지까지 데려다줌. GUI는 내가 직접 다 이동해야하잖아.

 

파이프라인 ( | )

프로그램과 프로그램을 연결해줌

ls --help | grep sort 

앞에 있는 프로그램의 출력을 뒤에 있는 프로그램의 입력으로 파이프를 통해서 연결

 


IO Redirection 

ls -l
ls -l > result.txt	// ls -l의 결과를 result.txt에 붙여넣기
cat result.txt		// result.txt의 결과를 확인

 

'LINUX' 카테고리의 다른 글

[LINUX] 디렉토리 구조와 파일 찾기  (0) 2021.02.01
[LINUX] 쉘과 쉘스크립트  (0) 2021.02.01
[LINUX] IO Redirection  (0) 2021.02.01
리눅스 기본 명령어  (0) 2021.01.16
Homebrew(홈브류)  (0) 2020.11.04