터미널에서 많이 쓰이는 명령으로 특정 디렉터리를 만든 후 해당 디렉터리로 바로 이동하려고 할 때 다음과 같은 명령을 자주 쓴다.
$ mkdir foo
$ cd foo
하지만 이 mkdir와 cd 작업을 명령어 하나로 한꺼번에 수행해주는 방법이 있는데, ~/.bashrc 파일에 다음과 같은 함수를 저장한 후 사용할 수 있다.
function mkcd {
if [ ! -n "$1" ]; then
echo "Enter a directory name"
elif [ -d $1 ]; then
echo "\`$1' already exists"
else
mkdir $1 && cd $1
fi
}
그러면, 터미널에서 다음과 같은 명령어 하나로 두 작업을 동시에 처리해준다.
$ mkcd foo
덤으로, cd
명령을 좀 더 유연하게 사용할 수 있는 것으로 다음과 같은 fuzzy cd 명령어를 등록해 놓으면, 이동하고자 하는 디렉터리의 이름 중 일부분만을 입력해도 자동으로 인식해서 해당 디렉터리로 이동시켜주므로 타이핑의 수고를 아주 약간 더 줄일 수 있다.
function cf {
shopt -q nocasematch || resetcase=1
shopt -s nocasematch
for i in *; do [ -d "$i" ] && [[ "$i" == *"$1"* ]] && cd "$i" && break; done
[ $resetcase ] && shopt -u nocasematch
}
얼마 전 무료로 공개된 Tuts+ Premium 코스인 30 Days to Learn jQuery 영상에서 따온 요령으로, Python의 내장된 간단한 웹 서버를 현 작업 디렉터리에서 실행시키는 명령인데 다음과 같이 쓰일 수 있다.
터미얼을 열고,
cd /some/test/directory
open http://localhost:8000 && python -m SimpleHTTPServer
편한 것이 굳이 일반 웹 서버를 실행시킬 필요 없이, 예를 들어 ajax call 실험용으로 간단한 테스트만 할 때 손쉽게 사용할 수 있다. PHP와 Python 그리고 Ruby의 한 줄 내장 웹 서버 실행(이)란 제목의 글 마저 읽기 →
Mac OS X 10.4.6부터는, 디스크가 GPT로 분할되어 있다면, 터미널 도구인 diskutil을 사용해서 볼륨 크기를 조절할 수 있게 되었다고 한다.
$ diskutil resizeVolume
Disk Utility Tool
Usage: diskutil resizeVolume [Mount Point|Disk Identifier|Device Node] size
<part1Format part1Name part1Size> <part2Format part2Name part2Size> ...
Non-destructively resize a disk. You may increase or decrease its size.
When decreasing size, you may optionally supply a list of new partitions to create.
Ownership of the affected disk is required.
Valid partition sizes are in the format of <number><size>.
Valid sizes are B(ytes), K(ilobytes), M(egabytes), G(igabytes), T(erabytes)
Example: 10G (10 gigabytes), 4.23T (4.23 terabytes), 5M (5 megabytes)
resizeVolume is only supported on GPT media with a Journaled HFS+ filesystem.
A size of "limits" will print the range of valid values for the current filesystem.
Example: diskutil resizeVolume disk1s3 10G
JHFS+ HDX1 5G MS-DOS HDX2 5G
Valid filesystems: "Case-sensitive HFS+" "Journaled HFS+" "Case-sensitive Journaled HFS+"
"HFS+" "HFS" "MS-DOS FAT32" "MS-DOS FAT16" "MS-DOS" "MS-DOS FAT12" "UFS" "Linux" "Swap"
여기서 GPT로 분할된 디스크란, Apple 문서에 의하면, Intel 기반 맥들의 내장 하드 드라이브에 새로 채용되어 사용되는 GUID Partition Table(GTP)을 의미하며, 외장 USB 혹은 FireWire 디스크에서 Intel 기반 맥들을 시동하려면 GPT 디스크 파티션으로 설정되어 있어야 한다고…
참고로, 이전 PowerPC 기반 Mac들에서는 Apple Partition Map(APM)이 사용되었다.
굳이 당장 하드 디스크를 쪼갤 필용성도 못 느끼고 Intel 기반 Mac도 없으면서, 약간의 부러움과 반가움을 동시에 느끼는 이유는 바로,
Intel 기반 Mac들이 소개되면서, 그 동안 금단의 구역으로만 여겨졌던 장벽들이 하나 둘씩 무너지고, 더불어 사용자 만족도도 높아지리라 기대되기 때문이다.
또 한 명의 Mac 열망 고백성사… 😛 + 😥