강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

현재위치에서 디렉토리정보만 확인하는 alias명령어 만들기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

현재위치에서 디렉토리정보만 확인하는 alias명령어 만들기





 

서버관리를 하다 보면 현재 위치에서 디렉토리리스트만을 확인해야 할 때가 있습니다.  

 

 

 

 , "ls -l"이라고 하면 파일과 디렉토리들을 한번에 리스트하여 보여줍니다.  

 

 

 

 가끔씩은 파일을 제외한 디렉토리리스트만을 확인할 필요성을 느끼곤 합니다.  

 

 

 

 

 

이때 간단히 디렉토리리스트만 확인하는 alias를 설정하여 간편하게 사용할 수 있는 예를 보도록 하겠습니다.  

 

 

 

  , 이번 예에서는 lsd라고 하면 디렉토리정보만을 보여주는 alias를 설정해 보겠습니다.  

 

 

 

 

 

아래와 같이 현재 디렉토리에는 파일과 디렉토리들이 함께 존재하고 있습니다.  

 

 

 

 이들 중 파일들을 제외하고 디렉토리리스트만을 확인하고자 합니다.  

 

 

 

 

 

[root@su249 ~]# ls -l

합계80

-rw------- 1 root root  1429 2008-11-2101:07 anaconda-ks.cfg

-rwxrwxrwx 1 root root   248 2008-11-2623:05 apache.sh

drwxr-xr-x 2 root root  4096 2008-11-2902:17 dir1

drwxr-xr-x 2 root root  4096 2008-11-2902:18 dir2

-rw-r--r-- 1 root root 48296 2008-11-2101:07 install.log

-rw-r--r-- 1 root root  5923 2008-11-2101:07 install.log.syslog

-rwxrwxrwx 1 root root   348 2008-11-2623:48 select.sh

-rwxrwxrwx 1 root root   979 2008-11-2700: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-2902:17 dir1

drwxr-xr-x 2 root root  4096 2008-11-2902:18 dir2

[root@su249 ~]#

 

이제 다음과 같이 lsd라고 입력해 보았습니다.  

 

 

 

 예상했던 결과대로 디렉토리들만 결과로 보여줍니다.  

 

 

 

 다음 예는 /etc디렉토리에서 lsd를 실행한 예입니다.  

 

 

 

 

 

[root@su249 ~]# cd /etc

[root@su249 etc]# lsd

drwxr-xr-x  4 root root    4096 2008-11-2100:19 ConsoleKit

drwxr-xr-x  4 root root    4096 2008-11-2100:35 NetworkManager

drwxr-xr-x  2 root root    4096 2008-11-2100:38 PackageKit

drwxr-xr-x  2 root root    4096 2008-11-2100:17 PolicyKit

drwxr-xr-x  6 root root    4096 2008-11-2101:07 X11

drwxr-xr-x  2 root root    4096 2008-02-1319:50 a2ps

drwxr-xr-x  4 root root    4096 2008-11-2100:12 acpi

drwxr-xr-x  4 root root    4096 2008-11-2119:50 alsa

drwxr-xr-x  2 root root    4096 2008-11-2100:57 alternatives

drwxr-x---  3 root root    4096 2008-11-2100:12 audisp

drwxr-xr-x  2 root root    4096 2008-11-2100:28 cron.d

drwxr-xr-x  2 root root    4096 2008-11-2100:53 cron.daily

drwxr-xr-x  2 root root    4096 2007-10-2217:36 cron.hourly

drwxr-xr-x  2 root root    4096 2008-11-2100:29 cron.monthly

drwxr-xr-x  2 root root    4096 2008-11-2100:29 cron.weekly

drwxr-xr-x  5 root lp      4096 2008-11-2702:38 cups

drwxr-xr-x  4 root root    4096 2008-11-2100:17 dbus-1

drwxr-xr-x  2 root root    4096 2008-11-2823:47 default

drwxr-xr-x  2 root root    4096 2008-11-2100:11 depmod.d

drwxr-xr-x  2 root root    4096 2008-11-2100:11 dirmngr

drwxr-xr-x  2 root root    4096 2008-11-2100:18 event.d

drwxr-xr-x  2 root root    4096 2008-11-2100:21 festival

drwxr-xr-x  4 root root    4096 2008-11-2100:11 fonts

drwxr-xr-x  2 root root    4096 2008-11-2100:39 foomatic

drwxr-xr-x  7 root root    4096 2008-11-2100:17 gconf

drwxr-xr-x  6 root root    4096 2008-11-2100:41 gdm

drwxr-xr-x  4 root root    4096 2008-11-2100:19 httpd

drwxr-xr-x  2 root root    4096 2008-04-0305:37 jvm

drwxr-xr-x  2 root root    4096 2008-04-0305:37 jvm-commmon

drwxr-xr-x  4 root root    4096 2008-11-2100:22 kernel

drwxr-xr-x  2 root root    4096 2008-11-2100:37 ld.so.conf.d

drwxr-xr-x  2 root root    4096 2008-11-2100:51 logrotate.d

drwxr-xr-x  4 root root    4096 2008-11-2100:53 logwatch

drwxr-xr-x  2 root root    4096 2008-11-2100:54 lsb-release.d

drwxr-xr-x  5 root root    4096 2008-11-2100:11 lvm

drwxr-xr-x  2 root root    4096 2008-11-2100:19 mail

drwxr-xr-x  2 root root    4096 2008-11-2100:24 makedev.d

drwxr-xr-x  3 root root    4096 2008-11-2100:59 maven

drwxr-xr-x  2 root root    4096 2008-11-2100: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를 사용하실 수 있습니다.  

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  74 명