[RHEL6] 일반 명령어 4탄(mv, printf, pd, readlink)
본문 바로가기
IT 이야기/Linux 명령어

[RHEL6] 일반 명령어 4탄(mv, printf, pd, readlink)

by 찬찬이 아빠 2020. 3. 23.
반응형
  16. mv(파일 이동)

 1) 경로 : /bin/mv

 2) 요약 : 파일 또는 디렉터리를 이동하거나 이름을 변경

 3) 사용 방법

   mv [옵션] source dest

   mv [옵션] source directory

   mv -d [옵션] --target-directory=directory sourceenv [옵션] [변수=값...] [명령 [인수...]]

 4) 옵션

 --backup[=CONTROL] : 대상 파일이 존재하면 백업 파일 생성

 -b : --backup과 비슷하게 백업 파일을 생성

 -f, --force : 사용자에게 묻지 않고 파일을 덮어씀

 -i, --interactive : 존재하는 파일을 덮어 쓸 경우 확인

 -n, --no-clobber : 존재하는 파일을 덮어쓰지 않음

 -S, --suffix=SUFFIX : 지정한 접미사로 백업을 생성

 -t, --target-directory=DIRECTORY : 전체 원본 파일을 대상 디렉터리로 이동

 -T, --no-target-directory : 파일을 대상 디렉터리로 취급하지 않고 워본 파일로 취급

 -u, --update : 파일이 업데이트 된 경우에만 이동

 -v, --verose : 상세한 정보를 출력

 --help : 사용법 출력

 --version : 버전 정보 출력

 

 5) 추가 설명

mv 명령어는 파일을 이동하거나 이름을 변경할 경우 사용합니다. 만일 원본과 대상의 이름이 다르면 이름이 변경됩니다. 이동할 파일이 여러 개일 경우는 이동 모드로만 동작합니다. 아래는 rename의 기능을 하는 mv 명령어입니다.

# ls
Hello.mp3	ByeBye.mp3
# mv Hello.mp3 Hi.mp3

 

현재 디레거리에 있는 mp3로 끝나는 모든 파일을 /root 디렉터리 밑으로 이동시켜 봅니다.

# mv *.mp3 /root/
# ls /root/*.mp3
Hi.mp3	ByeBye.mp3

 

ByeBye.mp3 파일의 이름을 변경할 수 있습니다.

# mv ByeBye.mp3 chanchan.mp3

 

-b 옵션은 파일 이름을 변경할 때 대상 파일이 존재하면 ~로 끝나는 백업파일을 생성합니다.

# ls
chan chan2
# mv -b chan chan2
# ls -al
-rw-r--r--	1	chan	chan	29	2020-03-24 17:33 chan2
-rw-r--r--	1	chan	chan	0	2020-03-24 17:55 chan2~

 

 

  17. printf(데이터 출력)

 1) 경로 : /usr/bin/printf

 2) 요약 : 형식화된 데이터를 출력

 3) 사용 방법 : printf FORMAT [ARGUMENT]...

                       printf 옵션

 4) 옵션

 --help : 사용법 출력

 --version : 버전 정보 출력

 

<포맷 형식> 

₩" : 쌍 따옴표

₩NNN : 8진수를 가진 문자(1-3개의 숫자)

₩₩ : 백 슬래시

₩a : 알람(BEL)

₩b : 백 스페이스

₩c : 이후 더 이상 출력하지 않음

₩f : 폼 피드

₩n : 새로운 라인

₩r : 캐리지 리턴

₩t : 가로 탭

₩v : 세로 탭

₩xHH : 16진수 값 HH을 가지는 바이트(1-2개의 숫자)

₩uHHHH : 헥사 값 HHHH(4개의 숫자)를 가진 유니코드

₩UHHHHHHHH : 16진수 HHHHHHHH 값을 가지는 유니코드 문자(8개의 숫자)

%% : 싱글%

%b : 형식 문자열에 있는 대로 이스케이프로 출력

 

 5) 추가 설명

printf 명령어는 지정한 형태로 화면에 출력하는데, echo 명령어보다 기능적으로 확장되고 C언어의 printf 함수보다는 기능이 제한적입니다. printf 명령어는 에러 메시지를 형식화하여 출력할 때 매우 유용합니다.

 

다음과 같이 ₩n 포맷을 써서 새로운 라인을 생성해 봅니다.

# printf "%s %s \n" test test2
test test2

 

₩n 포맷에 ₩t 포맷을 사용하여 탭으로 구분할 수 있습니다.

# printf "%s\t%s \n" test test2
test	test2

 

C 언어의 printf 함수와 동일하게 소수점 이하 자리도 표시할 수 있습니다.

# printf "파이를 소숮머 이하 2자리만 표시 = %1.2f\n" 3.141592
파이를 소수점 이하 2자리만 표시 = 3.14

 

 

  18. pwd(현재 경로 보기)

 1) 경로 : /usr/bin/pwd

 2) 요약 : 작업 디렉터리명을 출력

 3) 사용 방법 : pwd [옵션]

 4) 옵션

 -L, --logical : 심볼릭을 포함하고 있더라도 PWD 환경 변수를 사용

 -P, --physical : 심볼릭 정보를 무시하고 실제의 경로 정보를 출력

 

 5) 추가 설명

pwd 명령어는 현재 작업중인 디렉터리의 절대 경로를 출력합니다. 아래는 현재 작업 중인 디렉터리를 확인합니다.

# pwd
/home/user/sources.pkgs/linux-2.6.32/Documentation

 

아래는 어떤 디렉터리 위치에서도 cd 명령어를 실행하면 $HOME 디렉터리로 이동합니다. cd -를 입력하면 바로 이전의 작업 디렉터리로 이동합니다.

# cd
# pwd
/home/user
# cd -
# pwd
/home/user/sources.pkgs/linux-2.6.32/Documentation

 

-P 옵션은 심볼릭 링크의 실제 디렉터리의 경로 정보를 출력합니다.

# ln -s Documentation Doc
# cd Doc
# pwd
/home/user/sources.pkgs/linux-2.6.32/Doc
# pwd -p
/home/user/sources.pkgs/linux-2.6.32/Documentation

 

 

  19. readlink(심심볼릭 링크 출력)

 1) 경로 : /bin/readlink

 2) 요약 : 심볼릭 링크의 값을 출력

 3) 사용 방법 : readlink [옵션]...FILE

 4) 옵션

 -f, --canonicalize : 심볼릭 링크의 원본 위치를 출력

 -n --no-newline : 새로운 라인은 출력하지 않음

 -q, --quiet : 메시지를 출력하지 않음

 -s, --silent : 대부분 에러 메시지를 출력하지 않음

 -v, --verbose : 상세한 정보를 출력

 --help : 도움말 출력

 --version : 버전 정보 출력

 

 5) 추가 설명

readlink 명령어는 ln 명령어로 생성한 심볼릭 링크의 원본 파일을 찾아 줍니다. 아래 예제에서 /usr/lib/libncurses.so 공유 라이브러리는 /lib/libncurses.so.5.7 원본 파일에 심볼릭 링크되어 있습니다.

# readlink /usr/lib/libncurses.so
/lib/libncurses.so.5
# ls -alh /lib/libncurses.so.5
lrwxrwxrwx		1	root	root	17	2020-03-23 16:40	/lib/libncurses.so.5 -> libncurses.so.5.7

 

readlink 명령어로 찾은 결과가 심볼릭 파일일 때가 있습니다. -f 옵션은 심볼릭 링크를 모두 찾아가서 근본적인 원본 파일을 찾아 줍니다.

# readlink -f /usr/lib/libncurses.so
/lib/libncurses.so.5.7
반응형

댓글