Linux 개념 & Terminal 명령어
1. Linux
FHS(Filesystem Hierarchy Standard)
-
root(/)
루트 폴더. 최상위 경로. -
/home (~)
윈도우 : C드라이브/Users/사용자명 ⇒ 바탕 화면, 다운로드, 내 문서
유저의 공간. 가장 빈번하게 사용하게 되는 경로. Home 디렉토리 이외의 다른 디렉토리 들은 주로 system directory 라고 하는데, 즉 리눅스의 운영과 관리에 관련한 파일들이 존재하는 디렉토리들. ~ 기호로 곧바로 접근할 수 있다. -
/bin & /sbin
윈도우 : C드라이브/windows/system32 폴더
Binary의 약자. OS의 최소한의 구동을 위해 필요한 프로그램이 들어있는 폴더. cat, chmod, chown, cp, date, echo, kill, ln, ls, mkdir, etx 와 같은 기초적인 프로그램들이 포함.
sbin 폴더는 bin과 유사하지만 오직 루트유저 전용 프로그램 포함. -
/usr
윈도우 : C드라이브/Users/사용자1
user의 약자. 각 유저 이름에 해당하는 폴더이름이 존재. 각 폴더마다 bin, sbin, shared, lib과같이 각 유저들이 사용할 수 있는 폴더가 생성되어 있음. 각각의 유저별로 다른 파티션으로 존재하기 때문에 다른 사용자들이 사용할 수 있도 록 마운트할 수 있지만 이 경우 수정할 수는 없음.
PATH
- / : root 디렉토리
- ~ : home 디렉토리
- 절대 경로 : Absolute path는 이름 그대로 절대적 경로. 경로를 표현하는 방식이 root 디렉토리 부터 시작한다는 점에서 "완전한"의 의미에 더욱 가까움. (ex. /home/eun/bin)
- 상대 경로 : Relative path. 현재 자신의 위치를 기반으로 움직이는 경로. (ex. cd ..)
- . : 현재 경로
- .. : 상위 경로
- 환경 변수
OS도 프로그램이기 때문에 OS가 동작하기 위해 변수가 필요
env 명령어로 linux의 환경변수 확인
2. 터미널
터미널에서 할 수 있는 것
텍스트 기반으로 명령어를 입력할 수 있는 CLI(command-line interface)역할을 한다. 모든 명령어를 구현할 수 있다.
터미널 실행하기
Mac OS는 Spotlight (⌘ + Space)를 불러 “Terminal”을 찾아 실행할 수 있다.
Linux는 “terminal” 을 찾아 실행하면 된다. 단축기 Ctrl + Alt + T를 이용해 실행할 수 있다.
Windows 10은, PowerShell이라는 터미널을 실행한다.
기본 명령어
- vi : 파일 편집 에디터 활성화(파일명.확장자)
- cd : 폴더이동 cd (경로) → . .. /usr (change directory)
- ls : 현재 경로 내 파일 목록 출력 (list segments)
ls -al- pwd : 현재 경로 출력 (print working directory)
- mkdir : 디렉토리 생성 (make directory)
- rmdir : 디렉토리 제거
- rm : 파일 / 디렉토리제거
- rm -rf : 묻지 않고 디렉토리 모두 제거 (하지말것, 복구가 어려움)
- cp : 파일 / 디렉토리 복사
- mv : 파일 / 디렉토리 이동
- cat : 터미널에 파일 내용 출력 (concatenate)
- touch : 파일 생성 및 날짜정보 변경 touch readme.md
- chmod : 파일 / 디렉토리 권한 설정 change mode (chmod u+x readme.md)
파일 편집 명령어
vi : 파일 편집 에디터 활성화
- i : 편집모드(끼워넣기/insert)
- esc
- Shift + ;
- wq : write & quite
입력모드에서 다시 명령모드로 가려면 [ESC]키
vi에서 커서 움직이는 방법
H : ←
J : ↓
K : ↑
L : →
gg : 파일의 맨 위커서 & 라인 기준으로 움직이는 방법
G : 파일의 맨 아래
a : 현재 커서의 오른쪽
A : 현재 라인의 맨 끝부분
i : 현재 커서의 왼쪽
I : 현재 라인의 왼쪽
o : 현재 라인의 아래
O : 현재 라인의 위
문장 컨트롤
→ y는 "복사"의미를 가지고 있다
yy : 현재 커서 라인 복사
yy를 이용해서 문장을 number의 라인을 복사할 수 있다
ex) 3yy (현재 커서부터 아래로 3라인을 복사한다)
yw : 단어 복사(단어위에 커서를 올리고 실행)
p : 현재 커서 아래에 붙여넣기
P : 현재 커서 위 에 붙여넣기
dd : 라인 삭제
→ d는 "삭제"의미를 가지고 있다.
ex) 3dd (햔재 커서부터 아래로 3줄 삭제한다)
u : 실행취소(undo)
ctrl+r : 다시실행(redo)
실행모드
명령모드 → 실행모드
[:을 붙여주는 명령어]
:q : 종료
(파일 변경시 저장하지 않고 나가면 에러메세지 출력)
:q! : 저장하지 않고 종료
:w : 저장
▼
:wq : 저장후 종료
:set nu(:se nu) : 해당 줄에 인덱스들이 보임
:se nonu는 인덱스는 보이지 않음
-->> : num번째 줄로 이동
ex) :5 : 5번째 줄로 이동
:,y : num1~num2 라인 복사
:,d : num1~num2 라인 삭제
%는 전체
:%y : 전체복사
:%d : 전체삭제$마지막 라인
:$y :$d
y자리에 d가 d자리에 y가 들어갈 수 있다.
찾기
/copy : 찾기(아래방향)
?copy : 찾기(위의방향)
=> 이때 단어를 하나찾고 기능을 멈춘다중복된 단어 찾기
n 같은방향으로 탐색
N 반대방형으로 탐색바꾸기
:범위s/찾을내용/바꿀내용/옵션
ex) 2~4번쨰 라인에서 abc를 찾고 ABC로 변경하겠다
:2,4s/abc/ABC
이때 중복된 값은 한개만 치환되기에
커서를 그 문장에 두고
:s/abc/ABC/g
option g(global)옵션을 사용한다
이렇게 되면 라인안에서 abc문자가 ABC로 모두 바뀌게 된다.
모두 바꾸고 싶을때는
:%s/abc/ABC/g
전체를 나타내는 %와 option g를 같이 사용한다.
vi 실행 중 커멘드 실행하기
:!<command> :! ls /root
하면 /root의 내용이 출력되고
ENTER를 누르면 다시 vi편집기로 돌아갑니다.vi안에서 다른 vi열기
:sp
: 다른 파일도 열겠다
cat > : 파일 출력
cat : 파일 편집 (나올 때 cmd + c)
vi : 파일 편집(실행/입력/명령모드)
Author And Source
이 문제에 관하여(Linux 개념 & Terminal 명령어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wdelight_c/Terminal-명령어저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)