-
맥 터미널 명령어 입문1: 파일, 디렉토리 명령어개발입문/개발환경 세팅 2016. 12. 11. 16:08
어렸을 때 도스에서 cd 명령어로 열심히 게임 페르시아의 왕자 를 찾았던 게 기억난다. 검은 화면에 흰 글자 하나하나 쳐가며 비트로 된 흥미진진한 게임을 찾아내면 얼마나 뿌듯했던지. 역시 필요가 공부의 어머니다. CUI Command Line Interface 라는 개념을 몰라도 게임을 잘만 찾아냈었다.
CUI 는 바로 검은 화면에 흰글자를 쳐서 프로그램을 실행시키는 인터페이스 방식이다: CUI Command Line Interface
프롬프트 창 prompt 는 명령어에 대한 결과를 신속하고 정확하게 내어준다
Web Prmopt Terminal Prompt
이 글에서는 terminal Prompt 에게 전달하는 명령어 중 가장 기본적인 것들에 대해서 정리해보았다.
명령어는 다음과 같이 옵션명, 경로명을 통해 더 구체적으로 명령할 수 있다.
$ 명령어 + [옵션명] + [경로명]
- 명령어: 프롬프트에 전달하는 명령어, 명령어에 따라 옵션명의 작동방식이 달라진다.
- 옵션명: 명령어를 실행할 때 추가적으로 요구하는 옵션이다.
- 경로명: 절대경로, 상대경로로 표시할 수 있다. 없을 경우는 default 현재 경로이다.
그렇다면 이제 파일, 디렉토리 관련 명령어를 살펴보자. 현재 경로를 확인하고 경로를 이동하거나 파일/디렉토리를 조회, 생성, 삭제하는 명령어가 있다.
$pwd
Print Working Directory
현재 자신이 어느 디렉토리에 위치하는 지 출력한다.
// 현재 디렉토리 표시
$pwd
$cd + [경로명]
Change Directory
디렉토리(경로)를 변경한다. 경로를 표현하는 방식은 절대경로와 상대경로가 있다.
많이 이동하는 디렉토리에 대해서 정리한다.
// 최상위 (루트) 디렉토리로 이동
$cd /
// 사용자의 홈 디렉토리로 이동
$cd ~
// 사용자의 Desktop(바탕화면) 디렉토리로 이동
$cd ~/Desktop
$ls + [옵션명] + [경로명]
List Segement
경로의 구성요소(파일, 디렉토리)를 나열한다.
파일, 디렉토리에 대한 자세한 정보 (사용권한, 소유자, 그룹, 크기, 날짜 등) 을 읽는 방법은 다음 포스트에서 확인할 수 있다.
// 현재 경로 하위 파일/디렉토리 나열
$ls
// 현재 경로 하위 파일/디렉토리 자세한 정보(사용권한, 소유자, 그룹, 크기, 날짜 등) 와 함께 나열
$ls -l
// 명시한 경로의 하위 파일/디렉토리 나열
$ls -l /test/exampleDir
$cp [원본파일] [대상파일] / $mv [원본파일] [대상파일]
CoPy / Move
원본파일을 대상파일로 복사한다 / 이동한다
파일을 가리킬 때에는 파일경로+이름으로 명시한다. (바이너리는 알 수 없으므로)
cp, mv는 기본적으로 파일을 다루는 명령어이며, 디렉토리를 처리할 때는 -r 옵션을 붙여준다.
// /test 디렉토리의 ExampleFile 파일을 /newTest 디렉토리로 복사/이동
$cp /test/exampleFile /newTest/exampleFile
$mv /test/exmpleFile /newTest/exmapleFile
// /test 디렉토리의 ExampleDir 디렉토리 및 하위파일을 /newTest 디렉토리의 ExampleDir로 복사/이동
$cp -r /test/exampleFile /newTest/exampleDir
$mv -r ./test/exampleDir ./newTest/exampleDir
$touch / $mkdir
Touch / MaKe DIRectory
파일을 / 디렉토리를 생성한다.
// /test 디렉토리에 exmpleFile 이름의 빈 파일 생성
$touch /test/exampleFile
// /test 디렉토리에 exampleDir 이름의 빈 디렉토리 생성
$mkdir /test/exampleDir
$rm / rmdir
ReMove / ReMoveDIRectory
파일을 / 디렉토리를 삭제한다.
// /test 디렉토리의 exampleFile을 삭제
$rm /test/exampleFile
// /test 디렉토리의 exampleDir 디렉토리를 삭제
$rm -rf /test/exampleDir
$rmdir /test/exampleDir
기타 TIP
<Tab> 키를 클릭하면 현재 경로에 포함된 파일, 디렉토리의 이름을 자동완성시킬 수 있다.
특수기호를 통해 여러 규칙등을 제시할 수 있다. * (asterisk), ?(question mark), \(back slash)
// 현재 경로의 test로 시작하는 파일명을 가진 모든파일을 ./subdir 디렉토리로 복사
$cp test* ./subdir
// 현재 경로의 test + 한글자 파일명을 가지는 모든파일을 ./subdir 디렉토리로 복사
$cp test? ./subdir
// 현재 경로의 test 2016 (공백 있음) 파일명을 가지는 파일을 ./subdir 디렉토리로 복사
$cp test\ 2016 ./subdir
위 명령어에 대한 더 많은 옵션을 확인하려면: CHATTERBOX [Tip] 리눅스 터미널 명령어 모음
터미널 명령어에 대해 영어여도 좋으니 체계적인 설명이 필요하다면: A CommandLine Premier for Beginner
'개발입문 > 개발환경 세팅' 카테고리의 다른 글
맥 터미널 명령어 입문3: 네트워크 관련 명령어 (0) 2016.12.11 맥 터미널 명령어 입문2: 패키지 관련 명령어 (0) 2016.12.11 SQL Plus 사용 (0) 2016.12.11 Mac, Oracle Instant Client 설치 (4) 2016.12.11 Homebrew 사용 - OS X Package Manager (2) 2016.12.04