※ 요약

리눅스 명령어 cp는 copy의 약어로써 파일이나 디렉토리를 복사할 때 사용하는 명령어이다.

cp는 복사할때 같은 이름의 대상 파일이 있는 경우 사용자에게 묻지 않고 덮어씌워버리는데, 이 같은 실수를 방지하고자 Alias 설정을 "cp='cp -i'"로 해두고 있다.


※ 경로

/bin/cp

※ 사용법

사용법을 보니 어려워 보이지만, 막상 사용하면 정말 쉽다. 밑에 사용예에서 좀 더 설명하겠다.

참고로 []안에 있는 값은 생략 가능하다는 의미이며 ...의 의미는 가변적이라는 뜻이다.

고로 [옵션]...은 옵션을 생략할 수도 있고 옵션이 한 개 혹은 여러개 올 수 있다는 의미이다.

cp [옵션]... [-T] 원본 대상

cp [옵션]... 원본... 디렉토리

cp [옵션]... -t 디렉토리 원본...



※ 옵션

 옵션

 Long 옵션

 설명

 -a

 --archive

 -dR --preserve=all 옵션과 같음

 -b

 --backup

 복사 대상 파일이 이미 존재할 경우를 대비하여 백업 파일을 만듦

 -d

 --no-dereference

 원본 파일이 소프트링크 파일이면 소프트링크 원본을 삭제

 -f

 --force

 복사 대상이 이미 존재하면 복사 대상 파일을 강제로 지우고 복사

 -i

 --interactive

 복사 대상이 이미 존재하면 사용자에게 덮어씌울건지 여부를 확인

 -l

 --link

 심볼릭 링크 형식으로 복사

 -P

 --parents

 원본 파일명에 디렉토리 경로도 같이 입력했다면 그 경로 그대로 복사

 -p

 --preserve

 원본 파일의 소유주, 그룹, 권한, 시간 정보들을 그대로 보존하여 복사

 -s

 --symbolic-link

 디렉터리가 아닌 일반 파일을 심볼릭 링크 형식으로 복사

 -u

 --update

 변경일이 같거나 더 최신의 복사 대상 파일이 있으면 복사 안 함

 -v

 --verbose

 복사 상태를 자세하게 출력

 -x

 --one-file-system

 원본 파일과 대상 파일의 파일시스템이 서로 다를 경우, 복사 안 함

 -R, -r

 --recursive

 디렉토리를 복사할 경우 하위 디렉토리와 파일을 모두 복사

 

 --help

 cp의 사용법을 출력

 

 --version

 cp의 버전을 출력

 

※ 사용예

이번에는 캡쳐 없이 글로만 설명하도록 하겠다.

띄어쓰기 잘 안 보여서 2칸씩 띄웠으니 참고바람.

 

cp  -f  file1  file2

: file1을 file2로 복사한다. file2가 이미 존재한다면 file1의 내용을 그대로 덮어씌우고 복사한다. file2가 없다면 새로 생성된다.

 

cp  -i  file1  file2

: 위와 같이 복사가 이뤄지지만 만약 file2 파일이 있다면 사용자에게 덮어씌울건지 물어본 뒤 작업을 진행하거나 취소한다.

 

cp  file1  file2  file3  dir

: file1과 file2, file3을 dir이라는 디렉토리로 복사한다. 단, dir1은 존재하고 있어야 한다.

 

cp  dir1/*  dir2

: 와일드 카드와 함께 사용해서 dir1 디렉토리에 있는 모든 파일을 dir2 디렉토리로 복사한다. 단, dir2는 존재하고 있어야 한다.

 

cp  -r  dir1  dir2

: dir1 디렉토리와 그 안에 있는 모든 내용(파일 및 디렉토리)을 dir2로 복사한다. dir2가 없다면 새로 만든다.

 

 

 

※ 요약
mkdir 명령어는 make directory의 약자로써 디렉토리를 생성할 때 사용하는 명령어다.

자주 사용하지만 옵션의 종류도 별로 없고 매우 쉬운 명령어 중에 하나이다.


※ 경로
/bin/mkdir

※ 사용법

mkdir [옵션]... 디렉토리 이름...

[옵션] : 생략 가능

디렉토리 이름 : 생성할 디렉토리명, ...은 가변인자를 뜻하는데, 생성할 디렉토리들을 나열하면 나열한 개수 만큼 생성


※ 옵션

 옵션

 Long 옵션

 설명

 -m

 --mode=MODE

 디렉토리를 생성할때 권한을 설정, 디폴트는 755

 -p

 --parents

 상위 경로도 함께 생성

 -v

 --verbose

 디렉토리를 생성 후, 생성된 디렉토리에 대해 메시지 출력

 

 --help

 mkdir의 사용법을 출력

 

 --version

 mkdir의 버전 정보를 출력


 

※ 사용예

mkdir 디렉토리명

: 옵션 없이 기본적으로 사용하는 방법이다. Test 디렉토리가 생성된 것을 확인할 수 있다.

 

mkdir -m 777 디렉토리명

: 777로 하였기 때문에 drwxrwxrwx로 생성된 것을 알 수 있다. -m 옵션을 넣지 않으면 디폴트 값인 755로 생성된다.

 

mkdir -p /경로/디렉토리명

: workspace디렉토리는 있지만 그 하위에 Test디렉토리는 없어서 -p 옵션이 없으면 오류로 생성되지 않는다.

  -p 옵션이 있다면 상위 디렉토리인 Test도 함께 생성하기 때문에 오류없이 생성된다.

 

mkdir -v 디렉토리명

: 디렉토리를 생성 후, 그에 대한 메시지를 출력한다. 성공이면 성공, 실패면 실패에 대해 출력한다.

  여러 개의 디렉토리를 생성할때, 무엇이 성공했고, 무엇이 실패했는지 파악할때 편리하다.

 

mkdir --version

: mkdir의 버전을 출력한다.


 

 

 

※ 요약

ls 명령어는 "list segments"의 약자로써 가장 많이 사용하는 리눅스 명령어 중에 하나이다. 

ls는 보통 지정한 디렉토리나 파일의 정보를 출력하는데 사용한다.

옵션은 아래와 같이 상당히 많지만 자주 쓰이는 옵션은 그다지 많지 않다.


※ 경로
/bin/ls

※ 사용법
ls [옵션]... [파일]...

[옵션] : 생략 가능하고 여러개 사용가능

[파일] : 생략 가능하고 여러개 지정가능


※ 옵션

옵션은 보통 (-)와 함께 입력하여 사용한다.

그 밖에 LONG 옵션을 제공하는데, LONG 옵션은 보통 (--) 기호를 선행하여 사용한다.

 옵션

 Long 옵션

 설명

 -a

 --all

 .을 포함하여 경로 안의 모든 내용을 출력

 -A

 --almost-all

 .과 ..을 제외한 모든 내용을 출력

 -b

 --escape

 알파벳 형식의 리스트를 출력

 

 --block-size=SIZE

 지정한 바이트(SIZE) 만큼의 블록을 사용

 -B

 --ignore-backups

 ~로 끝나는 백업 파일을 출력하지 않음

 -c

 

 -lt 옵션과 함께 마지막 변경 시간을 출력하고 시간을 기준으로 정렬

 -l 옵션과 함께 마지막 변경된 시간을 출력하고 이름을 기준으로 정렬

 -C

 

 열의 엔트리를 출력

 

 --color[=WHEN]

 파일의 타입을 색으로 구별함

 WHEN에 올 수 있는 값은 'never', 'always', 'auto'

 -d

 --directory

 디렉토리의 경로를 출력, 심볼릭 링크라면 원래의 링크 정보를 출력 안 함

 -D

 --dired

 emacs를 위한 출력 형태를 생성

 -f

 

 정렬하지 않음, 이 옵션은 -aU 옵션을 활성화하고 -ls --color 옵션을 비활성화

 -F

 --classify

 목록의 마지막에 (*/=>@|) 중에 하나의 지시자를 붙임

 (실행파일은 *, 경로는 /, 소켓은 =, 심볼릭 링크는 @, FIFO는 |)

 

 --file-type

 -F, --classify과 비슷하나, *은 덧붙이지 않음

 

 --format=WORD

 옵션 대신 워드 서식을 지정하여 출력

 (across는 -x, commas는 -m, horizontal는 -x, long는 -l, single-column는 -1, verbose는 -l, vertical는 -C)

 

 --full-time

 -l --time-style=full-iso와 비슷함

 -g

 

 -l과 비슷하나 소유자의 리스트를 출력하지 않음

 

 --group-directories-first

 파일 이전에 그룹 디렉토리를 먼저 출력

 -G

 --no-group

 긴 리스트 형식으로 출력하나 그룹 이름은 출력하지 않음

 -h

 --human-readable

 -l과 함께 사람이 읽기 쉬운 형식의 크기로 출력

 

 --si

 -h와 비슷하나 1,024 단위가 아닌 1,000의 단위로 출력

 -H

 --dereference-command-line

 심볼릭 링크면 실제로 참조하는 목록을 출력

 

 --hide=PATTERN

 지정한 PATTERN과 매칭되는 리스트를 숨김(-a나 -A 옵션이 우선함)

 

 --indicator-style=WORD

 목록 이름에 WORD 스타일의 지시자를 추가

 (none은 기본값, slash는 -p, file-type은 --file-type, classify는 -F)

 -i

 --inode

 각 파일의 인덱스 값을 출력

 -I

 --ignore=PATTERN

 지정한 PATTERN에 매칭되는 목록을 출력하지 않음

 -k

 --kibibytes

 --block-size=1K와 비슷함

 -l

 

 긴 리스트 형식으로 출력

 -L

 --dereference

 심볼릭 링크의 정보를 보여줄 때 링크 파일의 원본 파일의 정보를 출력

 -m

 

 콤마로 구분된 목록 형식으로 출력

 -n

 --numeric-uid-gid

 -l 옵션과 비슷하나, 숫자 형식의 사용자와 그룹 ID를 출력

 -N

 --literal

 원래의 이름 형식으로 출력(보통 영문이 아닌 경우 \를 붙여서 출력)

 -o

 

 -l와 비슷하지만 그룹의 정보를 출력하지 않음

 -p

 --indicator-style=slash

 디렉토리에 슬래시(/)를 추가

 -q

 --hide-control-chars

 그래픽이 아닌 문자 대신 ?를 출력

 -Q

 --quote-name

 목록에 쌍 따옴표로 감싸서 출력

 -r

 --reverse

 정렬의 순서를 역순으로 바꿈

 -R

 --recursive

 현재 디렉토리를 기준으로 모든 하위의 디렉토리를 출력

 -s

 --size

 각 파일이나 블록에 할당된 크기를 출력

 -S

 

 파일의 크기를 기준으로 정렬

 -t

 

 수정된 시간을 기준으로 정렬

 -T

 --tabsize=COLS

 기본값 8 대신 지정한 COLS를 탭 간격으로 지정

 -u

 

 -lt 옵션과 함께 접근 시간을 기준으로 정렬

 -l 옵션과 함께 접근 시간을 출력하는데 이름을 기준으로 정렬

 -U

 

 정렬하지 않음

 -v

 

 

 -w

 --width=COLS

 현재 값 대신 스크린 넓이(COLS)를 지정

 -x

 

 열의 기준 대신 라인의 기준으로 출력

 -X

 

 목록의 확장자를 기준으로 알파벳 순으로 정렬

 -Z

 --context

 각 파일의 SELinux 보안 컨텍스트를 출력

 -1

 

 줄 별로 하나의 파일을 출력

 

 --help

 사용법을 출력

 

 --version

 버전 정보를 출력



※ 사용예

ls -al

: 현재 디렉토리 내의 모든 내용을 출력하는데, 출력 형식은 리스트 형식으로 출력한다.


ls -alt

: 현재 디렉토리 내의 모든 내용을 출력하고 출력 형식은 리스트 형식으로 출력하는데, 시간 순으로 정렬


ls -l --color=never

: 리스트 형식으로 출력하고 파일의 타입을 색으로 구분하지 않음


ls --tabsize=SIZE

: 아래를 보면 알겠지만 탭 사이즈를 변경해가며 출력


ls -m

: 각 파일이나 디렉토리의 간격을 콤마로 구분




+ Recent posts