안녕하세요 롯사입니다.
전 시간에 vmware 리눅스 가상화 서버를 구축한 포스팅에 이어서 리눅스 서버에서 직접적으로
사용하는 가장 기본 중에 기본인 명령어에 대해서 알아보는 시간을 갖도록 하겠습니다.
윈도처럼 리눅스도 GUI 환경이 지원되긴 하지만 기본적으로 현업에서는 보안적인 부분과
시스템 Resource를 고려하여 가볍고 simple하게 운영되는 서버들이 대부분입니다.
그렇기 때문에 명령어는 필수라고 할 수 있겠습니다.
Basic Command
ls / pwd / cd / cp / mv / mkdir / rmdir / rm / cat / touch / head / tail /
ls : 디렉터리와 파일의 목록을 출력.
구문 : ls [option] [directory/file]
옵션 :
옵션 | 의미 |
-a, --all | .을 포함 숨김 파일들을 포함한 모든 파일과 디렉터리를 표시합니다. |
-l --format=long | 지정한 디렉터리의 내용을 자세히 출력합니다. |
-d --directory | 지정된 디렉터리의 정보를 출력합니다. |
-n --numeric | 파일 및 디렉터리 정보 출력시 UID, GID를 사용합니다. |
-F --classify | 파일 형식을 알리는 문자를 각 파일 뒤에 추가 (ex. "*","/","@") |
-R --recursive | 하위 경로와 그 안에 있는 모든 파일들도 같이 나열합니다. |
pwd : 현재 내가 위치한 절대적인 경로를 출력
cd : 원하는 디렉터리로 이동할 때 인자 값과 함께 사용
구문 : cd [인자 값]
옵션 :
인자값 | 의미 |
directory | 이동하고 싶은 디렉터리 (ex. cd /home) |
. | 현재 디렉터리 |
.. | 상위 디렉터리 |
~ | 로그인 된 사용자의 홈디렉터리로 이동. |
~계정명 | 지정된 계정의 홈디렉터리로 이동. |
cp : 파일이나 디렉터리를 복사하는 명령어
구문 : cp [-option] [sources] [target]
옵션 :
옵션 | 의미 |
-i, --interactive | 복사대상 파일이 있을 경우, 사용자에게 복사 여부 질문 |
-f, --force | 복사대상 파일이 있을 경우, 사용자에게 확인없이 강제 복사 |
-r, -R, --recursive | 디렉토리를 복사할 경우 하위 디렉토리와 파일을 모두 복사 |
-v --verbose | 복사진행 상태를 출력한다. |
-d, --no-dereference | 심볼릭 정보를 그대로 유지하고 복사 |
-p, --preserve | 원본 파일의 소유주, 그룹, 권한, 시간정보를 보존 하고 복사 |
-a, --archive | 원본 파일의 속성, 링크정보들을 그대로 유지하고 복사 |
mv : 파일이나 디렉터리를 이동하거나 이름을 바꿀 때 사용
구문 : mv [-option] [sources] [target]
옵션 :
옵션 | 의미 |
-i, --interactive | .bashrc에 alias 되어 있는 옵션, 파일이 있을 경우 사용자 확인 |
-u, --update | 이동할 파일이 이동할 위치에 있는 파일보다 최근 파일일 경우 이동 |
-b, --backup | 대상에 파일이 이미 있어, 지워지는 것을 대비해 백업파일을 생성 |
-f, --force | 대상에 파일이 이미 있어도 사용자에게 어떻게 처리할지 묻지 않는다 |
-v, --verbose | 파일 을 옮기는 과정을 자세하게 보여준다 |
-S, --suffix | -b 옵션을 이용하여 백업파일에서 사용할 파일 이름 꼬리 문자 지정 |
mkdir : 디렉터리를 생성하는 명령어
구문 : mkdir [-option] [directory name]
옵션 :
옵션 | 의미 |
-m, --mode | 디렉토리 생성시 디렉토리의 기본 권한을 지정 |
-p, --parents | 필요한 경우 상위 경로까지 생성 |
--help | 도움말 표시 |
--version | 버전 정보 표시 |
rmdir : 디렉터리 삭제하는 명령어 (파일 삭제 불가, 하위 디렉터리 존재 시 삭제 불가)
구문 : rmdir [-option] [directory]
옵션 :
옵션 | 의미 |
-p, --parents | 상위 경로도 지운다. |
--help | 도움말 표시 |
--version | 버전 정보 표시 |
rm : 파일 및 디렉터리를 삭제하는 명령어(삭제 권한 필요)
구문 : rm [-option] [directory / file]
옵션:
옵션 | 의미 |
-f, --force | 파일/디렉터리 삭제시 사용자에게 처리여부 묻지 않는다 |
-r,-R, --recursive | 일반 파일이면 그냥 지우고, 디렉터리를 포함한 하위,파일 모두 삭제 |
-v, --verbose | 파일 지우는 정보를 보여준다 |
--version | 버전 정보를 보여준다 |
cat : 텍스트 파일 내용을 표준 출력장치로 출력하는 명령어
구문 :
형식 | 내용 |
cat /etc/[ file ] | 파일의 내용 출력 |
cat /etc/[ file ] > /[ newfile ] | 기존 파일의 내용을 다른 파일에 입력하기 [덮어쓰기] |
cat >> /[ file ] | 기존 파일에 내용 추가하기 [내용추가] |
touch : 크기가 0인 새로운 파일을 생성하거나 시간 정보를 변경하는 명령어
파일이 존재하지 않을 경우 크기가 0 byte 인 새로운 파일을 생성합니다. |
파일이 존재할 경우 수정 시간을 명령어를 사용한 시점으로 변경합니다. |
head : 파일의 내용을 출력
파일의 내용중 처음부터 아래로 10줄의 정보를 출력해서 보여줍니다. |
head 명령어만 사용시 기본값인 위에서 10줄을 출력해서 보여줍니다. |
구문 : head [ -option ] [ filename ]
옵션 :
옵션 | 의미 |
-c, --bytes=[-]K | 각 파일의 처음부터 K bytes 까지를 출력한다. ‘-’를 붙일 경우 각 파일의 마지막 K bytes를 출력합니다. |
-n, --lines=[-]K | 각 파일의 처음 10개 행 대신 처음부터 K번째 행까지 출력한다. ‘-’를 붙일 경우 각 파일의 마지막 K 번째 행을 출력합니다. |
-q, --quiet, --silent | 파일의 이름을 header에 출력하지 않습니다. |
-v, --verbose | 항상 파일의 이름을 header에 출력한다 |
tail : 파일의 내용을 출력
파일의 내용중 마지막부터 위로 10줄 출력 |
tail 명령어만 사용시 기본값인 아래에서 10줄 출력 |
구문 : head [ -option ] [ filename ]
옵션 :
옵션 | 의미 |
-c, --bytes=K | 줄 단위가 아니라 bytes 단위로 파일의 마지막 부분을 출력한다. -c +K 와 같이 입력하면 파일의 시작부터 K번째 bytes까지 출력한다. |
-f, --follow[={name|descriptor}] | 파일의 마지막부터 10줄을 출력해주고 종료되지 않은채 표준입력을 읽어 들인다. -f, --follow, --follow=descriptor 모두 동일한 의미를 가지기 때문에 어느 것을 사용해도 상관없다. |
-F | 파일 변동 시 실시간으로 출력하되 로그파일처럼 특정 시간이 지난 후 파일이 변하게 되면 새로운 파일을 오픈하여 출력한다. |
n, --lines=K | K 값을 입력할 경우 마지막 10줄 대신 마지막에서 K 번째 줄까지 출력한다. |
-q | 파일의 이름을 header에 출력하지 않는다. |
-s | -f 옵션과 함께 사용하며, N초(default 1.0)의 시간 간격마다 파일에 새로운 줄이 추가되었는지 검사한다. |
-v | 항상 파일의 이름을 header에 출력한다. |
여기까지 리눅스의 기본적인 명령어 일부에 대해서 알아봤습니다.
명령어에 따라서 사용되는 옵션의 종류가 다양하기 때문에 의미만 정확하게 파악하고 조금씩
사용해보시면 금방 익숙해질 수 있을 거라 생각됩니다.
많이들 열공하시고요 환절기 감기 조심하세요 ^^
다음 시간엔 vi 편집기에 대해서 포스팅해보도록 하겠습니다.
'IT 학습 공간 ::)' 카테고리의 다른 글
리눅스 User Account Management ( useradd/usermod/userdel ) (0) | 2019.05.08 |
---|---|
리눅스 vi 에디터 사용법 (0) | 2019.05.02 |
vmware 사용법 / centos 7 리눅스 설치 ( 리눅스 서버 구축 ) (0) | 2019.04.28 |
vmware 설치 12 pro / win10 (0) | 2019.04.27 |
리눅스(Linux) kernel 구조 (0) | 2019.04.26 |