Terminaldeki bir sonraki satıra nasıl yazarım?


16

Ubuntu 12.10 kullanıyorum ve terminalde bir dizi komut çalıştırmak istiyorum ve talimatlarda gördüğüm kadarıyla, bu komutların her biri yeni bir satırda başlıyor. Bunu terminalde nasıl yapacağımı bilmiyorum. Bir sonraki satıra dönmek için hangi tuşa basacağımı bulamıyorum.


4
Komutları cd home; gibi noktalı virgül ";" kullanarak ayırabilirsiniz; mkdir testi; ls -la
LnxSlck

9
@LnxSlck: Yine de, &&yerine komutları ayırmak genellikle tercih edilir ;. Bu şekilde, komutlardan biri başarısız olursa, kalan komutlar çalıştırılmaz. Bu nedenle, örneğin homeyoksa, yanlışlıkla testgeçerli dizinde bir dizin oluşturmazsınız .
hammar

Yanıtlar:


16

Her satırda gördüğünüz komutlar tek tek yürütülecektir.

Bu nedenle, bir satır girdikten sonra yürütmek için enter tuşuna basın, ardından sonraki komutu yürütün.

Misal:

sudo apt-get update
sudo apt-get upgrade

Bunlar tek tek yürütülecek iki komuttur.

Bir kerede yürütmek gibi olacak sudo apt-get update && sudo apt-get upgrade(başka yöntemler de var), ancak bunlar genellikle gerektirmez. Yani endişelenme. Bir satır yazın ve enter tuşuna basın, işi yapar.


Tavsiyeniz için çok teşekkür ederim, keşke daha önce bilseydim !!! Yine de yaşıyor ve öğreniyoruz :-)
Debbie Poole

4
@ user113090 Web-E sorunuzu yanıtladıysa, yanıtını kabul edilen yanıt olarak işaretlemeyi unutmayın.
Dean

12

As Web-E , iki farklı komutlarla istediğini yapmanın en kısa yolu açıklıyor, ben birden komutlarını çalıştırmak veya bunları hemen infaz olmadan başka hat üzerine komutları devam etmek çeşitli yolları olduğunu göstermek istedim.

Devam eden uzun komutlar:

1) Uzun bir komut oluşturmanın en yaygın yolu komutlarınızı girmek, ardından ters eğik çizgi kullanmak \, return tuşuna basmaktır ve Bash komutu yerine size başka bir komut istemi verir. Bu ikincil istem PS2 olarak adlandırılır ve girişinizi bekler:

find /home/mike/Downloads -type f -iname '*.jpg' \
> 

Genel komutun mantıklı olacağını düşündüğünüz sürece ters eğik çizgi eklemeye ve return tuşuna istediğiniz kadar basmaya devam edebilirsiniz.

Bu ikincil istemi normal Ctrl+ ile iptal edebilirsiniz C.

2) Bash, döngüler (i için ....) gibi komutları tanır ve komut istemi hemen görünür; bir komutu kaçırırsanız olduğu gibi bir komutu işaretleyin:

apt-cache search 'libgimp*
> 

Çoklu Komutlar :

3) Lxnslck'in belirttiği gibi, komutları noktalı virgülle ayırabilirsiniz:

which vlc; whereis vlc

/usr/bin/vlc
vlc: /usr/bin/vlc /etc/vlc /usr/lib/vlc /usr/bin/X11/vlc /usr/share/vlc /usr/share/man/man1/vlc.1.gz

4) Veya &&iki komutu birleştirmek için ve işaretini kullanabilirsiniz :

./configure && make

4

Her satırdan sonra ENTER tuşuna basabilirsiniz ve komut sonlandırılmazsa ( forörneğin döngüler gibi mutiline komutları ), terminal komutun geri kalanını girmenizi bekler. Komut sonlandırılırsa, yürütülür ve sonraki komutu girersiniz, sorun değil.

Komutları bir öğreticiden kopyalıyorsanız, tüm komut grubunu kopyalayabilir ve doğrudan terminale yapıştırabilirsiniz.


1

Bir kereden fazla kullanacağınızı düşündüğünüz bir dizi komut olduğunda, bunları bir bash komut dosyasına koymalısınız . Örneğin,

xrandr --newmode "1280x960_80.00" 139.25  1280 1368 1504 1728  960 963 967 1008 -hsync +vsync
xrandr --verbose --addmode VGA1 "1280x960_80.00"
xrandr --output HDMI1 --off --output LVDS1 --mode 1366x768 --pos 1280x512 --rotate normal --output DP1 --off --output VGA1 --mode "1280x960_80.00" --pos 0x0 --rotate normal
sleep 3
xfce4-panel -r

bir daha asla yazmak istemediğiniz bir şey değildir, ancak bu özel komut dizisine çok sık ihtiyacım var. Yani adlı bir dosyaya gider 1280x980-2head.sh, istediğiniz herhangi bir editör ile oluşturabilirsiniz. O senaryo yapmak için yürütülebilir , sınırı koymak #!/bin/bashher şeyi (bir önünde shebang ) ve infaz izni ayarlamak: chmod +x 1280x980-2head.sh. Sonra, sadece yazarak ./128<tab>(otomatik tamamlama) ve <enter>tüm komutları yürütür.


0

Her şeyi parantez içine alabilirsiniz; Örneğin:

(sudo add-apt-repository ppa:foo/bar
sudo apt-get update
sudo apt-get install my-package)

Komutlar bir alt kabukta birbiri ardına yürütülür.

Alt kabukta yürütülmelerini istemiyorsanız, bir komut ile diğeri arasına noktalı virgül koyabilirsiniz; Örneğin:

sudo add-apt-repository ppa:foo/bar; sudo apt-get update; sudo apt-get install my-package

Bunun yerine, her komutun arasına "&&" koyarsanız, "&&" komutunu izleyen komut yalnızca önceki komutun hatasız tamamlanması durumunda yürütülür ; bu nedenle komutları birleştirmek için kullanmanız gerekmez; bunun yerine noktalı virgül kullanın. Tersine, "||" koyarsanız, aşağıdaki komut sadece ilk komut hata ile çıkarsa çalıştırılır. Örnek: ("hangi" komutu bir programın var olup olmadığını kontrol eder ve bir hata ile çıkmazsa)

which apt-get && echo "No error" || echo "Error"    # Will print "No error"
which jdhdsd && echo "No error" || echo "Error"  # Will print "Error"
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.