HOW TO HACK/Basics

해커라면 알아야 할 리눅스 기초-3 : 디렉토리와 파일 복사/이동/열람

Mr. Rootable 2016. 4. 14. 14:20

# 본 게시글은 작성자 본인이 스터디한 내용을 바탕으로 작성된 글입니다.


# 이에, 이 글에는 일부 잘못된 정보가 포함되어 있을 수 있습니다.


이 글을 열람하는 것은 위 사항에 동의한 것으로 간주합니다.  


# 잘못된 정보를 발견하면 댓글로 알려주시면 감사하겠습니다.



이번 포스팅에서는 디렉토리와 파일 복사, 이동, 열람에 대해 공부해보자.



Step 1: 파일 복사 (cp)


우선 지난 포스팅에서 배운대로 리눅스 바탕화면에 새로운 파일과 디렉토리를 만들고, 이 파일을 바탕화면에 새로 만든 디렉토리 경로로 복사를 해보자.

파일과 디렉토리를 새로 생성하려면 어떤 명령어를 써야 한다고 했던가? 기억하길 바란다.


# touch testfile




testfile이라는 파일이 생겼다.


# mkdir testdir



testdir이라는 디렉토리도 만들어졌음을 볼 수 있다.


이제 testfile 파일을 다른 이름으로 testdir 디렉토리로 복사를 해보자.

아래 명령어를 실행하고, ls -al 명령어로 정상적으로 복사가 되었는지 확인해보자.


# cp testfile ./testdir/testfile_copied



새로 만든 testdir 디렉토리에 testfile_copied라는 이름으로 파일이 복사되었고, 원래 만든 testfile 역시 바탕화면 경로에 정상적으로 남아있음을 볼 수 있다.



Step 2: 파일 이동 (mv)


리눅스에서는 윈도우와 같이 파일명을 변경하는 기능이 별도로 없다. move(mv) 명령어로 파일을 이동하거나,

파일명을 변경할 수 있다. 

Step 1에서 testdir 디렉토리로 복사한 testfile_copied 파일을 /Desktop 디렉토리로 이동하고, 

파일명을 testfile_renamed로 변경해보도록 하자.


# mv ./testdir/testfile_copied ./



/Desktop 디렉토리로 이동했다. ls 명령어를 통해 testdir 디렉토리에는 testfile_copied 파일에서 

사라진 걸 볼 수 있다.

그럼 mv 명령어를 통해 파일명을 변경해보자. 


# mv testfile_copied testfile_renamed (mv ./testfile_copied ./testfile_renamed)


현재 작업 디렉토리인 Desktop 디렉토리에 파일이 존재하므로, 현재디렉토리를 나타내는(./)는 

생략해도 된다.



파일명이 이쁘게 변경됐다. 


위의 파일경로이동과 파일명 변경을 하나의 명령어로 처리할 수도 있다.

testfile파일을 testdir 디렉토리로 파일명을 바꾸는 것을 실습해보자.


# mv ./testfile ./testdir/testfile_renamed2



Desktop 디렉토리에서 testfile은 사라졌고, testdir 디렉토리 하위에 지정한 이름(testfile_renamed2)로 이동됐다.



Step 3: 파일 열기 (cat, more, less)


파일의 내용을 보는 명령어는 cat(concatenate 줄임말)이다.  

vi편집기를 이용하여 내용이 있는 파일을 하나 만들어보자.



이제 cat 명령어를 통해 의 testfile의 내용을 터미널상에서 열어보자.


# cat testfile



저장한 내용이 터미널화면을 통해 출력되었다. 

실습해본 cat 명령어는 파일의 내용을 한방에 터미널에 뿌려버린다. 

, 파일의 내용이 터미널의 한 화면을 초과하는 아주아주 긴 파일이라면 마우스 휠을 열라게 돌려야 할 것이다.(스압)


파일내용을 보는 또다른 방법은 more와 less가 있다.

실습을 위해 만든 testfile은 길이가 짧아 more와 less 명령어 실습에 적합한 파일을 찾아보았다.

대충~ /usr/share/nmap 디렉토리에 있는 nmap-protocols 파일로 해보자.

cd 명령어로 /usr/share/nmap 디렉토리로 이동해서 아래 명령어를 터미널에 날려보자.


# more nmap-protocols



cat과 비교해서 어떤 차이가 있는가? more는 우선 터미널화면에 보여줄 수 있는 만큼만 출력되고, 

사용자가 한 줄씩 출력시키려면 enter키, 터미널 화면단위(즉 페이지 개념)로 출력시키려면 space바키를 

이용하여 파일의 다음 내용을 확인해 볼 수 있다.


less는 more와 거의 유사하다. 하지만 less는 문자열 검색이 된다.


# less nmap-protocols 



파일의 내용 중 nmap-protocols의 텍스트를 찾아 바로 포커싱이 되었다. 



Step 4: 네트워크 정보 보기 (ifconfig)


리눅스에서 네트워크 정보를 보려면 어떤 명령어를 써야 할까? 알다시피 윈도우는 ipconfig 이다.

하지만, 리눅스는 한 글자가 다른 ifconfig 명령어를 통해 확인할 수 있다.


# ifconfig



해당 컴퓨터의 IP주소, 서브넷마스크, 네트워크 인터페이스, MAC주소 등을 볼 수 있다.<끝>