가장 좋아하는 명령줄 기능이나 요령은 무엇입니까?

가장 좋아하는 명령줄 기능이나 요령은 무엇입니까?

Unix/Linux용 명령줄 기능과 요령을 공유하세요. 가능하다면 쉘/배포판에 구애받지 않도록 유지하십시오. 별칭, 단일 라이너, 키보드 단축키, 작은 쉘 스크립트 등을 보는 데 관심이 있습니다.

답변1

이것은 !!언급된 트릭을 다소 확장합니다.이 답변. 실제로 잊어버리기 쉬운 역사 관련 명령이 많이 있습니다(사람들은 Up자신이 입력한 것을 알고 있는 명령을 찾는 대신 100번 찔러보는 경향이 있습니다).

  • history명령은 왼쪽에 이벤트 지정자와 함께 최근 실행된 명령 목록을 표시합니다.
  • !N이벤트 지정자와 관련된 명령을 대체합니다.N
  • !-NN 가장 최근 명령을 대체합니다 . 예를 들어 !-1가장 최근 명령, !-2두 번째로 최근 명령 등을 대체합니다.
  • 다른 답변에서 언급했듯이 는 마지막 명령을 빠르게 대체하기 !!위한 약어입니다 .!-1
  • !string다음으로 시작하는 가장 최근 명령을 대체합니다.string
  • !?string?다음을 포함하는 가장 최근 명령을 대체합니다.string

!결과를 수정하기 위해 단어 지정자를 기록 명령에 추가할 수 있습니다 . 콜론은 이벤트와 단어 지정자를 구분합니다(예: ) !!:0. 이벤트 지정자는 단어 지정자를 사용하는 경우 !!에만 로 축약될 수 있으므로 와 동일합니다 .!!!:0!:0

  • !:0실행된 명령을 받게 됩니다
  • !:1!:2첫 번째 인수(및 두 번째 인수 등) 를 얻습니다.
  • !:2-3두 번째 및 세 번째 인수를 얻습니다.
  • !:^첫 번째 인수를 얻는 또 다른 방법입니다. !:$마지막을 얻을 것이다
  • !:*모든 인수를 얻습니다(그러나~ 아니다명령)

수정자는 히스토리 명령에 추가될 수도 있으며 !, 각각 앞에는 콜론이 붙습니다. 어떤 숫자든 쌓을 수 있습니다(예 !:t:r:p: ).

  • h-- 기본 파일 이름에 맞게 정렬
  • t-- 기본 파일 이름만
  • r-- 파일 이름 확장자에 맞게 정렬
  • e-- 파일 이름 확장자만
  • s/search/replacement-- 첫 번째 항목을 search다음으로 바꿉니다.replacement
  • gs/search/replacement-- 모든 항목을 search다음으로 대체replacement

답변2

bash - 이전 줄의 마지막 매개변수를 삽입합니다.

alt- . 역대 가장 유용한 키 조합입니다. 어떤 이유로든 이 조합에 대해 아는 사람이 아무도 없습니다.

이전의 마지막 매개변수를 선택하려면 이 버튼을 계속해서 누르십시오.

방금 전에 사용한 인수/파일에 대해 더 많은 작업을 수행하고 싶을 때 유용합니다.

답변3

내가 가장 좋아하는 것은

man 7 ascii

간단하고 매우 유용합니다.

   Oct   Dec   Hex   Char                        Oct   Dec   Hex   Char
   ────────────────────────────────────────────────────────────────────────
   000   0     00    NUL '\0' (null character)   100   64    40    @
   001   1     01    SOH (start of heading)      101   65    41    A
   002   2     02    STX (start of text)         102   66    42    B
   003   3     03    ETX (end of text)           103   67    43    C
   004   4     04    EOT (end of transmission)   104   68    44    D
   005   5     05    ENQ (enquiry)               105   69    45    E
   006   6     06    ACK (acknowledge)           106   70    46    F
   007   7     07    BEL '\a' (bell)             107   71    47    G
   010   8     08    BS  '\b' (backspace)        110   72    48    H
   011   9     09    HT  '\t' (horizontal tab)   111   73    49    I
   012   10    0A    LF  '\n' (new line)         112   74    4A    J
   013   11    0B    VT  '\v' (vertical tab)     113   75    4B    K
   014   12    0C    FF  '\f' (form feed)        114   76    4C    L
   015   13    0D    CR  '\r' (carriage ret)     115   77    4D    M
   016   14    0E    SO  (shift out)             116   78    4E    N
   017   15    0F    SI  (shift in)              117   79    4F    O
   020   16    10    DLE (data link escape)      120   80    50    P
   021   17    11    DC1 (device control 1)      121   81    51    Q
   022   18    12    DC2 (device control 2)      122   82    52    R
   023   19    13    DC3 (device control 3)      123   83    53    S
   024   20    14    DC4 (device control 4)      124   84    54    T
   025   21    15    NAK (negative ack.)         125   85    55    U
   026   22    16    SYN (synchronous idle)      126   86    56    V
   027   23    17    ETB (end of trans. blk)     127   87    57    W
   030   24    18    CAN (cancel)                130   88    58    X
   031   25    19    EM  (end of medium)         131   89    59    Y
   032   26    1A    SUB (substitute)            132   90    5A    Z
   033   27    1B    ESC (escape)                133   91    5B    [
   034   28    1C    FS  (file separator)        134   92    5C    \  '\\'
   035   29    1D    GS  (group separator)       135   93    5D    ]
   036   30    1E    RS  (record separator)      136   94    5E    ^
   037   31    1F    US  (unit separator)        137   95    5F    _
   040   32    20    SPACE                       140   96    60    `
   041   33    21    !                           141   97    61    a
   042   34    22    "                           142   98    62    b
   043   35    23    #                           143   99    63    c
   044   36    24    $                           144   100   64    d
   045   37    25    %                           145   101   65    e
   046   38    26    &                           146   102   66    f
   047   39    27    '                           147   103   67    g
   050   40    28    (                           150   104   68    h
   051   41    29    )                           151   105   69    i
   052   42    2A    *                           152   106   6A    j
   053   43    2B    +                           153   107   6B    k
   054   44    2C    ,                           154   108   6C    l
   055   45    2D    -                           155   109   6D    m

   056   46    2E    .                           156   110   6E    n
   057   47    2F    /                           157   111   6F    o
   060   48    30    0                           160   112   70    p
   061   49    31    1                           161   113   71    q
   062   50    32    2                           162   114   72    r
   063   51    33    3                           163   115   73    s
   064   52    34    4                           164   116   74    t
   065   53    35    5                           165   117   75    u
   066   54    36    6                           166   118   76    v
   067   55    37    7                           167   119   77    w
   070   56    38    8                           170   120   78    x
   071   57    39    9                           171   121   79    y
   072   58    3A    :                           172   122   7A    z
   073   59    3B    ;                           173   123   7B    {
   074   60    3C    <                           174   124   7C    |
   075   61    3D    =                           175   125   7D    }
   076   62    3E    >                           176   126   7E    ~
   077   63    3F    ?                           177   127   7F    DEL

이 웹사이트를 살펴보세요commandlinefu.com.

Peteris Krumins의 블로그에서 이 네 가지 기사를 볼 수도 있습니다.

답변4

이것이 "트릭"으로 간주되는지는 확실하지 않지만 사람들은 표준 readline 단축키를 거의 인식하지 못하는 것 같습니다. 쉘에서 특히 사용됩니다:

  • Ctrl+ U- 현재 줄 잘라내기
  • Ctrl+ - + Y로 잘라낸 선 붙여넣기CtrlU
  • Ctrl+ L- 화면을 지우고 현재 줄을 다시 그립니다.
  • Ctrl+ G- 새 줄을 얻고 현재 줄을 버리십시오.

관련 정보