Özet
command [-pVv] komut [argüman ...]
Açıklama
command komutu, kabukta normal fonksiyon arama ve çözümleme mekanizmasını atlayarak belirtilen komutu ve onun argümanlarını yürütür. Bu sayede, çalışan kabuk oturumunda yürütülecek komutla aynı isme sahip özel bir kabuk fonksiyonu (shell function) tanımlanmış olsa bile, orijinal harici diske yazılı komutun veya kabuk yerleşiğinin çalıştırılması garanti edilir.
command, kabuk yerleşik (shell built-in) komutlarından biridir. Kabuk yerleşik komutları, çalışan kabuğun süreci (process) içinde doğrudan yürütülür. csh(1) yerleşik komutları durumunda, komut bir boru hattının (pipeline) son bileşeni hariç herhangi bir yerinde yer alıyorsa bir alt kabukta (subshell) yürütülür.
Kabuğa belirtilen bir komut eğik çizgi / içeriyorsa, belirtilen komutun son bileşeni bir yerleşik komutun adıyla eşleşse bile kabuk bir yerleşik komutu yürütmeyecektir. Bu nedenle, echo belirtildiğinde echo yerleşik komutunu destekleyen kabuklar altında yerleşik komut yürütülürken, /bin/echo veya ./echo belirtildiğinde yerleşik komut yürütmez.
Bazı yerleşik komutlar birden fazla kabukta bulunabilse de, bunları destekleyen her bir kabuk altındaki işleyişleri farklı olabilir. Aşağıda, kabuk yerleşik komutlarını, bunları destekleyen standart kabukları ve bağımsız yardımcı programlar (standalone utilities) olarak var olup olmadıklarını listeleyen tablo bulunmaktadır.
Burada yalnızca csh(1) ve sh(1) kabuklarına ait yerleşik komutlar listelenmiştir. Yerleşik komutlarının işleyişine ilişkin ayrıntılar için kabuğun kılavuz sayfasına başvurun. En azından sh(1) kılavuz sayfasının bu komutların bazılarını “yerleşik komutlar” (built-in commands) ve bazılarını ise “ayrılmış sözcükler” (reserved words) olarak adlandırdığına dikkat edin. Diğer kabukların kullanıcılarının bir info(1) sayfasına veya diğer belgelendirme kaynaklarına başvurması gerekebilir.
External sütununun altında “No**” olarak işaretlenen komutlar harici olarak mevcuttur, ancak aynı ada sahip yerleşik bir komutu kullanan betikler (scripts) olarak uygulanmışlardır.
Yerleşik Komutlar Tablosu
| Komut | Harici (External) | csh(1) | sh(1) |
|---|---|---|---|
| ! | No | No | Yes |
| % | No | Yes | No |
| . | No | No | Yes |
| : | No | Yes | Yes |
| @ | No | Yes | Yes |
| [ | Yes | No | Yes |
| { | No | No | Yes |
| } | No | No | Yes |
| alias | No** | Yes | Yes |
| alloc | No | Yes | No |
| bg | No** | Yes | Yes |
| bind | No | No | Yes |
| bindkey | No | Yes | No |
| break | No | Yes | Yes |
| breaksw | No | Yes | No |
| builtin | No | No | Yes |
| builtins | No | Yes | No |
| case | No | Yes | Yes |
| cd | No** | Yes | Yes |
| chdir | No | Yes | Yes |
| command | No** | No | Yes |
| complete | No | Yes | No |
| continue | No | Yes | Yes |
| default | No | Yes | No |
| dirs | No | Yes | No |
| do | No | No | Yes |
| done | No | No | Yes |
| echo | Yes | Yes | Yes |
| echotc | No | Yes | No |
| elif | No | No | Yes |
| else | No | Yes | Yes |
| end | No | Yes | No |
| endif | No | Yes | No |
| endsw | No | Yes | No |
| esac | No | No | Yes |
| eval | No | Yes | Yes |
| exec | No | Yes | Yes |
| exit | No | Yes | Yes |
| export | No | No | Yes |
| false | Yes | No | Yes |
| fc | No** | No | Yes |
| fg | No** | Yes | Yes |
| filetest | No | Yes | No |
| fi | No | No | Yes |
| for | No | No | Yes |
| foreach | No | Yes | No |
| getopts | No** | No | Yes |
| glob | No | Yes | No |
| goto | No | Yes | No |
| hash | No** | No | Yes |
| hashstat | No | Yes | No |
| history | No | Yes | No |
| hup | No | Yes | No |
| if | No | Yes | Yes |
| jobid | No | No | Yes |
| jobs | No** | Yes | Yes |
| kill | Yes | Yes | Yes |
| limit | No | Yes | No |
| local | No | No | Yes |
| log | No | Yes | No |
| login | Yes | Yes | No |
| logout | No | Yes | No |
| ls-F | No | Yes | No |
| nice | Yes | Yes | No |
| nohup | Yes | Yes | No |
| notify | No | Yes | No |
| onintr | No | Yes | No |
| popd | No | Yes | No |
| printenv | Yes | Yes | No |
| printf | Yes | No | Yes |
| pushd | No | Yes | No |
| pwd | Yes | No | Yes |
| read | No** | No | Yes |
| readonly | No | No | Yes |
| rehash | No | Yes | No |
| repeat | No | Yes | No |
| return | No | No | Yes |
| sched | No | Yes | No |
| set | No | Yes | Yes |
| setenv | No | Yes | No |
| settc | No | Yes | No |
| setty | No | Yes | No |
| setvar | No | No | Yes |
| shift | No | Yes | Yes |
| source | No | Yes | No |
| stop | No | Yes | No |
| suspend | No | Yes | No |
| switch | No | Yes | No |
| telltc | No | Yes | No |
| test | Yes | No | Yes |
| then | No | No | Yes |
| time | Yes | Yes | No |
| times | No | No | Yes |
| trap | No | No | Yes |
| true | Yes | No | Yes |
| type | No** | No | Yes |
| ulimit | No** | No | Yes |
| umask | No** | Yes | Yes |
| unalias | No** | Yes | Yes |
| uncomplete | No | Yes | No |
| unhash | No | Yes | No |
| unlimit | No | Yes | No |
| unset | No | Yes | Yes |
| unsetenv | No | Yes | No |
| until | No | No | Yes |
| wait | No** | Yes | Yes |
| where | No | Yes | No |
| which | Yes | Yes | No |
| while | No | Yes | Yes |
Seçenekler
-p: Arama işlemini, o anki geçerliPATHdeğişkeni yerine tüm standart POSIX sistem araçlarının yerini içeren güvenli bir varsayılan yol üzerinden gerçekleştirir.-v:komutargümanını çalıştırmaz; bunun yerine bu komut çağrıldığında kabuğun nasıl bir çözümleme yapacağını (rumuz, fonksiyon, yerleşik veya disk dosyası gibi) belirten bir kelime veya yürütülebilir dosyanın tam yolunu yazdırır.-V:-vseçeneğine benzer, ancakkomuthakkında daha ayrıntılı, insan tarafından okunabilir bir açıklama yazdırır.
Örnekler
Aşağıdaki örnekler kabukta (shell) çalıştırılabilecek şekilde gösterilmiştir:
Aynı isimde bir kabuk fonksiyonu varken harici diske kayıtlı komutu çalıştırma:
- Diyelim ki ekrana mesaj basan bir
lskabuk fonksiyonumuz var:ls() { echo "Bu ozel bir ls fonksiyonudur!"; } - Orijinal
/bin/lssistem programını bu fonksiyonu atlayarak çalıştırmak için:command ls -la
- Diyelim ki ekrana mesaj basan bir
Bir komutun sistemdeki kaynağını/türünü sorgulama (kısa form):
command -v cdÇıktı:
cd(Yerleşik komut olduğunu belirtir)command -v lsÇıktı:
/bin/ls(Harici sistem komutunun konumunu belirtir)Bir komutun sistemdeki kaynağını ayrıntılı sorgulama:
command -V cdÇıktı:
cd is a shell builtincommand -V lsÇıktı:
ls is /bin/ls
Ayrıca Bakınız
sh(1), csh(1), zsh(1), dash(1), builtin(1), type(1), which(1)
Tarihçe
builtin kılavuz sayfası ilk olarak FreeBSD 3.4 sürümünde yer aldı.