کار با فایل ها در لینوکس – مقدمه

در این بخش از سری آموزش های لینوکس برای برنامه نویسان، به بررسی مهم ترین دستورات کار با فایل ها در لینوکس خواهیم پرداخت.

در این بخش می خواهیم به تشریح دستورات پرکاربرد کار کردن با فایل ها و دایرکتوری ها در لینوکس بپردازیم.

همان طور که می دانید، همه چیز در لینوکس فایل است. بنابراین کار کردن با فایل ها و آشنایی با دستورات آن، از اولین بخش های یادگیری لینوکس برای هر برنامه نویس می باشد.

کار با فایل ها در لینوکس

در ابتدا به بررسی دستورات عمومی در زمینه کار با فایل ها در ترمینال لینوکس می پردازیم. همین طور دستورات مرتبط با لیست کردن فایل ها و دایرکتوری ها را مورد بررسی قرار می دهیم.

سپس در مورد نحوه ساخت فایل ها و دایرکتوری ها، کپی کردن ،انتقال، پاک کردن و عوض کردن نام فایل ها و دایرکتوری ها، خواهیم پرداخت.

در قسمت آخر نیز در مورد نحوه فشرده سازی فایل ها در لینوکس و همین طور extract کردن فایل ها در لینوکس صحبت خواهیم کرد.

این آموزش، یکی از بخش های سری آموزشی لینوکس برای برنامه نویسان در سایت وبمستر وردپرس  می باشد. در صورتی که می خواهید به کلیه بخش های این سری آموزشی رایگان دسترسی داشته باشید، می توانید از لینک زیر استفاده کنید:

دستورات پر کاربرد لینوکس برای لیست کردن نمایش فایل ها و دایرکتوری ها

برای اجرای دستورات زیر، می باید آن ها در ترمینال توزیع لینوکسی که استفاده می کنید، وارد نمایید. ما برای اجرای دستورات از bash استفاده می کنیم.

  • دستور cd در لینوکس برای عوض کردن دایرکتوری: 

    برای عوض کردن یک دایرکتوری و رفتن به یک مسیر جدید در لینوکس از دستور  cd استفاده می شود. نمونه این دستور در بخش کدهای زیر، موجود می باشد.

  • دستور ls در لینوکس برای لیست کردن فایل های موجود در یک دایرکتوری: 

    برای لیست کردن فایل ها در لینوکس از دستور  ls استفاده می شود. نمونه این دستور در بخش کدهای زیر، موجود می باشد.

    با زدن این دستور، انواع مختلف فایل ها، با رنگ های مختلف در ترمینال به نمایش در می آیند. به عنوان مثال دایرکتوری ها با رنگ آبی، soft link ها با رنگ آبی کم رنگ و فایل های اجرایی یا همان executable file ها با رنگ سبز به نمایش در می آیند.

  • سوئیچ های پرکاربرد دستور ls در لینوکس: 

    دستور ls دارای چندین سوئیچ مختلف برای تغییر شکل و ظاهر خروجی نمایش داده شده به کاربر می باشد. سوئیچ l- جزئیات لیست را به صورت طولانی تر یا long نمایش می دهد.

    سوئیچ بالا، حجم فایل ها را بر اساس بایت نمایش می دهد. برای نمایش حجم فایل ها به صورت کیلو بایت، می توانید از سوئیچ lh- استفاده نمایید.

    برای نمایش کلیه فایل ها به همراه فایل های hidden می توانید از سوئیچ a- استفاده نمایید. در صورتی که داخل پنجره فایل منیجر می باشید، با زدن کلید های ctrl + h می توانید فایل ها پنهان را نمایش داده یا آن ها را مخفی نمایید.

    نمونه ای از این دستورات را می توانید در بخش کدهای زیر ملاحظه فرمایید.

  • دستور pwd در لینوکس برای دیدن محل جاری: 

    در صورتی که بخواهیم ببینیم در حال حاضر در کدام دایرکتوری از لینوکس هستیم،  از دستور pwd استفاده می شود. نمونه این دستور در بخش کدهای زیر، موجود می باشد.

  • دستور وارد شدن به home کاربر فعلی در لینوکس: 

    در صورتی که بخواهیم بدون زدن مسیر کامل، وارد home کاربر فعلی در لینوکس شویم،  از دستور ~ cd استفاده می کنیم. نمونه این دستور در بخش کدهای زیر، موجود می باشد.

  • دستور clear در لینوکس برای پاک ترمینال: 

    برای اینکه بخواهیم ترمینال را از دستورات قبلی تمیز نماییم،  از دستور clear استفاده می کنیم.

  • مسیردهی نسبی و مطلق در لینوکس: 

    در اجرای دستورات لینوکس، می توانیم هم از مسیردهی نسبی (relative) و هم از مسیردهی مطلق (absolute) استفاده نماییم.

    در مسیردهی مطلق، آدرس دقیق مسیر دایرکتوری یا فایلی که می خواهیم، نوشته می شود. اما در مسیر دهی نسبی از یک سری علامت ها و عبارات، برای مسیر دهی استفاده می شود.

    به عنوان مثال، برای اشاره به پوشه فعلی از علامت ” . ” و برای اشاره به یک پوشه بالاتر و قبل تر از پوشه فعلی،‌ از علامت ” .. ” استفاده می شود.

#change directory command using relative address
mehdi@mehdi-pc:~$ cd ..

#Up one level in directory with relative address
mehdi@mehdi-pc:/home$ cd ..

#List current directory
mehdi@mehdi-pc:/$ ls .
bin    dev   initrd.img      lib32       media  proc  sbin  sys  var
boot   etc   initrd.img.old  lib64       mnt    root  snap  tmp  vmlinuz
cdrom  home  lib             lost+found  opt    run   srv   usr  vmlinuz.old

#Show current location (where we are)
mehdi@mehdi-pc:/$ pwd
/

#Change directory with absolute address
mehdi@mehdi-pc:/$ cd /home/mehdi/
mehdi@mehdi-pc:~$ pwd
/home/mehdi

#List directory with -l switch
mehdi@mehdi-pc:~$ ls -l
total 60
drwxr-xr-x 5 mehdi mehdi 4096 Jan 12 08:50 Desktop
drwxr-xr-x 2 mehdi mehdi 4096 Oct 29 18:24 Documents
drwxr-xr-x 4 mehdi mehdi 4096 Jan  7 23:02 Downloads
-rw-r--r-- 1 mehdi mehdi 8980 Oct 29 18:20 examples.desktop
drwxr-xr-x 2 mehdi mehdi 4096 Oct 29 18:24 Music
-rw------- 1 mehdi mehdi 3168 Jan  6 11:10 nohup.out
drwxr-xr-x 3 mehdi mehdi 4096 Jan  5 10:13 PhpstormProjects
drwxr-xr-x 2 mehdi mehdi 4096 Oct 29 18:24 Pictures
drwxr-xr-x 2 mehdi mehdi 4096 Nov  8 02:02 playlist
drwxr-xr-x 2 mehdi mehdi 4096 Oct 29 18:24 Public
drwxr-xr-x 7 mehdi mehdi 4096 Dec 11 10:14 snap
lrwxrwxrwx 1 root  root    31 Dec 23 08:39 Tehran -> /usr/share/zoneinfo/Asia/Tehran
drwxr-xr-x 2 mehdi mehdi 4096 Oct 29 18:24 Templates
drwxr-xr-x 2 mehdi mehdi 4096 Oct 29 18:24 Videos


#List directory with -lh switch
mehdi@mehdi-pc:~/Desktop$ ls -lh
total 168K
-rw-r--r-- 1 mehdi mehdi  284 Nov 22 00:57 gholaydoon.tar.gz
drwxrwxr-x 2 mehdi mehdi 4.0K Dec 23 22:37 keys
-rw-r--r-- 1 mehdi mehdi  99K Dec 15 07:53 lshw.html
drwxr-xr-x 5 mehdi mehdi 4.0K Jan  6 09:40 mehdi
drwxr-xr-x 2 mehdi mehdi 4.0K Dec 24 19:48 msndownloads
-rw-rw-r-- 1 mehdi mehdi  36K Jan 12 08:50 nurses-day-poem.jpg
-rw-r--r-- 1 mehdi mehdi 2.2K Jan  5 12:46 settings.zip
-rwxr-xr-x 1 mehdi mehdi  205 Nov  9 03:11 Skype.desktop
-rwxr-xr-x 1 mehdi mehdi  195 Nov  9 03:14 vlc.desktop

#List directory with -a switch
mehdi@mehdi-pc:~/Desktop/mehdi$ ls -a
.   dir1  for.sh       gholam.txt  index.php      new_gholam.txt  read.sh  while.sh
..  dir2  _gholam.txt  hello.sh    .mehdi_hidden  permission.txt  test2

#Change to home user directory with Tilda sign (~)
mehdi@mehdi-pc:~/Desktop/mehdi$ cd ~
mehdi@mehdi-pc:~$ 

نمایش فایل ها، ویرایش فایل ها، ساخت فایل ها و دایرکتوری ها در لینوکس

در این بخش با دستورات پرکاربرد در زمینه نمایش فایل ها آشنا می شوی. همچنین می آموزیم که ویرایش فایل ها در لینوکس چگونه انجام می شود. در انتها با ساخت فایل ها و دایرکتوری ها در لینوکس آشنا می گردیم.

  • دستور cat در لینوکس برای نمایش فایل متنی: 

    برای نمایش یک فایل لینوکس در ترمینال می توانید از دستور cat استفاده نمایید.

  • دستور less در لینوکس برای نمایش صفحه به صفحه یک فایل متنی: 

    برای نمایش صفحه به صفحه یک فایل لینوکس در ترمینال، می توانید از دستور less استفاده نمایید. برای خروج از حالت less کافی است تا دکمه q فشار دهید تا دوباره به خط فرمان لینوکس برگردید.

  • دستور touch در لینوکس برای ساخت یک فایل: 

    برای ساخت یک فایل در لینوکس ، می توانید از دستور touch استفاده نمایید.

  • دستور ساخت یک فایل مخفی در لینوکس: 

    برای ساخت یک فایل مخفی یا hidden file در لینوکس ، می توانید از دستور touch به همراه نقطه در ابتدای نام فایل، استفاده کنید.

  • دستور mkdir در لینوکس برای ساخت یک دایرکتوری: 

    برای ساخت یک دایرکتوری در لینوکس ، می توانید از دستور mkdir استفاده نمایید. در صورتی که چند دایرکتوری داخل هم وجود نداشته باشدو بخواهیم همه آن ها به صورت بازگشتی ساخته شوند، از سوئیچ p به همراه این دستور استفاده می کنیم.

  • دستور باز کردن یک فایل در ویرایشگر متنی در لینوکس: 

    برای باز کردن یک فایل در یک ویرایشگر ، می توانید از ویرایشگر های مختلف موجود در لینوکس استفاده کنید. به عنوان مثال برای ویرایش یک فایل با ویرایشگر nano ، می توانید از دستور nano  به همراه نام آن فایل، استفاده نمایید.

    کار با ویرایشگر nano در لینوکس، بسیار ساده است. به عنوان مثال برای ذخیره کردن تغییرات انجام داده شده در یک فایل، کافی است دکمه های ctrl + x را فشار دهید.

    سپس سوالی مبنی بر overwrite شدن فایل موجود از شما می پرسد که می باید با y یا گفتن بله، آن را تایید نمایید. سپس اسم فایل را تایید کرده و فایل پس از ذخیره شدن، بسته می گردد.

  • دستور tail در لینوکس برای دیدن چند خط آخر یک فایل: 

    برای دیدن چند خط آخر یک فایل در لینوکس، می توانید از دستور tail  به همراه نام آن فایل، استفاده نمایید.

    همچنین برای دیدن مثلا فقط دو خط آخر می توانید از سوئیچی به صورت  n- به همراه تعداد خط ها، استفاده نمایید.

show file with sudo command
$ sudo cat permission.txt 
[sudo] password for mehdi: 
This is a test to save file from Mehdi with related permissions

#show file page by page with less command
$ less gholam.txt 

#create a file with touch command
$ touch new_mehdi_file.txt
$ ls 
dir1  for.sh       gholam.txt  index.php       new_mehdi_file.txt  read.sh  while.sh
dir2  _gholam.txt  hello.sh    new_gholam.txt  permission.txt      test2

#create a hidden file with touch command
$ touch .new_mehdi_file.txt
$ ls -a
.   dir1  for.sh       gholam.txt  index.php      new_gholam.txt       new_mehdi_file.txt  read.sh  while.sh
..  dir2  _gholam.txt  hello.sh    .mehdi_hidden  .new_mehdi_file.txt  permission.txt      test2

#create directory with mkdir command
$ mkdir test1
$ ls 
dir1  for.sh       gholam.txt  index.php       new_mehdi_file.txt  read.sh  test2
dir2  _gholam.txt  hello.sh    new_gholam.txt  permission.txt      test1    while.sh

#create directory recursively
$ mkdir -p  test3/test1/test3
$ cd test3/test1/test3/
mehdi@mehdi-pc:~/Desktop/mehdi/test3/test1/test3$ 

#edit file with nano editor
mehdi@mehdi-pc:~$ nano msn.txt 

#show last 10 lines in a file
$ tail index.php

#show last 2 lines in a file
$ tail -n 2 index.php
کار با دایرکتوری ها در لینوکس ابونتو

کپی فایل ها و دایرکتوری ها، انتقال و پاک کردن و تغییر نام فایل ها و دایرکتوری در لینوکس

در این بخش می خواهیم با عملیات های بسیار رایج در سیستم عامل آشنا شویم. در ابتدا با کپی کردن فایل ها در لینوکس آشنا می شویم. سپس نحوه کپی کردن دایرکتوری ها در لینوکس را مورد بررسی قرار می دهیم.

پس از آن نحوه انتقال فایل ها یا همان move کردن فایل ها را مورد بررسی قرار می دهیم. سپس می آموزیم که چگونه می توانیم یک دایرکتوری را در لینوکس انتقال دهیم. در انتها نیز با نحوه پاک کردن یک دایرکتوری در لینوکس آشنا می شویم.

در انتها نیز با نحوه تغییر نام دادن یک فایل در لینوکس آشنا می شویم.

  • دستور mv در لینوکس برای انتقال فایل ها و دایرکتوری ها: 

    برای انتقال فایل ها یا همان move کردن یک فایل کافی است از دستور mv در لینوکس استفاده نماییم.

    برای این کار پس از دستور mv ، کافی است ابتدا مسیر فایل یا دایرکتوری که می خواهیم انتقال یابد، ذکر کنیم و سپس مسیر جایی که قرار است فایل یا دایرکتوری مورد نظر، انتقال یابد.

  • دستور mv در لینوکس برای تغییر نام فایل یا دایرکتوری: 

    برای تغییر نام یک فایل یا تغییر نام یک دایرکتوری در لینوکس، باز هم  از دستور mv در لینوکس استفاده نماییم.

    برای این کار کافی است در بخش اول نام فایل یا دایرکتوری که می خواهیم آن را تغییر نام دهیم، ذکر کنیم و سپس نام جدید را بیاوریم.

  • دستور cp در لینوکس برای کپی کردن فایل ها: 

    برای کپی کردن فایل ها در لینوکس، می توانید  از دستور cp در لینوکس استفاده نمایید. در صورتی که مشکل permission برای انجام کپی داشته باشیم، کافی است از sudo در ابتدای دستور خود استفاده کنیم.

    برای این کار کافی است در بخش اول نام فایل یا دایرکتوری که می خواهیم آن را  کپی کنیم، قرار دهیم و سپس آدرس مسیر جدید را ذکر کنیم.

  • دستور cp در لینوکس برای کپی کردن دایرکتوری ها به همراه سوئیچ r : 

    برای کپی کردن دایرکتوری ها در لینوکس، می توانید  از دستور cp  به همراه سوئیچ r- استفاده نمایید.

    در واقع استفاده از سوئیچ r- باعث می شود تا انجام عملیات کپی به صورت بازگشتی یا همان recursive بر روی دایرکتوری مورد نظر، انجام پذیرد.

  • دستور rm در لینوکس برای پاک کردن یک فایل: 

    برای پاک کردن یک فایل در لینوکس، می توانید  از دستور rm  استفاده نمایید. این دستور فقط می تواند یک فایل را remove نماید.

  • دستور mv در لینوکس برای پاک کردن چندین فایل توسط سوئیچ r : 

    برای پاک کردن چندین فایل موجود در یک دایرکتوری یا زیر شاخه های آن در لینوکس، می توانید  از دستور rm  به همراه سوئیچ r- استفاده نمایید.

    در واقع استفاده از سوئیچ r- باعث می شود تا انجام عملیات remove به صورت بازگشتی یا همان recursive بر روی دایرکتوری مورد نظر، انجام پذیرد.

  • دستور rmdir در لینوکس برای پاک کردن یک دایرکتوری: 

    برای پاک کردن  یک دایرکتوری در لینوکس، می توانید  از دستور rmdir  استفاده نمایید. در نظر داشته باشید که این دستور تنها در حالتی دایرکتوری مربوطه را پاک می کند، که دایرکتوری مورد نظر خالی بوده و هیچ فایل یا دایرکتوری دیگری در آن وجود نداشته باشد.

    در صورتی که دایرکتوری مورد نظر دارای فایل یا دایرکتوری دیگر باشد، می باید با دستور بالا ابتدا محتوای آن را پاک نمود و سپس دستور rmdir را اجرا نمود.

    یک روش دیگر برای این کار، اجرا این دستور به همراه سوئیچ ignore-fail-on-non-empty– می باشد.

در ادامه می توانید برخی از دستورات مرتبط با این بخش را ملاحظه فرمایید:

#move source to destination 
$ sudo mv source_file destination_directory 

#move source to destination with asking for overwriting 
$ sudo mv -i source_file destination_directory 

#rename a file or directory
$ sudo mv source_file new_name_for_source_file 
$ sudo mv source_directory new_name_for_source_directory 

#copy source to destination
$ cp source_file destination_file
$ cp source_file destination_directory

#copy source to destination recursively with root access
$ sudo cp source_directory destination_directory -r
$ sudo cp -r source_directory destination_directory 

#copy source to destination with asking for overwriting 
$ sudo cp -i source_file destination_directory 

#remove a file with root permission
$ sudo rm your_file

#remove a directory with root permission that have some files or directories on it
$ sudo rm -r desire_directory

#remove a directory with root permission that have no files or directories on it
$ sudo rmdir desire_directory

#remove a directory with root permission that have some files or directories on it
$ sudo rmdir --ignore-fail-on-non-empty desire_directory

دستورات فشرده سازی فایل ها و دایرکتوری ها و extract کردن آن ها در لینوکس

یکی دیگر از کارهای عمومی و روزمره که می باید با سیستم عامل انجام داد، فشرده سازی فایل ها یا فشرده سازی دایرکتوری ها در لینوکس می باشد.

همین طور در بسیاری از موارد نیز نیاز داریم تا فایل های داخل یک فایل فشرده را استخراج کرده یا extract نماییم. برای این کار دستورات زیر وجود دارد که می توانید استفاده کنید:

  • دستور tar در لینوکس برای فشرده سازی یک دایرکتوری در لینوکس با فرمت tar: 

    یکی از فرمت های فشرده سازی محتوای یک دایرکتوری در لینوکس، فرمت tar می باشد. با این فرمت تغییر زیادی در حجم فایل ها به وجود نمی آید اما به صورت کلی، فایل های داخل دایرکتوری در کنار همدیگر قرار می گیرند.

    برای این کار از دستور tar به همراه سوئیچ  cf- (به معنای create file) استفاده می کنیم. ابتدا نام فایل خروجی و سپس آدرسی که می خواهیم آن را فشرده سازی کنیم، خواهد آمد. فایل فشرده شده در محلی جاری که ترمینال در آن می باشد، ایجاد می گردد.

    نمونه این دستور در کدهای پایین موجود می باشد.

  • فشرده سازی یک دایرکتوری در لینوکس با فرمت tar.gz: 

    یکی از فرمت های فشرده سازی محتوای یک دایرکتوری در لینوکس، فرمت tar.gz می باشد. با این فرمت علاوه بر قرار گرفته شدن فایل ها در کنار، شاهد تغییر حجم و کم شدن حجم مجموع فایل ها خواهیم بود.

    برای این کار از دستور tar به همراه سوئیچ  czf- (به معنای create zip file) استفاده می کنیم. ابتدا نام فایل خروجی و سپس آدرسی که می خواهیم آن را فشرده سازی کنیم، خواهد آمد. فایل فشرده شده در محلی جاری که ترمینال در آن می باشد، ایجاد می گردد.

    در نظر داشته باشید در صورتی که بخواهیم مراحل انجام این فرآیند را در ترمینال مشاهده کنیم، کافی است سوئیچ v را هم به آن اضافه نماییم. (یعنی از سوئیچ  czvf- استفاده کنیم)

  • فشرده سازی چندین دایرکتوری یا فایل باهم: 

    کلیه فرآیند همانند بخش های قبل می باشد. فقط کافی است تا فایل ها و دایرکتوری هایی که می خواهید به طور مجزا برای فشرده سازی انتخاب کنید، به صورت پشت سرهم در خط فرمان آورده شود.

  • فشرده سازی  یک دایرکتوری با در نظر نگرفتن بخش هایی از آن: 

    در صورتی که بخواهیم بخش هایی از یک دایرکتوری را در فایل فشرده خود نیاوریم، کافی است از سوئیچ exclude– به همراه نام فایل ها یا دایرکتوری های مورد نظر خود استفاده نماییم.

  • فشرده سازی یک دایرکتوری در لینوکس با فرمت bzip2: 

    یکی از فرمت های فشرده سازی محتوای یک دایرکتوری در لینوکس، فرمت bzip2 می باشد.  پسوند های این فرمت می تواند tar.bz2 و tar.bz  و  tbz باشد.

    در نظر داشته باشید که Gzip در لینوکس عمومی تر بوده و بیشتر استفاده می شود. فرمت Gzip سریع تر بوده اما فشرده سازی آن نسبت به bzip2 کمتر می باشد.

    برای فشرده سازی یک دایرکتوری با فرمت bzip2 از دستور tar به همراه سوئیچ cjvf- استفاده می کنیم.

  • نحوه extract کردن یک فایل فشرده در لینوکس: 

    در صورتی که شما یک فایل archive یا همان فایل فشرده داشته باشید، برای استفاده از محتویات آن، می بایست ابتدا محتوایات آن را استخراج یا extract نمایید.

    برای خارج کردن یک فایل از حالت فشرده (که به آن اصطلاحا untar هم گفته می شود) کافی است از سوئیچ xf- (یا  همان extract file) استفاده نمایید. در صورتی که فایل مورد نظر zip باشد و بخواهید کل فرآیند را در ترمینال نیز مشاهده نمایید، کافی است از سوئیچ xzvf- استفاده کنید.

    در نظر داشته باشد که این دستورات، محتویات فایل فشرده را در دایرکتوری جاری extract می کند. در صورتی که بخواهید آن را در دایرکتوری دیگری استخراج نمایید، کافی است از سوئیچ  C- به همراه آدرس دایرکتوری مورد نظر استفاده کنید.

در ادامه چند مثال کاربردی در مورد فشرده سازی با دستور tar در لینوکس آورده شده است. همین طور می توانید دستورات مرتبط با extract فایل های فشرده در لینوکس را ملاحظه فرمایید:

#Tar options
c – create a archive file.
x – extract a archive file.
v – show the progress of archive file.
f – filename of archive file.
t – viewing content of archive file.
j – filter archive through bzip2.
z – filter archive through gzip.
r – append or update files or directories to existing archive file.
W – Verify a archive file.

#Compress with tar format
$ tar -cf name-of-archive.tar.gz /path/to/directory-or-file

#Compress with tar format and seeing the progress in termianl
$ tar -cvf name-of-archive.tar.gz /path/to/directory-or-file

#Compress with tar.gz format and seeing all of progress in terminal
$ tar -czvf name-of-archive.tar.gz /path/to/directory-or-file

#Compress multiple directories or files at once
$ tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt

#Exclude directories or files
$ tar -czvf archive.tar.gz /home/ubuntu --exclude=/home/ubuntu/Downloads --exclude=/home/ubuntu/.cache
$ tar -czvf archive.tar.gz /home/ubuntu --exclude=*.mp4

#Compress with bzip2 format
$ tar -cjvf archive.tar.bz2 stuff

#Extract tar archive file
$ tar -xvf msn_sample.tar

#Extract tar.gz archive file
$ tar -xvf msn_sample.tar.gz

#Extract tar.gz archive file to a specific destination
$ tar -xvf msn_sample.tar.gz -C your_directory_to_extract

#List content of tar archive file
$ tar -tvf uploadprogress.tar

#Extract single file from tar file
$ tar -xvf cleanfiles.sh.tar cleanfiles.sh
OR
$ tar --extract --file=cleanfiles.sh.tar cleanfiles.sh

#Extract single file from tar.gz file
$ tar -zxvf cleanfiles.sh.tar.gz cleanfiles.sh
OR
$ tar --extract --file=cleanfiles.sh.tar.gz cleanfiles.sh

#Extract group of files using wildcard
$ tar -xvf Phpfiles-org.tar --wildcards '*.php'
$ tar -zxvf Phpfiles-org.tar.gz --wildcards '*.php'
$ tar -jxvf Phpfiles-org.tar.bz2 --wildcards '*.php'

#Add files or directories to tar or tar.gz archive file
$ tar -rvf tecmint-14-09-12.tar xyz.txt
$ tar -rvf tecmint-14-09-12.tar php

#Check the size of archive file

$ tar -czf - msn_sample.tar | wc -c
۴۲۵۲۰۴۸۰

$ tar -czf - msn_folder.tar.gz | wc -c
۲۲۲۶۴۰

$ tar -czf - msn_files.tar.bz2 | wc -c
۳۰۶۸۰












آشنایی با چندین دستور بسیار پرکاربرد در لینوکس

در این بخش می خواهیم با چند دستور بسیار کاربرد در لینوکس آشنا شویم. لیست این دستورات به شرح زیر می باشند:

  • دستور whoami در لینوکس برای نمایش کاربر جاری در ترمینال: 

    برای نمایش کاربر جاری که در حال حاضر در ترمینال با آن کار می کنیم، کافی است تا از دستور whoami استفاده نماییم.

  • دستور history در لینوکس برای نمایش تاریخچه دستورات وارد شده در ترمینال: 

    برای نمایش تاریخچه دستورهایی که در ترمینال وارد شده اند، از دستور history استفاده می کنیم. برای نمایش مثلا ده دستور آخر کافی است به انتهای این دستور، عدد ۱۰ را اضافه کنیم.

  • دستور reboot در لینوکس برای خاموش کردن و reboot کردن سیستم: 

    برای reboot کردن سیستم در لینوکس می توانید از دستور های init 6 یا reboot در خط فرمان لینوکس استفاده کنید. البته برای ری استارت کردن سیستم، می توانید از دستور shutdown به همراه سوئیچ r نیز استفاده کنید.

    در زیر  این دستورات به همراه مثال های آن ها در قسمت کدها آورده شده است.

  • دستور ln در لینوکس برای ساخت soft link : 

    برای ساخت یک soft لینک در لینوکس از دستور ln به همراه سوئیچ s- ، استفاده می کنیم.

  • دستور lsb-release در لینوکس برای نمایش توزیع لینوکس: 

    برای نمایش توزیع لینوکس، کافی است تا فایل lsb-release موجود در دایرکتوری etc را، با استفاده از دستور cat نمایش دهیم.

  • دستور uname در لینوکس برای نمایش ورژن کرنل لینوکس: 

    برای نمایش ورژن لینوکس، کافی است تا از دستور uname به همراه سوئیچ a- استفاده نماییم.

  • دستور file در لینوکس برای نمایش مشخصات پسوند فایل: 

    برای نمایش مشخصات پسوند یک فایل لینوکس، کافی است تا از دستور file به همراه نام آن فایل، استفاده نماییم.

  • دستور cpuinfo در لینوکس برای نمایش مشخصات cpu سیستم: 

    برای نمایش مشخصات سی پی یو یک سیستم در لینوکس، کافی است تا فایل cpuinfo موجود در دایرکتوری proc را توسط دستور cat نمایش دهیم.

#Show current user in termianl
$ whoami
mehdi

#Show last 20 commands that were entered in terminal
$ history 20

#Reboot a system
$ sudo init 6
$ sudo reboot

#Reboot after 1 minute
$ sudo shutdown -r

#Reboot system immediately
$ sudo shutdown -r now

#Shutdown system after 1 minute
$ sudo shutdown

#Shutdown system after 90 minute
$ sudo shutdown +90

#Shutdown system immediately
$ sudo shutdown now

#Create a soft link for a excutable file
$ ln -s address_of_file_that_you_want_to_create_soft_link destination

#Show linux distribution specifications
$ cat /etc/lsb-release 

#Show linux kernel version
$ uname -a

#Show file extension specification
$ file your_file_name

#Show system cpu specifications
$ cat /proc/cpuinfo </pre>



















نتیجه گیری برای مقاله کار با فایل سیستم در لینوکس

در این سری از آموزش های  لینوکس، ما به بررسی دستورات مورد نیاز برای کار با فایل ها و دایرکتوری ها در لینوکس پرداختیم. در واقع در این مقاله سعی کردیم تا پر کاربردترین دستورات مرتبط با فایل سیستم لینوکس را به صورت خلاصه تشریح کنیم.

در بخش اول،  در مورد دستورات کاربردی در مورد لیست کردن فایل ها و دایرکتوری ها صحبت کردیم. در بخش دوم، دستورات مرتبط با نمایش فایل ها، ویرایش آن ها و همین طور ساخت فایل ها و دایرکتوری ها بررسی نمودیم.

در بخش سوم با انجام کپی کردن، انتقال و تغییر نام فایل ها و دایرکتوری ها در لینوکس آشنا شدیم. در بخش چهارم نیز، دستورات فشرده سازی فایل ها و دایرکتوری ها و همین طور با نحوه  extract کردن فایل های archive در لینوکس، آشنا گشتیم.

ممکن است شما با موارد بیشتری در این حوزه آشنا باشید، که ما فراموش کرده ایم تا آن ها را در این مقاله قرار دهیم.

اگر شما از این موارد آگاه هستید، حتما در بخش نظرات عنوان کنید تا آن را به مقاله “کار با فایل ها و دایرکتوری ها در لینوکس” اضافه کنیم. در ضمن اگر این مقاله را مفید دیدید، حتما آن را به دوستان خود معرفی کرده یا در شبکه های اجتماعی به اشتراک بگذارید.

نظر شما در درباره این مقاله چیست؟

راهنما برای خواندن سایر مقالات سایت به صورت دسته بندی شده:

شما می توانید از طریق لینک های کاربردی زیر به سایر مقالات سایت که کاملا بصورت طبقه بندی شده وجود دارد، مراجعه نموده و از آن ها استفاده کنید: