Dirname
dirname 명령어의 예 | |
운영 체제 | 유닉스, 유닉스 계열 |
---|---|
종류 | 명령어 |
라이선스 | GNU GPL v3 |
dirname은 표준 유닉스 컴퓨터 프로그램이다. dirname에 경로 이름을 지정하면 마지막 슬래시('/'
) 문자로 시작되는 모든 글자들을 지우고 결과를 반환한다. dirname은 SUS에 기술되어 있으며 주로 셸 스크립트에 쓰인다.
사용법
dirname에 대한 SUS의 용법은 다음과 같다.
dirname 문자열
문자열
예
dirname은 슬래시 뒤의 부분은 모두 무시하고 경로 이름으로부터 디렉터리 경로 이름만은 반환한다.
$ dirname /home/martin/docs/base.wiki /home/martin/docs $ dirname /home/martin/docs/ /home/martin $ dirname base.wiki . $ dirname / /
성능
dirname
이 오직 하나의 피연산자만을 받기 때문에 셸 스크립트의 내부 루프 안에 사용하면 성능에 악영향을 미칠 수 있다. 다음과 같은 경우
while read file; do dirname "$file" done < some-input
입력의 각 줄마다 별개의 프로세스 호출을 일으킨다. 이러한 까닭에 다음과 같이 대체할 수 있고
echo "${file%/*}";
상대 경로 이름도 다루어야 한다면 다음과 같이 변경할 수 있다.
if [ -n "${file##*/*}" ]; then echo "." else echo "${file%/*}"; fi
참고로, 위의 방식들은 dirname과는 다르게 슬래시를 처리한다.
같이 보기
- 유닉스 명령어 목록
- basename
- 경로
외부 링크
- v
- t
- e
유닉스 명령 줄 인터페이스 프로그램과 내부 명령어
- cat
- cd
- dd
- chmod
- chown
- chgrp
- cksum
- cmp
- cp
- du
- df
- fsck
- fuser
- ln
- ls
- lsof
- mkdir
- mount
- mv
- pwd
- rm
- rmdir
- split
- touch
- umask
- at
- chroot
- cron
- exit
- kill
- killall
- nice
- pgrep
- pidof
- pkill
- ps
- pstree
- sleep
- time
- top
- wait
- apropos
- help
- man
- banner
- bc
- cal
- clear
- date
- dd
- file
- history
- info
- lp
- lpr
- od
- pax
- size
- tee
- tput
- type
- uname
- whatis
- yes
- true와 false