İşte sizi beş faydalı bilgi ile aydınlatıyoruz. Kabuk İstemi ipuçları bu kesinlikle sizin için bir nimet olacak.
1) Kısa yol için her zaman takma adı tanımlarız. Ancak bazen buna ihtiyacımız olmaz ve komutun orijinal etkisini isteriz.
Örneğin:
takma ad ls='ls -la'
Şimdi takma ad efektini kısıtlamak ve yerel komutu görmek için, onu aşağıdaki üç yoldan herhangi biriyle çalıştırabiliriz:
$ komutu ls $ \ls $ "ls"
2) Takma adın belirli bir komuta atanıp atanmadığını kontrol etmek istiyorsanız, takma adla type komutunu aşağıdaki gibi kullanabilirsiniz:
$ türü ls
Orijinale geri dönmek için unalias komutunu da kullanabilirsiniz. 'ls' emretmek:
$ takma ad ls
Takma ad atanmışsa, bu takma adı görüntüler.
3) GNOME'da komut satırından bir uygulama açmak için gnome-open komutunu kullanabiliriz. Örneğin:
$ gnome-açık jash.xls
Bu, dosyayı kendisiyle ilişkili uygulama ile açacaktır.
4) Ekleme operatörünü kullanmanın kullanışlı bir yolu burada. Bir dosyanın sonuna metin eklemek için sadece >> karakterini kullanırız. Ancak dosyanın başına metin eklemek istiyorsak aşağıdaki komutu çalıştırın:
$ echo "merhaba Nidheeshdas" | cat - file.txt > /tmp/out && mv /tmp/out file.txt
Bu komut kullanılarak dosyanın başına “hi Nidheeshdas” satırı eklenecektir.
5) .txt ve .jpg uzantılı tüm dosyaları bulmak istiyorsanız, aşağıdaki komutu kullanın:
$ bulun. -type f -iname "*.txt" -veya -iname "*.jpg"
…burada -type f parametresi dosyaları bulmak için kullanılır ve -veya 'veya' işlemi için kullanılır. Bu 'bulmada' gizli dosyaları hariç tutmak istiyorsanız, o zaman ! (değil) operatör:
$ bulun. -type f -iname "*.txt" ! -iname ".*"
Shell tarafından kullanılan değişkenler
İşte bir Shell betiği tarafından kullanılan bazı değişkenler ve detayları.
- 1 dolar, 2 dolar… Komut satırı bağımsız değişkenini temsil eden konumsal parametre.
- $# Komut satırında belirtilen argüman sayısı.
- $0 Yürütülen komutun adı.
- $* Tek bir dize olarak eksiksiz konumsal parametreler seti.
- “$@” Alıntılanan her dize ayrı bir argüman olarak değerlendirilir.
- $? Son komutun çıkış durumu.
- $$ Geçerli Shell'in PID'si.
- $! Son arka plan işinin PID'si.
- !$ Önceki komutun komut satırı argümanı.
tala
C bilmiyorum ama ödevin ne olduğu kavramını anlıyorum.
Kısacası, program tamamlandıktan sonra, profesör test ederken aşağıdakileri yapabilmelidir…
1.Programı Linux'ta bir komut satırından başlatın. (Bu oturumu 'pencere 1' olarak adlandıracağız)
2.Program başladığında ikinci bir pencere açılır (pencere 2)
3.Pencere 2'de, oturumun bulunduğu dizin yolunun mevcut adını içeren bir bilgi istemi olmalıdır. •Linux'ta bu bilgi $PWD ortam değişkenindedir. komut istemi ortam değişkenini PS1='$PWD >' olarak ayarlayın
•Bu size içinde bulunduğunuz dizini takip eden bir yol verecektir. Eminim profesörünüz CD'lerinin başka bir dizine girip girmediğini kontrol edecektir, yolunuz onunla kalacak mı?
4. Win2'den, kullanıcı bu 6 hazır komuttan birini girmelidir.
Bu komutlar Win2'de YAZILIR, ancak çıktının Win1'e (orijinal pencere) gitmesi gerekir •Sho (Linux komutu için diğer ad, ls)
•2nsa5 (Linux komutu için takma ad, cp)
•2m7i (Linux komutu için takma ad, rm)
•Roo7 (Linux komutu için takma ad, cd)
• Dawir (Linux komutu için takma ad, grep)
•23rid (Linux komutu için takma ad, daha fazlası)
5.Başka bir komut 2ktob'dur. Komut ve dosya adı girildikten sonra, kullanıcı metin yazarken bunun için çıktının geri kalanı Win2'de kalmalıdır ve kullanıcının dosya adı için sahip olduğu ad, bir metin dosyası oluşturmak için kullanılan ad olmalıdır. (Dosyaya 'dosya adı' demeyin)
Ayrıca, girilen dosya adı yoksa bir hata oluşturduğunuzdan emin olun. Bunun test edileceğinden oldukça eminim.
6.Son komut, hoşçakal, Window2'yi kapatacak ve programı sonlandıracaktır.
Herhangi bir kod yazmadan önce bu projenin en büyük hilesi, TEK oturumda NASIL metin girileceğini ve çıktının ikinci bir oturumda NASIL elde edileceğini bulmaktır. Profesörünün bunu çoktan aştığından şüpheleniyorum (dolayısıyla test) bu yüzden umarım bu kapsanmıştır.
İkinci numara, sahte komutları gerçek komutlarla değiştirmektir.
Bunun için (profesör tarafından aksi belirtilmedikçe) sadece 'takma ad' komutunu kullanırdım.
Örneğin:
Takma ad sho=ls
Sonra sho yazdığınızda, linux onu ls olarak okur.
Embed, C kodunuza girilir ve hazırsınız… çıktıyı pencere 1'e yönlendirmeniz yeterlidir.
vb.
.
Not: takma ad kullanamayız, ayrıştırma veya C'de buna benzer bir şey kullanmalıyız.
teşekkür ederim