دستور cat در لینوکس برای نمایش و ایجاد و اصلاح و الحاق فایلها با مثالهای کاربردی
دستور cat در لینوکس مختصر شده کلمه concatenate است که در لغت به معنای بهم پیوستن است.
یکی از پر استفاده ترین دستورات linux و سایر سیستم عاملهای شبه یونیکسی است.
دستور cat در linux برای نمایش محتوای فایلها، ایجاد یک یا چند فایل، چسباندن چند فایل و نمایش خروجی آن در ترمینال یا فایل استفاده میشود.
دستور cat از نوع file است که با دستور type cat میتوانید این مورد را بررسی و مشاهده کنید.
1 2 |
root@ubuntu:~/test# type -t cat file |
پیشنیازها
- داشتن یک سیستم کامپیوتری
- نصب بودن یک توزیع لینوکس بر روی کامپیوتر
- آشنایی نسبی جهت ورود به ترمینال در لینوکس
- داشتن یک لبخند بر صورت
کاربرد
مهمترین استفاده آن نمایش یک فایل یا چندین فایل بصورت همزمان است بدون اینکه نیاز به بازکردن فایل باشد.
به منظور اینکه همزمان یک فایل را ایجاد و متنی را در آن قرار دهید دستور cat بسیار کاربردی است.
برای اینکه متن یا محتوای یک فایل را در فایل موجود یا فایل جدید قرار دهید دستور cat قابل استفاده است.
نحوه استفاده یا syntax دستور cat در linux
1 |
cat [OPTION] [FILE]... |
options یعنی گزینه های از قبل برنامه نویسی شده برای دستور است که در این نوشته، دستور با نام cat میباشد.
دستور بهمراه options های استفاده شده بر روی argument اجرا میشود که آرگومانها برای این دستور فایلها هستند.
دستور cat در لینوکس بدون گزینه
دستور cat در linux بدون گزینه برای نمایش محتوای یک یا چند فایل استفاده می شود.
مثال
دستور cat file-1.txt محتوای فایل یک را نمایش میدهد. دستور cat file-1.txt file-2.txt محتوای ۲ فایل را نمایش میدهد.
1 2 3 4 5 6 7 8 |
root@ubuntu:~/test# cat file-1.txt be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. root@ubuntu:~/test# cat file-1.txt file-2.txt be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. dar edame ba digar optionhaye dastoure cat ashena mishavid az hamrahi shoma sepas gozaram. |
دستور cat در لینوکس با گزینه n-
با دستور cat -n در لینوکس میتوانید شماره خطوط را در خروجی ترمینال مشاهده کنید. n حرف اول number است.
دستور cat –number معادل دستور cat -n است.
مثال
همانطور که مشخص است فایل file-1.txt دارای ۲ خط بوده است.
1 2 3 |
root@ubuntu:~/test# cat -n file-1.txt 1 be site iranadmin.com khosh amadid 2 in file marboot be dastoure cat ast. |
دستور cat با گزینه s-
دستور cat -s در لینوکس در خروجی، خطوط خالی تکرار شده بیش از یک بار را فقط یک بار نمایش میدهد.
چنانچه ۲ یا بیشتر یک خط خالی بصورت پشت سر هم وجود داشته باشد فقط یک خط خالی را نمایش میدهد.
مثال
1 2 3 4 5 6 7 8 9 |
root@ubuntu:~/test# cat file-1.txt be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. root@ubuntu:~/test# cat -s file-1.txt be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. |
دستور cat در لینوکس با گزینه T-
چنانچه در فایلی از TAB روی صفحه کلید استفاده شده باشد میتوانید با دستور cat -T در لینوکس، کاراکتر TAB را بصورت I^ مشاهده کنید.
دستور cat –show-ends معادل دستور cat -T میباشد.
مثال
1 2 3 4 5 6 7 8 |
root@ubuntu:~/test# cat -T file-4.txt in mesal jahate namayesh tab hast yek ^Iinja estefade shode ast. do ^I^I inja estefashode ast root@ubuntu:~/test# cat file-4.txt in mesal jahate namayesh tab hast yek inja estefade shode ast. do inja estefashode ast |
دستور cat در لینوکس با گزینه E-
با دستور cat -E در انتهای هر خط یک علامت $ نمایش داده میشود.
1 2 3 4 5 6 7 8 9 10 |
root@ubuntu:~/test# cat file-1.txt be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. root@ubuntu:~/test# cat -E file-1.txt be site iranadmin.com khosh amadid$ $ $ in file marboot be dastoure cat ast.$ |
دستور cat با گزینه v-
دستور cat -v برای نمایش کاراکترهای غیرچاپی استفاده میشود.
دستور cat –show-nonprinting معادل دستور cat -v میباشد.
مثال
از کاراکتر ” بعنوان یک کاراکتر غیرچاپی استفاده شده است.
دستور echo برای نمایش یک متن استفاده میشود.
1 2 3 4 |
root@ubuntu:~/test# echo ” | cat ” root@ubuntu:~/test# echo ” | cat -v M-bM-^@M-^] |
دستور cat با گزینه A-
با دستور cat -A امکان مشاهده تمامی کاراکترهای یک فایل متنی وجود دارد.
دستور cat -vET معادل با دستور cat -A است.
مثال
1 2 3 4 5 6 7 8 9 10 11 12 |
root@ubuntu:~/test# cat -A file-7.txt M-bM-^@M-^]$ matne^Itest^Iast$ $ $ iran$ root@ubuntu:~/test# cat -A file-7.txt M-bM-^@M-^]$ matne^Itest^Iast$ $ $ iran$ |
دستور cat در لینوکس با آرگومان <
با دستور cat با آرگومان < در لینوکس میتوانید فایل جدیدی را ایجاد یا از فایل دیگر کپی کنید.
در صورتی که فایلی قبلا با آن نام وجود داشته باشد، متنهای وارد شده بصورت کامل جایگزین محتوای فعلی فایل میشوند.
مثال
در این مثال یک فایل جدید ایجاد میشود.
دستور ls برای لیست کردن فایلهای داخل فولدر فعلی استفاده شده است.
با زدن ENTER در صفحه کلید به خط بعدی می رود .
برای ذخیره متن بایستی ۲ کلید CTRL + d را بصورت همزمان بر روی صفحه کلید بزنید. در خطی که CTRL + D زده میشود آن خط ذخیره نمیشود.
1 2 3 4 5 6 7 8 9 10 11 12 |
root@ubuntu:~/test# ls file-1.txt file-2.txt root@ubuntu:~/test# cat > file-3.txt in yek file jadid ast ba dastoure cat in file ejad mishavad iranadmin.com root@ubuntu:~/test# ls file-1.txt file-2.txt file-3.txt root@ubuntu:~/test# cat file-3.txt in yek file jadid ast ba dastoure cat in file ejad mishavad iranadmin.com |
مثال
بجای استفاده از دستور کپی در لینوکس میتوانید از دستور cat برای کپی کردن یک فایل استفاده کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
root@ubuntu:~/test# cat file-1.txt be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. root@ubuntu:~/test# ll total 28 drwxr-xr-x 2 root root 4096 Feb 6 18:49 ./ drwx------ 8 root root 4096 Feb 4 16:14 ../ -rw-r--r-- 1 root root 74 Feb 4 15:51 file-1.txt -rw-r--r-- 1 root root 165 Feb 6 16:50 file-2.txt -rw-r--r-- 1 root root 74 Feb 4 10:34 file-3.txt -rw-r--r-- 1 root root 91 Feb 4 11:46 file-4.txt -rw-r--r-- 1 root root 41 Feb 6 17:32 file-6.txt root@ubuntu:~/test# cat file-1.txt > new.txt root@ubuntu:~/test# cat new.txt be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. |
دستور cat در لینوکس با آرگومان <<
با دستور cat با آرگومان << در لینوکس میتوانید در انتهای فایل متن یا محتوای یک فایل دیگر را اضافه کنید.
مثال
یک متن به انتهای فایلی که از قبل وجود دارد اضافه میشود.
1 2 3 4 5 6 7 |
root@ubuntu:~/test# cat file-6.txt in file 6 ast root@ubuntu:~/test# cat >> file-6.txt matin jadid ezafi mishavad root@ubuntu:~/test# cat file-6.txt in file 6 ast matin jadid ezafi mishavad |
مثال
محتوای فایل file-1.txt به انتهای فایل file-2.txt اضافه میشود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
root@ubuntu:~/test# cat file-1.txt be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. root@ubuntu:~/test# cat file-2.txt dar edame ba digar optionhaye dastoure cat ashena mishavid az hamrahi shoma sepas gozaram. root@ubuntu:~/test# cat file-1.txt >> file-2.txt root@ubuntu:~/test# cat file-2.txt dar edame ba digar optionhaye dastoure cat ashena mishavid az hamrahi shoma sepas gozaram. be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. |
دستور cat در لینوکس با آرگومان *
با دستور * cat محتوای تمامی فایلهای داخل فولدر فعلی بصورت پشتسرهم چاپ میشوند.
مثال
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
root@ubuntu:~/test# cat * be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. dar edame ba digar optionhaye dastoure cat ashena mishavid az hamrahi shoma sepas gozaram. be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. in yek file jadid ast ba dastoure cat in file ejad mishavad iranadmin.com in mesal jahate namayesh tab hast yek inja estefade shode ast. do inja estefashode ast in file 6 ast matin jadid ezafi mishavad ” matne test ast iran |
با دستور cat *.txt محتوای فایلهای که انتهای نام آنها txt هست را پشت سرهم در ترمینال چاپ میکند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
root@ubuntu:~/test# ll total 24 drwxr-xr-x 2 root root 4096 Feb 7 17:43 ./ drwx------ 8 root root 4096 Feb 7 17:43 ../ -rw-r--r-- 1 root root 0 Feb 7 17:36 1.mp3 -rw-r--r-- 1 root root 0 Feb 7 17:36 2.mp3 -rw-r--r-- 1 root root 0 Feb 7 17:36 3.mp3 -rw-r--r-- 1 root root 74 Feb 4 15:51 file-1.txt -rw-r--r-- 1 root root 165 Feb 6 16:50 file-2.txt -rw-r--r-- 1 root root 60 Feb 7 17:43 file-3.txt -rw-r--r-- 1 root root 4 Feb 7 17:42 file-4.txt-new root@ubuntu:~/test# cat *.txt be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. dar edame ba digar optionhaye dastoure cat ashena mishavid az hamrahi shoma sepas gozaram. be site iranadmin.com khosh amadid in file marboot be dastoure cat ast. in yek file jadid ast ba dastoure cat in file ejad mishavad |
سخن پایانی
برچسبها: bash, command, command line, linux, آموزش لینوکس, ترفند لینوکس, خط فرمان, دستور, لینوکس