CLI / LUNUX|UNIX

HeeChan·2020년 8월 4일
1

도구

목록 보기
1/4

CLI

리눅스에서의 파일과 디렉토리란?

  1. 파일
  • 관련있는 정보들의 집합

  • window에서의 파일과 같은 개념이라고 생각하면된다.

  • 파일을 효과적으로 관리하기 위해 디렉토리를 사용

  1. 디렉토리
  • window에서의 '폴더' 에 해당

  • 리눅스에서는 파일을 효울적으로 관리하기 위해 디렉토리를 계층적으로 구성한다

① 최상위 디렉토리 -> /

  • 최상위 디렉토리인 루트 디렉토리를 의미하며 리눅스의 모든 디렉토리들의 시작점이다.

② 하위디렉토리 (서브디렉토리)

  • 디렉토리 아래 있는 디렉토리

  • 즉 / (최상위디렉토리) 의 하위 디렉토리는 bin , sbin, home, tmp 등등이 된다.

③ 상위디렉토리 (부모디렉토리)

  • '..' 으로 표시하며 '/' 디렉토리를 제외한 모든 디렉토리는 상위 디렉토리가 있다.

④ 작업디렉토리 (현재 디렉토리)

  • 현재 위치한 디렉토리이며 '.' 으로 표시한다.

⑤ 홈 디렉토리

  • '~' 로 표시하며 처음 사용자 계정 생성시 지정되는 디렉토리

  • 즉, 모든 사용자는 하나의 홈디렉토리를 반드시 가진다.

  1. 파일과 디렉토리 이름의 규칙

① 파일과 디렉토리이름에는 '/' 를 사용할 수 없다.

->경로명의 구분자로 '/' 가 사용되기때문.

ex) 그림을 참조하여 work라는 디렉토리로 이동하려고 한다.

-> cd /home/will/work

**cd 는 change directory라 하여 디렉토리를 이동할때 사용하는 명령어

뒤에서 자세히 다룰거에용

② '-' , '_' , '.' 만을 사용하며 그외 공백이나 특수기호를 사용하면 안된다.

③ 대소문자를 구별하며 '.' 으로 시작하면 숨김파일로 간주한다

출처: https://goitgo.tistory.com/9 [Informaion Security]


커맨드

ls

파일보기

dev-hc@Dev-HCui-MacBookPro PRE-JavaScriptKoans % ls
KoansRunner.html	jasmine			lib			package.json
LICENSE			koans			package-lock.json	test
dev-hc@Dev-HCui-MacBookPro PRE-JavaScriptKoans % 

al

디테일한 정보를 알 수 있다.

dev-hc@Dev-HCui-MacBookPro PRE-JavaScriptKoans % al
zsh: command not found: al
dev-hc@Dev-HCui-MacBookPro PRE-JavaScriptKoans % 

cd

디렉토리로 이동 

홈 디렉토리(현재 사용자의 개인화 파일들이 있는 디렉토리) 
cd ~
루트 디렉토리(시스템의 최상위 디렉토리)
cd /
```
	dev-hc@Dev-HCui-MacBookPro codestates % cd /      루트 
dev-hc@Dev-HCui-MacBookPro / % ls 파일 보기
Applications	Users		cores		home		sbin		var
Library		Volumes		dev		opt		tmp
System		bin		etc		private		usr	
dev-hc@Dev-HCui-MacBookPro / % pwd   현재 디렉토리 확인 
/   상위에 아무것도 없다
```
현재 디렉토리 
cd .          
부모 디렉토리 (상위)
cd .. 
현재 디렉토리 확인
pwd

```
dev-hc@Dev-HCui-MacBookPro ~ % ls //파일 보기 

Applications	Documents	Library		Music		Public
Desktop		Downloads	Movies		Pictures	codestates

dev-hc@Dev-HCui-MacBookPro ~ % cd codestates //파일 이동

dev-hc@Dev-HCui-MacBookPro codestates % ls //파일보기
PRE-JavaScriptKoans //현재 codestates 파일로 이동하여 그안의 파일들을 보여준다.

```

파일이름에 공백이 있을 경우엔 \ 를 넣어줘야한다. 
	ex : My\Documents
주요 명령어
빈 파일 생성
touch [file_name]
디렉토리 생성
mkdir [dir_name]
텍스트 형태의 파일 확인
cat [file_name]
파일 및 데릭토리 옮기기
mv [file_or_dir] [target_dir]
파일 및 데릭토리 이름 바꾸기
mv [file_or_dir] [new_name]
복사
cp [file] [taget_dir]
cp -r [folder]


```
dev-hc@Dev-HCui-MacBookPro ~ % ls
  Applications	Documents	Library		Music		Pictures	codestates
  Desktop		Downloads	Movies		My Documents	Public
  dev-hc@Dev-HCui-MacBookPro ~ % pwd
  /Users/dev-hc
  dev-hc@Dev-HCui-MacBookPro ~ % cd My\ Documents 
  dev-hc@Dev-HCui-MacBookPro My Documents % ls
  dev-hc@Dev-HCui-MacBookPro My Documents % touch newfile.txt
  dev-hc@Dev-HCui-MacBookPro My Documents % ls
  newfile.txt
  dev-hc@Dev-HCui-MacBookPro My Documents % mkdir newdir
  dev-hc@Dev-HCui-MacBookPro My Documents % ls
  newdir		newfile.txt
  dev-hc@Dev-HCui-MacBookPro My Documents % mv newfile.txt newdir 
  dev-hc@Dev-HCui-MacBookPro My Documents % ls
  newdir
  dev-hc@Dev-HCui-MacBookPro My Documents % cd newdir 
  dev-hc@Dev-HCui-MacBookPro newdir % ls
  newfile.txt
  dev-hc@Dev-HCui-MacBookPro newdir % mv newfile.txt newname.txt
  dev-hc@Dev-HCui-MacBookPro newdir % code newname.txt
  zsh: command not found: code
  dev-hc@Dev-HCui-MacBookPro newdir % ls
  newname.txt
  dev-hc@Dev-HCui-MacBookPro newdir % cat newname.txt
  HI HELLO%                                                                                                                     dev-hc@Dev-HCui-MacBookPro newdir % copy newname.txt ~/Downloads 
  zsh: command not found: copy
  dev-hc@Dev-HCui-MacBookPro newdir % ls
  newname.txt
  
```
rm :삭제
rm 명령어는 정말 삭제할 것인지 확인을 하지 않으며 한번 삭제된 파일은 휴지통에 저장되어 있지	 않다.
파일 삭제
rm [filename]
디렉토리 삭제 /폴더 삭제
rm -r [dirname]

sudo

관리자 권한으로 실해 

	sudo
    
    sudo는 권한 문제를 해결하는 솔루션이 아닙니다. 필요에 따라 현명하게
    사용해야 합니다.
    가능한 user 권한으로 해결할 수 있어야 합니다.
    sudo는 한번만 인증하면 그 이후는 생략합니다.
    

권한?

ls -al의 상세 내용
```
(1)			(2) (3)  	(4)			  (5) (6)   (7)   (8)
drwxr-xr-x@ 17 dev-hc  staff         544  8  3 13:34 My_Study
```
1. 접근권한(읽기/쓰기/실행 가능)여부

	chmod 명령어

2. 링크돤 파일 갯수
3. 소유자
4. 소유그룹
5. 파일크기
6. 만든 날짜
7. 만들 시간 
8. 파일/디렉토리 이름

파일 소유권 변경

sudo chown dev-hc:staff testfile.txt

GUI 프로그램의 실행을 더 간편하게

현재 폴더를 VS Code 에디터로 열기
code .
현재 폴더를 macOS Finder에서 보기
open .

Mac OS 터미널 설정

자주 사용하게 될 CLI프로그램

버전 권리 시스템 git
Package Manager(프로그램 추가/삭제)
Ubuntu :apt
MacOS : homebrew
텍스트 에디터 vim
클라우드 서비스 관리 AWS CLI

profile
생각이란걸해

0개의 댓글