در این مقاله می خواهیم نشان دهیم که چگونه تفاوت بین فایلهای محلی (local) و ریموت (remote) در لینوکس را یافته یا مقایسه کنیم.
دستور diff یک ابزار ساده می باشد که دو فایل متفاوت را تجزیه و تحلیل میکند و تفاوتهای موجود در فایلها را با مقایسه خط به خط به ما نشان می دهد . در صورتی که بخواهید دو فایل متفاوت از نظر محتوا یکسان شوند دستور diff یک سری دستورالعمل نیز برای یکسان سازی فایل به شما نشان می دهد.
برای مقایسه یا یافتن تفاوت بین دو فایل در مکان های مختلف، فرمان زیر را اجرا کنید. به یاد داشته باشید که کاربر [user] و میزبان [remote-host] را با پارامترهای واقعی خود تعویض کنید .
$ ssh user@remote-host "cat /home/root/file_remote" | diff - file_local
توجه داشته باشید که همچنین میتوان تفاوت بین دو فایل را در یک فایل مجزا، با استفاده از ویژگی تغییر مسیر خروجی ذخیره کرد . برای مثال :
$ ssh user@remote-host "cat /home/root/file_remote" | diff - file_local > diff_output.txt
سپس با دستور cat می توانید محتویات فایل diff را مشاهده کنید .
$ cat diff_output.txt
OR
$ bcat diff_output.txt
علاوه بر این ، همچنین میتوانید تفاوت بین دو فایل را که در دو سرور مجزا قرار دارند نیز مقایسه کنید ، مطابق دستور زیر :
$ diff <(ssh user@remote-host1 'cat /path/to/file1') <(ssh user@remote-host2 'cat /path/to/file2')
برای کسب اطلاعات بیشتر، می توانید از دستور man استفاده کنید .
$ man diff
منبع :
https://www.tecmint.com/compare-local-and-remote-files-in-linux/
تهیه کننده : امین طاهری - ۹۵۱۸۳۰۲۴۶