우분투에서 사용할 수있는 모든 명령 목록을 얻는 방법은 무엇입니까?


22

터미널을 더 자주 사용하고 싶지만 사용 가능한 다른 명령이 무엇인지 모르겠습니다. 사용할 수있는 다른 모든 명령을 나열하는 방법이 있습니까?

답변:


25

첫 번째 방법

NB : @Rmano에게 감사합니다. 이 방법은 zsh쉘에서 작동하지 않습니다 .

간단한 명령 :

ls ${PATH//:/ }

$PATH환경 변수의 모든 명령이 나열됩니다 .

결과를 파일에 저장하기 위해 출력을 파일로 리디렉션 할 수 있습니다.

ls ${PATH//:/ } > mycommands.txt

디렉토리 이름에 $PATH공백이 있으면 오류가 반환됩니다 . 이 경우 대신 다음을 사용하십시오.

while read -d ':' dir; do echo "$dir"; done <<<$PATH

두 번째 방법

또한 다음을 사용할 수 있습니다.

compgen -c | sort -u > commands && less commands

세번째 방법

다른 방법은 더블 Tab클릭입니다.

네 번째 방법

find명령을 사용하는 다른 방법 :

find {,/usr}/{,s}bin -printf '%f\n\0'

첫 번째 명령은 기본적으로 단어 분리 기능이 비활성화 되어 bash있지만 작동 하지 않습니다 zsh. refining-linux.org/archives/38/…
Rmano

11

모든 공식 우분투 플레이버에서 기본 쉘인 bash를 사용하는 경우 compgen -c별명을 포함하여 사용 가능한 명령을 보려면 실행 하십시오.


그 배쉬 만입니까?
Braiam

1
GUI 기반 프로그램에 대한 명령도 포함됩니다. 따라서 compgen -c | grep thunarThunar 파일 관리자가 설치되어 있으면 Thunar와 관련된 명령도 볼 수 있습니다.

1
음 ... 데비안에서는 작동하지 않습니다. 어떤 패키지가 제공됩니까?
Braiam

2
@Rinzwind가 설명합니다. zsh를 사용하고 있습니다.
Braiam

1
@ vasa1 :이 답변이 더 일반적 일 수 있습니까? 나는 그것이 bash에 대한 해결책 만 제공한다는 것을 의미하지만 Braiam이 지적한 것처럼 zsh에서는 작동하지 않습니다 ... 가능하면 더 많은 사람들에게 서비스를 제공하기 위해 답변을 확장하십시오-분명히 대답을 알고있는 경우에만 :-)
Aditya

4

터미널 Ctrl+ Alt+를 열고 t다음 명령을 실행하십시오.

whatis `compgen -c` | more 

모든 명령과 각 명령에 대한 간단한 설명이 나열됩니다.

목록을 저장하려면 결과를 출력 파일로 리디렉션 할 수 있습니다

whatis `compgen -c` > listOfCommands.txt

그래서 내가 whatis 명령을 사용한 이유는 무엇입니까? 이 명령 man whatis은 다음을 제공합니다.

각 매뉴얼 페이지에는 간단한 설명이 있습니다.
whatis는 매뉴얼 페이지 이름을 검색하고 일치하는 이름의 매뉴얼 페이지 설명을 표시합니다.

그래서 쉽게 말로 whatis장군을 제공합니다. 각 명령에 대한 설명


추가 정보는 +1입니다. whatis`compgen -c` | sort> listOfCommands.txt 는 정렬 목록으로 이동하는 데 도움이됩니다.
Saurav Kumar

또 다른 유용한 명령 : apropos <keyword>모든 명령과 간단한 설명을 검색하고 결과를 표시합니다.
Aloso

3

터미널을 열고 Tab키를 두 번 누릅니다 .


1
이것이 표준이 아니기 때문에 -1입니다.
Lorenzo Ancora

@LorenzoAncora 왜 표준이 아닌가? 모든 Ubuntu에 표준 동작으로 이중 탭이있는 자동 완성 기능이 있습니까?
dadexix86

2
기본! = 표준 : 나중에 표준이 아니기 때문에 해당 메커니즘을 지원하지 않는 콘솔이있을 수 있습니다. 또한 TAB 표준은 다른 기능을 수행 할 수 있습니다. 공식 FHS 표준의 일부이고 모든 Linux / Unix 시스템에 해당 디렉토리가 있기 때문에 표준 절차는 'bin'의 내용을 나열합니다. Ubuntu의 올바른 기능 (및 사용자를 돕는 커뮤니티의 기능)은 표준을 준수하여 보장됩니다.
Lorenzo Ancora

좋아, 설명 주셔서 감사합니다 :) 나는 우분투에서 더블 탭의 표준 동작은 PATH의 내용을 나열하는 것이라고 생각했다 :)
dadexix86

@LorenzoAncora 하나의 디렉토리 내용을 나열하면 모든 실행 가능 명령과 가까운 곳이 표시되지 않습니다. 모든 PATH 디렉토리 의 내용을 나열하면 해당 실행 파일이없는 셸 내장이 표시되지 않습니다 (예 :) cd. Tab을 두 번 누르면 이러한 심각한 제한이 모두 극복됩니다. 누군가가 임의의 GNU / Linux 시스템에서 모든 명령을 표시하는 방법을 물었다면, 탭 완성이 적절한 해결책이 아니라고 주장 할 수 있습니다. 물론 미래에는 우분투에서 아무것도 변경 될 수 있지만 기본 대화 형 셸에서 탭 완성 가능성은 미미합니다.
Eliah Kagan

2

명령 목록은 설치 한 내용에 따라 크게 다르지만 모든 명령을 나열하는 요령이 있습니다. 다음은 대부분의 본과 같은 껍질에서 작동합니다.

  1. Tab두 번 누르십시오 .
  2. find모든 실행 파일을 찾는 데 사용하십시오 .

    find / -perm +x
    
  3. 바이너리 디렉토리의 모든 파일을 나열하십시오 (불완전 할 수 있음).

    ls /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
    

1

터미널 창을 엽니 다 (GNOME 터미널은 정상이며 구성된 xTerm도 있습니다).
옵션은 다음과 같습니다.

  • 가압에 의해 TAB키 ( "-> <! -")를 두 번, 당신은 라인이 비어있는 경우, 당신은 수와 사용 가능한 모든 명령의 이름을 얻을 것이다 콘솔에서 모든 명령을 완료하고 있습니다 . 시간이 다소 소요될 수 있으며 반 관리 유틸리티가 나열 될 수 있습니다. 참고 : 이것은 표준이 아니며 "쉘 간"방식에 대해서는 다른 옵션을 참조하십시오.

  • 사용 man -k NAME명령을 검색 (또는 그 일부) 및 man COMMAND해당 명령에 대한 매뉴얼을 얻었다. 모든 명령에는 시스템 설명서가 없습니다. 관리 유틸리티 사용 하기 전에 사람을 읽는 것이 좋습니다. 날 믿어.

  • Midnight Commander ( mc)를 사용하여 시스템과 파일 시스템을 관리 할 수있는 멋진 콘솔 (저주) GUI를 갖습니다. 패키지 관리자에서 설치해야 할 수도 있습니다. 걱정하지 마십시오. 안전하고 매우 일반적인 소프트웨어입니다.
    참고 : 파일 시스템 사용에 혼란이 있거나 어려움이있을 때 작성됩니다.

  • ls /bin | more모든 exential 관리 실행 파일 을 아는 데 사용하십시오 . ls /sbin | more에 대한 일반적인 관리 실행 .

  • ls /usr/sbin | more모든 사용자 실행 파일 을 아는 데 사용하십시오 . ls /usr/sbin | more매우 많은 사용자 실행 파일 및 라이브러리 목록을 제공합니다 .
    참고 : 출력 more이 한 페이지 를 초과하면 (스크린), "Page Up"및 "Page Down"또는 스페이스 바를 눌러 스크롤해야합니다. 출력을 필터링하는 데
    사용할 수 있습니다 COMMAND | grep TEXT.

여기에 더 많은 질문이 있으면 도움을 받으면 답변 옆의 틱을 확인하는 것을 잊지 마십시오.
좋은 경험이 되십시오.


일반적으로 대부분의 실행 파일은 /usr/bin여기에 언급되지 않은에 있습니다. 또한 /sbin시스템 관리에 자주 사용되는 실행 파일 (예 : usermod및)이 ifconfig있습니다. 그리고 많은 시스템에는 /usr/gamesand 같은 다른 바이너리 디렉토리가 있습니다 /usr/local/bin. 참조 파일 시스템 표준과 계층man 7 hier. /bin및 이외의 실행 파일에 대한 중요한 디렉토리를 언급하기 위해이를 확장 할 수 있습니다 /usr/sbin.
Eliah Kagan

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.