리눅스에서의 파일과 디렉토리란?
관련있는 정보들의 집합
window에서의 파일과 같은 개념이라고 생각하면된다.
파일을 효과적으로 관리하기 위해 디렉토리를 사용
window에서의 '폴더' 에 해당
리눅스에서는 파일을 효울적으로 관리하기 위해 디렉토리를 계층적으로 구성한다
① 최상위 디렉토리 -> /
② 하위디렉토리 (서브디렉토리)
디렉토리 아래 있는 디렉토리
즉 / (최상위디렉토리) 의 하위 디렉토리는 bin , sbin, home, tmp 등등이 된다.
③ 상위디렉토리 (부모디렉토리)
④ 작업디렉토리 (현재 디렉토리)
⑤ 홈 디렉토리
'~' 로 표시하며 처음 사용자 계정 생성시 지정되는 디렉토리
즉, 모든 사용자는 하나의 홈디렉토리를 반드시 가진다.
① 파일과 디렉토리이름에는 '/' 를 사용할 수 없다.
->경로명의 구분자로 '/' 가 사용되기때문.
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 .
버전 권리 시스템 git
Package Manager(프로그램 추가/삭제)
Ubuntu :apt
MacOS : homebrew
텍스트 에디터 vim
클라우드 서비스 관리 AWS CLI