※ 요약

리눅스에서 정말 많이 사용하는 명령어 중 하나인 ls, 필자도 정말 많이 사용하는데, 마음에 안드는게 하나 있다면 시간 출력 형식이랄까? 바로 아래와 같이 말이다. 코쟁이들은 숫자면 숫자, 글자면 글자만 사용할 것이지 글자랑 숫자랑 섞으니 가독성도 안좋고 공간도 많이 차지하지여 불편하지 않은가.. 물론 날짜 표기를 월.일.연 혹은 일.월.연 등 순서가 뒤죽박죽이라 구분하기 위해서라지만 한국 사람들에게 불편한건 변함이 없다. 아무튼 이번 포스트에서는 이러한 날짜 형식을 내 맘대로 조절해보도록 하겠다.



※ 설정 방법

먼저 vi ~/.bashrc를 입력하여 아래와 같이 .bashrc 파일을 열도록 한다. 아시겠지만 .bashrc는 홈디렉토리 하위에 존재하며 ~는 홈 디렉토리를 의미하므로 vi ~/.bashrc라고 입력하면 누구나 자신의 파일을 열 수 있다. 


아무튼 필자는 아래와 같이 3줄을 입력하였다. 참고로 3줄 다 입력할 필요는 없는데, 3줄이나 입력한 이유는 이렇게 입력하면 저렇게 나오더라는 걸 보여주기 위함이다.

alias ls='ls --color=auto --time-style=long-iso'

alias ll='ls --time-style='+[%y/%m/%d_%H:%M:%S]' -lh'

alias data='cd /home/shaeod/data/'



먼저 첫 번째 빨간 박스는 첫 번째 줄로 입력한 라인의 출력 결과다. 단순히 ls만 날짜 형식을 바꿔주었으므로 뒤에 옵션 -al을 줘봤다. 두 분째는 필자가 자주 사용하는 옵션과 함께 날짜 형식을 바꿔주어서 ll(소문자 엘엘)만 입력하여도 날짜 형식이 바껴서 출력됨과 동시에 리스트 형식으로 출력되고 파일 사이즈도 사람이 보기 편한 단위로 출력된걸 볼 수 있다.


참고로 아래와 같이 두 번째 줄을 조금 수정하면 문자도 포함할 수도 있다.



※ 커스터마이징 방법

상기의 필자가 제시한 가이드말고 본인에게 더 맞게 커스터마이징하고 싶다면 아래 두 사이트를 참고하면 될 것이다. 정 안되면 댓글을 남겨두시라. 필자가 도와드리겠다.

- [리눅스 명령어] ls - 파일 및 디렉토리 내 목록보기

- srtftime(3) - Linux man page



※ 요약

리눅스 명령어 ldd는 지정한 프로그램의 라이브러리 의존성을 확인할 때 사용하는 명령어다.


※ 경로

/usr/bin/ldd


※ 사용법

ldd [옵션] 파일명


※ 옵션

 옵션

 Long옵션

 설명

 -d

 --data-relocs

 존재해야 할 곳에 없는 오브젝트의 위치를 다시 배치하고, 그 결과를 출력

 -r

 --function-relocs

 데이터 오브젝트와 함수를 재배치하고 오브젝트나 함수 중에 찾지 못한 결과를 출력

 -v

 --verbose

 상세 정보를 출력

 

 --help

 ldd 명령어의 사용법 출력

 

 --version

 ldd 명령어의 버전 정보를 출력



※ 사용예

아래는 ldd 명령어로 vpnserver이라는 프로그램을 확인해보는 화면이다. 보면 libc.so.6이라는 공유 라이브러리가 보이는데, 이 공유 라이브러리는 거의 모든 프로그램에서 사용하는 것 중에 하나인 라이브러리다. 그 외에 pthread도 보인다.


아래는 ls 명령어를 확인하는 예다.



※ 요약

리눅스 명령어 dir은 디렉토리와 파일 목록을 출력하는 명령어로써 ls 명령어와 동일한 기능을 한다. MS-DOS에도 있는 명령어라 MS-DOS에 익숙한 사용자라면 편하게 사용할 수 있다.


※ 경로

/usr/bin/dir

※ 사용법

dir [옵션]... [파일]...

[옵션] : 생략 가능하고 여러개 사용가능

[파일] : 생략 가능하고 여러개 지정가능


※ 옵션

옵션은 보통 (-)와 함께 입력하여 사용한다.

그 밖에 LONG 옵션을 제공하는데, LONG 옵션은 보통 (--) 기호를 선행하여 사용한다.

 옵션

 Long 옵션

 설명

 -a

 --all

 .을 포함하여 경로 안의 모든 내용을 출력

 -A

 --almost-all

 .과 ..을 제외한 모든 내용을 출력

 -b

 --escape

 알파벳 형식의 리스트를 출력

 

 --block-size=SIZE

 지정한 바이트(SIZE) 만큼의 블록을 사용

 -B

 --ignore-backups

 ~로 끝나는 백업 파일을 출력하지 않음

 -c

 

 -lt 옵션과 함께 마지막 변경 시간을 출력하고 시간을 기준으로 정렬

 -l 옵션과 함께 마지막 변경된 시간을 출력하고 이름을 기준으로 정렬

 -C

 

 열의 엔트리를 출력

 

 --color[=WHEN]

 파일의 타입을 색으로 구별함

 WHEN에 올 수 있는 값은 'never', 'always', 'auto'

 -d

 --directory

 디렉토리의 경로를 출력, 심볼릭 링크라면 원래의 링크 정보를 출력 안 함

 -D

 --dired

 emacs를 위한 출력 형태를 생성

 -f

 

 정렬하지 않음, 이 옵션은 -aU 옵션을 활성화하고 -ls --color 옵션을 비활성화

 -F

 --classify

 목록의 마지막에 (*/=>@|) 중에 하나의 지시자를 붙임

 (실행파일은 *, 경로는 /, 소켓은 =, 심볼릭 링크는 @, FIFO는 |)

 

 --file-type

 -F, --classify과 비슷하나, *은 덧붙이지 않음

 

 --format=WORD

 옵션 대신 워드 서식을 지정하여 출력

 (across는 -x, commas는 -m, horizontal는 -x, long는 -l, single-column는 -1, verbose는 -l, vertical는 -C)

 

 --full-time

 -l --time-style=full-iso와 비슷함

 -g

 

 -l과 비슷하나 소유자의 리스트를 출력하지 않음

 

 --group-directories-first

 파일 이전에 그룹 디렉토리를 먼저 출력

 -G

 --no-group

 긴 리스트 형식으로 출력하나 그룹 이름은 출력하지 않음

 -h

 --human-readable

 -l과 함께 사람이 읽기 쉬운 형식의 크기로 출력

 

 --si

 -h와 비슷하나 1,024 단위가 아닌 1,000의 단위로 출력

 -H

 --dereference-command-line

 심볼릭 링크면 실제로 참조하는 목록을 출력

 

 --hide=PATTERN

 지정한 PATTERN과 매칭되는 리스트를 숨김(-a나 -A 옵션이 우선함)

 

 --indicator-style=WORD

 목록 이름에 WORD 스타일의 지시자를 추가

 (none은 기본값, slash는 -p, file-type은 --file-type, classify는 -F)

 -i

 --inode

 각 파일의 인덱스 값을 출력

 -I

 --ignore=PATTERN

 지정한 PATTERN에 매칭되는 목록을 출력하지 않음

 -k

 --kibibytes

 --block-size=1K와 비슷함

 -l

 

 긴 리스트 형식으로 출력

 -L

 --dereference

 심볼릭 링크의 정보를 보여줄 때 링크 파일의 원본 파일의 정보를 출력

 -m

 

 콤마로 구분된 목록 형식으로 출력

 -n

 --numeric-uid-gid

 -l 옵션과 비슷하나, 숫자 형식의 사용자와 그룹 ID를 출력

 -N

 --literal

 원래의 이름 형식으로 출력(보통 영문이 아닌 경우 \를 붙여서 출력)

 -o

 

 -l와 비슷하지만 그룹의 정보를 출력하지 않음

 -p

 --indicator-style=slash

 디렉토리에 슬래시(/)를 추가

 -q

 --hide-control-chars

 그래픽이 아닌 문자 대신 ?를 출력

 -Q

 --quote-name

 목록에 쌍 따옴표로 감싸서 출력

 -r

 --reverse

 정렬의 순서를 역순으로 바꿈

 -R

 --recursive

 현재 디렉토리를 기준으로 모든 하위의 디렉토리를 출력

 -s

 --size

 각 파일이나 블록에 할당된 크기를 출력

 -S

 

 파일의 크기를 기준으로 정렬

 -t

 

 수정된 시간을 기준으로 정렬

 -T

 --tabsize=COLS

 기본값 8 대신 지정한 COLS를 탭 간격으로 지정

 -u

 

 -lt 옵션과 함께 접근 시간을 기준으로 정렬

 -l 옵션과 함께 접근 시간을 출력하는데 이름을 기준으로 정렬

 -U

 

 정렬하지 않음

 -v

 

 

 -w

 --width=COLS

 현재 값 대신 스크린 넓이(COLS)를 지정

 -x

 

 열의 기준 대신 라인의 기준으로 출력

 -X

 

 목록의 확장자를 기준으로 알파벳 순으로 정렬

 -Z

 --context

 각 파일의 SELinux 보안 컨텍스트를 출력

 -1

 

 줄 별로 하나의 파일을 출력

 

 --help

 사용법을 출력

 

 --version

 버전 정보를 출력


※ 사용예

사용법 및 사용예는 ls와 같으므로 ls 페이지를 참고하기 바란다.



 

※ 요약

ls 명령어는 "list segments"의 약자로써 가장 많이 사용하는 리눅스 명령어 중에 하나이다. 

ls는 보통 지정한 디렉토리나 파일의 정보를 출력하는데 사용한다.

옵션은 아래와 같이 상당히 많지만 자주 쓰이는 옵션은 그다지 많지 않다.


※ 경로
/bin/ls

※ 사용법
ls [옵션]... [파일]...

[옵션] : 생략 가능하고 여러개 사용가능

[파일] : 생략 가능하고 여러개 지정가능


※ 옵션

옵션은 보통 (-)와 함께 입력하여 사용한다.

그 밖에 LONG 옵션을 제공하는데, LONG 옵션은 보통 (--) 기호를 선행하여 사용한다.

 옵션

 Long 옵션

 설명

 -a

 --all

 .을 포함하여 경로 안의 모든 내용을 출력

 -A

 --almost-all

 .과 ..을 제외한 모든 내용을 출력

 -b

 --escape

 알파벳 형식의 리스트를 출력

 

 --block-size=SIZE

 지정한 바이트(SIZE) 만큼의 블록을 사용

 -B

 --ignore-backups

 ~로 끝나는 백업 파일을 출력하지 않음

 -c

 

 -lt 옵션과 함께 마지막 변경 시간을 출력하고 시간을 기준으로 정렬

 -l 옵션과 함께 마지막 변경된 시간을 출력하고 이름을 기준으로 정렬

 -C

 

 열의 엔트리를 출력

 

 --color[=WHEN]

 파일의 타입을 색으로 구별함

 WHEN에 올 수 있는 값은 'never', 'always', 'auto'

 -d

 --directory

 디렉토리의 경로를 출력, 심볼릭 링크라면 원래의 링크 정보를 출력 안 함

 -D

 --dired

 emacs를 위한 출력 형태를 생성

 -f

 

 정렬하지 않음, 이 옵션은 -aU 옵션을 활성화하고 -ls --color 옵션을 비활성화

 -F

 --classify

 목록의 마지막에 (*/=>@|) 중에 하나의 지시자를 붙임

 (실행파일은 *, 경로는 /, 소켓은 =, 심볼릭 링크는 @, FIFO는 |)

 

 --file-type

 -F, --classify과 비슷하나, *은 덧붙이지 않음

 

 --format=WORD

 옵션 대신 워드 서식을 지정하여 출력

 (across는 -x, commas는 -m, horizontal는 -x, long는 -l, single-column는 -1, verbose는 -l, vertical는 -C)

 

 --full-time

 -l --time-style=full-iso와 비슷함

 -g

 

 -l과 비슷하나 소유자의 리스트를 출력하지 않음

 

 --group-directories-first

 파일 이전에 그룹 디렉토리를 먼저 출력

 -G

 --no-group

 긴 리스트 형식으로 출력하나 그룹 이름은 출력하지 않음

 -h

 --human-readable

 -l과 함께 사람이 읽기 쉬운 형식의 크기로 출력

 

 --si

 -h와 비슷하나 1,024 단위가 아닌 1,000의 단위로 출력

 -H

 --dereference-command-line

 심볼릭 링크면 실제로 참조하는 목록을 출력

 

 --hide=PATTERN

 지정한 PATTERN과 매칭되는 리스트를 숨김(-a나 -A 옵션이 우선함)

 

 --indicator-style=WORD

 목록 이름에 WORD 스타일의 지시자를 추가

 (none은 기본값, slash는 -p, file-type은 --file-type, classify는 -F)

 -i

 --inode

 각 파일의 인덱스 값을 출력

 -I

 --ignore=PATTERN

 지정한 PATTERN에 매칭되는 목록을 출력하지 않음

 -k

 --kibibytes

 --block-size=1K와 비슷함

 -l

 

 긴 리스트 형식으로 출력

 -L

 --dereference

 심볼릭 링크의 정보를 보여줄 때 링크 파일의 원본 파일의 정보를 출력

 -m

 

 콤마로 구분된 목록 형식으로 출력

 -n

 --numeric-uid-gid

 -l 옵션과 비슷하나, 숫자 형식의 사용자와 그룹 ID를 출력

 -N

 --literal

 원래의 이름 형식으로 출력(보통 영문이 아닌 경우 \를 붙여서 출력)

 -o

 

 -l와 비슷하지만 그룹의 정보를 출력하지 않음

 -p

 --indicator-style=slash

 디렉토리에 슬래시(/)를 추가

 -q

 --hide-control-chars

 그래픽이 아닌 문자 대신 ?를 출력

 -Q

 --quote-name

 목록에 쌍 따옴표로 감싸서 출력

 -r

 --reverse

 정렬의 순서를 역순으로 바꿈

 -R

 --recursive

 현재 디렉토리를 기준으로 모든 하위의 디렉토리를 출력

 -s

 --size

 각 파일이나 블록에 할당된 크기를 출력

 -S

 

 파일의 크기를 기준으로 정렬

 -t

 

 수정된 시간을 기준으로 정렬

 -T

 --tabsize=COLS

 기본값 8 대신 지정한 COLS를 탭 간격으로 지정

 -u

 

 -lt 옵션과 함께 접근 시간을 기준으로 정렬

 -l 옵션과 함께 접근 시간을 출력하는데 이름을 기준으로 정렬

 -U

 

 정렬하지 않음

 -v

 

 

 -w

 --width=COLS

 현재 값 대신 스크린 넓이(COLS)를 지정

 -x

 

 열의 기준 대신 라인의 기준으로 출력

 -X

 

 목록의 확장자를 기준으로 알파벳 순으로 정렬

 -Z

 --context

 각 파일의 SELinux 보안 컨텍스트를 출력

 -1

 

 줄 별로 하나의 파일을 출력

 

 --help

 사용법을 출력

 

 --version

 버전 정보를 출력



※ 사용예

ls -al

: 현재 디렉토리 내의 모든 내용을 출력하는데, 출력 형식은 리스트 형식으로 출력한다.


ls -alt

: 현재 디렉토리 내의 모든 내용을 출력하고 출력 형식은 리스트 형식으로 출력하는데, 시간 순으로 정렬


ls -l --color=never

: 리스트 형식으로 출력하고 파일의 타입을 색으로 구분하지 않음


ls --tabsize=SIZE

: 아래를 보면 알겠지만 탭 사이즈를 변경해가며 출력


ls -m

: 각 파일이나 디렉토리의 간격을 콤마로 구분




+ Recent posts