Wecode - Foundation 1 (부트캠프)/Linux, Terminal

[linux& terminal] 실습 & 추가 명령어 linux commands

Queen Julia 2023. 9. 4. 11:18
Task 1 : 터미널에서 현재 경로 확인 후 Desktop(바탕화면)으로 이동

pwd                          #현재위치
ls                               #목록 
cd Desktop            #이동 change directory: Desktop으로 이동 

pwd                            #경로 잘 이동됐는지 (결과가 Desktop으로 나옴)
ls                                  # 현재 directory가 어떤 파일, 폴더 있는지

Task 2 : 폴더 생성,
              내부에 'readme.md 파일, move 디렉토리' 생성

1) 폴더 생성

mkdir wecode                       # 폴더 생성  : make directory
ls                                                # 폴더 생성 확인
cd wecode                            # wecode폴더는 만들었으나, 아직 우린 여기에 없으니, 여기로 이동시키기. 들어온건 아니니
pwd                                           #잘 이동했는지 확인 (결과가 wecode로 나옴)

wecode가 추가된 것 확인

2)내부에 'readme.md 파일, move 디렉토리' 만들기

touch readme.md              # 파일 만들기 (빈 파일)
ls                                         # 0 바이트 : 비어있다는 거 


mkdir move                      #move라는 directory  생성
ls                                       #directory 폴더 생성 확인

wecode로 가서 readme.md 파일 생성

 

Task 3 : 내용 작성 - 저장
vi readme.md

vi는 메모장

  • 입력모드:  i (insert)
  • esc       #입력모드 나오기

esc  shift  :wq              #저장 후 나온다

 

내용 잘 입력됐는지 확인 

1) vi readme.md              #파일 다시 입력해서 들어가봐서 저장됐는지

2) cat readme.md          # 파일 내용 출력해보는 것 

vi에 'dks'라고 적었는데 cat으로 입력내용 볼 수 있다.

 

Task 4 : README.md 복사 후, 복사 된 파일 move 디렉토리에 이동

1. wecode 폴더에 readme.md 복사

 

cp readme.md readme2.md                       #readme.md 복사할 원본파일 (띄어쓰기) readme2.md (복사될 파일/복사본) 
ls                                                                          # readme2.md가 잘 생성됐는지 확인

wecode 폴더에 readme2.md 가 잘 복사됨

 

 

2. wecode 폴더에 복사된 readme2.md를 move 폴더로 이동 


mv readme2.md ./move           #move (readme2.md를 move directory로 옮기기) ./move(현재 경로에 있는 move directory로)
cd move                                         #현재 경로에서 사라졌는지 확인 (move로 이동)

pwd                                                       #현재 경로 출력 (move)
ls                                                          #move에 복사한 readme2.md 잘 있는 거 확인

 

 

그런데 여기서 잠깐
내가 중간에 건너뛰어서 
애를 먹었다

wecode 안에 있는 readme2.md 파일을 move 에 옮겨야하는데, 
그렇다면 나는 wecode 안에 있어야 한다. 
그런데 내가 cd move로 move로 와버려서, 여기에서는 아무것도 없는 상태. 
뒤늦게 mv readme2.md ./move를 해보았지만 소용없었다. 나는 이미 wecode가 아닌 move에 와있기에, move에서 reademe2.md를 찾으면 없다고 나온 것.

그렇다면, 나는 wecode로 가야한다. 

1)
그런데 여기서 잠깐, 
move가 왜 wecode처럼 민트색으로 보이지? 

wecode 폴더 안에
mkdir move 로 move라는 폴더를 만들었는데
ls 했을때, move도 list 중의 하나인데 왜 민트색으로 뜨는지...     
                   # terminal 꾸미기일뿐.
                      폴더는 모두 민트색으로 보이는 것
wecode 폴더 안에 있다고 할때에도 민트색으로 떠서, 민트색이 제 위치를 보여주는지 알았다! 아하
그저 폴더 = 민트색
(그냥 터득하게 된 것. 개발자는 이런거구나. 이렇게 저렇게 하다가, 아 폴더는 다 저렇게 보여주나보다 하고)

즉, 현재 내가 move 안에 있다는 건 아니다. 
(mkdir로 폴더 만든다고 해서 내가 바로 그곳으로 이동하진 않는다. 폴더만 만들었을뿐)

2)
그렇다면 우리는 move 에서 상위폴더인 wecode로 가보자 (desktop/wecode/move)
cd wecode 를 했는데 실패.

wecode 폴더로 가자! 하고 cd wecode를 했는데 실패했다. 
나중에 찾아보니, 상대경로와 절대경로에 관한 것이였다. 

이름만으로 cd 이동하려면, 상위폴더부터 다시 시작해야 하는 것
그게 아니라면, / 를 사용해야 하는것이였다. 

cd .. (상위폴더로 가기)

cd .. 로 move의 상위폴더로 갔다. wecode 도착. 
ls 로 찍어내니 wecode에 move 폴더, readme.md 파일, readme2.md 파일 있다. 

이제 다시 시작
3)  wecode에서 mv 이동시키기, readme2.md를 move폴더로

이동 시킨 뒤, cd move (move 폴더로 가봐서 잘 이동됐는지 확인)

cd move로 move 찍혀서 왔다. 

pwd로 현재 경로 찍어보니, 나는 move 에 잘 있고, 
그럼 move 안에 뭐가 들어있는지 ls 로 찍어내니, 
아무것도 안 들어있던 move 폴더에 readme2.md 가 들어가 있다! 
잘 이동 됐네! 

 

cp (복사할 원본name) (복사본name)                    #copy.  파일 사이 띄어쓰기 해야 함
mv (이동할 파일) (경로)                                            #move.   
.                                                                          # 현재 위치한 디렉토리 (상대경로)
..                                                                         #상위폴더  

절대경로: pwd로 확인할 수 있는
상대경로 : 현재위치로부터 상대적 위치 나타냄 
cd                                                                     #현재 폴더 하위의 아래 폴더 진입
./                                                                        # 현재 폴더, 현재 디렉토지 주소 지정 (점슬래시)
\                                                                          # 백슬래시

/                                                                        #폴더내부 (절대경로 기준점, 루트폴더)
~/                                                                        # 사용자 폴더의 경로 
sudo                                                                  #관리자 권한 획득하는 명령어  (sudo mkdir 폴더이름: 관리자 소유 폴더 생성)


ls-l , ls-ll      #디렉터리, 파일의 정보 자세히 보기 (list 세부정보의 l이 아닐까)
ls-lS        #디렉터리, 파일 사이즈 큰 순서대로 나열
ls-lSr     # 디렉터리,파일 사이즈 작은 순서대로 나열

Task 5 : move 폴더 나와서 그 안에 move 폴더 삭제

1)상위 폴더로 나오기                                     # .. 이용

상위폴더로 나오려면, directory 변경           # cd 이용     (현재는 readme2.md 에 있음)

 

cd ..

2) 상위폴더로 이동했는지 확인

ls                               #상위폴더 이동 확인

                                (list 확인 = move 폴더, readme.md파일 있음) 

pwd                          #현재위치 확인 (상위폴더인 Desktop/wecode로 이동함) 

 

3) 여기서 ls로 확인한 move 폴더 없애기            #rm(remove) 이용 

rm -rf move                                                   #move 삭제 
ls-al                                                                      #제거 확인 (2번 ls과 비교: ls에 있던 move 사라짐!) 

                                                                       #list에 readme.md만 나옴

두 번의 실수를 한 건, 
rm -rf 
ls -al 명령어에 띄어쓰기를 안 한 것. 난 띄어쓰기 때문인지 모르고, 내 터미널엔 이런 명령어가 안 먹히나 싶었다. 
띄어쓰기 때문인가? 하고 된 순간, 성취감 ㅎ

 

그런데 wecode 폴더 안의 저 
. 과 .. 은 뭔지 모르겠다
(아래 응용하다가 알아냄. 내가 ls -al이 아니라, ls -a를 쳤구나) 
..              # 상위폴더 
rm -r : Recursively remove a directory and all its subdirectories

rm -rf : Forcibly remove a directory, without prompting for confirmation or showing error messages

응용으로, 실습을 위해 만든 

배경화면 Desktop의 wecode 폴더 삭제도 rm -rf 를 이용해서 완료!