شاید برای شما پیش اومده باشه که بخواین مثلا خروجی دستور ping 8.8.8.8 رو به جای اینکه در ترمینال ببینید اونو بفرستین به یک فایل متنی مثلا mohammad.txt که به دو صورت میشه این کار و انجام داد:
روش اول استفاده از علامت < :
به مثال زیر توجه کنید:
با این دستور خروجی دستور ping رو داخل فایل mohammad.txt میریزیم. البته با توجه به اینکه دستور پینگ در linux بدون توقف هست شما میتونید از آپشن c- استفاده کنید که بتونید تعداد دلخواهی که میخواهید ping کند.
که در مثال زیر ما تعداد 150 تا ping از 8.8.8.8 میگیریم و خروجیش رو میریزه داخل mohammad.txt :
روش دوم استفاده از دستور nohup :
در این روش در ابتدای دستور تون از nohup استفاده میکنیم:
همانطور که مشاهده میکنید خودش یه فایلی به نام nohup.out درست میکنه که خروجی دستوراتی که اولش nohup هست رو اونجا میریزه. در این روش اگر من مجددا دستور ping از 8.8.8.8 رو با استفاده از nohup بگیرم خروجی دستور ping رو در ادامه خروجی دستور قبلی اضافه میکنه:
همچنین توصیه میشود مطالعه کنید :
چطور یک متغییر (Variable) را به خروجی دستورات لینوکس اختصاص دهیم؟
موفق باشید
محمد هابیلی
روش اول استفاده از علامت < :
به مثال زیر توجه کنید:
کد PHP:
ping 8.8.8.8 > mohammad.txt
که در مثال زیر ما تعداد 150 تا ping از 8.8.8.8 میگیریم و خروجیش رو میریزه داخل mohammad.txt :
کد PHP:
ping -c 150 8.8.8.8
روش دوم استفاده از دستور nohup :
در این روش در ابتدای دستور تون از nohup استفاده میکنیم:
کد PHP:
[root@localhost ~]# nohup ping -c 12 4.2.2.4
nohup: appending output to `nohup.out'
کد PHP:
--- 8.8.8.8 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 8993ms
rtt min/avg/max/mdev = 390.980/402.457/411.287/7.286 ms
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=44 time=401 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=44 time=404 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=44 time=406 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=44 time=414 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=44 time=402 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=44 time=412 ms
64 bytes from 8.8.8.8: icmp_seq=7 ttl=44 time=404 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=44 time=407 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=44 time=379 ms
--- 8.8.8.8 ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 7998ms
rtt min/avg/max/mdev = 379.462/403.573/414.506/9.466 ms
PING 4.2.2.4 (4.2.2.4) 56(84) bytes of data.
64 bytes from 4.2.2.4: icmp_seq=2 ttl=54 time=267 ms
64 bytes from 4.2.2.4: icmp_seq=4 ttl=54 time=271 ms
64 bytes from 4.2.2.4: icmp_seq=5 ttl=54 time=275 ms
64 bytes from 4.2.2.4: icmp_seq=6 ttl=54 time=291 ms
64 bytes from 4.2.2.4: icmp_seq=7 ttl=54 time=281 ms
64 bytes from 4.2.2.4: icmp_seq=8 ttl=54 time=283 ms
64 bytes from 4.2.2.4: icmp_seq=10 ttl=54 time=289 ms
64 bytes from 4.2.2.4: icmp_seq=11 ttl=54 time=293 ms
--- 4.2.2.4 ping statistics ---
12 packets transmitted, 8 received, 33% packet loss, time 11011ms
rtt min/avg/max/mdev = 267.575/281.639/293.159/8.978 ms
همچنین توصیه میشود مطالعه کنید :
چطور یک متغییر (Variable) را به خروجی دستورات لینوکس اختصاص دهیم؟
موفق باشید
محمد هابیلی