[Python] 1강

2022. 1. 27. 15:14Naver BoostCamp AI Tech 3기

Graphic User Interface(GUI)와는 다르게, Command Line Interface(CLI)는 텍스트 기반으로 컴퓨터에 명령을 내리는 인터페이스이다.

대표적인 명령어는 다음과 같다. (기본적인 것이니 반드시 외워놓자)

 

앞으로 프로그래밍을 하다 보면, 리눅스 계열 명령어는 숨쉬듯이 사용할 줄 알아야 할 것이다. 명령어에 대해 조금 더 정리해본다.

pwd(print working directory) : 현재 작업중인 디렉토리 출력

 

 

 

cd(change directory) : 현재 디렉토리 이름을 보여주거나 바꿈

여기서 알수 있는 것 : cd를 그냥 쓰면 pwd랑 다를 게 없다. cd 다음에 바로 경로가 오면 현재 디렉토리 기준으로 접근하는 것이다. 즉, 앞에 ./이 붙는 것과 다를게 없다. 반면에 cd ..는 부모 디렉토리로 이동하는 것이다. cd ../2주차 이런식으로도 이동이 가능하다. 마지막으로, cd / 는 root 디렉토리로 이동하게 된다. (여기서는 C:\으로 이동하는 것이다.) cd /workspace 이런식으로도 이동이 가능하다.

 

ls(list)(directory) : 디렉토리에 있는 파일과 하위 디렉토리 목록을 보여준다.

여기서 알수 있는 것 : ls를 그냥 쓰면 파일 및 디렉토리 이름들만 출력된다. 여기에 추가적인 옵션을 붙여주면 더 자세히 확인할 수 있다. 먼저 -a를 붙이면 숨겨진 파일 및 디렉토리까지 모두 보여준다. 파일 이름 앞에 .이 붙어있는 것이 숨김파일이다. -l은 파일에 대한 권한, 생성 날짜 등을 출력해준다.

(1)에서 보면 10글자로 이루어지는데, 맨 앞의 첫 글자인 d를 제외하고 9글자는 각각 rwx의 형태로 인식할 수 있다. 각각 소유자, 그룹 사용자, 기타 사용자의 권한을 3글자 씩 끊어서 해석할 수 있는 것이다. rwx는 각각 read, write, execute로 읽기, 쓰기, 실행 권한을 의미한다. 이 글자가 들어있으면 해당 권한이 있는 것이고, 해당 자리에 글자가 아닌 -가 있는 경우에는 해당 권한이 없는 것이다.

예시의 (1) drwxr-xr-x의 경우 앞의 d를 제외하고 rwx, r-x, r-x 인 것이므로 소유자, 그룹 사용자, 기타 사용자 모두 읽기와 실행 권한(주로 일반적인 프로그램 같은 파일에 해당)이 있는 것이며, 쓰기 권한은 소유자에게만 존재한다고 해석할 수 있다.

맨 앞의 첫 글자는 다음과 같은 것들이 올 수 있다.

그 외에 (2)는 하드링크 번호로 링크된 파일의 수를 의미하고, (3)은 소유자, (4)는 소유 그룹이다. (5)는 파일 크기(byte 단위), (6), (7)은 수정 시간이다. (8)은 파일 또는 디렉토리의 이름을 의미한다.

 

cp(copy) : 하나 이상의 파일을 다른 위치로 복사한다.

여기서 알수 있는 것 : cp "복사당할 파일 이름" "새로 복사한 파일에 줄 이름" 이런식으로 사용할 수 있다. 만약, 디렉토리를 복사하는 것이라면 cp -r "복사당할 디렉토리 이름" "새로 복사한 디렉토리에 줄 이름" 이렇게 사용한다.

 

mv(move) : 파일 혹은 디렉토리 이동 및 이름 변경

여기서 알수 있는 것 : mv "변경할 파일(디렉토리) 이름" "이동시킬 디렉토리 이름 혹은 변경된 이름"을 통해 사용 가능하다. 만약, 현재 존재하지 않는 이름을 적용한다면, 이름이 변경되는 것이고, 이미 있는 디렉토리의 이름을 넣으면 이동이 되는 방식이다.

 

mkdir(make directory) : 디렉토리 생성

rm(remove) : 파일 및 디렉토리 제거

여기서 알수 있는 것 : rm "삭제할 파일 이름" 시 파일을 삭제할 수 있다. 디렉토리를 삭제하기 위해서는 옵션 -r을 붙여서 rm -r "삭제할 디렉토리 이름"을 해야 한다.

 

더 많은 리눅스 명령어들이 있지만, 너무 많아서 오늘은 여기까지만 정리해야겠다.

'Naver BoostCamp AI Tech 3기' 카테고리의 다른 글

Sequence to Sequence Learning with Neural Networks  (1) 2022.02.03
[Python] 4강  (0) 2022.01.30
[Python] 3강  (1) 2022.01.28
[Python] 2강  (0) 2022.01.27
좀 늦어버린 티스토리 블로그 오픈!  (2) 2022.01.27