Achievement Goals
Command Line을 사용해야 하는 이유
- 마우스로 여러번 해서 설정할 수 있는것을 명령어 몇줄로 설정할 수 있기 때문에 빠르다.
- 원격에 있는 서버에 접속하려고 한다면 마치 내 서버인것처럼 접근할 수 있기 때문에 접근성이 좋다.
리눅스, 유닉스 계열의 명령어를 배우는 이유
- 서버시장에서 이런 계열의 점유율이 높다.
- 오픈소스이기 때문에 비용적인 측면에서도 유리하다.
- 그래서 서버연습할때 사용하면 좋다.
기본적인 unix/linux 명령어를 사용할 수 있다
ls
- list란 의미로, 현재 파일의 모든목록 출력
ls
cd
- 디렉토리로 이동
cd + 이동하고자 하는 디렉토리이름
cd + 이동하고자 하는 디렉토리경로
(pwd명령어로 확인 가능)를 넣어도 해당 디렉토리로 이동 가능
mkdir
- 디렉토리파일 생성,
mkdir 디렉토리이름
rm
rm 파일이름
= rm -rf newname.txt
->rm파일 삭제됨.
pwd
- 현재 나의 디렉토리 확인 가능,
pwd
치면 나의 디렉토리의 전체 경로가 나온다.(절대경로)
touch
- 빈파일 생성,
touch 파일이름.확장자
cat
- 텍스트 형태의 파일 확인
cat 파일이름
-> 파일의 텍스트인 내용물이 출력된다.
mv
mv 이동할 파일 또는 디렉토리 이동할장소 파일 및 디렉토리
mv newfile.txt newdir
mv 바꿀 파일명 또는 디렉토리 바뀐이름 파일명 또는 디렉토리
mv newfiletxt newname.txt
-> newfile파일이 newname으로 이름이 변경됨
cp
- 파일을 다른 디렉토리에다가 복사
cp 복사할 파일이름 이동할 장소(이동할디렉토리경로)
cp newname.txt ~/Downloads/
-> newname이란 파일을 Downloads디렉토리에 복사된다.
명령어를 사용할 때, 현재 내가 위치한 디렉토리를 파악할 수 있다.
pwd
사용명령어를 사용할 때, 등장하는 키워드에 대해 이해할 수 있다
홈 디렉토리로 이동(cd ~)
cd ~
명령어는 cd는 체인지, ~는 홈을 의미한다.
- 홈이란? 현재 사용자들의 개인화된 파일의 디렉토리들을 말한다.
루트 디렉토리로 이동(cd /)
- 루트 디렉토리는 시스템의 최상위 디렉토리로,
cd /
사용하면 그 다음줄에 user앞에 /가 생긴다.ls
로 현재 디렉토리에 있는 모든 파일을 출력해본다.pwd
로 현재 디렉토리 경로 확인할 수 있다. 최상위이기 때문에 경로가 안나오는것도 확인할 수 있다.
현재 디렉토리로 이동(cd .)
- 명령어를 실행해도 똑같이 반복된 줄만 나온다.
부모 디렉토리로 이동(cd ..)
- 바로 상위디렉토리로 이동한다.
파일이름에 공백이 있을 경우엔?
cd My Documents
여기서 파일이름의 공백은 \
을 넣어서 이동(주의사항:+''). 또는 My까지만 치고 tab
키 사용하면 자동으로 파일이름이 완성된것을 사용할 수 있다.Advanced Challenge (optional)
- 수퍼유저가 두한다.
관리자만 읽을 수 있는 파일 읽기
sudo cat /etc/passwd
-> pw물어보면 치면 텍스트출력가능
새로운 프로그램 설치
sudo + 설치명령어
=sudo apt-get install tree
(apt는 우분투패키지매니저)- 새로운 프로그램 설치 시 Package Manager을 보편적으로 사용.
sudo는 권한 문제를 해결하는 솔루션이 아니다. 필요에 따라 현명하게 사용해야 한다. 가능한 user 권한으로 해결하자. sudo는 한번만 인증하면 그 이후는 인증을 생략하고 사용이 가능하다.
접근권한(읽기/쓰기/실행 가능)여부 - chmod명령어
링크된 파일 갯수
소유자
소유그룹
파일크기
만들날짜
만든시간
파일/디렉토리 이름
- 파일 소유권 변경
chown owner:group file
sudo chown user:staff testfile.txt
-> 소유자가 root였는데 user로 변경되어서 파일을 user로 자유롭게 관리할 수 있음.
GUI프로그램 실행 간편한 명령어
- open .
- code .
자주 사용하게 될 CLI프로그램
- 버전관리시스템 git
- 프로그램 추가/ 삭제 -> 패키지매니저(MacOS : Homwbrew)
- 텍스트 에디터 vim(텍스트파일을 서버상에서 수정해야 할 경우 터미널에서만 수정하여 저장가능)
- 클라우드 서비스 관리 AWS CLI
unix/linux의 파일/디렉토리 소유권에 대해 이해할 수 있다. (advanced)