263 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			263 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								title: The Command Prompt
							 | 
						|||
| 
								 | 
							
								localeTitle: موجه الأوامر
							 | 
						|||
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								## موجه الأوامر
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								كواحدة من أقدم واجهات المستخدم (UI) ، تم تنفيذ _موجه الأوامر_ (aka _shell_ ، _terminal_ ، _console_ ، _tty_ ) بعدة طرق.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								وقد أدى هذا إلى استخدام بعض الكلمات بشكل متبادل في المحادثة الحديثة التي لها في الواقع معان مختلفة قليلاً.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* * *
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								> جدول المحتويات
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*   [تاريخ قصير جدا](#a-very-very-short-history)
							 | 
						|||
| 
								 | 
							
								*   [اليوم](#today)
							 | 
						|||
| 
								 | 
							
								*   [شل](#the-shell)
							 | 
						|||
| 
								 | 
							
								*   [سحق](#bash)
							 | 
						|||
| 
								 | 
							
								*   [الحصول على مساعدة](#getting-help)
							 | 
						|||
| 
								 | 
							
								*   [الموجه](#the-prompt)
							 | 
						|||
| 
								 | 
							
								*   [الحصول على الجذر](#getting-root)
							 | 
						|||
| 
								 | 
							
								*   [تسجيل الدخول](#login)
							 | 
						|||
| 
								 | 
							
								*   [سودو](#sudo)
							 | 
						|||
| 
								 | 
							
								*   [سو](#su)
							 | 
						|||
| 
								 | 
							
								*   [المسارات النسبية والمطلقة](#relative-and-absolute-paths)
							 | 
						|||
| 
								 | 
							
								*   [نسبيا](#relative)
							 | 
						|||
| 
								 | 
							
								*   [مطلق](#absolute)
							 | 
						|||
| 
								 | 
							
								*   [خيارات القيادة](#command-options)
							 | 
						|||
| 
								 | 
							
								*   [تسلسل الأوامر](#chaining-commands)
							 | 
						|||
| 
								 | 
							
								*   [وظائف الخلفية](#background-jobs)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* * *
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### تاريخ قصير جدا
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								في القرن التاسع عشر كان [التلغراف](https://en.wikipedia.org/wiki/Electrical_telegraph) . هذا سمح شخصين لتبادل الرسائل المشفرة عبر مسافات طويلة. أدت التطورات التكنولوجية اللاحقة إلى استخدام [آلة](https://en.wikipedia.org/wiki/Teleprinter) تيلبايب (tty) ، حيث تم استبدال الشخص المطلوب لاستلام الرسالة بنوع من الطابعات.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								في نفس الوقت ، تم برمجة أجهزة الكمبيوتر المبكرة مثل ENIAC ، مع نوع من الأجهزة ، مثل المفاتيح ، والمفاتيح ، أو كبلات التصحيح. ومع تقدم الحواسيب ، كانت هناك حاجة إلى إدخال / إخراج أفضل (IO) ، وبالتالي تم تحويل آلات التليبيرات المتاحة للاستخدام.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								لأن tty's كانت قطع أثاث كبيرة بمفردها ، وحصلت على **وحدة تحكم** الاسم لأوجه الشبه بينها إلى أثاث آخر قائم بذاته مثل أجهزة التلفزيون الخاصة بالكونسول. كنقطة نهاية إلكترونية لكابل مركزي ، كانت تسمى هذه الأجهزة أيضًا **بالمطاريف** .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								في نهاية المطاف تم استبدال طابعات TTY بشاشات أنبوب أشعة الكاثود (CRT) ، والتي كانت تستخدم أيضًا في أجهزة التلفزيون قبل توفر LCD والبلازما. ومن المثير للاهتمام أن أجهزة الكمبيوتر الحديثة من نظام لينكس لا يزال من الممكن التحكم فيها باستخدام آلة tty!
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								> انقر على الصورة أدناه للانتقال إلى فيديو قصير على Youtube.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								[](https://youtu.be/-Ul-f3hPJQM)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* * *
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### اليوم
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								واليوم ، لا يزال مستخدمو Linux و Unix يستخدمون نفس المصطلحات ، ولكن مع وجود اختلافات طفيفة. تتوفر المحطات الحقيقية والافتراضية ، ويمكن الوصول إلى المطاريف الافتراضية باستخدام Alt + Ctrl + \[F1-F12\] .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								في بيئات المستخدم الرسومية (GUI) ، يمكن للمستخدمين الوصول إلى موجه الأوامر باستخدام **محاكي طرفية** ، والذي يوفر ميزات tty ، ولكن داخل إطار. هناك العديد من المحاكيات الطرفية المتاحة لمستخدمي Linux ، مثل **xterm** و **kterm** و **rxvt** .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								ستعتمد تلك المتاحة على توزيع لينكس (توزيعة ، قصير) الذي تستخدمه ، والافتراضات الافتراضية. تحقق من مدير الحزم الخاص بك لتثبيت الآخرين. يمكن لمستخدمي Windows استخدام **PuTTY** أو أدوات مساعدة أخرى للاتصال بنظام Linux.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### شل
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								_Shell_ s هي برامج تقوم بتفسير الأوامر.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								هناك عدد منهم ، مثل [**B** ourne **A** gain **SH** ell](https://www.gnu.org/software/bash/) (BASH)، [C Shell](https://docs.freebsd.org/44doc/usd/04.csh/paper.html) (csh / tcsh)، و [Z SHell](http://zsh.sourceforge.net/) (zsh).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#### سحق
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								إن أكثر القوالب الافتراضية شيوعًا في Linux هي BASH ، ولكن يمكن لكل مستخدم التبديل مؤقتًا أو بشكل دائم إلى أي قشرة أخرى متوفرة. الغلاف قابل للنصوص بالكامل ، مما يعني أنه يمكن دمج مفاهيم البرمجة مع الأدوات المساعدة للنظام والأداة من أجل إنشاء وظائف أكثر تعقيدًا.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								قد يتم تضمين الأوامر التي تم إدخالها في موجه الأوامر إلى shell ، مثل **cd** أو **exit** أو **export** .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								كما يمكن أن تأتي من البرامج الخارجية ، وفي حالة معظم توزيعات Linux ، يتم توفيرها بواسطة [أدوات Gnu](https://www.gnu.org/software/coreutils/coreutils.html) .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								انظر أدناه للحصول على الأوامر الأكثر شيوعًا.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								| القيادة | الاستخدام | | -------- | ----------------------------------------- | | `cd` | تغيير الدليل الحالي | | `ls` | قائمة الملفات في الدليل الحالي | | `mv` نقل الملفات والدلائل | `man` وثائق القيادة مفتوحة | | `mkdir` | جعل دليل | | `rmdir` | حذف مدير | `touch` | إنشاء ملف فارغ | `rm` إزالة الملفات | | `ln` | إنشاء روابط للملفات والدلائل | `chown` | تغيير ملكية الملفات والدلائل | `chmod` | تغيير الأذونات | | `find` | تحديد موقع الملفات | | `cat` | يكتب الملفات إلى الإخراج القياسي | | `less` | يسمح التمرير من المدخلات القياسية | `grep` | البحث عن تطابقات بالنص العادي | `diff` | اظهار الفروق بين الملفات | | `passwd` | تغيير كلمة المرور الخاصة بك
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#### الحصول على مساعدة
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								المساعدة الفورية متاحة للأوامر في مكان واحد أو أكثر.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								إضافة `--help` بعد الأمر.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								هذا يطبع معلومات الاستخدام للأمر.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								إخراجها مشابه للأمر `man` ، ولكن يتم استخدام `man` قبل الأمر الذي تريده يدويًا.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يعد أمر `info` هو خيار المساعدة الثالث ، ويتم استخدامه تمامًا مثل `man` .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 `ls --help 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 man ls 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 info ls 
							 | 
						|||
| 
								 | 
							
								` 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### الموجه
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يمكن أن يتغير الموجه ، وهو جزء النص الموجود في الغلاف إلى يسار المؤشر ، ليعرض حالتك الحالية ، مثل أي دليل موجود حاليًا ، والمستخدم الذي قمت بتسجيل الدخول به ، واسم جهاز الكمبيوتر الخاص بك ، _وما امتيازات لديك_ .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								هذا الأخير المهم هو الاعتراف. عادة ما يكون آخر حرف في الموجه ، سترى `$` ، مما يشير إلى امتيازات المستخدم العادية.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								إذا كانت لديك امتيازات **الجذر** ، والتي تنتمي إلى مسؤول النظام ، فستشاهد عادةً `#` كحرف أخير. عند استعراض المنتديات والحصول على المساعدة عبر الإنترنت ، غالبًا ما يتم عرض الأوامر التي يجب عليك كتابتها باستخدام هذا الحرف.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**ليس عليك كتابته!**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								فمثلا:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 `$ ls -l 
							 | 
						|||
| 
								 | 
							
								` 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يعني كتابة `ls -l` في موجه عادي.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 `# apt-get install node 
							 | 
						|||
| 
								 | 
							
								` 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يعني أنك تكتب `apt-get install node` باستخدام امتيازات المشرف. تعتمد كيفية رفع الامتيازات على توزيع Linux الخاص بك.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### الحصول على الجذر
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#### تسجيل الدخول
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								تسجيل الدخول كجذر _فكرة سيئة للغاية_ . هذا هو السبب في أن بعض إصدارات Linux تعمل على تعطيل قدرة المستخدمين على تسجيل هذه الطريقة. يتم تشجيع هؤلاء المستخدمين على استخدام الطريقة التالية ، `sudo` من داخل حساب المستخدم الخاص بهم.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								إذا كان عليك استخدام وحدة التحكم الجذر ، فكن على دراية بقوة الجهاز. لن يتم تحذيرك أو مطالبتك بتأكيد معظم المهام ، حتى إذا كان الخطأ المطبعي البسيط يعني حذف شيء مهم.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#### سودو
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								إضافة "sudo" قبل أمر من أجل التحول إلى **S** uper **U** ser و **DO** (SUDO). هكذا يتم تكوين Ubuntu ومشتقاته للسماح بالوصول إلى المسؤول ، ويتم إعطاؤه على أساس كل أمر.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								لم يتم منحك shell root ، ولن يكون للأمر التالي الذي تكتبه امتيازات مرتفعة ، ما لم تستخدم `sudo` مرة أخرى.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 `sudo apt-get update 
							 | 
						|||
| 
								 | 
							
								` 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								باستثناء أول مستخدم تم إنشاؤه في بعض المواقع ، يجب إضافة المستخدمين إلى قائمة خاصة (موجودة في `/etc/sudoers` ) من أجل استخدام sudo.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يتم ذلك مع الأمر `visudo` .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يجب ألا تقوم مطلقًا بتحرير ملف `sudoers` باستخدام محرر نص عادي!
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								سوف `visudo` تأكد من أنك لا قفل نفسك من النظام الخاص بك.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#### سو
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								`su` ، مثل `sudo` ، يسمح لك بالتغيير إلى مستخدم آخر ، باستثناء أنه بشكل افتراضي ، ستحصل على مطالبة أخرى مثل المستخدم الذي قمت بالتبديل إليه.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								من تلقاء نفسه ، `su` إلى موجه جذر ، ولكن مع متغيرات بيئة المستخدم الحالية ، مثل `$HOME` للمجلد الرئيسي ، و `$PATH` لمسار النظام.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يمكن أن يؤدي ذلك إلى نتائج غير متوقعة ، وإذا كنت تريد استخدام `su` للتبديل إلى مستخدم آخر ، فأضِف واصلة بعد الأمر:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 `su - 
							 | 
						|||
| 
								 | 
							
								` 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								هذا سوف يحولك بشكل كامل إلى موجه الجذر.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يمكن إضافة اسم مستخدم إلى الأمر للتبديل إلى ذلك المستخدم ، ولكنه يتطلب كلمة مرور المستخدم.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يمكن استخدام `sudo` في تركيبة مع `su` للسماح للمدير بالتبديل إلى أي مستخدم.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 `myUser@linux $ su - otherUsername 
							 | 
						|||
| 
								 | 
							
								 Password: (typed my password) 
							 | 
						|||
| 
								 | 
							
								 su: Authentication failure 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 myUser@linux $ sudo su - otherUsername 
							 | 
						|||
| 
								 | 
							
								 Password: (typed my password) 
							 | 
						|||
| 
								 | 
							
								 otherUsername@Linux $ 
							 | 
						|||
| 
								 | 
							
								` 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### المسارات النسبية والمطلقة
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								عند استخدام أمر في ملف ، مثل النسخ أو الحذف ، يمكنك الرجوع إلى الملف بإحدى طريقتين.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#### نسبيا
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								موقع الملف بالنسبة إلى الدليل الحالي.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								هناك عاملان مسار نسبي في شل ، `.` و `..`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								الأول ، `.` يعني الدليل الحالي ، لذا فإن `cat file.txt` `cat ./file.txt` و `cat ./file.txt` هما نفس الشيء إذا كان `cat ./file.txt` في الدليل الحالي.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								الآخر هو `..` ، ويعني دليل واحد في الشجرة.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								إذا كنت في `/home/user/projects/project-a` وقمت بإصدار الأمر `cd ..` إلى `/home/user/projects` .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								إذا كان دليل المشاريع يحتوي على أدلة فرعية باسم `project-a` و `project-b` و `project-c` وكنت في دليل `project-a` ، فيمكنك التبديل إلى `project-b` باستخدام `cd ../project-b` .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يوجد أيضاً `environment variable` في shell يسمى `$HOME` والذي يشير إلى الدليل الرئيسي الخاص بك.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يمكنك استخدام هذا في BASH باستخدام حرف التلدة `~` .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								تحل الصدفة محل التلدة عندما تضغط على enter ، فعلى سبيل المثال ، يمكنك التغيير إلى مجلد منزلك باستخدام `cd ~` .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#### مطلق
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								مواقع الملفات هي المسار الكامل من جذر نظام الملفات ، ولديك دائمًا شرطة مائلة.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								على سبيل المثال ، سيذهب `cd /home/quincy/Desktop` إلى دليل سطح المكتب في Quincy ، بغض النظر عن المسار الحالي أو المستخدم.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### خيارات القيادة
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								تتبع معظم أوامر shell نفس بناء الجملة ، وهي **ملفات خيارات الأوامر** .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 `ls -l *.txt 
							 | 
						|||
| 
								 | 
							
								` 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								أين
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*   `ls` يعطي قائمة من الملفات والدلائل ،
							 | 
						|||
| 
								 | 
							
								*   `-l` يغير ناتج `ls` إلى قائمة طويلة ،
							 | 
						|||
| 
								 | 
							
								*   و `*.txt` بتقييد القائمة بالملفات التي تنتهي بـ `.txt` .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								لكل أمر خيارات مختلفة ، ويمكن إدراج خيارات متعددة معًا ، كما في tar `tar -cvf` في القسم التالي.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يمكن توصيل الأوامر الفردية معًا في سلسلة ، حيث يصبح إخراج أمر واحد هو الإدخال إلى أمر آخر.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يتم ذلك مع `|` الحرف ، وغالبا ما تسمى **الأنابيب** أو **شريط** . هذا ليس رأس مال i أو حرف L صغير ، ولا هو الرقم 1 . على لوحات المفاتيح الأمريكية ، تم العثور على أحد المفاتيح بالقرب من Enter .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								في المثال التالي ، سأستخدم أمرين.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								أول ، `cat` ، قصيرة لسلسلة ، ويمكن استخدامها لوضع محتويات ملف واحد في نهاية آخر (سَلسَلة!). عند استخدامه مع ملف واحد فقط ، فإنه يكتب المحتويات إلى المحطة.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								الأمر الثاني ، `grep` هو برنامج يخرج النص الموجود بناءً على بعض المدخلات ، ونمط بحث. يمكن أن يكون نمط البحث عبارة عن نص بسيط ، أو تعبير عادي (تعبير عادي) لعمليات بحث أكثر تقدمًا.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 `cat index.html | grep img 
							 | 
						|||
| 
								 | 
							
								` 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								هناك العديد من الطرق للقيام بذلك ، ولكن هذا سيخرج كل سطر في index.html يحتوي على `img` إلى المحطة الطرفية. يستخدم هذا المثال واحد فقط `|` ، لكنك لا تقتصر على ذلك.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### تسلسل الأوامر
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								في حين أن عامل العطف الوحيد `&` هو عامل التحكم في الوظيفة في BASH (المقطع التالي) ، فإن علامة الضم المزدوجة لها معنى آخر. ومن المنطقي **AND** ، واستخدامه بين أمرين بحيث يتم تشغيل الأمر الثاني فقط إذا تم الخروج الأول بنجاح (بدون خطأ).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								المثال التالي هو عدد مستخدمي دبيان وأوبونتو الذين يقومون بتحديث قائمة البرامج الخاصة بهم ، ثم قم بتشغيل ترقية النظام.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 `sudo apt-get update && sudo apt-get dist-upgrade 
							 | 
						|||
| 
								 | 
							
								` 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								خيار آخر هو أنبوب مزدوج `||` مما يعني منطقية **OR** . يمكنك استخدامه عندما تريد تشغيل أمر فقط عندما يخرج الأول بخطأ.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								سوف يقوم ما يلي بإنشاء أرشيف يسمى `project.tar` على سطح مكتب المستخدم من الملفات الموجودة في دليل مشروع ، وإذا فشل ذلك ، صدى رسالة.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 `tar -cvf /home/user/Desktop/project.tar /home/user/project/* || echo "archive failed" 
							 | 
						|||
| 
								 | 
							
								` 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### وظائف الخلفية
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								عندما تقوم بتشغيل أمر في مطراف ، تكون المحطة مشغولة حتى يتم الانتهاء من الأمر ، ولا يمكن تشغيل أوامر أخرى. هناك نظام للتحكم في الوظائف في لينكس يسمح لك بتعليق أوامر التشغيل واستئناف الأوامر المعلقة في الخلفية واستئناف الأوامر الموقوفة في المقدمة.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								هذا مفيد للنصوص النصية التي تعمل منذ فترة طويلة ، أو عندما تحتاج إلى إدخال شيء ما في الخلفية حتى يمكن استخدام الجهاز لأشياء أخرى.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								o تعليق برنامج قيد التشغيل في المحطة الطرفية استخدم تركيبة المفاتيح Ctrl + Z.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								ستعود إلى المطالبة العادية ، ويبدو أن الأمر قد انتهى. لم يحدث ذلك ، ولكن تم تعليقه فقط. ما زال مرئيًا في قائمة `jobs` باستخدام أمر `jobs` لإدراج جميع الوظائف المتعقبة حاليًا. فعلت `man ls` للحصول على صفحة دليل ، ومن ثم علقت.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								عندما أكتب `jobs` أحصل على الناتج التالي:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 `$ jobs 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 [1]  + suspended  man ls 
							 | 
						|||
| 
								 | 
							
								` 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								من هنا ، يمكنني السماح باستئنافها في الخلفية بكتابة `bg %1` حيث `1` هو رقم المهمة الموجود بين الأقواس المربعة.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								يمكنني إعادته إلى المقدمة بكتابة `fg %1` .
							 |