GUI(graphical user interface)와 반대의 개념인CUI (character user interface)이다.
문자로만 이루어져 있기 때문에 마우스를 사용할 수 없어 키보드만을 사용한다.
GNU 프로젝트를 위해 만들어진 유닉스 셸이다.
다양한 운영 체제의 기본 셸 로 탑재되어있다.
윈도우 사용자는 BASH를 이용해 git을 관리할 수 있다.
셸
커널과 사용자를 이어주는 소프트웨어
(sh, csh, bash, zsh)
커널
하드웨어와 응용 프로그램을 이어주는 운영체제의 핵심 시스템 소프트웨어
AT&T 통신사 연구소에서 만들어진 운영체제
( MAC OS)
유닉스의 보안 및 저작권 문제로 리차드 스톨먼이 오픈 소프트웨어 자유성 확보를 위해 시작한 GNU 프로젝트 에 의해 만들어진 운영체제
GNU는 커널을 사용할 수 없었기에 리누스 토발즈가 MINIX를 개조해서 LINUX를발표했다.
이러한 여럿이 함께 하는 프로젝트 개발은 시장형 개방이라고 한다. 반대의 의미로는 혼자서 개발하는 성장형 개발이 있다.
다양한 배포판이 존재한다. (안드로이드, 우분투)
GNU == Gnu is Not Unix
{}
안의 내용은 달라지는 값들을 나타낸다.실제로 명령어에
{}
를 함께 표기해서는 안된다.
|
현재 커서의 위치
$
사용자의 입력을 받을 준비가 되었음
~
현재 로그인 된 최상위 폴더
{로그인 된 이름}@{컴퓨터의 이름}
-
[flag] 옵션 설정
pwd
p rint w orking d irectory
현재 작업중인 폴더의 절대경로 출력
sudo
s uper u ser do
관리자 권한으로 윈도우를 사용
{명령어} && {명령어}
명령어 사이에 && 를 넣어 한번에 여러 명령어 사용
ls
l ist segments
$ls {옵션}
현재 위치에서 하위로 존재하는 폴더나 파일을 확인할 수 있는 명령어
옵션
$ls -l
폴더 내 목록과 함께 상세 정보 를 함께 출력
$ls -a
폴더 내 숨겨진 목록 을 포함하여 출력
$ls -al
위의 두 명령을 동시에 수행해 출력
cd
c hange directory
$cd {폴더 이름}
현재의 작업중인 위치를 옮기는 명령어
위치 이동
$cd ../
상위 경로 로 올라감
$cd ../../
상위 경로로 2번 올라감
mkdir
m a k e dir ectory
$mkdir {생성할 폴더 이름}
현재 위치에 새로운 폴더 생성
rmdir
r e m ove directory
$rmdir {삭제할 폴더 이름}
폴더 삭제 명령어
rm
명령어를 이용한 폴더 제거
$rm {삭제할 폴더 이름}
-> 삭제가 되지 않는다.
폴더는 파일을 찾아가기 위한 경로 이기 때문에 길을 잃는 오브젝트(파일)이 없도록 하기 위해
-rf
옵션을 주어 폴더를 삭제한다.
$rm -rf {삭제할 폴더 이름}
폴더 안의 모든 파일을 삭제 후 폴더까지 제거
삭제된 폴더는 복구 할 수 없다.
touch
$touch {생성할 파일 이름}.{확장자}
현재 폴더 안에 지정한 빈파일 을 생성
vi
vim
vi {열 파일 이름}.{txt / md... txt로 이루어진 확장자}
vim editor 을 사용하여 파일을 수정
cat
con cat enate
$cat {열 파일 이름}.{txt로 이루어진 확장자}
파일의 내용을 CLI 화면에 출력
rm
r e m ove
$rm {삭제할 파일 이름}.{확장자}
파일을 삭제
공통점 을 이용해서 삭제가 가능하다.
$rm *.{공통된 확장자}
$rm {공통된 이름}.*
mv
m o v e이미 존재하는 폴더 및 파일의 이동 및 이름 변경
- 폴더 및 파일 이동
$mv {이동할 폴더 및 파일 이름.{확장자}} {폴더 경로}
이동할 경로가 복잡하다면 상대 경로보다는 절대 경로가 좋다.
- 폴더 및 파일 이름 변경
$mv {변경 전 폴더 및 파일 이름.{확장자}} {변경 후 폴더 및 파일 이름.{확장자}}
cp
c o p y복사 및 이미 존재하는 파일 및 폴더일 경우 이름 변경
- 폴더 및 파일의 복사
$cp {복사할 폴더 및 파일 이름.{확장자}} {폴더 경로}
현재 폴더에 복사할 경우 폴더 경로는 필요 없다.
- 이미 존재하는 파일 및 폴더일 경우
$mv {이미 존재하는 폴더 및 파일 이름.{확장자}} {변경할 폴더 및 파일 이름.{확장자}}
vi가 실행 중인 상태에서 강제로 종료하면 swap 파일이 생성된다.
vi와 호환되는 문서 편집기
대부분의 OS에 vim은 설치되어 있다.
~
문서의 끝. 비어있는 공간 을 의미
i
텍스트 삽입모드
insert 모드로 들어와야 수정 및 작성 이 가능하다.
다시 normal모드로 돌아가기 위해서는
esc
키를 누른다.
u
실행취소H
왼쪽으로 이동
L
오른쪽으로 이동
J
아래쪽으로 이동
K
위족으로 이동
shift + a
문장의 제일 끝으로 이동
shift + g
파일의 제일 끝 줄로 이동
0
문장의 제일 처음으로 이동
yy
현재 줄 복사
p
현재 위치에 붙여 넣기
dd
잘라내기
d
현재 줄 삭제
dk
현재 줄과 윗줄 삭제
dj
현재 줄과 아랫줄 삭제
{n}dj
현재 줄부터 아래 n줄 삭제
dg
현재 줄부터 파일의 끝까지 삭제
shift + :
으로 메뉴창 띄우기:w
저장하기
:q
나가기
:wq
저장하고 나가기
:q!
수정한 내용 무시하고 나가기 (원본 유지)
shift + :
으로 메뉴창 띄우기:/{찾을 문자열}
현재 줄에서 아래 방향 으로 탐색
:?{찾을 문자열}
현재 줄에서 윗 방향 으로 탐색
n
그 다음 {찾을 문자열} 탐색
N
역방향 으로 {찾을 문자열} 탐색