Core utilities (한국어)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

이 문서는 less, ls, grep 등 GNU/Linux 시스템 상에서 Core utilities라고 불리는 유틸리티들에 대해 설명합니다. 이 문서는 GNU coreutils 패키지에 포함되어 있는 유틸리티 등을 포함합니다. 아래에는 해당 유틸리티들에 대한 유용한 도움말과 기타 정보가 제공됩니다.

기본적 명령어

아래의 표는 리눅스 사용자라면 익숙해져야할 기본적인 명령어들입니다. 볼드처리된 명령어들은 쉘의 일부이며, 나머지는 독립된 프로그램들입니다. 아래의 섹션들과 관련 문서들을 참고하십시오.

Command Description Example
man 명령어에 대한 설명을 표시합니다. man ed
cd 작업중인 디렉토리를 바꿉니다. cd /etc/pacman.d
mkdir 디렉토리를 만듭니다. mkdir ~/newfolder
rmdir 빈 디렉토리를 삭제합니다. rmdir ~/emptyfolder
rm 파일을 삭제합니다. rm -r ~/file.txt
rm -r 디렉토리와 그 안의 파일들을 삭제합니다. rm -r ~/.cache
ls 파일의 목록을 출력합니다. ls *.avi
ls -a 숨겨진 파일 역시 표시합니다. ls -a /home/archie
ls -al 숨겨진 파일을 표시하고 파일 속성을 같이 출력합니다.
mv 파일을 옮깁니다. mv ~/compressed.zip ~/archive/compressed2.zip
cp 파일을 복사합니다. cp ~/.bashrc ~/.bashrc.bak
chmod +x 파일을 실행가능하게 만듭니다. chmod +x ~/.local/bin/myscript.sh
cat 파일의 내용을 표시합니다. cat /etc/hostname
strings 바이너리 파일 안에서 출력 가능한 문자열을 출력합니다. strings /usr/bin/free
find 파일을 찾습니다. find ~ -name myfile
mount 파티션을 마운트합니다. mount /dev/sdc1 /media/usb
df -h 각 파티션에 남은 공간을 표시합니다.
ps -A 실행중인 프로세스를 모두 표시합니다.
killall 특정 프로세스의 인스턴스를 모두 종료합니다.

cat

위키백과에서: cat 명령어는 파일들을 연결하고 표시하기 위해 사용되는 표준 유닉스 프로그램입니다.

  • cat은 쉘에 포함된 프로그램이 아닙니다. 스크립트를 작성하고 있거나, 성능을 향상하고 싶은 사용자라면 많은 경우에리다이렉션을 사용하는 것이 유용할 수 있습니다. 실제로 < file 명령은 cat file과 같은 기능을 합니다.
  • cat은 여러 줄을 처리할 수 있습니다. 그러나 경우에 따라 cat을 이렇게 사용하는 것은 권장되지 않습니다.
$ cat << EOF >> path/file
first line
...
last line
EOF
이런 경우 echo 명령어를 사용하는 것이 낫습니다.
$ echo "\
first line
...
last line" \
>> path/file
  • 파일을 역순으로 나열해야 한다면, tac 명령어를 사용하십시오. (tac은 cat을 거꾸로 쓴 것입니다.)

dd

dd는 유닉스 계열의 운영체제의 명령어로서, 파일 변환과 복사를 주 목적으로 합니다.

참고: cp 명령어는 기타 피연산자 없이도 dd와 같은 작업을 실행합니다. 하지만 cpdd와는 다르게 다양한 디스크를 지우는 작업을 지원하지 않습니다.

dd 실행 중 진행률 확인하기

기본적으로 dd는 작업이 완료되기 전까지 아무런 메시지도 출력하지 않습니다. kill명령어와 USR1 신호를 사용하면 dd를 실제로 종료시키지 않고도 진행률을 확인할 수 있습니다. 두번째 터미널 에뮬레이터에서 루트 권한으로 killall -USR1 dd 명령을 실행하십시오.

참고: 이 명령은 실행중인 모든 dd 프로세스에 작용합니다.

또는,

# kill -USR1 dd_명령어의_pid

를 사용할 수 있습니다.

예를 들어,

# kill -USR1 $(dd_프로세스의_pid)

를 사용하십시오.

이 명령을 사용할 경우, dd는 즉시 진행률을 터미널에 출력합니다. 다음과 유사한 내용이 출력됩니다.

605+0 records in
605+0 records out
634388480 bytes (634 MB) copied, 8.17097 s, 77.6 MB/s

파이프 뷰어 사용하기

pv를 사용하여 dd-pipeline의 상태를 보는 것도 가능합니다.

# dd if=/소스/파일스트림 | pv -모니터링_옵션 -s 파일_크기 | dd of=/목표지점/파일스트림

파이프 뷰어를 더욱 쉽게 사용하기 위해서 bashrc나 zshrc에 다음을 추가할 수 있습니다.

copy() {
    size=$(stat -c%s $1)
    dd if=$1 &> /dev/null | pv -petrb -s $size | dd of=$2
}
# copy /소스/파일 /목표지점/파일

과 같이 사용할 수 있습니다.

dd의 변형판

dd와 유사하지만 단순한 상태 바 등을 통해 주기적으로 상태를 출력하는 프로그램들도 있습니다.

dcfldd
dcflddAUR는 dd의 확장판으로서, 보안 및 데이터 복구, 조사 등을 위한 유용한 추가 기능을 포함합니다. dd에서 사용할 수 있는 대부분의 파라미터를 dcfldd에서도 사용할 수 있으며, dcfldd는 자동으로 상태를 출력합니다. 가장 최근의 안정화판은 2006년 12월 19일에 출시되었습니다.[1]
ddrescue
GNU ddrescue는 데이터 복구용 도구입니다. 읽기 오류를 무시하는 기능을 포함합니다. 이 기능은 대개의 경우 사용할 필요가 없을 것입니다. 공식 설명서를 참고하십시오.

grep

grep은 유닉스용 명령줄 텍스트 검색 프로그램입니다. (ed 텍스트 편집기의 g/re/p(모든 범위/정규표현식/출력) 명령어에서 유래되었습니다) grep 명령어는 표준 입력 내용 혹은 파일들에서 주어진 정규표현식과 일치하는 줄들을 찾고, 표준 출력에서 검색 결과를 표시합니다.

  • grep은 파일을 처리합니다. 그러므로 cat 파일과 같은 명령 대신 grep 파일 패턴으로 대체해도 무관합니다.
  • 버전 컨트롤 시스템 안의 소스 코드를 위하여 최적화된 grep 대용판들에는 the_silver_searcherack 등이 있습니다.

컬러 출력

grep의 컬러 출력 기능은 정규표현식grep의 추가적인 기능을 익히는 데에 도움이 될 수 있습니다.

grep의 컬러 출력을 활성화하려면 다음 항목을 쉘의 설정 파일에 추가하십시오. (이 예에서는 Bash를 사용할 경우를 보여줍니다)

~/.bashrc
alias grep='grep --color=auto'

GREP_COLOR 환경 변수는 기본 색을 선택하는 데에 사용할 수 있습니다. 기본 설정값은 붉은색입니다. 색깔을 바꾸기 위해서는 원하는 색깔의 ANSI escape sequence를 알아낸 후에 그 값을 쉘의 설정파일에 추가하십시오.

export GREP_COLOR="1;32"

GREP_COLORS 변수는 특정 검색에만 적용되도록 설정할 수 있습니다.

표준 오류

어떤 명령어들은 출력을 표준 오류로 보내기도 합니다. 이 경우, grep은 아무련 효과도 없는 것처럼 보입니다. 이 때에는 표준 오류의 출력을 표준 출력으로 리다이렉트해주면 됩니다.

$ command 2>&1 | grep args

혹은 Bash 단축명령어로

$ command |& grep args

I/O 리다이렉션 문서를 참고하십시오.

iconv

ip

less

ls

mkdir

mv

rm

sed

seq

같이 보기