دستورات ورودی و خروجی داده‌ها در لینوکس

دستورات ورودی و خروجی داده‌ها در لینوکس

در دسته بندی دستورات لینوکس، دستورات ورودی و خروجی داده‌ها (Input/Output) برای تغییر و انتقال داده‌ها بین فایل‌ها، دستگاه‌ها و فرآیندها استفاده می‌شوند. دستورات ورودی و خروجی داده‌ها در لینوکس به کاربران اجازه می‌دهند تا داده‌ها را بخوانند، بنویسند، و تغییر دهند. در زیر لیستی از دستورات متداول مرتبط با مدیریت ورودی و خروجی داده‌ها در لینوکس همراه با توضیحات، سوئیچ‌ها و مثال‌های کاربردی آمده است.

لیست دستورات ورودی و خروجی داده‌ها در لینوکس

دستور cat

کاربرد دستور cat برای نمایش محتوای فایل یا ترکیب چند فایل و چاپ خروجی آن‌ها است. مثال‌ها:
نمایش محتوای یک فایل:

cat file.txt

ترکیب و نمایش محتوای چند فایل:

cat file1.txt file2.txt

نوشتن محتوای یک فایل در فایل دیگر:

cat file.txt > newfile.txt

دستور tac

در دستورات ورودی و خروجی داده‌ها در لینوکس از دستور tac در ورودی و خروجی داده‌ها برای نمایش معکوس محتوای فایل استفاده می‌شود. مثال:
نمایش محتوای یک فایل به صورت معکوس:

tac file.txt

دستور echo

در دستورات ورودی و خروجی داده‌ها در لینوکس از دستور echo برای چاپ یک خط متن به خروجی استاندارد یا فایل استفاده می‌شود. مثال‌ها:
چاپ یک متن در خروجی:

echo “Hello, World!”

نوشتن متن در فایل:

echo “This is a test” > testfile.txt

دستور tee

در دستورات ورودی و خروجی داده‌ها از دستور tee برای خواندن ورودی و نوشتن آن به خروجی استاندارد و همزمان در یک یا چند فایل استفاده می‌شود. مثال‌ها:
چاپ و ذخیره محتوای یک فایل:

cat file.txt | tee output.txt

اضافه کردن محتوا به فایل (append):

echo “Additional text” | tee -a output.txt

دستور head

در دستورات ورودی و خروجی داده‌های لینوکس از دستور head برای نمایش خطوط ابتدایی فایل استفاده می‌شود. مثال‌ها:
نمایش ۱۰ خط اول یک فایل:

head file.txt

نمایش ۵ خط اول:

head -n 5 file.txt

دستور tail

در دستورات ورودی و خروجی داده‌ها در لینوکس از دستور tail بر خلاف دستور head برای نمایش خطوط انتهایی فایل استفاده می‌شود. مثال‌ها:
نمایش ۱۰ خط آخر یک فایل:

tail file.txt

نمایش ۲۰ خط آخر:

tail -n 20 file.txt

نمایش خطوط جدید فایل به صورت بلادرنگ (مفید برای مانیتورینگ لاگ‌ها):

tail -f logfile.log

دستور less

کاربرد دستور less برای مشاهده محتوای فایل به صورت تعاملی و پیمایشی است. مثال:
مشاهده یک فایل:

less file.txt

کلید q: برای خروج
کلیدهای جهت‌دار: برای پیمایش به بالا و پایین.

دستور more

دستور more برای نمایش محتوای فایل به صورت صفحه به صفحه استفاده می‌شود. مثال:
مشاهده محتوای یک فایل:

more file.txt

دستور wc

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

wc file.txt

فقط شمارش خطوط:

wc -l file.txt

دستور sort

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

sort file.txt

مرتب‌سازی عددی:

sort -n numbers.txt

دستور cut

از این دستور برای بریدن بخش‌هایی از هر خط فایل بر اساس کاراکتر، بایت یا فیلد استفاده می‌شود. مثال‌ها:
نمایش ستون دوم (فیلد دوم) در فایل متنی:

cut -d ‘ ‘ -f 2 file.txt

-d ‘ ‘ : مشخص کردن جداکننده (delimiter) که در اینجا فضای خالی است.
-f 2: انتخاب فیلد دوم.

دستور grep

از این دستور برای جستجوی الگوهای متنی در فایل‌ها استفاده می‌شود. مثال‌ها:
جستجوی یک عبارت خاص در فایل:

grep “search term” file.txt

جستجوی عبارات بدون توجه به بزرگی و کوچکی حروف:

grep -i “search term” file.txt

نمایش شماره خطوطی که حاوی عبارت هستند:

grep -n “search term” file.txt

دستور find

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

find /path/to/search -name “filename.txt”

جستجوی فایل‌هایی با پسوند خاص:

find /path/to/search -name “*.txt”

دستور xargs

در دستورات ورودی و خروجی داده‌ها در لینوکس از دستور xargs برای خواندن ورودی و اجرای دستورات برای هر ورودی استفاده می‌شود. مثال‌ها:
حذف فایل‌های پیدا شده با find:

find /path -name “*.tmp” | xargs rm

دستور tr (Translate or delete characters)

دستور tr برای ترجمه یا حذف کاراکترها در ورودی به کار می‌رود. مثال‌ها:
تغییر حروف کوچک به بزرگ:

echo “hello world” | tr ‘a-z’ ‘A-Z’

حذف کاراکترهای فاصله:

echo “hello world” | tr -d ‘ ‘

دستور dd

از دستور dd برای کپی و تبدیل داده‌ها استفاده می‌شود، این دستور بیشتر برای کار با دیسک‌ها و ایمیج‌های دیسک استفاده می‌شود. مثال‌ها:
ساخت یک ایمیج از دیسک:

dd if=/dev/sda of=/path/to/image.img

if: فایل ورودی (input file)
of: فایل خروجی (output file)
نوشتن یک ایمیج روی USB:

dd if=/path/to/image.img of=/dev/sdb

دستور split

از این دستور برای تقسیم فایل‌ها به قسمت‌های کوچکتر استفاده می‌شود. مثال:
تقسیم یک فایل بزرگ به قسمت‌های 1 مگابایتی:

split -b 1M largefile.bin smallfile_part

دستور cmp

از این دستور برای مقایسه دو فایل به صورت بایت به بایت استفاده می‌شود. مثال:
مقایسه دو فایل:

cmp file1.bin file2.bin

دستور diff

این دستور برای مقایسه فایل‌های متنی به صورت خط به خط استفاده می‌شود. مثال:
مقایسه دو فایل متنی:

diff file1.txt file2.txt

دستور file

از دستور file برای تعیین نوع فایل استفاده می‌شود. مثال:
نمایش نوع فایل:

file myfile.txt

تفاوت‌ها دستورات ورودی و خروجی داده‌ها در لینوکس

cat برای نمایش یا ترکیب محتوای فایل‌ها استفاده می‌شود، در حالی که tac برای نمایش معکوس خطوط است.
echo فقط یک خط از متن را نمایش می‌دهد، در حالی که cat محتوای فایل‌ها را چاپ می‌کند.
grep برای جستجوی الگوهای متنی است، در حالی که find برای جستجوی فایل‌ها در سیستم فایل استفاده می‌شود.
dd بیشتر برای کپی باینری و ایمیج‌های دیسک استفاده می‌شود، در حالی که cp برای کپی فایل‌ها و دایرکتوری‌ها کاربرد دارد.
این دستورات ابزارهای بسیار مهمی برای مدیریت ورودی و خروجی داده‌ها در لینوکس هستند و با توجه به نیاز خاص، هر کدام کاربرد خاصی دارند.