![ls에 얼마나 많은 옵션이 있는지 알아보세요](https://linux55.com/image/77989/ls%EC%97%90%20%EC%96%BC%EB%A7%88%EB%82%98%20%EB%A7%8E%EC%9D%80%20%EC%98%B5%EC%85%98%EC%9D%B4%20%EC%9E%88%EB%8A%94%EC%A7%80%20%EC%95%8C%EC%95%84%EB%B3%B4%EC%84%B8%EC%9A%94.png)
연습을 위해 ls 명령에 몇 가지 옵션이 있는지 알고 싶습니다. 나는 다음 코드를 작성했다
man ls | grep -o -i '\-[a-z0-9]$'
이 코드는 왜 인쇄만 합니까 -C and -V
?
답변1
분석해 보니 ls --help
더 쉬운 것 같습니다. 긴 옵션을 제외하고 grep
PCRE( )와 함께 사용됩니다 -P
. 예 --all
:
ls --help | grep -Po '^\s+\K-[^,\s](?=,|\s)'
구문 분석은 man ls
동일한 결과를 제공합니다.
man ls | grep -Po '^\s+\K-[^,\s](?=,|\s)'
예:
분석 ls --help
:
% ls --help | grep -Po '^\s+\K-[^,\s](?=,|\s)'
-a
-A
-b
-B
-c
-C
-d
-D
-f
-F
-g
-G
-h
-H
-i
-I
-k
-l
-L
-m
-n
-N
-o
-p
-q
-Q
-r
-R
-s
-S
-t
-T
-u
-U
-v
-w
-x
-X
-Z
-1
분석 man ls
:
% man ls | grep -Po '^\s+\K-[^,\s](?=,|\s)'
-a
-A
-b
-B
-c
-C
-d
-D
-f
-F
-g
-G
-h
-H
-i
-I
-k
-l
-L
-m
-n
-N
-o
-p
-q
-Q
-r
-R
-s
-S
-t
-T
-u
-U
-v
-w
-x
-X
-Z
-1
답변2
모든 옵션이 매뉴얼 페이지 줄의 마지막 항목이 아니기 때문에 실제로 마지막 항목인 옵션은 거의 없습니다.
예를 들어 대부분의 옵션 라인은 다음과 같습니다.-a, --all
모든 내용을 얻을 수 있는지 100% 확신할 수는 없지만 다음을 시도해 보세요.
$ man ls | grep -E -o -i -- ' {7}-[a-z0-9], --[A-Z]+| {7}-[A-Z0-9] | {7}--[A-Z0-9]+' |
sed -e 's/^ *//'
-a, --all
-A, --almost
--author
-b, --escape
--block
-B, --ignore
-c
-C
--color
-d, --directory
-D, --dired
-f
-F, --classify
--file
--format
--full
-g
--group
--sort
-G, --no
-h, --human
--si
-H, --dereference
--dereference
--hide
--indicator
-i, --inode
-I, --ignore
-k, --kibibytes
-l
-L, --dereference
-m
-n, --numeric
-N, --literal
-o
-p, --indicator
-q, --hide
--show
-Q, --quote
--quoting
-r, --reverse
-R, --recursive
-s, --size
-S
--sort
--time
--time
-t
-T, --tabsize
-u
-U
-v
-w, --width
-x
-X
-Z, --context
-1
--help
--version
그러면 단기 및 장기 옵션이 모두 제공됩니다.
위 내용은 GNU에 적용됩니다 ls
. 다른 버전에서는 작동할 수도 있고 작동하지 않을 수도 있습니다.ls