Di baris perintah saya sering menggunakan perintah "sederhana" seperti
mv foo/bar baz/bar
tapi saya tidak tahu harus memanggil apa semua bagian ini:
┌1┐ ┌──2───┐
git checkout master
│ └──────3──────┘
└───────4─────────┘
Saya (pikir saya) tahu bahwa 1 adalah perintah dan 2 argumen, dan saya mungkin akan menyebut 3 daftar argumen (apakah itu benar?).
Namun, saya tidak tahu harus memanggil apa 4 .
Bagaimana label "perintah" yang lebih rumit dilabeli?
find transcripts/?.? -name '*.txt' | parallel -- sh -c 'echo $1 $2' {} {/}
Saya menghargai jawaban yang memecah apa yang harus dipanggil 1,2,3,4 dan apa yang harus disebut setiap bagian dari mis "perintah" di atas.
Akan sangat menyenangkan untuk belajar juga tentang hal-hal lain yang unik / mengejutkan yang belum saya masukkan di sini.
command-line
command
parameter
terminology
theonlygusti
sumber
sumber
man
halaman untukgit
danfind
, khususnya bagian sinopsis?git
ataufind
lebih tepatnya terminologi umum untuk linux.A | B
,A | B
adalah sebuah pipeline ,A
danB
adalah perintah (sangat disayangkan bahwa ini memiliki nama yang sama dengan hanya dunia pertama dalam suatu perintah). Saya mungkin menyebut argumen pertama sebagai executable tetapi saya tidak dapat menemukan sumber yang setuju dengan saya.git checkout ...
,checkout
adalah sub- perintah , dan dalam kontekssh -c ...
,-c
adalah opsi .Jawaban:
Nama umum untuk setiap bagian adalah sebagai berikut:
Nama perintah (kata pertama atau token dari baris perintah yang bukan pengalihan atau penugasan variabel dan setelah alias telah diperluas).
Token, kata, atau argumen ke perintah. Dari man bash:
Umumnya: Argumen
Rangkaian dua perintah sederhana dengan a
|
adalah urutan pipa atau pipa:Pikiran bahwa ada pengalihan dan penugasan variabel juga:
Di mana (di samping angka-angka dari atas):
Ini bukan daftar semua elemen yang bisa dimiliki oleh baris perintah. Daftar seperti itu terlalu rumit untuk jawaban singkat ini.
sumber
!
untuk meniadakan statusnya). pipa lebih suka merujuk pada mekanisme IPC yang digunakan oleh kebanyakan shell untuk mengimplementasikan jaringan pipa (pipa tidak harus menggunakan pipa, ksh93 menggunakan socketpairs sebagai gantinya pada beberapa sistem misalnya). Beberapa shell memiliki lebih banyak kata kunci sepertitime
,noglob
yang dapat digunakan sebagai gantinya atau sebagai tambahan di!
sini.cat $file
, di sini saya akan mengatakan$file
token, tetapi nilai file adalah argumen.argv
Jawaban @ isaac di atas sepertinya bagus.
Saya ingin memperluas ini dengan beberapa sumber.
Saya kira standar POSIX mungkin dalam beberapa hal dianggap kanonik . Sumber lain mungkin
man bash
danman proc
.POSIX menyarankan bahwa:
man proc
menggunakan baris perintah )Ia juga memiliki terminologi untuk banyak perintah yang lebih rumit.
Saya pikir perintah cukup ambigu jadi mungkin istilah perintah dan baris perintah baik untuk kejelasan.j
sumber
proc
adalah sistem file tujuan khusus (kumpulan file) yang menyediakan informasi tentang keadaan internal kernel. Saya percaya itu adalah singkatan dari proses (lihat juga sysfs yang memberikan informasi tentang hal-hal lain selain proses). Alasannya relevan ditulis oleh pengembang kernel , jadi mungkin mencerminkan bahasa yang mereka gunakan yang mungkin sedikit lebih formal.