현재위치에서 디렉토리정보만 확인하는 alias명령어 만들기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,133 조회
- 0 추천
- 목록
본문
현재위치에서 디렉토리정보만 확인하는 alias명령어 만들기
서버관리를 하다 보면 현재 위치에서 디렉토리리스트만을 확인해야 할 때가 있습니다.
즉, "ls -l"이라고 하면 파일과 디렉토리들을 한번에 리스트하여 보여줍니다.
가끔씩은 파일을 제외한 디렉토리리스트만을 확인할 필요성을 느끼곤 합니다.
이때 간단히 디렉토리리스트만 확인하는 alias를 설정하여 간편하게 사용할 수 있는 예를 보도록 하겠습니다.
즉, 이번 예에서는 lsd라고 하면 디렉토리정보만을 보여주는 alias를 설정해 보겠습니다.
아래와 같이 현재 디렉토리에는 파일과 디렉토리들이 함께 존재하고 있습니다.
이들 중 파일들을 제외하고 디렉토리리스트만을 확인하고자 합니다.
[root@su249 ~]# ls -l 합계80 -rw------- 1 root root 1429 2008-11-21 01:07 anaconda-ks.cfg -rwxrwxrwx 1 root root 248 2008-11-26 23:05 apache.sh drwxr-xr-x 2 root root 4096 2008-11-29 02:17 dir1 drwxr-xr-x 2 root root 4096 2008-11-29 02:18 dir2 -rw-r--r-- 1 root root 48296 2008-11-21 01:07 install.log -rw-r--r-- 1 root root 5923 2008-11-21 01:07 install.log.syslog -rwxrwxrwx 1 root root 348 2008-11-26 23:48 select.sh -rwxrwxrwx 1 root root 979 2008-11-27 00:57 sleep.sh [root@su249 ~]# |
아래와 같이 lsd라는 alias를 설정 하였습니다.
아래의 alias의 의미는 "ls -l"의 결과들 중 각행에 대하여 첫번째 문자가 d로 시작하는 행들만을 보겠다라는 것입니다.
즉 lsd라고만 하면 각각의 행이 d로 시작하는 행은 디렉토리들뿐이므로 결과적으로 디렉토리리스트만을 보게 되겠지요.
[root@su249 ~]# alias lsd='ls -l | grep "^d"' [root@su249 ~]# [root@su249 ~]# lsd drwxr-xr-x 2 root root 4096 2008-11-29 02:17 dir1 drwxr-xr-x 2 root root 4096 2008-11-29 02:18 dir2 [root@su249 ~]# |
이제 다음과 같이 lsd라고 입력해 보았습니다.
예상했던 결과대로 디렉토리들만 결과로 보여줍니다.
다음 예는 /etc디렉토리에서 lsd를 실행한 예입니다.
[root@su249 ~]# cd /etc [root@su249 etc]# lsd drwxr-xr-x 4 root root 4096 2008-11-21 00:19 ConsoleKit drwxr-xr-x 4 root root 4096 2008-11-21 00:35 NetworkManager drwxr-xr-x 2 root root 4096 2008-11-21 00:38 PackageKit drwxr-xr-x 2 root root 4096 2008-11-21 00:17 PolicyKit drwxr-xr-x 6 root root 4096 2008-11-21 01:07 X11 drwxr-xr-x 2 root root 4096 2008-02-13 19:50 a2ps drwxr-xr-x 4 root root 4096 2008-11-21 00:12 acpi drwxr-xr-x 4 root root 4096 2008-11-21 19:50 alsa drwxr-xr-x 2 root root 4096 2008-11-21 00:57 alternatives drwxr-x--- 3 root root 4096 2008-11-21 00:12 audisp drwxr-xr-x 2 root root 4096 2008-11-21 00:28 cron.d drwxr-xr-x 2 root root 4096 2008-11-21 00:53 cron.daily drwxr-xr-x 2 root root 4096 2007-10-22 17:36 cron.hourly drwxr-xr-x 2 root root 4096 2008-11-21 00:29 cron.monthly drwxr-xr-x 2 root root 4096 2008-11-21 00:29 cron.weekly drwxr-xr-x 5 root lp 4096 2008-11-27 02:38 cups drwxr-xr-x 4 root root 4096 2008-11-21 00:17 dbus-1 drwxr-xr-x 2 root root 4096 2008-11-28 23:47 default drwxr-xr-x 2 root root 4096 2008-11-21 00:11 depmod.d drwxr-xr-x 2 root root 4096 2008-11-21 00:11 dirmngr drwxr-xr-x 2 root root 4096 2008-11-21 00:18 event.d drwxr-xr-x 2 root root 4096 2008-11-21 00:21 festival drwxr-xr-x 4 root root 4096 2008-11-21 00:11 fonts drwxr-xr-x 2 root root 4096 2008-11-21 00:39 foomatic drwxr-xr-x 7 root root 4096 2008-11-21 00:17 gconf drwxr-xr-x 6 root root 4096 2008-11-21 00:41 gdm drwxr-xr-x 4 root root 4096 2008-11-21 00:19 httpd drwxr-xr-x 2 root root 4096 2008-04-03 05:37 jvm drwxr-xr-x 2 root root 4096 2008-04-03 05:37 jvm-commmon drwxr-xr-x 4 root root 4096 2008-11-21 00:22 kernel drwxr-xr-x 2 root root 4096 2008-11-21 00:37 ld.so.conf.d drwxr-xr-x 2 root root 4096 2008-11-21 00:51 logrotate.d drwxr-xr-x 4 root root 4096 2008-11-21 00:53 logwatch drwxr-xr-x 2 root root 4096 2008-11-21 00:54 lsb-release.d drwxr-xr-x 5 root root 4096 2008-11-21 00:11 lvm drwxr-xr-x 2 root root 4096 2008-11-21 00:19 mail drwxr-xr-x 2 root root 4096 2008-11-21 00:24 makedev.d drwxr-xr-x 3 root root 4096 2008-11-21 00:59 maven drwxr-xr-x 2 root root 4096 2008-11-21 00:39 modprobe.d 이하생략… [root@su249 etc]# |
위의 결과를 보다시피 /etc에서 lsd를 실행한 결과 디렉토리들만 리스팅되었다는 것을 알 수 있습니다.
필자는 필자가 관리하는 모든 리눅스서버에 모두 이런 alias를 설정하여 사용하고 있습니다.
이제 이러한 alias를 지속적으로 계속 사용하는 방법을 알아야 합니다.
즉, 이런 alias가 유용하다고 생각하신다면 여러분들의 홈디렉토리에 존재하는 .bashrc파일에 이 alias를 설정해 두시기만 하면 계속적으로 사용하실 수 있습니다.
아래는 필자의 테스트서버에 root계정의 .bashrc파일에 이 alias를 설정하는 예를 보인 것입니다.
cat으로 /root/.bashrc파일의 내용을 확인한 것입니다.
파일의 맨 마지막행에 alias lsd='ls -l | grep "^d"'를 추가 하였습니다.
[root@su249 etc]# cat /root/.bashrc # .bashrc
# User specific aliases and functions
alias rm='rm -i' alias cp='cp -i' alias mv='mv -i'
# Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi
alias lsd='ls -l | grep "^d"' [root@su249 etc]# |
로그인 할 때마다 .bashrc를 읽어서 적용하기 때문에 이후부터는 그냥 lsd를 지속적으로 사용할 수 있습니다.
[root@su249 etc]# alias alias cp='cp -i' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias lsd='ls -l | grep "^d"'
alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' [root@su249 etc]# |
위의 예는 현재 root계정에 설정되어 있는 alias들을 확인한 것입니다.
이번 예에서 설명하고 있는 lsd를 확인할 수 있습니다.
즉, 이후부터는 서버로 접속하신 후에 별다른 설정 없이 항상 lsd라는 alias를 사용하실 수 있습니다.
관련자료
-
이전
-
다음