ls에 얼마나 많은 옵션이 있는지 알아보세요

ls에 얼마나 많은 옵션이 있는지 알아보세요

연습을 위해 ls 명령에 몇 가지 옵션이 있는지 알고 싶습니다. 나는 다음 코드를 작성했다

man ls | grep -o -i '\-[a-z0-9]$' 

이 코드는 왜 인쇄만 합니까 -C and -V?

답변1

분석해 보니 ls --help더 쉬운 것 같습니다. 긴 옵션을 제외하고 grepPCRE( )와 함께 사용됩니다 -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

관련 정보