'More'에 해당되는 글 1건
- 2017.07.21
안녕하세요!
오늘의 포스팅은 디렉토리 및 파일 보기 입니다.
우선 저번에 설치한 CentOS 7을 실행시켜 줍니다.
그리고 터미널을 실행하세요!
앞으로 자주 보게 될 화면이 될거에요.
혹시 실습 도중에 이상이 발생할 수 있으니 test 계정에서 root 계정으로 이동해줍니다.
su - 는 'switch user'로 계정을 바꿔주는 명령어입니다.
실습을 하며 종종 바꿔주게 될텐데요.
이 점 때문에 제가 설치 과정에서 비밀번호를 간단하게 만드는 것을 추천했던거에요.
만약 비밀번호를 복잡하게 설정해주면 매번 복잡한 암호를 입력해야하는데 여간 불편한 점이 아닐겁니다... 장담해요...
자, 그럼 지금부터 간단한 실습을 진행해보며 명령어들을 살펴볼게요!
먼저 pwd 입니다.
pwd는 print working directiory의 약자로 현재 디렉토리를 출력해주는 명령어입니다.
지금 실습 상태에서는 /root 디렉토리에 있다는 것을 보여주고 있네요!
현재 있는 위치가 어디인지 알고 싶을 때 사용하는 명령어입니다.
다음은 ls입니다.
ls는 list의 약자로 현재 디렉토리의 내용을 확인하는 명령어입니다.
이곳에서는 두 개의 파일이 있네요.
참고로 anaconda파일은 리눅스 설치에 필요했던 파일입니다.
파일이 너무 조금 밖에 없었으므로 좀 더 사용해보기 위해 cd 명령어를 사용해보겟습니다.
cd 명령어는 change directory의 약자로 디렉토리를 변경하는 명령어입니다.
/는 root를 의미하므로 cd /는 현재 디렉토리에서 /로 디렉토리를 변경한다는 뜻입니다.
다음 실습을 진행하기 전에 현재 디렉토리를 한번 다시 확인해봅니다.
디렉토리 위치가 cd 명령어로 변경된 것을 확인할 수 있죠?
그럼, 계속해서 실습을 진행하겠습니다.
root 디렉토리로 이동해 다시 ls 명령어를 실행하면 굉장히 다양한 파일들이 보입니다.
그리고 ls 명령어에는 다양한 옵션이 존재하는데요.
ls -l은 디렉토리의 내용을 자세히 살펴보는 것입니다.
무엇이 자세히 보이나 살펴 봅시다
맨 앞의 l은 파일 종류를 의미하고,
그 다음의 rwxrwxrwx는 파일의 권한을 나타냅니다.
1은 생성되어 있는 하드 링크의 갯수를 의미하고,
첫번째 root는 소유자, 두번째 root는 그룹을 나타냅니다.
7은 파일의 크기를 나타내고,
7월 18 09:00은 해당 파일에 대한 마지막 접근 날짜를 의미하며,
마지막 bin -> usr/bin은 파일의 이름입니다.
리눅스 초보라면 생소한 단어들이 많을 거에요.
한 포스팅에서 너무 많은 내용을 알려주면 분명 헷갈릴거에요.
이번에 설명하지 않고 넘어간 부분은 다른 [리눅스] 카테고리에서 반드시 설명할거에요!
지금 당장 모른다고 너무 걱정하지 않으셔도 돼요!
만약 이 명령어를 아래 화면처럼 하나의 디렉토리를 지정해서 사용한다면 그 디렉토리에 관한 내용만 나온답니다.
ls -a라는 명령어는 숨겨져 있는 디렉토리 및 파일을 보여주는 명령어입니다.
ls만 입력했을 때 보다 조금 더 많아져 있는 것을 보실 수 있을 겁니다.
항상 그런 것은 아니고, 당연히 숨긴 디렉토리 및 파일이 있을 경우에만 입니다.
이것은 당연하겠죠!?
그리고 ls -A는 숨긴 디렉토리 및 파일 중 .과 ..을 제외하고 보여주는 명령어입니다.
.은 현재 디렉토리, ..은 상위 디렉토리를 의미합니다.
-ls -R은 디렉토리 내부를 보여주면서 범위 내의 하위 목록까지 모두 보여주는 명령어입니다.
하위 구조가 어떻게 생겼는 지 파악해보고 싶을 때 사용하면 유용하답니다.
아래 실습에서는 하위 구조를 보기 위해 home 디렉토리로 이동하고 명령어를 사용하였습니다.
root 디렉토리 밑에서 사용한다는 것은 현재 리눅스의 모든 파일 및 디렉토리를 보겠다는 것이 되므로 시간도 오래걸릴 뿐더러 너무 복잡해요!
다음은 ls -F 명령어입니다.
파일의 종류를 알수 있는 명령어입니다.
파일 뒤의 기호로 그 종류를 판별할 수 있습니다.
기호 |
파일 종류 |
/ |
디렉토리 파일 |
* |
실행 파일 |
(none) |
텍스트 / ASCII 파일 |
@ |
심볼릭 링크 파일 |
= |
소켓 파일 |
root 디렉토리의 내용을 확인해보기 위해 전 디렉토리로 이동했습니다.
cd -는 현재 디렉토리로 오기 전의 디렉토리로 이동해주는 명령어입니다.
알아두고 있으면 굉장히 유용해요.
다음은 file 명령어인데요.
특정파일이 어떤 종류의 파일인지 확인하고 싶을 경우에 사용합니다.
아래 화면에서 볼 수 있듯이 어떤 종류인지 확실히 알 수 있습니다.
다음은 cat 명령어입니다.
concatenate의 약자로 {사슬같이 잇다, 연쇄시키다}라는 뜻이 있는 단어입니다.
사용법은 cat (파일이름) 입니다.
이 명령어는 텍스트 파일을 화면으로 출력해주는 것입니다.
모든 내용이 한번에 전부 출력되기 때문에 파일의 내용이 길다면 명령어의 실행이 끝났을 때 보이는 것은 파일의 맨 뒷부분이됩니다.
그 단점을 보완한 것이 more라는 명령어 입니다.
사용법은 more (파일이름) 입니다.
cat과 같이 텍스트 파일을 볼 수 있게되지만 페이지 단위로 보여주게 되어 사용자가 마음데로 오가며 볼 수 있게 해줍니다.
다음과 같은 키로 자유로이 여행? 할 수 있게 됩니다.
스크롤 키 |
설명 |
스페이스 |
다음 페이지 표시 |
엔터 |
다음 줄 표시 |
b |
이전 페이지 표시 |
/패턴 |
특정 문자열 패턴을 검색(내림차순) |
n |
패턴 검색 후, 다음 패턴을 검색 |
q |
명령어 종료 |
다음은 head 명령어입니다.
사용법은 head [-n] (파일이름) 입니다. (n에는 숫자를 넣어주시면 돼요!)
앞에서부터 원하는 라인까지의 페이지 내용을 확인할 수 있는 명령어입니다.
다음은 head의 반대 경우인 tail입니다.
사용법은 역시 tail [-n] (파일이름) 입니다.
예상하셨겠지만 해당 파일의 뒷부분에서부터 위로 올라가며 원하는 라인까지 보여주는 명령어입니다.
head보다 쓸모 없다고 생각할지도 모르겠지만 웹 로그를 저장해두는 파일의 경우 그 끝 부분은 가장 최근 기록이 되기 때문에 head보다 훨씬 자주 사용된답니다.
오늘의 마지막 명령어는 wc입니다.
word count의 약자로 파일의 줄, 단어, 문자수를 확인할 수 있는 명령어입니다.
사용법은 wc (옵션) (파일이름) 입니다.
옵션 |
설명 |
-l |
줄 개수 |
-w |
단어 개수 |
-c |
바이트 개수 |
-m |
문자 개수 |
위의 예시에서 157은 라인수를, 551은 단어수를, 3108은 문자의 개수를 나타내줍니다.
단독으로 쓰이는 경우는 거의 없으며 다른 명령어들과 연계해서 쓰인답니다.
예를 들어서 현재 디렉토리의 파일들을 모두 출력해준 것을 한 파일에 저장하고 그 파일에 wc 명령어를 사용하면 그 디렉토리의 파일이 몇개인지 알 수 있는 것으로 응용할 수 있습니다.
제 실습 예시들을 보시면 매번 명령어가 위에서 부터 시작됨을 확인하실 수 있을텐데요.
그것은 바로 clear라는 명령어 덕분입니다.
clear 명령을 사용하게 되면 위 화면에서 아래 화면처럼 깨끗이 지워집니다.
완전히 지워진 것은 아니고 눈치채셨을 수도 있지만 스크롤을 위로 올리면 좀 전의 화면이 다시 보인답니다.
저는 실습 화면을 깨끗이 유지해주기 위해 사용했지만 여러분들은 실습을 따라하시면서는 사용할 필요는 없습니다.
정신이 정말 사납다 싶을때만 사용해주시면 돼요!
그리고 추가적으로! 하나 더 좋은 것을 알려드리면 파일의 경로나 파일명을 입력하실 때 도중에 tab키를 한번 눌러보세요.
존재하는 경로 및 파일이 있다면 순식간에 완성된답니다.
길고긴 sshd_config지만 tab키로 단번에 완성할 수 있습니다.
이 tab키는 리눅스를 하실 때 꾸준히 사용해주시는 게 좋습니다.
경로나 파일을 찾고 이동하며 에러가 나는 경우가 상당히 많은데요.
그럴때마다 ls같은 명령어로 일일이 확인하시는 것 보다 tab키로 경로 및 파일의 존재를 확인해주는 편이 훨씬 빠르고 쉽답니다!
여기까지 오늘의 포스팅이었습니다.
좀 중구난방으로 설명이 된 것 같은데, 다음 번 포스팅 때는 좀 더 간결하고 알아보기 쉽게 찾아오겠습니다!
'보안 지식 창고 > [리눅스]' 카테고리의 다른 글
[리눅스] vi 편집기 (0) | 2017.07.26 |
---|---|
[리눅스] 파일 및 디렉토리 검색 (0) | 2017.07.25 |
[리눅스] 하드링크 및 심볼릭링크 (0) | 2017.07.24 |
[리눅스] 디렉토리 및 파일 내용 변경 (0) | 2017.07.23 |
[리눅스] 유닉스의 특징 (0) | 2017.07.19 |