![]() | ![]() | ![]() |
![]() |
| |||||||
![]() |
| | خيارات الموضوع | طريقة العرض |
|
#11
| |||
| | |||
| Arab Penguin .. أنت رائع بحق .. شرح وافي كافي و لا أحلى منه .. بس انتظر أخلص تنزيل و تحميل السوزي .. و راح أجيلك و نشوف الموضوع ماشي كيف .. تحياتي لك أيها المبدع |
|
#12
| |||
| | |||
| رد: مقدمة عن أنواع الشيل وبعض الأوامر الهامة فى لينوكس جزاك اللة الف خير اخوي على الشرح الاكثر من رائع |
|
#13
| |||
| | |||
| رد: مقدمة عن أنواع الشيل وبعض الأوامر الهامة فى لينوكس إبداع و مشكووور |
|
#14
| |||
| | |||
| رد: مقدمة عن أنواع الشيل وبعض الأوامر الهامة فى لينوكس Gazakom Allah 7'ayeraa. Excellent information ... |
|
#15
| |||
| | |||
| رد: مقدمة عن أنواع الشيل وبعض الأوامر الهامة فى لينوكس قبل أن أخوض فى درس اليوم أريد فقط أن نرجع الى الأمر CD لكى نفصل بين أمرين مهمين جدا فلو سألتك سؤالا بسيطا يا أخى الكريم ما الفرق بين الأمرين التاليين: cd ahmed cd /home/ahmed أرجو يا أخى أن تعيرنى الأهتمام قليلا :- الأول يقوم بتغيير المجلد أو Directory الحالى الى المجلد ahmed الموجود فى نفس المجلد الحالى للتوضيح أكثر : لو أنك مثلا فى المجلد var ( ويمكن أن تعرف المسار الحالى أو المجلد الحالى كما قلنا سابقا من خلال الأمر pwd ) وأردت تنفيذ الأمر الأول يجب أن يكون لديك مجلد يسمى ahmed داخل هذا المجلد (var ) وهو يسمى فى هذه الحالة بالمجلد الأب . أما الأمر الثانى فهو يقوم بتغيير المسار الحالى أو المجلد الحالى الى المجلد home/ahmed/ أى الى المجلد ahmed الموجود داخل المجلد home ويمكنك تنفيذ هذا الأمر وأنت فى أى مجلد . فى المرة السابقة توقفنا عند أمر ln وقلنا أنه يقوم بعمل Shortcut او link لملف أو مجلد من المجلدات وطلبت منك أن تراجع هذا الأمر بنفسك وهذا الأمر لا أريدك أن تعرف عنه الكثير من الخيارات ربما الخيار الوحيد الذى ستستخدمه هو s- وهو يقوم بعمل symbolic links بدلا من hard link . كود: [ahmed@localhost ahmed]$ ln -s /etc/fstab /home/ahmed [ahmed@localhost ahmed]$ كود: [ahmed@localhost ahmed]$ ls Desktop/ fstab@ tmp/ [ahmed@localhost ahmed]$ الأمر find : يستخدم الأمر find للبحث عن الملفات والمجلدات الموجودة لديك أو بعبارة أخرى يقوم بعمل Search على أى ملف تريده وفى أى مكان تريد أن يبحث فيه ويستخدم هكذا : كود: [ahmed@localhost ahmed]$ find [المكان المراد البحث فيه] -name [اسم الملف المراد البحث عنه] لو أننا نريد أن نبحث عن الملف javac فى المجلد usr/java/ سنقوم بالأتى : كود: [ahmed@localhost ahmed]$ find /usr/java -name javac /usr/java/jdk1.5.0_04/bin/javac [ahmed@localhost ahmed]$ مثال آخر : نريد أن نبحث عن الملف bash1 فى المجلد usr/ : كود: [ahmed@localhost ahmed]$ find /usr/bin -name bash1 /usr/bin/bash1 [ahmed@localhost ahmed]$ ويجب هنا أن نذكر بعض الخيارات الأخرى التى تجعل عملية البحث أكثر مرونة وقوة مثل البحث عن الملفات عن طريق التاريخ !!!!! مثال : فى المثال السابق قمنا بالبحث عن طريق الأسم فقط لكن هنا سنقوم بالبحث عن طريق النوع أو الخصائص مثل البحث عن الأوامر أو البرامج التى لم يتم استخدامها فى خلال ال ٧ أيام الماضية أستخدم الأمر find مع الخيار type- كما يلى : [ahmed@localhost ahmed]$ find /usr/bin -type f -atime +7 والنتيجة كما لاحظت تكون كبيرة ( ربما لديك تكون صغيرة ) ولذلك سأعرض منها جزءا قليلا كود: ........................ ........................ /usr/bin/xdvizilla /usr/bin/mytool /usr/bin/uniconv /usr/bin/uniprint /usr/bin/yudit /usr/bin/progen /usr/bin/tmake /usr/bin/cu /usr/bin/uucp /usr/bin/uulog /usr/bin/uuname /usr/bin/uupick /usr/bin/uustat /usr/bin/uuto /usr/bin/uux /usr/bin/ukxim /usr/bin/unikey /usr/bin/acpi /usr/bin/acroread /usr/bin/genkdmconf /usr/bin/kdm_config /usr/bin/kdm_greet /usr/bin/krootimage [ahmed@localhost ahmed]$ كما أن أمر find يدعم ال wild card مثل (*,? ) : مثلا يا سيدي لو أنك تريد أن تبحث عن كل الملفات التى تنتهى بالإمتداد so. كود: [ahmed@localhost ahmed]$ find /usr/lib -name *.so أرجو أن تأخذ قسطا من الراحة أو تطبيق ما قمنا بشرحه من أوامر حتى الآن حتى تثبت المعلومة . استمر>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
|
#16
| |||
| | |||
| رد: مقدمة عن أنواع الشيل وبعض الأوامر الهامة فى لينوكس الأمر Whereis يستطيع هذا الأمر البحث بسرعة عن الملفات وخصوصا الأوامر ويقوم بعرض معلومات عنها كما سنرى: بالتأكيد تتذكر الأمر find الذى شرحناه للتو . الآن أنا أريد أن أعرف أين يقع هذا الأمر فى جهازى وأين يوجد الmanual الخاص به : كود: [ahmed@localhost ahmed]$ whereis find find: /bin/find /usr/bin/find /usr/share/man/man1/find.1.bz2 [ahmed@localhost ahmed]$ ولعرض النسخة الbinary فقط من الامر whereis استخدم الخيار b- هكذا : كود: [ahmed@localhost ahmed]$ whereis -b find find: /bin/find /usr/bin/find [ahmed@localhost ahmed]$ الأمر locate : اذا لم يكفيك find و whereis فى عمليات البحث التى تجريها فلا تقلق يا عزيزى فأخونا لينوكس أو بالأحرى أخونا Shell يفكر فيما تفكر فيه ويحاول أن يوفر لك كل ما تحتاجه وما لا تحتاجه أيضا . أمر locate يقوم باستخدام قاعدة بيانات لأسماء الملفات وأماكنها وبذلك نكون قد وفرنا الوقت فى عمليه البحث فبدلا من أن يتم البحث فى جميع الملفات الموجودة فى الجهاز أو التى حددتها يقوم الأمر بالبحث فى قاعدة البيانات التى بناها والتى تحتوى على أسماء كل الملفات على جهازك . وقبل أن تقوم باستخدام هذا الأمر لأول مرة يجب أولا أن تقوم بعمل قاعدة البيانات !!! ايه ؟؟؟ مش أنت ياعم لسة بتقول أن ال shell ده مرن وسهل ؟ قاعدة بيانات ايه الى عايزنى أعملها ؟ أقول لك لا تقلق يا عزيزى والله العظيم أخونا shell مظلوم بس أصبر شوية . شوف يا سيدي كل ما عليك هو أن أنت تدخل لحساب ال Super User أو Root وذلك بالأمر su كما قلنا سابقا وبعد ذلك تدخل ال password وبعدها أكتب الأمر updatedb وأنتظر لحظات لكى يقوم بعمل قاعدة البيانات وبعدها يكون الملف الذى يحتوى على أسماء ومسارات الملفات موجود لديك ويمكنك بعدها استخدام الأمر locate بسهولة . مثال نريد أن نبحث عن الملفات التى يكون امتدادها so : كود: [ahmed@localhost ahmed]$ locate *.so ويجب أن أشير هنا الى موضوع أو ملحوظة أجلتها قليلا وجاء وقتها وهى أنك تستطيع تعرف معلومات مختصرة عن أى أمر عن طريق الخيار help-- حيث يعطيك نبذة عن الأمر وعن الخيارات الموجودة مع هذا الأمر وكذلك وظيفة كل خيار : مثلا لو أردت اظهار بعض المعلومات المختصرة عن الأمر ls : كود: [ahmed@localhost ahmed]$ ls -- help كود: Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuSUX nor --sort.
Mandatory arguments to long options are mandatory for short options too.
-a, --all do not hide entries starting with .
-A, --almost-all do not list implied . and ..
--author print the author of each file
-b, --escape print octal escapes for nongraphic characters
--block-size=SIZE use SIZE-byte blocks
-B, --ignore-backups do not list implied entries ending with ~
-c with -lt: sort by, and show, ctime (time of last
modification of file status information)
with -l: show ctime and sort by name
otherwise: sort by ctime
-C list entries by columns
--color[=WHEN] control whether color is used to distinguish file
types. WHEN may be `never', `always', or `auto'
-d, --directory list directory entries instead of contents,
and do not dereference symbolic links
-D, --dired generate output designed for Emacs' dired mode
-f do not sort, enable -aU, disable -lst
-F, --classify append indicator (one of */=@|) to entries
--format=WORD across -x, commas -m, horizontal -x, long -l,
single-column -1, verbose -l, vertical -C
--full-time like -l --time-style=full-iso
-g like -l, but do not list owner
-G, --no-group inhibit display of group information
-h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)
--si likewise, but use powers of 1000 not 1024
-H, --dereference-command-line
follow symbolic links listed on the command line
--dereference-command-line-symlink-to-dir
follow each command line symbolic link
that points to a directory
--indicator-style=WORD append indicator with style WORD to entry names:
none (default), classify (-F), file-type (-p)
-i, --inode print index number of each file
-I, --ignore=PATTERN do not list implied entries matching shell PATTERN
-k like --block-size=1K
-l use a long listing format
-L, --dereference when showing file information for a symbolic
link, show information for the file the link
references rather than for the link itself
-m fill width with a comma separated list of entries
-n, --numeric-uid-gid like -l, but list numeric UIDs and GIDs
-N, --literal print raw entry names (don't treat e.g. control
characters specially)
-o like -l, but do not list group information
-p, --file-type append indicator (one of /=@|) to entries
-q, --hide-control-chars print ? instead of non graphic characters
--show-control-chars show non graphic characters as-is (default
unless program is `ls' and output is a terminal)
-Q, --quote-name enclose entry names in double quotes
--quoting-style=WORD use quoting style WORD for entry names:
literal, locale, shell, shell-always, c, escape
-r, --reverse reverse order while sorting
-R, --recursive list subdirectories recursively
-s, --size print size of each file, in blocks
-S sort by file size
--sort=WORD extension -X, none -U, size -S, time -t,
version -v
status -c, time -t, atime -u, access -u, use -u
--time=WORD show time as WORD instead of modification time:
atime, access, use, ctime or status; use
specified time as sort key if --sort=time
--time-style=STYLE show times using style STYLE:
full-iso, long-iso, iso, locale, +FORMAT
FORMAT is interpreted like `date'; if FORMAT is
FORMAT1<newline>FORMAT2, FORMAT1 applies to
non-recent files and FORMAT2 to recent files;
if STYLE is prefixed with `posix-', STYLE
takes effect only outside the POSIX locale
-t sort by modification time
-T, --tabsize=COLS assume tab stops at each COLS instead of 8
-u with -lt: sort by, and show, access time
with -l: show access time and sort by name
otherwise: sort by access time
-U do not sort; list entries in directory order
-v sort by version
-w, --width=COLS assume screen width instead of current value
-x list entries by lines instead of by columns
-X sort alphabetically by entry extension
-1 list one file per line
--help display this help and exit
--version output version information and exit
SIZE may be (or may be an integer optionally followed by) one of following:
kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.
By default, color is not used to distinguish types of files. That is
equivalent to using --color=none. Using the --color option without the
optional WHEN argument is equivalent to using --color=always. With
--color=auto, color codes are output only if standard output is connected
to a terminal (tty).
Report bugs to <bug-coreutils@gnu.org>.
[ahmed@localhost ahmed]$ وهناك أيضا أمر يسمى whatis يقوم بعرض معلومات مختصرة عن الأوامر وهو كالأمر السابق locate يحتاج الى قاعدة بيانات خاصة به ويجب تكوين هذه القاعدة قبل استخدام هذا الأمر لأول مرة بالدخول الى حساب المستخدم root وكتابة الأمر makewhatis وانتظر بعض الوقت لكى يكون القاعدة . وبعدها استخدم الامر whatis بسهولة . مثال : نريد أن نعرف معلومات أو وظيفة أمر ما أكتب الأمر whatis متبوعا بأسم الأمر الذى تريده هكذا : كود: [ahmed@localhost ahmed]$ whatis ls ls (1) - list directory contents [ahmed@localhost ahmed]$ ///////////////////////////////////////////////////////// [ahmed@localhost ahmed]$ whatis find find (1) - search for files in a directory hierarchy [ahmed@localhost ahmed]$ أنا لا أريد أن أعرف وظيفة الأمر ؟؟ أنا لدى الوظيفة فعلا ولكنى لا أعرف ما هو الأمر !!!!!!! أو ربما يكون السؤال بصيغة أخرى : أنا لا أعرف الأمر الذى أريد أن أستخدمه لعمل وظيفة معينة ؟؟؟ أيا كان صيغة السؤال فالإجابة موجودة :- لدينا أمر جميل جدا اسمه apropos وهو يستخدم الdatabase التى يستخدمها الأمر whatis لكن بطريقة مختلفة . مثال : لو لديك الوظيفة أو المهمة وهى مثلا تريد أن تبحث Search فى الجهاز عن ملف معين ولا تعرف كيف تقوم بوظيفة البحث هذه ولا تعرف ما هو الأمر أو الأوامر التى تستخدمها ماذا تفعل اذن؟؟؟ الإجابة : سينصحك أحد أصدقاءك العباقرة ويقول لك سيبك من النظام ( المعفن ) ده ياعم هو فيه أحسن من الويندوز اللى الواحد بيبقى قاعد زى الباشا وهو بيعمل كل حاجة ! ربما يكون جزء من نصيحة صديقك العبقرى صحيحا لكن صديقك هذا لا يعرف الكثير من المعلومات الدقيقة . ايه يا سيدى اللى أنت عايز تعمله ؟؟ ج: أنا عايز أعمل search . خلاص يا عم أكتب الأمر apropos متبوعا بكلمة Search وشوف النتيجة . كود: [ahmed@localhost ahmed]$ apropos search كود: apropos (1) - search the whatis database for strings badblocks (8) - search a device for bad blocks bsearch (3) - binary search of a sorted array find (1) - search for files in a directory hierarchy gnome-search-tool (1) - the GNOME Search Tool hcreate [hsearch] (3) - hash table management hdestroy [hsearch] (3) - hash table management hsearch (3) - hash table management lfind [lsearch] (3) - linear search of an array lkbib (1) - search bibliographic databases lookbib (1) - search bibliographic databases look [Search::Dict] (3pm) - search for key in dictionary file lsearch (3) - linear search of an array lsearch (n) - See if a list contains a particular element manpath [man] (1) - determine user's search path for man pages Net::LDAP::Reference (3pm) - search reference Net::LDAP::Search (3pm) - Object returned by Net::LDAP search method res_search [resolver] (3) - resolver routines Search::Dict (3pm) - search for key in dictionary file strcspn [strspn] (3) - search a string for a set of characters strpbrk (3) - search a string for any of a set of characters strspn (3) - search a string for a set of characters tdelete [tsearch] (3) - manage a binary tree tfind [tsearch] (3) - manage a binary tree tsearch (3) - manage a binary tree twalk [tsearch] (3) - manage a binary tree wcschr (3) - search a wide character in a wide-character string wcscspn (3) - search a wide-character string for any of a set of wide characters wcspbrk (3) - search a wide-character string for any of a set of wide characters wcsrchr (3) - search a wide character in a wide-character string whatis (1) - search the whatis database for complete words wmemchr (3) - search a wide character in a wide-character array zgrep (1) - search possibly compressed files for a regular expression zipgrep (1) - search files in a ZIP archive for lines matching a pattern bsearch (3) - binary search of a sorted array hcreate [hsearch] (3) - hash table management hdestroy [hsearch] (3) - hash table management hsearch (3) - hash table management lfind [lsearch] (3) - linear search of an array lsearch (3) - linear search of an array res_search [resolver] (3) - resolver routines strcspn [strspn] (3) - search a string for a set of characters strpbrk (3) - search a string for any of a set of characters strspn (3) - search a string for a set of characters tdelete [tsearch] (3) - manage a binary tree tfind [tsearch] (3) - manage a binary tree tsearch (3) - manage a binary tree twalk [tsearch] (3) - manage a binary tree wcschr (3) - search a wide character in a wide-character string wcscspn (3) - search a wide-character string for any of a set of wide characters wcspbrk (3) - search a wide-character string for any of a set of wide characters wcsrchr (3) - search a wide character in a wide-character string wmemchr (3) - search a wide character in a wide-character array [ahmed@localhost ahmed]$ ارجو أن تكون قد أدركت هذا الواقع . ويجدر بنا الأشارة هنا أنه يمكنك استخدام أمر man السابق لكى يقوم بنفس مهمة الأمر apropos ولكن الأمر man نستخدمه هنا مع الخيار k- ولكن سيكون البحث بطىء قليلا .... جرب هذا كود: [ahmed@localhost ahmed]$ man -k search كود: apropos (1) - search the whatis database for strings badblocks (8) - search a device for bad blocks bsearch (3) - binary search of a sorted array find (1) - search for files in a directory hierarchy gnome-search-tool (1) - the GNOME Search Tool hcreate [hsearch] (3) - hash table management hdestroy [hsearch] (3) - hash table management hsearch (3) - hash table management lfind [lsearch] (3) - linear search of an array lkbib (1) - search bibliographic databases lookbib (1) - search bibliographic databases look [Search::Dict] (3pm) - search for key in dictionary file lsearch (3) - linear search of an array lsearch (n) - See if a list contains a particular element manpath [man] (1) - determine user's search path for man pages Net::LDAP::Reference (3pm) - search reference Net::LDAP::Search (3pm) - Object returned by Net::LDAP search method res_search [resolver] (3) - resolver routines Search::Dict (3pm) - search for key in dictionary file strcspn [strspn] (3) - search a string for a set of characters strpbrk (3) - search a string for any of a set of characters strspn (3) - search a string for a set of characters tdelete [tsearch] (3) - manage a binary tree tfind [tsearch] (3) - manage a binary tree tsearch (3) - manage a binary tree twalk [tsearch] (3) - manage a binary tree wcschr (3) - search a wide character in a wide-character string wcscspn (3) - search a wide-character string for any of a set of wide characters wcspbrk (3) - search a wide-character string for any of a set of wide characters wcsrchr (3) - search a wide character in a wide-character string whatis (1) - search the whatis database for complete words wmemchr (3) - search a wide character in a wide-character array zgrep (1) - search possibly compressed files for a regular expression zipgrep (1) - search files in a ZIP archive for lines matching a pattern bsearch (3) - binary search of a sorted array hcreate [hsearch] (3) - hash table management hdestroy [hsearch] (3) - hash table management hsearch (3) - hash table management lfind [lsearch] (3) - linear search of an array lsearch (3) - linear search of an array res_search [resolver] (3) - resolver routines strcspn [strspn] (3) - search a string for a set of characters strpbrk (3) - search a string for any of a set of characters strspn (3) - search a string for a set of characters tdelete [tsearch] (3) - manage a binary tree tfind [tsearch] (3) - manage a binary tree tsearch (3) - manage a binary tree twalk [tsearch] (3) - manage a binary tree wcschr (3) - search a wide character in a wide-character string wcscspn (3) - search a wide-character string for any of a set of wide characters wcspbrk (3) - search a wide-character string for any of a set of wide characters wcsrchr (3) - search a wide character in a wide-character string wmemchr (3) - search a wide character in a wide-character array [ahmed@localhost ahmed]$ أرجو أن تكون قد استفدت يا أخى الكريم من هذا الدرس وأرجو الله تعالى أن يعيننى ويساعدنى فى أنجاز باقى الدروس وكذلك مساعدتى على اخراجها بشكل ملائم ودقيق . كود: والى اللقاء بإذن الله تعالى . |
|
#17
| |||
| | |||
| رد: مقدمة عن أنواع الشيل وبعض الأوامر الهامة فى لينوكس ضغط وفك ضغط الملفات سأحاول بإذن الله تعالى تقديم بعض الأساسيات فى موضوع ضغط وفك ضغط الملفات والأرشيفات وستكون فاتحة جيدة لك فى أمر مهم جدا . أولا يجب أن نتطرق الى ما هى الأرشيفات وكيف أقوم بعملها ؟ كلمة أرشيف تعنى مجموعة من الملفات والمجلدات موجودة مع بعضها البعض فى مكان واحد . ويتم التعامل معها على أنها ملف واحد ! كيفية عمل الأرشيف Archive : لعمل أرشيف من الملفات أو المجلدات أو الأثنين معا بإستخدام الأمر tar وهو يعنى Tape ARchive . وهذا البرنامج له جذور عميقة فى الحاسب الآلى قبل ظهور ال Hard disks أو Floppy drives أو CD-ROM's فكانت البرامج أو Software عموما يوزع ويخزن على الشرائط المغناطيسية وكان من أول البرامج التى تم استخدامها على الحاسب لقراءة المعلومات المخزنة على هذه الشرائط هو قارىء الأشرطة أو Tape reader وتم تطوير البرنامج بمرور الوقت وتم استخدام البرنامج فى عمل الPackaging أو التعبئة للبرامج المستخدمة على اللينوكس ( لاحظ أن معظم التوزيعات مثل Redhat و Fedora و Mandrake تستخدم برنامج rpm وهناك توزيعات أخرى لديها نظام تعبئة Packaging خاص بها مثل deb الموجود فى ال Debian ) . يمكنك عمل أرشيف من النوع tar عن طريق الأمر tar : مثال سنقوم الآن بعمل مجلد سنسميه مثلا arabteam وقم بعمل 3 ملفات بداخله وسمها file1 ,file2 ,file3 هكذا : كود: [ahmed@localhost ahmed]$ mkdir arabteam [ahmed@localhost ahmed]$ cd arabteam [ahmed@localhost arabteam]$ touch file1 file2 file3 [ahmed@localhost arabteam]$ وقم أيضا بعمل ثلاث ملفات جديدة file21 ,file22 ,file23 داخل المجلد الفرعى sub_arabteam . كود: [ahmed@localhost arabteam]$ mkdir sub_arabteam [ahmed@localhost arabteam]$ cd sub_arabteam [ahmed@localhost sub_arabteam]$ touch file21 file22 file23 [ahmed@localhost sub_arabteam]$ كود: [ahmed@localhost sub_arabteam]$ cd ../..
[ahmed@localhost ahmed]$ tree arabteam
arabteam
|-- file1
|-- file2
|-- file3
`-- sub_arabteam
|-- file21
|-- file22
`-- file23
1 directory, 6 files
[ahmed@localhost ahmed]$ نرجع الى موضوعنا فنحن نريد عمل أرشيف وليكن عمل أرشيف من المجلد arabteam . حسنا قم بكتابة الأمر tar متبوعا بالخيار c- ( وهو يعنى create) وكذلك الخيار f- ( وهو يعنى file) ثم أسم الأرشيف وليكن arabteam.tar وفى النهاية اسم المجلد المراد عمل الأرشيف منه هكذا : كود: [ahmed@localhost ahmed]$ tar -cf arabteam.tar arabteam [ahmed@localhost ahmed]$ كود: [ahmed@localhost ahmed]$ tar -cvf arabteam.tar arabteam arabteam/ arabteam/file1 arabteam/file2 arabteam/file3 arabteam/sub_arabteam/ arabteam/sub_arabteam/file21 arabteam/sub_arabteam/file22 arabteam/sub_arabteam/file23 [ahmed@localhost ahmed]$ ولو كنت تريد أضافة عدد معين فقط من الملفات ولا تريد إضافة ملفات أخرى موجودة داخل أحد المجلدات الفرعية أو تحت المجلد الرئيسى : استخدم الخيار cwf ولا حظ أن الترتيب مهم يعنى cwf لا تساوى fwc : كود: [ahmed@localhost ahmed]$ tar -cwf arabteam.tar arabteam add `arabteam'?y add `arabteam/file1'?n add `arabteam/file2'?n add `arabteam/file3'?y add `arabteam/sub_arabteam'?y add `arabteam/sub_arabteam/file21'?y add `arabteam/sub_arabteam/file22'?n add `arabteam/sub_arabteam/file23'?y [ahmed@localhost ahmed]$ أستخدم الخيار tf- هكذا : ولاحظ أيضا الترتيب فى الخيارات مهم . كود: [ahmed@localhost ahmed]$ tar -tf arabteam.tar arabteam/ arabteam/file3 arabteam/sub_arabteam/ arabteam/sub_arabteam/file21 arabteam/sub_arabteam/file23 [ahmed@localhost ahmed]$ أولا لكى تستخرج محتويات أرشيف ما استخدم الخيار -x مع الخيار v- وكذلك الخيار f- لكى يصبح الخيار كله xvf- ( ملحوظة : دائما اجعل الخيار f هو الأخير اذا اتى معه خيار آخر ) : كود: [ahmed@localhost ahmed]$ tar -xvf arabteam.tar arabteam/ arabteam/file3 arabteam/sub_arabteam/ arabteam/sub_arabteam/file21 arabteam/sub_arabteam/file23 [ahmed@localhost ahmed]$ كود: [ahmed@localhost ahmed]$ tar -xvwf arabteam.tar extract `arabteam'?y arabteam/ extract `arabteam/file3'?y arabteam/file3 extract `arabteam/sub_arabteam'?y arabteam/sub_arabteam/ extract `arabteam/sub_arabteam/file21'?n extract `arabteam/sub_arabteam/file23'?y arabteam/sub_arabteam/file23 [ahmed@localhost ahmed]$ مثلا لو أنك تريد استخراج الملف file23 الموجود داخل المجلد الفرعى sub_arabteam فقم بكتابة الأمر tar متبوعا بالخيار xf- متبوعا باسم الأرشيف متبوعا بمسار الملف الذى تريد استخراجه : كود: [ahmed@localhost ahmed]$ tar -xf arabteam.tar arabteam/sub_arabteam/file23 [ahmed@localhost ahmed]$ أمر cpio يستطيع نسخ الملفات من أو الى أرشيف تم عمله باستخدام برنامج tar أو ارشيف جديد من النوع cpio . لكن هناك ميزة فى cpio وهى أنه متوافق مع ال tar يعنى يقوم بنفس وظائف الtar بالإضافة الى وظائف أخرى خاصة به ولكن نادر جدا لو رأيت برنامج أو ملفات أرشيفية معموله بهذا البرنامج Cpio لذلك اذا أردت المزيد عنه اقرأ الhelp أو ال man pages الخاصة به . ضغط الملفات باستخدام gzip أمر gzip لضغط الملفات هذا الأمر ليس لتوفير المساحة فقط ولكن بضمه مع ال tar يصبحان أكثر هيئات تعبئة وضغط برامج اللينوكس . بالتأكيد أو ربما دخلت يوما ما الى ألأنترنت لكى تبحث عن برنامج ما وبالتأكيــــــــــــــــــــد وجدته وقمت بتنزيله على جهازك وفى النهايه وجدت أن الملف ينتهى بالإمتداد tar.gz. أو tgz. أو ربما وأنت تبحث فى جهازك وجدت الكثير من الوثائق Documentations الموجودة على جهازك مضغوطة بهذه الضيغة ( لاحظ أن gzip يقوم بضغط الملفات من النوع text بنسبة تتراوح بين 60-70 % ) . ويجب أن نشير الى نقطة مهمة قبل أن نبدأ باستخدام gzip وهى أنه يمكنك أن تضغط ملفات عادية أو تقوم بضغط الأرشيفات من النوع tar . أولا لكى نضغط أرشيف من النوع tar : أكتب الأمر gzip متبوعا بإسم الأرشيف : كود: [ahmed@localhost ahmed]$ gzip arabteam.tar [ahmed@localhost ahmed]$ كود: [ahmed@localhost ahmed]$ ls arabteam/ CppEssentials.pdf fstab@ tmp/ arabteam.tar.gz Desktop/ messege.txt [ahmed@localhost ahmed]$ الأجابة هى أن الأمر gzip يقوم بحذف الملف الأصلى بعد ضغطه . تلاحظ من النتيجة السابقة أن الأمر gzip قام بضغط الأرشيف السابق لكنه وضع له الإمتداد gz. فأصبح أسم الملف الجديد arabteam.tar.gz لكن ليس gz. هو الإمتداد الوحيد فقط لكن هناك gzip. ولكن ال Default أو الإمتداد الإعتيادى هو gz. أما بالنسبة لضغط الملفات غير الأرشيفات أستخدم الأمر gzip متبوعا بإسم الملف : كود: gzip filename كود: [ahmed@localhost ahmed]$ gzip -9 arabteam.tar [ahmed@localhost ahmed]$ هناك خيارا آخرا لكى تغير به الإمتداد للملف المضغوط فكما قلنا سابقا أن الملف المضغوط يخرج بالإمتداد gz. فلو أردنا أن يخرج بالإمتداد gzip. مثلا فماذا نفعل ؟ فقط استخدم الخيار S- وهو يعنى ال suffix متبوعا بالإمتداد المطلوب هكذا : كود: [ahmed@localhost ahmed]$ gzip -S .gzip arabteam.tar [ahmed@localhost ahmed]$ ls arabteam/ CppEssentials.pdf fstab@ tmp/ arabteam.tar.gzip Desktop/ messege.txt [ahmed@localhost ahmed]$ كود: [ahmed@localhost ahmed]$ gzip -l arabteam.tar.gzip
compressed uncompr. ratio uncompressed_name
214 10240 98.2% arabteam.tar.gzip
[ahmed@localhost ahmed]$ كود: [ahmed@localhost ahmed]$ gzip -tv arabteam.tar.gzip arabteam.tar.gzip: OK [ahmed@localhost ahmed]$ كود: سبحان الله وبحمده سبحان الله العظيم |
|
#18
| |||
| | |||
| رد: مقدمة عن أنواع الشيل وبعض الأوامر الهامة فى لينوكس جزاك الله خيرا |
|
#19
| ||||
| | ||||
| رد: مقدمة عن أنواع الشيل وبعض الأوامر الهامة فى لينوكس جزاك الله عنا خيرا أخوي.. شكـــ1000ـــر .. و بانتظار المزيد.. |
|
#20
| |||
| | |||
| رد: مقدمة عن أنواع الشيل وبعض الأوامر الهامة فى لينوكس مشكور بس برضه انا مفهمتش حاجه وعايز حد يعلمنى يا ريت تكلمنى بالله عليك SemSem_Adel2010@hotmail.com |
![]() |
| مواقع النشر (المفضلة) |
| يتصفح الموضوع حالياً : 1 (0 عضو و 1 ضيف) | |
| خيارات الموضوع | |
| طريقة العرض | |
| |
مواضيع مشابهة للموضوع: مقدمة عن أنواع الشيل وبعض الأوامر الهامة فى لينوكس | ||||
| الموضوع | الكاتب | القسم | الردود | آخر مشاركة |
| من فضلكم أريد بعض الكتب الهامة لى | sicosad | قسم العلوم العام | 3 | 2007-07-16 09:30 PM |
| Glest - RTS Warcraft III لعبة جميلة جدا جدا تعتمد على اصدار الأوامر ؟؟؟؟؟؟ | ghanou | الألعاب | 3 | 2007-05-11 04:50 PM |
| كتاب حاسب جديد: تعلم أول برنامج فى العالم لأصدار الأوامر للجهاز بأ | محب الله ورسوله | مكتبة كتب الحاسب | 0 | 2007-03-06 11:07 PM |
| تعلم أول برنامج فى العالم لأصدار الأوامر للجهاز بأستخدام الرسم | محب الله ورسوله | قسم الكمبيوتر العام | 6 | 2005-11-07 10:51 AM |