یعنی اگه بخوایم x خط آخر یه فایل رو ببینیم باید این دستورو وارد کنیم؟
tail -n x $file
بجای $file هم مسیر فایل رو قرار بدیم.
بله همینجوری هست که میگید. میتونید با گذاشتن یه علامت + قبل از x، از خط شماره x تا آخر فایل رو ببینید. مثلا این از خط شماره ۳ تا آخر فایل bashrc. رو نشون میده:
tail -n +3 ~/.bashrc
میتونید n- رو هم بردارید و مستقیم شماره خط رو بعد از یه علامت - بنویسید. مثلا این دوتا مثل هم عمل میکنند.
tail -n 6 ~/.bashrc
tail -6 ~/.bashrc
میتونید به جای - علامت + هم بدید و ببینید که باز هم کار میکنه. مثلا این دوتا معادل هم هستند:
tail -n +6 ~/.bashrc
tail +6 ~/.bashrc
اگه همراه n- یه عدد منفی بدید، مثل وقتی هست که پشت عدد چیزی ندادید. مثلا این دوتا هم مثل هم هستند:
tail -n 6 ~/.bashrc
tail -n -6 ~/.bashrc
و اگه بخوایم x خط اول یه فایل رو ببینیم باید چیکار کنیم؟
میتونید از دستور head به همراه آپشن n- استفاده کنید. مثلا اینجوری ۸ خط اول فایل bashrc. رو ببینید:
head -n 8 ~/.bashrc
head هم قابلیتهایی شبیه tail داره ولی دقیقا مثل اون کار نمیکنه.
این هم کار نکرد
خروجی ترمینال در زیر
seyedsaeed@seyedsaeed-virtual-machine:~/Desktop$ file "$(realpath /home/seyedsaeed/cad/mmi/mmi_pd_040526/bin.sparc-solaris2/mmi_wish)"
/home/seyedsaeed/cad/mmi/mmi_pd_040526/bin.sparc-solaris2/mmi_wish.8.0: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), dynamically linked, interpreter /usr/lib/ld.so.1, stripped
seyedsaeed@seyedsaeed-virtual-machine:~/Desktop$ mmidoc
/home/seyedsaeed/cad/mmi/mmi_pd_040526/bin.sparc-solaris2/mmi_wish: Exec format error. Wrong Architecture.
seyedsaeed@seyedsaeed-virtual-machine:~/Desktop$
این هم قرار نبوده مشکلی رو حل کنه. این هم یه سری اطلاعات نمایش داده.
با توجه به خروجی که قرار دادید، به نظر میاد اون فایلها برای معماری sparc و سیستمعامل opensolaris کامپایل شدند و به همین خاطر نمیتونند روی کامپیوتری با سیستمعاملی لینوکسی و معماری x86_64 اجرا بشن.
لینک فایلی که فرستاده بودید رو دیدم و اون فایل فشرده رو دانلود کردم. داخل دایرکتوری mmi_pd_040526 یه دایرکتوری به اسم bin.i486-linux وجود داره.(میتونید دایرکتوری رو معادل پوشه در نظر بگیرید)
دوتا دایرکتوری دیگه به اسمهای bin.sparc-solaris2 و bin.hppa هم اونجا وجود داره. (به همراه چندین دایرکتوری دیگه که کاری بهشون نداریم)
فکر کنم فایلهای اجرایی مناسب هر معماری و سیستمعامل داخل دایرکتوریهای مجزا قرار گرفتند.
با توجه به اینها، احتمالا فایلهای اجرایی مناسب برای اوبونتو و معماری x86_64 داخل دایرکتوری bin.i486-linux قرار دارند.
از اسم اون دایرکتوری به نظر میاد فایلها برای نسخه 32 بیتی معماری x86 کامپایل شدند. در حالی که پردازنده کامپیوتر شما به احتمال خیلی زیاد از معماری x86_64 که نسخه 64 بیتی x86 هست، استفاده میکنه.
اگه مطمئن نیستید که معماری پردازنده شما چیه، خروجی دستور uname -m رو ببینید. amd64 همون x86_64 هست. (مهم نیست که پردازنده شما amd هست یا intel، توی سیستمعاملهای لینوکسی، x86_64 به اسم amd64 شناخته میشه چون amd برای اولین بار پردازنده با معماری x86_64 ساخت.)
خوشبختانه معماری x86_64 با نسخههای قبلیش
سازگاری عقبرو داره و برنامههایی که برای نسخه 32 بیتی اون نوشته شدند، روی نسخه 64 بیتی اون هم اجرا میشن. اوبونتو هم هنوز نسخه 32 بیتی کتابخانهها برای معماری x86 رو داره. پس باید بشه اون فایلها رو روی این اوبونتو اجرا کرد.
باید متغیر PATH رو عوض کنید تا bash داخل دایرکتوری درست رو بگرده.
دوباره فایل bashrc. رو باز کنید. برید آخر فایل، اونجایی که متغیرهای محیطی MMI_TOOLS و PATH رو تنظیم کردید و PATH رو به این تغییر بدید:
PATH="${PATH}:${MMI_TOOLS}/bin.i486-linux"
این دستور رو بزنید تا فایل bashrc. دوباره خونده و چیزهای اون توی پوسته فعلی اعمال بشه.
source ~/.bashrc
الان سعی کنید دوباره mmidoc رو اجرا کنید و ببینید چی میگه.
اگه پایههای کار با ترمینال رو یاد بگیرید، کار شما راحتتر میشه. کار سختی هم نیست. اون
دوره لینوکس از کیلومتر صفر از آقای امیرصمیمی و همینطور
لینوکس برای آدمهای شاد از جادی(لینک به یوتیوب هست)، خیلی راحت و ساده توضیح دادند.
این کتاب که توسط جادی ترجمه شده، شما رو بیشتر با فلسفه این سیستمعامل آشنا میکنه. (کتاب رایگان هست و روی اینترنت میخونیدش)