مهمترین و کاربردیترین دستورات SSH
اگر سرور مجازی لینوکس را به عنوان فضای میزبانی سایت یا اپلیکیشن خود انتخاب میکنید، پس با محیط Shell سروکار زیادی خواهید داشت. در این مقاله به آموزش putty و بررسی دستورات ssh لینوکس، روش استفاده از آنها و ویژگیهای آنها میپردازیم.
پس از اینکه وارد محیط shell شدید برای برقراری ارتباط با سرور مجازی لینوکس خود، نیاز به استفاده از یک سری دستورات دارید. در ابن مقاله به بررسی دستورات SSH و نحوه بکار بردن آنها را به شما آموزش خواهیم داد.
آموزش دستورات SSH
این دستور جهت نمایش لیست فایلها و دایرکتوریها در یک فولدر بکار میرود و جایگزین دستور dir در سیستم عامل ویندوز میباشد.
این دستور جهت نمایش همه فایلها (حتی فایلهای پنهان شده) و فهرستها بکار میرود و جزئیات هر فایل را نیز نمایش میدهد.
این دستور جهت تغییر دایرکتوری بکار میرود.
توسط این دستور میتوانید به مسیر /usr/local/apache/ بروید.
توسط این دستور ssh میتوانید به مسیر خانه (home) بروید.
توسط این دستور میتوانید به آخرین دایرکتوری که در آن بودید، بروید.
توسط این کامند ssh میتوانید یک فولدر به عقب بروید.
توسط این دستور میتوانید محتوای یک پوشه را نمایش دهید.
توسط این دستور محتویات filename.txt روی صفحه نمایش داده میشود.
همانند دستور cat میباشد با این تفاوت که فقط خطوط انتهایی فایل را نمایش میدهد.
توسط این دستور میتوانید ۲۰ خط انتهایی (به طور پیش فرض) فایل در مسیر var/log/messages را مشاهده نمایید.
توسط این دستور میتوانید فایل را در هنگام آپدیت نمودن آن، بطور پیوسته مشاهده کنید.
توسط این دستور میتوانید ۲۰۰ خط آخر فایل را روی صفحه مشاهده کنید.
این دستور همانند cat میباشد، با این تفاوت که محتوای پرونده را بجای اینکه به صورت یکباره نمایش دهد، صفحه به صفحه نمایش میدهد.
توسط این دستور میتوانید داخل پرونده domains user را مشاهده کنید.
شما میتوانید دکمه Space را بزنید تا به صفحه بعدی بروید و با فشردن دکمه q میتوانید از آن خارج شوید.
این دستور ویرایشگر ساده و کاربرپسند جهت ویرایش فایلها میباشد.
توسط این دستور میتوانید صفحه index وب سایت کاربر را ویرایش کنید.
این دستور یک ویرایشگر دیگر با ویژگیهای بسیار زیاد، جهت ویرایش فایلها میباشد.
توسط این دستور میتوانید صفحه index وب سایت کاربر را ویرایش کنید.
این دستور جهت یافتن الگوی خاصی در پرونده خاص اسفاده میشود.
این دستور تمام گزینههای مربوط به root را در مسیر /etc/passwd را نشان میدهد.
تمام خطوطی را نشان می دهد که شامل root نمیباشند.
این یکی از دستورات ssh سرور است که با کمک آن میتوانید یک فایل خالی ایجاد کنید.
توسط این دستور میتوانید یک پرونده خالی به نام ۴۰۴٫html در مسیر /home/burst/public_html/ ایجاد کنید.
توسط این دستور میتوانید بین فایلها و دایرکتوریها، لینک ایجاد کنید.
توسط این دستور میتوانید http://www.yourdomain.com/webstats را مشاهده نمایید که این صفحه آمار وب سایت شما را به صورت آنلاین نمایش میدهد. همچنین شما میتوانید Symlink (webstats) را حذف کنید البته توجه نمایید که این کار آمار اصلی را در سرور حذف نمیکند.
توسط این دستور میتوانید فایل خاصی را حذف کنید.
این دستور فایل filename.txt را حذف می کند، بیش از حذف فایل، از شما سؤال خواهد کرد که آیا واقعاً می خواهید آن فایل را حذف کنید.
این دستور فایل filename.txt را حذف می کند. توجه نمایید که این دستور قبل از حذف فایل، درخواست تأیید از شما نمیخواهد.
این دستور به صورت بازگشتی دایرکتوری tmp و کلیه پرونده های موجود در آن از جمله زیرمجموعهها را نیز حذف می کند.
** هنگام استفاده از دستور rm بسیار مراقب باشید. در صورت استفاده نادرست این دستور، باعث میشود محتوای مهم حذف شود و محتوای حذف شد، هرگز قابل بازیابی نیست مگر اینکه بکاپ آن را داشته باشید و بتوانید آن را بازیابی(restore) نمایید.
این دستور ssh لینوکس نشان می دهد چه کسی وارد سیستم شده و چه زمان به سیستم لاگین شده است.
این دستور ۲۰ لاگین آخر را نشان می دهد.
این دستور ۲۰ لاگین آخر را به همراه نام میزبان (hostname) در انتهای آن نشان می دهد.
این دستور نشان می دهد چه کسی در حال حاضر وارد سیستم شده و از کجا وارد سیستم شده است.
این دستور تمام اتصالات شبکه فعلی (network connections) را نشان می دهد.
این دستور کلیه اتصالات مربوط به سرور، آی پیها (IPs) و پورت های مبدا و مقصد را نشان میدهد.
این دستورجدول مسیریابی(routing table) را برای کلیه IP هایی که به سرور وصل شده اند، را نشان می دهد.
این دستور یکی از پرکاربردترین دستورات در مانیتورینگ سرور میباشد و پروسس های سیستم (system processes) شامل اطلاعات حافظه (Memory)، آپ تایم سرور (Uptime) و سایر اطلاعات مفید را به صورت لحظهای در یک جدول نشان می دهد.
این دستور جهت مدیریت پروسسهای سیستم، منابع مصرفی سرور و اطمینان از اینکه روی همه پرپسس ها سرور به خوبی درحال اجرا میباشد یا نه، به کار میرود.
در دستورات top، از کلیدهای میانبر زیر میتوانید استفاده نمایید:
برای مرتب سازی بر اساس استفاده از حافظه (Memory)، کلید Shift + M را وارد کنید.
کلید Shift + P برای مرتب سازی بر اساس استفاده از CPU استفاده میشود.
اصطلاح ps به معنای وضعیت پروسس ها (process status) و مشابه دستور top میباشد. این دستور برای نمایش پروسسهای در حال اجرا و PID آنها، استفاده می شود.
شناسه پردازش (process ID) یک شماره منحصر به فرد است که یک پروسس خاصی را مشخص می کند. با دانستن PID یک پروسس می توانید یک برنامه در حال اجرا را روی سرور متوقف کنید (kill) یا به ادامه اجرای آن خاتمه دهید (terminate).
این دستور تمامی پروسسهای فعال یک کاربر خاص را نشان می دهد.
این دستور تمام پروسسهای سیستم را نشان می دهد.
این دستور تمام پروسسهای سیستم را مانند موارد فوق نشان می دهد اما با این تفاوت که در سلسله مراتبی بسیار مفید آنها را سازماندهی می کند.
این دستور تلاش می کند با بررسی محتوای یک فایل، حدس بزند که نوع آن فایل چیست.
این دستور لیستی از کلیه فایلها / فهرستها را در یک پوشه نمایش می دهد.
این دستور میزان مصرف فضای دیسک را نشان می دهد.
این یکی از دستورات ssh لینوکس است که خلاصه ای از کل فضای دیسک مورد استفاده در دایرکتوری فعلی، از جمله زیر شاخه ها را نشان می دهد.
این دستور مشابه دستور بالا بوده با این تفاوت که فضای دیسک مورد استفاده برای هر فایل و دایرکتوری را نمایش میدهد. این دستور زمانی کاربرد دارد که جهت پیدا کردن پرونده های بزرگ که فضای زیادی روی سرور آشغال نمودهاند، میباشید.
این دستور تعداد کلمات را نشان میدهد.
این دستور نشان میدهد که در فایلی با نام filename.txt چند سطر وجود دارد.
این دستور جهت کپی کردن یک فایل به کار میرود.
این دستور filename را در فایل با نام filename.backup کپی میکند.
این دستور كليه فایلها را به همراه مجوزهاي مربوطه به دايرکتوری دیگر کپی میکند.
این دستور فایل php.ini را داخل دایرکتوریها به صورت بازگشتی کپی میکند.
با این دستور یک پروسس سیستم را میتوانید خاتمه دهید. به طور مثال:
kill -9 PID EG: kill -9 431
kill PID EG : kill 10550
برای به دست آوردن PIDهای سیستم (شناسه پردازش) از دستورات ux یا top ویا ux استفاده کنید.
به عنوان مثال:
PID TTY TIME COMMAND
۱۰۵۵۰ pts/3 0:01 /bin/csh
۱۰۵۷۴ pts/4 0:02 /bin/csh
۱۰۵۹۰ pts/4 0:09 APP
در مثال بالا، هر خط یک پروسس را نشان می دهد که به عنوان مثال در یک برنامه در حال اجرا میباشد. ستون PID (شناسه پروسس)، شماره پروسس را نشان می دهد. قسمت COMMAND مسیر پروسس درحال اجرا را نشان می دهد.
قرار دادن دستورات ssh لینوکس فوق در کنار هم
گاهی نیاز است که دستورات مختلف را باهم ترکیب نموده و در یک خط استفاده کنید. در اینجا چند مثال آورده شده است.
توجه داشته باشید که | کاراکتر pipe نامیده می شود، داده ها را از یک برنامه می گیرد و آن را به برنامه دیگر انتقال می دهد.
کاراکتر > جهت ایجاد یک فایل جدید است، و هر محتوایی را که از قبل در آن وجود دارد را بازنویسی میکند.
کاراکتر >> جهت اضافه کردن داده ها به انتهای یک فایل است و در صورتی که فایل قبلاً وجود نداشته است، آن را ایجاد می کند.
کاراکتر < ورودی را از یک پرونده به یک دستور ارسال میکند.
مثال:
grep User /usr/local/apache/conf/httpd.conf | more
این دستور خطوطی را که با User در فایل httpd.conf مطابقت دارد، را پیدا می کند، سپس نتیجه را به صورت صفحه را به صفحه چاپ می کند. last -a > /root/lastlogins.tmp
این دستور تاریخچه ورود(لاگین) به سیستم فعلی را روی فایلی به نام lastlogins.tmp در مسیر root کپی خواهد کرد.
با اجرای این دستور ۱۰،۰۰۰ خط آخر از مسیر فایل /var/log/exim_mainlog را بررسی نموده، و تمام مواردی که با domain.com مطابقت دارد را پیدا میکند و سپس نتیجه را به صورت صفحه را به صفحه چاپ می کند.
این دستور تعداد اتصالات فعال برای آپاچی را نشان میدهد. (httpd در پورت ۸۰ اجرا می شود.)
این دستور تعداد اتصالات باز فعلی را به mysql نشان میدهد.
این دستور MySQL Dump را نشان میدهد.
این دستور جهت وارد کردن (import) پایگاه داده MySQL بکار میرود.
این دستور فایل را از حالت فشرده خارج میکند.
این دستور مسیر [perl] را مییابد.
با کمک این آموزش دستورت SSH اکنون میتوان پایهترین و کاربردیترین موارد را بر روی سرور مجازی لینوکس خود اعمال کرد.