1. 파일 시스템 탐색 기본 명령어

pwd, cd, ls, file, less

1) pwd

  • 작업 디렉토리의 위치 확인
[vagrant@host1 ~]$ pwd

/home/vagrant

2) cd [디렉토리명]

  • 현재 작업 디렉토리의 위치 이동
[vagrant@host1 ~]$ cd ..

[vagrant@host1 home]$

[옵션]

.. : 상위 디렉토리로 이동. 예를 들어 현재 위치가 /user/jtaewu라면 /user로 이동

. : 현재 위치한 폴더로 이동. 사실상 기능은 새로고침과 동일

- : 이전에 위치했던 폴더로 이동. 윈도우의 뒤로 가기와 동일.

/ : ROOT 디렉토리로 이동

~ : 홈 디렉토리로 이동

3) ls

  • 디렉토리내 있는 파일 리스트 출력
[vagrant@host1 ~]$ ls

git
디렉토리를 지정하여 파일 목록을 출력 가능

옵션을 사용하지 않으면 숨김 파일은 나오지 않음

디렉토리명을 생략하면 현재 위치한 디렉토리의 파일 목록을 출력

[옵션]

/ : root에 있는 파일 목록 출력

-l : 파일들을 나열할때 자세히 출력

-a : 경로안의 모든 파일을 나열 (숨김파일도 포함)

-R : 위치한 디렉토리 하부 디렉토리의 파일까지 모두 출력

-h : 파일크기를 해석파기 편하게 출력

-r : 출력 결과를 내림차순으로 정렬

-t : 출력 결과를 파일이 수정된 시간을 기준으로 정렬

4) file [파일명]

  • 지정된 파일의 타입을 확인
[vagrant@host1 ~]$ file git

git: directory

[옵션]

-C : 매직파일의 포맷을 검사하는 옵션

-f 목록파일 : 많은 파일들을 한번에 확인하기 위하여 파일리스트인 목록파일을 만들어서 그 안에 입력된 모든 파일을 한꺼번에 확인하는 옵션

-m 매직파일 : 지정된 매직파일로 대상파일을 확인하는 것.

5) less [파일명]

  • 파일의 내용을 한 화면에 출력
[vagrant@host1 ~]$ less git

total 0

drwxrwxr-x. 5 vagrant vagrant  66 Nov 21 09:03 ./

drwx------. 5 vagrant vagrant 136 Nov 21 10:02 ../

drwxrwxr-x. 3 vagrant vagrant 123 Nov 22 08:07 bitcamp-ncp/

drwxrwxr-x. 3 vagrant vagrant  66 Nov 21 09:19 bitcamp-ncp2/

drwxrwxr-x. 4 vagrant vagrant  65 Nov 21 01:29 bitcamp-study/

git (END)git (END)

[옵션]

-? : less에서 사용할 수 있는 명령들에 대한 도움말 출력

-c : 필요 시 전체 화면을 다시 갱신

-i : 대소문자를 구분하여 탐색

-s : 연속되는 공백 라인은 하나의 행으로 처리

-x [숫자] : 수치를 지정해서 탭 간격 조정, Default값 8

행번호 : 지정된 행 다음부터의 내용을 출력

--help : 해당 명령어의 도움말을 보여주고 실행이 종료

--version : version 정보를 출력하고 실행이 종료

[less 실행 중 명령어]

Space : 줄 번호를 출력하는 옵션

f : 다음 페이지로 표시하는 명령

Enter : 행 단위로 표시하는 명령

/[String] : 표시되는 파일에 내용 기준 이후에 내용의 문자열을 찾는 명령

?[String] : 표시되는 파일에 내용 기준 이전에 내용의 문자열을 찾는 명령

q : less 명령어를 종료하는 명령

2. 파일과 디렉토리 조작 명령어

cp, mv, mkdir, rm, ln

1) cp [복사할 파일명] [붙여넣을 파일명]

  • 파일이나 디렉토리 복사
[vagrant@host1 ~]$ cp -r git new_git

[vagrant@host1 ~]$ ls

git  new_git
cp 명령어의 옵션을 제외한 인자 값은 생략이 불가

경로를 지정하지 않으면 현 위치를 Defualt로 함

복사할 때 새로운 이름을 지정하여 복사 가능

다양한 옵션을 사용하여 기존의 파일이나 디렉토리를 보호하는 등의 행동 가능

[옵션]

-i : 복사 될 파일의 이름이 이미 존재할 경우, 사용자에게 덮어 쓰기 여부를 물어봄

-b : 복사 될 파일의 이름이 이미 존재할 경우, 백업파일을 생성

-f : 복사 될 파일의 이름이 이미 존재 할 경우, 강제로 덮어쓰기

-r : 하위 디렉토리 까지 모두 복사

-a : 원본 파일의 속성, 링크 정보까지 모두 복사

-p : 원본 파일의 소유자, 그룹, 권한 등의 정보까지 모두 복사

-v : 복사 진행 상태를 출력

2) mv [이동할 파일] [이동될 위치]

  • 파일이나 디렉토리 이동
[vagrant@host1 ~]$ mv new_git git

[vagrant@host1 ~]$ ls

git

[vagrant@host1 ~]$ cd git

[vagrant@host1 git]$ ls

bitcamp-ncp  bitcamp-ncp2  bitcamp-study  new_git
mv 명령어의 옵션을 제외한 인자 값은 생략이 불가

경로를 지정하지 않으면 현 위치를 Defualt로 함

이동 시킬 때 새로운 이름을 지정하여 이동 가능

현재위치에 이름만 바꿔서 이동시켜 파일의 이름바꾸기로 응용 가능

다양한 옵션을 사용하여 기존의 파일이나 디렉토리를 보호하는 등의 행동 가능

[옵션]

-b : 이동 될 파일이 존재하면 백업파일을 생성

-i : 이동 될 파일의 이름이 이미 존재할 경우, 사용자에게 덮어쓰기 여부를 물어봄

-b : 이동 될 파일의 이름이 이미 존재할 경우, 백업파일을 생성

-f :이동 될 파일의 이름이 이미 존재 할 경우, 강제로 덮어쓰기

-n :이동 될 파일의 이름이 이미 존재 할 경우, 덮어쓰기를 하지 않음

-r : 하위 디렉토리 까지 모두 이동

-v : 이동 진행 상태를 출력

3) mkdir [디렉토리명]

  • 새 디렉토리 생성
[vagrant@host1 ~]$ mkdir new

[vagrant@host1 ~]$ ls

git  new
경로를 지정하지 않으면 현 위치를 Defualt로 함

생성할 디렉토리를 여러개 나열하여 한번의 명령어로 복수의 디렉토리를 생성 가능

[옵션]

-m : 디렉토리를 생성할 때 권한을 설정 (defualt : 755)

-p : 상위 경로도 함께 생성

-v : 디렉토리를 생성하고 생성된 디렉토리에 대한 메시지를 출력

4) rm

  • 파일이나 디렉토리 삭제
[vagrant@host1 ~]$ rm -r new

[vagrant@host1 ~]$ ls

git
경로를 지정하지 않으면 현 위치를 Defualt로 함

비어있지 않은 디렉토리는 -r 옵션 없이는 삭제 불가

한번 삭제한 파일에 대한 취소 명령어는 존재하지 않으니 삭제시 신중할 것!

[옵션]

-f : 강제로 파일이나 디렉토리를 삭제하고 대상이 없는 경우에는 메시지를 출력하지 않음

-r : 디렉토리 내부의 모든 내용을 삭제합니다.

-d : 비어있는 디렉토리들만 제거

-i : 매번 삭제할 때마다 사용자에게 삭제할 것인지 물어봄

-l : 3개의 이상의 파일을 삭제하거나 디렉토리 내부가 비어있지 않을 때만 삭제할 것인지 물어봄

-v : 삭제되는 대상의 정보를 출력

5) ln [원본파일명] [링크명]

  • 링크파일 생성
[vagrant@host1 ~]$ ln a.txt hardlink

[vagrant@host1 ~]$ ls

a.txt  git  hardlink
하드링크 또는 심볼릭링크 생성 가능

옵션없이 사용하면 Default로 하드링크 생성

[옵션]

-s : 심볼릭 링크 생성

-S : 백업파일 생성 시 원하는 접미사 지정

-v : 링크 생성 정보를 자세히 출력

-b : 대상파일 존재 시 백업파일 생성 후 생성

-f : 대상파일 존재 시 삭제 후 생성

-i : 대상파일 존재 시 대상파일 삭제할 것인지 물어봄

3. 명령어를 다루는 명령어

type, which, man, apropos, info, whatis, alias

1) type [명령어명]

  • 지정된 명령어의 타입 (쉘 내장인지 외부 유래인지 앨리어스인지)을 확인
[vagrant@host1 ~]$ type test

test is a shell builtin
[vagrant@host1 ~]$ type cp

cp is /usr/bin/cp
[vagrant@host1 ~]$ type find

find is /usr/bin/find

2) which [명령어명]

  • 명령어의 위치 확인
[vagrant@host1 ~]$ which ls

alias ls='ls --color=auto'

        /usr/bin/ls

[옵션]

-a : 검색 가능한 모든 경로에서 해당 명령어 검색

3) man [명령어명]

  • 명령어의 사용법 확인
[vagrant@host1 ~]$ man rm

RM(1)                                               User Commands                                               RM(1)



NAME

       rm - remove files or directories

.

.

.

[man 실행 중 명령어]

q : 나가기

h : man 사용법 확인

Enter : 한 줄씩 넘기기

Space : 한 페이지씩 넘기기

[옵션]

-k : apropos와 같은 기능

4) apropos [검색어]

  • 검색어와 관련있는 명령어의 사용법 출력
[vagrant@host1 ~]$ apropos git

git (1)              - the stupid content tracker

git-add (1)          - Add file contents to the index

git-am (1)           - Apply a series of patches from a mailbox

.

.

.

5) info [명령어]

  • 일부 명령어의 사용법 확인
[vagrant@host1 ~]$ info git

File: *manpages*,  Node: git,  Up: (dir)



GIT(1)                            Git Manual                            GIT(1)







NAME

       git - the stupid content tracker

.

.

.
man에 비해 검색되는 명령어가 한정적

6) whatis [명령어]

  • 명령어의 기능 간략하게 확인
[vagrant@host1 ~]$ whatis pwd

pwd (1)              - print name of current/working directory

pwd (1p)             - return working directory name

7) alias [별명]=’명령어’

  • 명령어를 간단한 이름으로 사용할 수 있도록 별명 설정
[vagrant@host1 ~]$ alias p='pwd'

[vagrant@host1 ~]$ p

/home/vagrant
인자 값을 넣지 않으면 현재 등록되어있는 모든 alias 출력

unalias [별명] : 별명 삭제