서버 개발 101 - 2 : pwd,ls,cd,mkdir,cp,mv,rm
서버개발을 하게 되면, 매우 큰 확률로 리눅스 서버를 사용하게 된다. 이글을 보는 사람은 개발 장비로 윈도우를 사용하는 사람도 많이 있을것이다. 윈도우 혹은 윈도우 서버만 사용하던 사람은 리눅스 서버를 사용해야 하는 순간 매우 당황할 수 도 있다. 왜냐하면 리눅스 서버는 보통 GUI가 없기 때문이다. 그냥 까만창에 글자만 떠있는 것이 리눅스 서버이다. 아무것도 모른채로 리눅스 서버에 들어갔다면 나가는 법도 몰라서 그냥 창을 꺼버리는 경우도 있을 것이다. 그러므로 그런 상황이 오더라도 침착하게 대응할 수 있도록 최소한의 리눅스 지식을 익히는 것이 이 글의 목표이다. 우선 아주 기본적인 명령어들 부터 알아보자.
pwd는 Print Work Directory 의 약자로 작업중인 디렉터리를 보여준다.
$ pwd
#### 아래는 결과
/Users/gyus
list segments의 약자로 현재 디렉터리의 파일과 디렉터리를 보여준다. 보통 단독으로 잘 사용하지 않고 a, l 등의 옵션을 함께 사용한다.
ls -l : 파일들의 상세정보를 보여줌
ls -a : 숨김 파일 표시
ls -t : 최신 파일부터 표시
ls -rt : 오래된 파일 부터 표시
ls -F : 파일을 표시할 때 파일의 타입을 나타내는 문자열을 표시 ( / - 디렉터리, * - 실행파일, @ - 심볼릭링크)
ls -R : 서브 디렉터리의 내용까지 표시
보통은 위 옵션들을 조합하여 ls -al. ls -alt, ls -altF 등으로 사용함
change directory의 약자로 말그대로 디렉터리 이동시 사용하는 명령이다.
cd ~ : 홈디렉터리로 이동
cd .. : 상위 디렉터리로 이동. cd ../../ 같은 식으로 여러 단계를 한번에 이동 가능
cd /dir : 절대 경로를 지정하여 이동가능
cd - : 바로 전의 디렉터리로 이동
make directory 의 약자로 디렉터리를 만들때 사용한다.
mkdir <이름> : <이름>의 디렉터리를 현재 디렉터리에 만든다.
mkdir -p <디렉터리명>/<하위디렉터리명> : -p 옵션으로 한번에 하위 디렉터리까지 생성가능하다.
copy의 약자이다. 파일또는 디렉터리를 복사할때 사용한다.
cp source target : source를 target으로 복사한다.
cp -f source target : target파일이 이미 있는 경우 덮어쓴다.
cp -R sourceDir targetDir : 디렉터리를 복사할 때 사용. 하위 디렉터리도 모두 복사한다.
move의 약자이다. 파일또는 디렉터리의 위치를 옮길때 사용한다. 혹은 이름을 변경할 때도 사용한다.
mv afile bfile : afile이름을 bfile로 변경
mv afile ../ : afile을 상위 디렉터리로 옮김
mv afile /opt/ : afile을 /opt 이하 디렉터리로 옮김
remove의 약자이다. 파일 또는 디렉터리를 삭제할 때 사용한다.
rm afile : afile을 삭제
rm -r adir : 디렉터리 adir을 삭제. 삭제시 확인을 함
rm -rf adir : 디렉터리 adir을 삭제. 삭제시 확인 안함
rm -i *.txt : txt로 끝나는 모든 파일을 삭제할지 물어보면서 삭제
catenate (잇다 연결하다)의 약자이다. 파일의 내용을 확인할 때 사용한다.
cat test.txt : test.txt 파일의 내용을 확인
touch는 0바이트의 빈파일을 생성한다. 혹은 파일의 날짜와 시간을 수정할 때 사용한다.
touch afile : afile을 생성
touch -c afile : afile의 시간을 현재시간으로 갱신
touch -r afile bfile : bfile의 날짜 정보를 afile의 정보와 동일하게 변경
echo는 어떤 문자열을 화면에 보여줄때 사용한다. echo와 리다이렉션을 사용하여 파일을 생성, 추가하는 작업을 많이 한다.
echo 'helloworld' : helloworld를 출력
echo $PATH : 패스로 지정된 문자열을 출력
echo -e 문자열 : 이스케이프 문자열을 해석.
echo -e "안녕하세요\n이렇게하면\n새줄이생겨요" 개행을 표시할 수 있음
echo * : ls 와 유사하게 현재 디렉토리의 파일과 폴더를 출력
echo hello redirection > hello.txt : 리다이렉션 '>' 을 사용하여 hello.txt 파일을 생성. 파일 내용에는 echo로 표시되는 내용이 들어감.
echo hello2 >> hello.txt : 추가연산자인 '>>' 을 사용하여 기존 파일에 문자열을 추가.
지금까지 10가지 명령어 pwd,ls,cd,mkdir,cp,mv,rm,cat,touch,echo 에 대해서 알아보았다. 이제 리눅스또는 리눅스 터미널을 사용할 때 조금은 부담없이 사용할 수 있을 것이다. 다음에는 조금은 덜 사용하지만 매우 중요한 명령어들을 함께 알아보도록 하겠다.