Bu makalede, bazı komutlar ve bu komutların işlevleri hakkında bilgi sağlamak için Terminal komutlarının nasıl kullanılacağını açıkladım.
Ayrıca, işlemlerin tanımlanması için bazı örnekler verdim.
Komut satırı aracı güçlüdür. Grafik kullanıcı arayüzünde (UI) yapılması zor olan bir işi yalnızca birkaç saniye süren bir göreve dönüştürebilecek araçlara sahiptir. Büyük bir dosyanın her bir satırındaki son dört çizgiyi silmek bir kullanıcı arayüzü uygulamasında oldukça uzun zaman alırdı. Ancak bu işlem komut satırında otomatikleştirilebilir.
Ubuntu Linux'ta Terminal penceresi açmanın en yaygın yolları şunlardır:
Ubuntu Linux'taki Terminal Kabuğu ile ilişkili çeşitli komut mevcuttur. Aşağıdaki makalede, bu komutların en çok kullanılanları etkiledikleri gruplara göre listelenmektedir.
Çeşitli terminal komutlarını kullanmak için gereken tüm bilgileri sağlamak amacıyla kullandığımız üç ana komut vardır.
man komutu, Terminalde kullanılan herhangi bir komutun kılavuzunu görüntüler.
Çoğu kabuk komutu çeşitli seçenekleri kabul eder. Bir komut hakkındaki bilgileri ve mevcut seçeneklerin listesini almak için man
- manuel komutun kısaltması komutunu kullanın. Bağımsız değişkeni hakkında daha fazla bilgi edinmek istediğiniz komutun adını sağlayın. Bu komutun çalıştığı man
komuttur.
Example: Komutu girerseniz man who
aşağıdaki çıktı görüntülenir.
WHO(1) User Commands WHO(1)
NAME
who - show who is logged on
SYNOPSIS
who [OPTION}... [ FILE | ARG1 ARG2 ]
DESCRIPTION
-a, --all
same as -b -d --login -p -r -t -T -u
-b, --boot
time of last system boot
-d, --dead
print dead processes
-H, --heading
print line of column headings
-i, --idle
add idle time as HOURS:MINUTES, . or old (deprecated, use -u)
-l, --login
print system login processes
--lookup
attempt to canonicalize hostnames via DNS
-m, only hostname and user associated with stdin
Manual page who(1) line 1
Çoğu kılavuz birkaç sayfa uzunluğundadır. Metin içinde gezinmek içinimleci veya ARROW
tuşları veya Page Up ve Page Down tuşlarını kullanın. Boşluk tuşu bir sonraki metin satırını gösterir. Q tuşuna basıldığında kılavuzdan çıkılır ve kabuğa geri dönülür.
Man sayfasından etkin kullanıcı oturumları hakkında -a
daha fazla bilgi görüntüleme seçeneğini kullanabileceğimizi görebiliriz.
user@3[user]$ who -a
|
|
|
|
Nov 14 13:47 |
|
10 |
id=si |
term=0 |
exit=0 |
|
|
|
system boot |
Nov 14 13:47 |
|
|
|
|
|
|
|
|
run-level 5 |
Nov 14 13:47 |
|
|
Last=S |
|
|
|
|
|
|
Nov 14 13:47 |
|
835 |
id=15 |
term=0 |
exit=0 |
LOGIN |
|
|
tty1 |
Nov 14 13:47 |
|
958 |
id=1 |
|
|
root |
|
- |
tty2 |
Nov 14 19:15 |
00:19 |
959 |
|
|
|
user |
|
- |
tty3 |
Nov 14 19:28 |
00:06 |
960 |
|
|
|
LOGIN |
|
|
tty4 |
Nov 14 13:47 |
|
961 |
id=4 |
|
|
LOGIN |
|
|
tty5 |
Nov 14 13:47 |
|
962 |
id=5 |
|
|
LOGIN |
|
|
tty6 |
Nov 14 13:47 |
|
963 |
id=6 |
|
|
user |
|
? |
:0 |
Nov 14 13:47 |
? |
965 |
|
|
|
|
|
|
pts/3 |
Nov 14 16:29 |
|
1746 |
id=/3 |
term=0 |
exit=0 |
user@3[user]$
Ayrıca programlar için yardım dosyalarını da okur, man
komutu; kabuklar, işlevler ve kitaplıklar hakkında da bilgi verebilir.
Belirli bir komutun nasıl kullanılacağından emin değilseniz komutu -h
veya –help
anahtarlarla çalıştırın. Kullanım bilgilerini ve komutla birlikte kullanabileceğiniz seçeneklerin bir listesini görürsünüz.
Example: Komutunun nasıl kullanılacağını öğrenmek isterseniz wget
şunu yazın: wget –help
veya wget -h
.
User@Ubuntu@#$ wget --help
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
Bu genellikle terminale çok miktarda bilgi yazdırır. Bilgileri kaydırarak görmek zor olabilir. Çıktıyı daha kolay okumak için pipe
daha az komutuyla görüntüleyebilirsiniz. Bu, klavyenizdeki imleç veya OK tuşlarıyla ekranda kaydırma yapmanızı sağlar.
Example: wget -help | less
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
-o, --output-file=FILE log messages to FILE.
:
İşiniz bittiğinde less yardımcı programını kapatmak için q tuşuna basın.
Belirli bir seçeneği bulmak için şunları yapabilirsiniz: pipe
komutuyla çıktı grep
yapılandırmalısınız. (Örneğin: Şu sözcüğü içeren seçenekleri aramak için aşağıdaki komutu kullanın proxy.
)
wget -help | grep proxy
User@ubuntu:~$ wget --help | grep proxy
--no-proxy explicitly turn off proxy.
--proxy-user=USER set USER as proxy username.
--proxy-password=PASS set PASS as proxy password.
User@Ubuntu:~$
Bazı komutlar, info
sisteminin içinde de belgelenir. Buradaki bilgiler, man
komutunun görüntülediğini tamamlar.
Example: Komutu girin info ls,
aşağıdaki çıktı görüntülenir.
[support@support]$" info ls
Artık, komutu hakkındaki önemli bilgileri içeren kılavuzu görüntüleyebilirsiniz ls
yapılandırmalısınız.
File: coreutils.info, Node: ls invocation, Next: dir invocation, Up: Directory listing
'ls': List directory contents
=============================
The 'ls' program lists information about files (of any type,
including directories). Options and file arguments can be intermixed
arbitrarily, as usual.
For non-option command-line arguments that are directories, by
default 'ls' lists the contents of directories, not recursively, and
omitting files with name beginning with '.'. For other non-option
arguments, be default 'ls' lists just the file name. If no non-option
argument is specified, 'ls' operates on the current directory, acting
as if it had been invoked with a single argument of '.'.
By default, the output is sorted alphabetically, according to the
locale settings in effect. (1) If standard output is a terminal, the
output is in columns (sorted vertically) and control characters are
output as question marks; otherwise, the output is listed one per line
and control characters are output as-is.
--zz-Info: (coreutils.info.gz)ls invocation, 48 lines --Top------------------
Welcome to info version 4.3 Type C-h for help, m for menu item.
Boşluk tuşuna basarak veya imleç/ARROW
tuşlarını kullanarak sayfaları aşağı kaydırabilirsiniz.
help
, H tuşuna basınquit
, Q tuşuna basın
Terminalde, kullanıcı arayüzünde de yapabileceğiniz neredeyse her şeyi yapabilirsiniz.
Daha önce de belirtildiği gibi çoğu komut öncelikle terminalde çalışmak üzere tasarlanmış ve ardından bir kullanıcı arayüzü üzerine yerleştirilmiştir. Bu nedenle bazı GUI'lar hantal gelebilir. Başlangıçta çoğu Linux Sunucusu derlemesinde kullanılmadığı için bu GUI'lar sonradan eklenmiştir.
Terminaliniz menüden açılacak varsayılan konumu ana klasörünüzün içindedir. Bu ana klasör şöyledir: ~
Geçerli dizininizi operatörüne göre .
bulabilirsiniz. Çoğu komut geçerli klasör seçiminde çalıştırılırken komutlar, konumlar ve dosyalar üzerinde işlem yapar ve büyük-küçük harfe duyarlıdır. /home
şunlarla aynı değildir /HOME
veya /Home
.
Uzun bir sürücü başlığınız varsa dosya adlarını tamamlamak için TAB tuşunu kullanın. driver-128947232jaseu.sh
örneğin, dri
yazdığınızda geri kalanını girer. ile başlayan iki adınız olmaması şartıyla dri
ve iki adınız varsa bunu yapmak için başka bir karakter ekleyin driv
ve tekrar deneyin. Otomatik tamamlamanın görmek istediğinizle eşleştiğinden emin olun.
Hemen hemen her komut man
sayfası kullanılarak veya şu yazılarak -h
veya --help
ilk komutu yazdıktan sonra tam olarak okunabilir. Bu söz dizimi şunlardan biri şeklindedir: man command_name
, command_name -h
veya command_name --help
.
Daha fazla bilgi edinmek için info'yu kullanabilirsiniz. Bir komut şu kullanılarak aranabilir: info command_name
. Coreutils paketinin bir parçası olan bu komutların çoğu için Aynı zamanda, info
aranan komutun değiştirildiği info coreutils command_name
çağrıyı kullanarak da bulabilirsiniz command_name
.
Neredeyse her komut tam olarak hangi işlemin gerçekleştiğini adım adım gösterebilir. Bu genellikle -v
veya --verbose
.
Daha fazla bilgi almak için bir komutta aynı anda birden fazla komut bayrağı belirtebilirsiniz. Bkz. ls -al
aşağıdaki örnek.
Komut adları her zaman açık ve anlaşılır değildir. UNIX'in ilk zamanlarındaki alan sınırlamaları komut adlarının kısaltılmasına neden olmuş ve bu gelenek süregelmiştir.
cd
- Ana klasörünüze geri götürür. Şununla aynıdır: cd ~
cd..
- Bir dizin geriye götürür. Şuradan başlar: /home/user/Desktop
, cd..
şuraya götürür: /home/user
. Şu şekilde genişletilebilir: cd ../../
bu da sizi iki dizin geriye, şuraya taşır: /home
.
cd foldername/
- Geçerli klasörünüzdeki belirli bir klasöre ilerletir.
/
, önemli bir eksikliktir. Ben /home/user
içindeysem ve şuraya gitmek istiyorsam: Desktop
. Şunu yazmalıyım: cd Desktop/
şu olmadan: /
şundan önce: Desktop
. Komut yazma /
başına yazılması bizi dosya sisteminin köküne götürür ve bu da işimize yaramaz.
cd /some/other/path
- Belirtilen klasör yoluna götürür. Yolu doğru girdiyseniz. Otomatik tamamlamak için TAB
tuşunu kullanabileceğinizi unutmayın.
ls
- Geçerli klasördeki tüm dosyalarınızı listeler.
ls -l
- Sahipler, izinler, boyut ve değiştirme tarihi dahil olmak üzere daha uzun bir liste sağlar.
ls -a
- Gizli dosya ve klasörleri ve normal listeyi görüntüler.
ls -al
- Gizli dosya ve klasörleri uzun biçimde görüntülemek için iki seçeneği birleştirir.
ls -h
- Dosya boyutlarını okunabilir biçimde gösterir KB, MB, GB,
bayt yerine dosya boyutları. Genellikle -l
bayrak ile birlikte kullanılır.
İçinde bile olmadığınız dizinlerdeki dosyaları görüntüleyebilirsiniz. /home/user/Desktop
içindeysem ve şuradaki bir dosyayı görüntülemek istiyorsam: /home/user
Şunu yaptığımda: ls ../
dosyaları bir dizin geriden listeler.
cp file /path/to/folder
- Belirtilen dosyayı verilen yola kopyalar.
cp -r folder /path/to/folder
- Klasör içeriğini sürekli olarak başka bir klasöre kopyalar.
cp *.extension /path/to/folder
- Verilen uzantıyla eşleşen dosyaları yeni klasöre kopyalar. Tüm .doc dosyalarını kopyalamak için cp *.doc /path/to/folder
ve klasörün mevcut olması gerekir.
cp name* /path/to/folder
- Şununla başlayan tüm dosyaları name
verilen klasöre kopyalar: Şununla başlayan tüm dosyaları kopyalamak için: example
, olur cp example* /path/to/folder
ve klasörün zaten mevcut olması gerekir.
Sözdizimi mv
ile yukarıdaki örneğe benzer cp
muafiyetle örneğin #2. mv
bayrak -r
almaz çünkü bir klasörü taşımak içeriğini de taşır. İlgili söz dizimi tüm örneklerde aynı değildir ancak yukarıdaki örneklerde işe yarar. Daha ayrıntılı bilgi için man sayfalarınıza başvurun.
Dosyaları rm
kullanarak kaldırmak kalıcıdır. Çöp sepeti kullanılmaz. Bunu dikkatli bir şekilde kullanın ve aşağıdaki tuşa basmadan önce tam olarak istediğiniz şeyi sildiğinizden emin olun Enter
tuşuna basın. Silme komutlarınızı gereğinden fazla karmaşık hale getirirseniz bir sorun oluşacaktır.
rm file
- Belirlenen dosyayı bilgisayardan kaldırır.
rm -r folder
- Belirlenen klasörü bilgisayardan kaldırır.
rm -rf folder
- Belirlenen klasörü bilgisayardan zorla kaldırır. Bu komut yanlış kullanıldığında yapılandırmanızı bozabilir.
Dosyalarda hızlı ve kabaca değişikliklerden tam yapılandırmaya kadar çeşitli işlemler gerçekleştirmek için terminalde nano
komutunu kullanarak dosyaları düzenleyebilirsiniz. Bu işlem yararlı olabilir ancak, yalnızca düz metin ve programlama dosyaları üzerinde kullanılabildiği için Microsoft Word belgesi gibi öğeler düzgün açılmaz.
Kök, bir dosyaya sahipse normal bir kullanıcı tarafından düzenlenemez. nano
Değişiklikleri kaydetmek için sudo
ön ekine sahip olmalıdır. Aksi takdirde, salt okunur modda açılır.
nano newfile.whatever
belirtilen adda bir dosya oluşturup bu dosyayı düzenleme için açar.
nano existing_file
mevcut dosyayı düzenleme için açar.
Şunun içinden: nano
Dosyayı CTRL+O
tuşlarına birlikte basarak kaydedin ve adı değiştirin veya aynı adın kalması için Enter
tuşuna basın. Bu işlem dosyayı kaydeder.
Çıkış nano
için CTRL+X
tuşlarını birlikte kullanın. Kaydedilmeyen değişiklikleriniz varsa bunları kaydetmek isteyip istemediğiniz sorulacaktır.
mkdir folder_name
- Belirtilen ada sahip bir klasör oluşturur
mkdir -p /path/to/folder/name
- Her bir klasörü gerektiği şekilde oluşturur. Klasör oluşturmak için /home/user/1stfolder/2ndfolder
ve sadece /home/user
varsa mkdir -p
kullanarak her iki dizine de şunu yapar: 1stfolder,
ve 2ndfolder
.
ps aux
- Bilgisayarda çalışan tüm işlemleri ayrıntılı bir şekilde listeler. Buna kullanıcı, İşlem Kimliği PID,
ve işlemin adı dahildir. Bu komutu kullanarak işlem listesini görüntüleyebilir ve gereksiz veya durdurulmuş işlemleri sonlandırabilirsiniz.
kill PID
- PID, sorunlu işlemi ifade eden bir numaradır. PID'yi şuna benzeyen komuttan edinmeniz gerekir: ps aux
. Bir işlem sonlandırılmayı reddederse kill -9 PID
süreci herhangi bir şekilde sonlandırması gerektiğini belirtebilirsiniz.
killall program
- Killall
şunun tüm örneklerini by name
kapatır: listed program
. Örneğin, açık 3 Firefox İnternet tarayıcısı oturumu varsa killall Firefox
tam olarak bunu yapar, tüm Firefox oturumlarını sonlandırır. kill
sonlandırmak istediğiniz sorunlu Firefox işleminin belirtilen PID'sini alır ve yalnızca bunu sonlandırır.
xkill
pencereleri tıklayıp sonlandırmanın kullanıcı arayüzü yoludur. Buraya xkill
yazıldığında kafatası ve çapraz kemiklerden oluşan bir simge ortaya çıkar ve bu noktada tıklanan bir sonraki pencere sonlandırılır.
Pipes
şu şekilde gösterilir: straight bar,
şu şekilde de bilinir: |
tuşuna basın.
Bu, Windows'da nadiren kullanılan bir tuştur ancak sıklıkla ters eğik çizgi tuşunun üzerinde bulunur.
Kanallar (Pipes), komutları birbirine bağlamak için kullanılır. Pipes
bir komutun çıktısını alır ve zincirleme şekilde eklenen ikinci bir komutun girdisi olarak kullanılmak üzere yönlendirir.
Üzerlerine yazılı bölümler olduğu için aşağıdakiler ve kullanımları hakkında pipes
daha fazla bilgi için çevrimiçi kaynaklara başvurun:
>
şunun için kullanılır: overwrite
mevcut dosyaların içeriğini yeni komuttan gelen çıktıyla değiştirerek bu içeriğin üzerine yazmak
>>
şunun için kullanılır: append
mevcut dosyalara bilgi. Bu, günlüğe kaydetme işlemleri için kullanışlıdır.
Example:
ps aux > processes.log
Komut çıktısını bir metin düzenleyicide görüntülemek için ps aux
çıktısını processes.log
dosyasına gönderir ve dosyanın mevcut içeriğinin üzerine yazar.
tee
komut çıktısını almak ve başka bir yere göndermek amacıyla |
ile birlikte kullanılır. Bu komut, gözünüzden kaçan hatalar olduğunda kullanışlıdır. Bu şekilde, ekranda görünen her şey bir dosyaya da eklenir.
Example: dmesg
| tee boot.txt
ilk önyükleme bilgilerini gösteren dmesg
komutu çalıştıracaktır. Komutta |
Komut çıktısını bir metin düzenleyicide görüntülemek için dmesg
özniteliğinin değerini tee
, terminale ve günlük dosyasına göndererek görevini tamamlar. boot.txt
.
Geçerli dizindeki bir dosyayı, bu dosya yürütülebilir olarak işaretlendikten sonra çalıştırmak istiyor musunuz? Komutta ./
operatör kök haklarına ihtiyacınız olmaması koşuluyla dosyayı normal kullanıcı olarak yürütebilir. ./
şu anlama gelir: in the current directory
dolayısıyla mevcut dizin haricindeki dosyalarda çalışmaz.
Geçerli dizinde olmayan bir dosyayı çalıştırmak istiyorsanız dosya yolunu doğru çalıştırma programına iletmelisiniz. Bir python programıysa python /path/to/file
ve bir kabuk dosyasıysa sh /path/to/file
örnek olarak. Başka programlar da mevcuttur ancak bunlar en sık kullanılanlardır.
Şunu aldığınız için bir dosyayı kök haklarıyla mı yürütmek istiyorsanız operation not permitted?
. Bunun için komuta şu ön eki girmeniz gerekir: sudo
. Yukarıdaki örnekte olduğu gibi sudo python /path/to/file
komut dosyasını kök haklarıyla çalıştırır.
Terminalden bir kullanıcı arayüzü programı çalıştırmak istiyorsanız program adını yazdığınızda case sensitive!
çalıştırılacaktır. Bu, geçerli terminali kullanılamaz hale getirir. Program açıkken terminalin kapatılması programı da sonlandırır. Daha iyi bir yol olarak, program_name
kullanarak programı arka plana alınabilir ve sonra kapatmak ve işlemi devam ettirmek için exit
kelime terminalde yazılabilir.
Terminalden bir kök haklarıyla bir kullanıcı arayüzü programı çalıştırmak istiyorsanız gksudo
veya gksu
ön eki ekleyin ve şunu eklemeyin: sudo
. Kullanıcı arayüzü uygulamalarını başlatmak için sudo
kullanmak iyi bir yöntem değildir ve bunu yapmaktan kaçınılmalıdır.
Yapın not
kullanım sudo
sadece bir şey ortaya çıktığı için Operation not permitted.
Komutları kök haklarıyla yanlış yerde çalıştırdığınızda bilgisayarlarda destroy
olabileceğini unutmayın. Dosyalarınızın güvenilir kaynaklardan geldiğinden emin olun.
Bir dizinde mi kayboldunuz? Şunu yazın: pwd
çalışma dizinini yazdırmak için.
Disk alanınızı hesaplamak mı istiyorsunuz? df -h
size hızlıca bir değer sunabilir.
Bir klasörün veya dosyanın boyutunu hesaplamak mı istiyorsunuz? du -cksh target_name
tam olarak bunu yapar. Geçerli klasörün boyutunu mu hesaplamak istiyorsunuz? du -cksh
.
Bir dosyayı yürütülebilir olarak işaretlemek mi istiyorsunuz? chmod +x filename
bunu yapar.
Bir iso bağlamanız mı gerekiyor? Linux'ta bu işlev yerleşik olarak bulunur. Bir yerde bir dizin oluşturun, örneğin /home/user/isomount
ve komutu verin mount -o loop /path/to/myisofile.iso /home/user/isomount
ve içindekiler bu klasörün içine bağlanır.
Daha önce çalıştırdığınız bir komutu tekrar çalıştırmanız gerekiyor ancak komutun tam olarak nasıl olduğunu hatırlamıyor musunuz? Şunu yazın: history
terminale yazıldığında komut geçmişinizi yazdırır. Geçmişinizi temizlemek mi istiyorsunuz? history -c
bilgileri siler.