Daha az komut kullanırken veya man sayfalarında bir Linux komutunu nasıl çalıştırabilirim?


9

Genelde boru komutu lsile lessve mesela ben komut çalıştırmak istiyorum böylece silmek istediğiniz bir dosyaya rastlamak çağrı sırasında bir komut çalıştırmak istiyorum rm {filename}hala sayfalama iken. Ayrıca, man sayfalarını incelerken aynı yöntemi kullanabileceğimi ummak isterim. Değilse nasıl farklıdır?

Yanıtlar:


8

Komut satırına bang ( !) kullanarak daha az erişebilirsiniz .

Örneğin, şunu yazarsanız:

touch temp.txt
ls | less
!rm temp.txt

Ve temp.txt gitmiş olmalı.

Düzenleme: Varsayılan olarak adam artık sayfaya daha az kullanıyor gibi görünüyor (nedense ben düşündüm more, belki de geçmişte yaptı). Aynı hileyi kullanabilirsiniz, ancak çalışması için tam yol (örn. / Home / user / ...) gerekir.

Çünkü insanı çağırmak mevcut çalışma dizinini değiştirir. Benim makinede (xubuntu, kullanarak xfce-terminal) gider /usr/share/man. Konsolunuz CWD'yi görüntülüyorsa, değiştiğini görebilir veya aşağıdakileri mangirerek içeriden görebilirsiniz :

!pwd

adam aslında CWD'yi değiştirir, bu yüzden tam yolu kullanmanız gerekir.
Rob

@Rob - Ne demek istiyorsun man actually changes CWD?
FıstıkMonkey

Durum çubuğumda CWD'mi göstermek için tmux ayarladım. Yapmak man man(veya herhangi bir şey) insan açıkken CWD'mi değiştirir. Linux makinem şu anda mevcut değil ve CWD'yi kontrol etmenin başka bir yolundan emin değilim, ama bana öyle geliyor gibi görünüyor.
Rob

@Rob - Yani tmux kullandığınız için, komutu man {command}say komutundan komutun /home/{user}bir yerine çalıştırdığınızda geçerli çalışma dizinini değiştirdiğini mi demek istediniz man?
PeanutsMonkey

Bu gördüğüm davranışı açıklar. Şimdi, neden CWD'yi değiştiriyor, bu başka bir soru ...
Ash

4

Bunu yapmanın genel yolu, geçerli işi askıya almak, komutu yürütmek ve eski işi sürdürmektir.

ls | less (metni oku, dosya adına dikkat et)
Control-zgeçerli etkin komutu askıya almak için

Şuna benzer bir satır almalısınız: [1]+ Stopped ls | less
([1] iş numarasıdır.)

rm testfile

fgveya fg %1 (1 iş numarasıdır)

Birden çok işlemi aynı anda askıya alabilirsiniz. Örneğin
ls | less
Control-z (output: [1]+ Stopped ls | less)
man rm
Control-z (output: [2]+ Stopped man rm)
rm -i testfile*

fg %1iş 1'e devam etmek (man sayfasını arka planda açık bırakmak) veya
fg %2iş 2'ye devam etmek (man rm)

Birden fazla askıya alınmış işleminiz varsa bunları listeleyebilirsiniz jobs.

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.