“Sudo !!” komutu ile ilgili belgeleri nerede bulabilirim


Yanıtlar:



29

Aslında bu sudo !!komutun oluştuğu, sudomuhtemelen aşina olduğumuz, ve bir olay designator , !!, girilen son komuta eder ki. Daha fazla bashbilgiyi Event Designatorsbölümün altındaki kılavuz sayfasında bulabilirsiniz .

Event Designators
   An event designator is a reference to a command line entry in the  his‐
   tory  list.   Unless  the reference is absolute, events are relative to
   the current position in the history list.

   !      Start a history substitution, except when followed by  a  blank,
          newline,  carriage return, = or ( (when the extglob shell option
          is enabled using the shopt builtin).
   !n     Refer to command line n.
   !-n    Refer to the current command minus n.
   !!     Refer to the previous command.  This is a synonym for `!-1'.
   !string
          Refer to the most recent command preceding the current  position
          in the history list starting with string.
   !?string[?]
          Refer to the most recent command preceding the current postition
          in the history list containing string.  The trailing  ?  may  be
          omitted if string is followed immediately by a newline.
   ^string1^string2^
          Quick  substitution.   Repeat  the  previous  command, replacing
          string1 with string2.  Equivalent  to  ``!!:s/string1/string2/''
          (see Modifiers below).
   !#     The entire command line typed so far.

3

Bu işlevsellik ayrımı, Linux / Unix'i her bir programın bağımsız bir kongre ve yetenek adası olduğu diğer alternatiflerden çok daha güçlü kılan en güzel tasarım ilkelerinden biridir.

"Her programın bir şey yapmasını sağlayın ve iyi yapın"

Uygulamak yerine !! sudo (veya başka bir komut) içinde, önceki komutun tekrarlanmasından faydalanabilirsiniz - bir kez (kabuklarda) uygulanır ve tüm komutlar bundan yararlanabilir. Böylece şunları yapabilirsiniz:

$ echo !!     # will echo the last command
$ time !!     # will repeat and time the last command
$ strace !!   # will repeat the last program while system-call tracing it

ve bunun gibi.

Ama burada bitmiyor. Kabuk sayesinde tarihi genişletmek çok daha fazlasını yapar! olay belirleyicileri. Komutunuzu çalıştırmadan önce, değişken genişletme, dosya adı joker karakter genişletme (globbing), komut değiştirme, dosya / GÇ yönlendirme ve çok daha fazlasını yapar. Bunların tümü kabuğundan çağrılan herhangi bir komutta kullanılabilir ve kullanılabilir.

Bir başka büyük avantaj, kabuğunuzu öğrenmek için biraz zaman harcarsanız (bu durumda 'man bash') bir kez öğrenmeniz ve bu güçlü yetenekleri her yerde, her zaman kullanabilmenizdir. Komut satırı agrlarının her program veya yardımcı programda nasıl ele alındığını öğrenmek yerine, bir dizi güçlü ilke ve konvansiyonu öğrenmek çok daha kolaydır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.