Core utilities (한국어)
이 문서는 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는 유닉스 계열의 운영체제의 명령어로서, 파일 변환과 복사를 주 목적으로 합니다.
dd 실행 중 진행률 확인하기
기본적으로 dd는 작업이 완료되기 전까지 아무런 메시지도 출력하지 않습니다. kill명령어와 USR1
신호를 사용하면 dd를 실제로 종료시키지 않고도 진행률을 확인할 수 있습니다. 두번째 터미널 에뮬레이터에서 루트 권한으로 killall -USR1 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_searcher과 ack 등이 있습니다.
컬러 출력
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 리다이렉션 문서를 참고하십시오.