کتاب فرمانهای لینوکس نسخه PDF انگلیسی
۸۴.۸۷۰ تومان قیمت اصلی ۸۴.۸۷۰ تومان بود.۳۸.۴۵۰ تومانقیمت فعلی ۳۸.۴۵۰ تومان است.
مشخصات فایل
- نوع فایل: PDF
- زبان: انگلیسی
- تعداد صفحات: 1527 صفحه
- حجم فایل: 10.14 مگابایت
- قابل استفاده در: موبایل، تبلت، کامپیوتر
- نوع دسترسی: دانلود فوری بعد از خرید
معرفی فایل Linux Command
فایل این محصول با نام LinuxCommand.pdf و موضوع «فرمانهای لینوکس» ثبت شده است. این توضیحات فقط بر موضوع قطعی فایل تمرکز دارد و به نویسنده، ناشر یا ویرایش خاصی نسبت داده نمیشود. هدف اصلی چنین منبعی آشنایی عملی با محیط خط فرمان Linux، ساختار Shell و مجموعه دستورهایی است که برای کار روزمره با فایلها، پردازش متن، مدیریت Process، Permission، شبکه و عیبیابی سیستم استفاده میشوند.
خط فرمان در لینوکس فقط ابزاری برای کاربران حرفهای نیست. بسیاری از وظایف مدیریت سرور، توسعه نرمافزار، DevOps، تحلیل Log، کار با Container و Automation از طریق Terminal سریعتر، دقیقتر و قابل تکرارتر انجام میشوند. یادگیری Commandها زمانی مؤثر است که کاربر علاوه بر حفظ Syntax، منطق Pipe، Redirection، Permission و Process را نیز درک کند.
Terminal و Shell چه تفاوتی دارند؟
Terminal محیطی است که ورودی و خروجی متنی را نمایش میدهد، در حالی که Shell برنامهای است که Command را تفسیر و اجرا میکند. Bash یکی از Shellهای رایج در Linux است، اما گزینههای دیگری مانند Zsh نیز وجود دارند.
شناخت این تفاوت کمک میکند تنظیمات محیط، Variableها و Scriptها بهتر فهمیده شوند.
ساختار یک Command
بیشتر دستورها از نام برنامه، Option و Argument تشکیل میشوند. برای مثال Option میتواند رفتار Command را تغییر دهد و Argument مسیر File یا مقدار مورد نظر را مشخص کند.
استفاده از --help و Manual Page یکی از مهمترین عادتها برای یادگیری مستقل است.
دستور man
فرمان man مستندات محلی بسیاری از ابزارهای Linux را نمایش میدهد. Manual معمولاً Syntax، Optionها، توضیح رفتار و مثالهای لازم را ارائه میکند.
کاربری که به man عادت کند وابستگی کمتری به حفظ کردن تمام Optionها خواهد داشت.
مسیرها در لینوکس
Linux از ساختار File System درختی استفاده میکند که از Root با علامت / شروع میشود. مسیر Absolute از Root و مسیر Relative از Directory فعلی محاسبه میشود.
درک Path برای تمام عملیات File Management، Script و Service ضروری است.
pwd و ls
pwd Directory فعلی را نمایش میدهد و ls محتوای Directory را فهرست میکند. Optionهای ls میتوانند اطلاعاتی مانند Permission، Owner، Size و فایلهای مخفی را نشان دهند.
این دو دستور پایه Navigation در Shell هستند.
cd و Navigation
cd برای تغییر Directory استفاده میشود. علامت .. به Parent Directory و ~ به Home کاربر اشاره دارد.
کار با Completion کلید Tab سرعت و دقت Navigation را افزایش میدهد.
mkdir و rmdir
mkdir Directory جدید ایجاد میکند و rmdir معمولاً Directory خالی را حذف میکند. برای ساخت مسیر چندسطحی میتوان از Option مناسب استفاده کرد.
قبل از حذف Directory بهتر است محتوا بررسی شود تا از پاک شدن ناخواسته Data جلوگیری شود.
touch
touch میتواند File خالی ایجاد کند یا Timestamp فایل موجود را تغییر دهد. این دستور در Scriptها و ساخت سریع Fileهای آزمایشی بسیار کاربردی است.
cp
cp برای Copy فایل یا Directory استفاده میشود. هنگام Copy کردن Directory معمولاً باید عملیات Recursive انجام شود.
در مسیرهای حساس، بررسی Destination قبل از Overwrite اهمیت زیادی دارد.
mv
mv هم برای Move و هم Rename استفاده میشود. چون Rename در همان File System معمولاً Operation سبکی است، این دستور بسیار سریع عمل میکند.
نام Destination باید با دقت بررسی شود تا File ناخواسته جایگزین نشود.
rm
rm فایل را حذف میکند و در بسیاری از محیطها سطل زبالهای مانند Desktop وجود ندارد. به همین دلیل استفاده از Optionهای Recursive و Force باید با دقت بسیار زیاد انجام شود.
در مدیریت سرور، حذف اشتباه یکی از خطاهای پرهزینه است؛ بنابراین Preview مسیر و استفاده از Backup اهمیت دارد.
cat
cat محتوای File متنی را نمایش یا چند File را به هم متصل میکند. برای Fileهای بزرگ ابزارهایی مانند less مناسبتر هستند.
less
less امکان مشاهده صفحهبهصفحه File، Search و حرکت در متن را فراهم میکند. برای Logها و Configهای بزرگ ابزار بسیار مفیدی است.
head و tail
head ابتدای File و tail انتهای آن را نشان میدهد. در عیبیابی Serviceها، مشاهده Live انتهای Log یکی از کاربردهای شناختهشده tail است.
grep
grep برای جستوجوی Pattern در متن استفاده میشود. میتوان Search را Case-insensitive، Recursive یا همراه با شماره Line انجام داد.
ترکیب grep با Pipe یکی از قدرتمندترین الگوهای تحلیل خروجی Commandهاست.
Regular Expression
بسیاری از ابزارهای Text Processing از Regular Expression پشتیبانی میکنند. Regex امکان تعریف Patternهای انعطافپذیر برای جستوجو و Filter کردن متن را فراهم میکند.
بهتر است Regex پیچیده مرحلهبهمرحله ساخته و روی Sample کوچک آزمایش شود.
find
find برای جستوجوی File بر اساس Name، Type، Size، Time و سایر Attributeها استفاده میشود. قدرت واقعی آن در ترکیب شرطها و اجرای Action روی Resultهاست.
قبل از Actionهای مخرب، ابتدا فقط Result جستوجو نمایش داده شود.
locate
locate میتواند با استفاده از Database از پیش ساختهشده Fileها را سریع پیدا کند. تفاوت آن با find این است که ممکن است Database کاملاً بهروز نباشد.
which و whereis
which مسیر Executableای را که Shell اجرا میکند نشان میدهد. این ابزار برای فهم PATH و عیبیابی چند Version از یک برنامه مفید است.
echo
echo متن یا مقدار Variable را چاپ میکند. در Scriptها برای Debug، ساخت خروجی و بررسی Environment Variable زیاد استفاده میشود.
Redirection
با Redirection میتوان Standard Output یا Error را به File هدایت کرد. تفاوت بین Overwrite و Append باید دقیق فهمیده شود تا Data قبلی ناخواسته از بین نرود.
Pipe
Pipe با علامت | خروجی یک Command را به ورودی Command بعدی میفرستد. فلسفه Unix بر ابزارهای کوچک و قابل ترکیب تکیه دارد و Pipe قلب این رویکرد است.
برای مثال میتوان خروجی یک Listing را Filter، Sort و Count کرد بدون نوشتن برنامه مستقل.
sort
sort Lineهای Text را مرتب میکند و Optionهایی برای Sort عددی، Reverse و انتخاب Field دارد.
uniq
uniq Lineهای تکراری متوالی را تشخیص میدهد و معمولاً همراه sort استفاده میشود. این ترکیب برای شمارش Eventهای Log مفید است.
wc
wc تعداد Line، Word یا Byte را محاسبه میکند. در Pipelineهای Text Processing ابزار ساده اما پرکاربردی است.
cut
cut Field یا محدودهای از Characterها را استخراج میکند. برای فایلهای Structured ساده میتواند سریع و مؤثر باشد.
awk
Awk زبان کوچکی برای پردازش Record و Fieldهای متنی است. میتوان با آن Filter، Calculation و Report ساده انجام داد.
برای تحلیل Log و خروجی Commandها، دانستن اصول awk ارزش زیادی دارد.
sed
Sed برای Transformation جریان متن استفاده میشود. Replace، حذف Line و انتخاب Range از کاربردهای رایج آن هستند.
قبل از ویرایش مستقیم File بهتر است Output روی Screen یا Copy آزمایشی بررسی شود.
Permissionهای Linux
Permissionهای پایه Read، Write و Execute هستند و برای Owner، Group و Others تعریف میشوند. درک این مدل برای Security و دسترسی Serviceها ضروری است.
chmod
chmod Permission را تغییر میدهد. میتوان از نماد Symbolic یا عدد Octal استفاده کرد.
دادن Permission بیش از حد، بهخصوص Write یا Execute عمومی، میتواند Risk امنیتی ایجاد کند.
chown و chgrp
chown Owner و chgrp Group File را تغییر میدهند. Ownership اشتباه میتواند باعث Fail شدن Service یا ایجاد دسترسی ناخواسته شود.
کاربران و گروهها
Linux یک سیستم Multi-user است. هر Process با Identity و Permission مشخص اجرا میشود و Groupها مدیریت دسترسی مشترک را سادهتر میکنند.
sudo
sudo امکان اجرای Command با Privilege بالاتر را طبق Policy فراهم میکند. اصل Least Privilege میگوید فقط زمانی که واقعاً لازم است از دسترسی مدیریتی استفاده شود.
Process چیست؟
هر برنامه در حال اجرا یک Process با PID مشخص است. Processها CPU، Memory و File Descriptor مصرف میکنند.
ps
ps Snapshotی از Processهای در حال اجرا میدهد. Optionهای مختلف میتوانند Owner، CPU، Memory و Command کامل را نمایش دهند.
top و htop
top نمای زندهای از Resource Usage ارائه میدهد. htop در بسیاری از سیستمها Interface تعاملیتر و خواناتری دارد.
kill
kill Signal به Process میفرستد. مفهوم Signal مهمتر از خود Command است؛ بهتر است ابتدا فرصت Shutdown عادی داده شود و فقط در صورت لزوم از Signal شدید استفاده شود.
jobs، bg و fg
Shell میتواند Jobها را در Foreground یا Background مدیریت کند. این قابلیت برای اجرای Task طولانی و ادامه کار در Terminal مفید است.
nohup
nohup برای اجرای Process به شکلی استفاده میشود که با بسته شدن Session لزوماً متوقف نشود. برای Taskهای جدیتر استفاده از Service Manager یا ابزارهایی مانند tmux معمولاً مناسبتر است.
df
df فضای File Systemها را نمایش میدهد. پر شدن Disk میتواند باعث Failure سرویس، Database و Log شود.
du
du میزان فضای مصرفشده توسط File و Directory را نشان میدهد. ترکیب آن با Sort برای پیدا کردن Directoryهای بزرگ مفید است.
mount
Mount کردن File System آن را به نقطهای از درخت Directory متصل میکند. Device، File System Type و Optionهای Mount روی رفتار و Security اثر دارند.
tar
tar برای Archive کردن مجموعه Fileها و Directoryها استفاده میشود و میتواند همراه Compression کار کند.
Archive با Backup کامل یکسان نیست؛ Backup خوب باید Version، Verification و Recovery Plan داشته باشد.
gzip و سایر Compressionها
Compression حجم File را کاهش میدهد و برای Log، Archive و انتقال Data مفید است. نوع Algorithm روی سرعت و نسبت Compression اثر دارد.
ssh
SSH برای اتصال امن Remote به سیستم Linux استفاده میشود. Authentication با Key معمولاً برای مدیریت سرور مناسبتر از Password ساده است.
Permission کلید خصوصی و مدیریت Host Key بخش مهم Security SSH است.
scp و rsync
scp برای Copy ساده روی SSH استفاده میشود. rsync قابلیت Synchronization، انتقال Incremental و Optionهای بیشتری دارد.
در rsync مسیر Source و Destination باید دقیق بررسی شود، بهخصوص هنگام استفاده از Option حذف.
ip
مجموعه Commandهای ip برای مشاهده Interface، Address و Route استفاده میشود. این ابزار در بسیاری از Distributionهای جدید جایگزین ابزارهای قدیمیتر شده است.
ping
ping برای بررسی Reachability و Latency پایه استفاده میشود، اما Block بودن ICMP لزوماً به معنی Down بودن Service نیست.
curl
curl برای انتقال Data با Protocolهای مختلف و تست HTTP API بسیار کاربردی است. Developerها میتوانند Header، Status و Response را بررسی کنند.
wget
wget برای Download و دریافت Resource از شبکه استفاده میشود و در Scriptهای ساده کاربرد زیادی دارد.
DNS Tools
ابزارهایی مانند dig برای بررسی DNS Record و عیبیابی Name Resolution استفاده میشوند. تفاوت DNS Failure با Network Failure باید تشخیص داده شود.
Environment Variables
Variableهایی مانند PATH رفتار Shell و برنامهها را تحت تأثیر قرار میدهند. تغییر PATH باید با احتیاط انجام شود تا Executable اشتباه اجرا نشود.
Shell Script
وقتی مجموعه Commandها بارها تکرار میشوند، میتوان آنها را در Script قرار داد. Script باعث Automation، Reproducibility و کاهش خطای دستی میشود.
Exit Code
Commandها Status خروج دارند. مقدار صفر معمولاً Success و مقدار غیرصفر Error را نشان میدهد. Script حرفهای باید Exit Code را بررسی کند.
شرط و Loop
Bash از if، case، for و while پشتیبانی میکند. این Structureها امکان ساخت Automation کاربردی را فراهم میکنند.
Quoting
تفاوت Single Quote و Double Quote در Shell مهم است. Expansion Variable و تفسیر Characterهای خاص میتواند نتیجه Command را کاملاً تغییر دهد.
Wildcard
Patternهایی مانند * و ? توسط Shell Expand میشوند. قبل از Commandهای حذف یا Move باید Expansion دقیق بررسی شود.
History
Shell History برای پیدا کردن Commandهای قبلی مفید است، اما نباید Secret مانند Password یا Token در Command Line قرار گیرد زیرا ممکن است در History ذخیره شود.
Logها
Log منبع اصلی عیبیابی است. زمان، Severity، Component و Context باید هنگام تحلیل Eventها در نظر گرفته شوند.
Systemd و Serviceها
در بسیاری از Distributionهای جدید، systemd Serviceها را مدیریت میکند. مشاهده Status، Log و Dependency سرویس برای Administrator مهم است.
Package Management
Distributionهای مختلف Package Manager متفاوتی دارند. Install، Update و Remove نرمافزار باید از Repository معتبر و با توجه به Dependencyها انجام شود.
Security در خط فرمان
هر Commandی که از Internet Copy میشود نباید بدون بررسی اجرا شود. Pipe مستقیم Script ناشناس به Shell میتواند Risk جدی ایجاد کند.
اصل Least Privilege، Backup و Review Commandهای مخرب باید همیشه رعایت شوند.
روش مطالعه پیشنهادی
بهترین روش یادگیری Commandهای Linux ساخت یک محیط آزمایشی است. هر دستور را روی File و Directory تستی اجرا کنید و قبل و بعد از Operation را بررسی کنید.
بهجای حفظ صدها Option، Conceptهای اصلی و روش استفاده از man را یاد بگیرید. سپس Commandهای پرتکرار بهمرور در حافظه میمانند.
این فایل برای چه کسانی مناسب است؟
- کاربران تازهوارد Linux.
- دانشجویان کامپیوتر و شبکه.
- برنامهنویسان و Backend Developerها.
- کاربران DevOps و مدیران سرور.
- افرادی که برای کار با VPS، Docker یا Cloud به CLI نیاز دارند.
جمعبندی
فایل Linux Command برای یادگیری محیط خط فرمان، مدیریت File، Text Processing، Process، Permission، Network و Automation مناسب است. قدرت Linux CLI در یک Command منفرد نیست؛ در توانایی ترکیب ابزارهای کوچک با Pipe، Redirection و Script است.
اگر مطالعه با تمرین واقعی، استفاده از Manual و رعایت اصول امنیتی همراه شود، کاربر از مرحله حفظ Commandها عبور میکند و به درک Workflow سیستم میرسد. این مهارت در مدیریت سرور، توسعه نرمافزار، DevOps، Cloud و عیبیابی سیستمهای Linux کاربرد مستقیم دارد.

نقد و بررسیها
هنوز بررسیای ثبت نشده است.