در اولین مقاله در مورد دستورات لینوکسی برای کاربرانی که به لینوکس مهاجرت کرده اند و همچنین دانش ضروری مورد نیاز برای شروع کار با Linux بحث کردیم.
مهاجرت از ویندوز به لینوکس - 20 دستور مفید برای تازه کاران
در مقاله ی دوم ما در مورد دستورات مورد نیاز کاربران سطح متوسط برای مدیریت سیستم خودشان بحث کردیم.
20 دستور پیشرفته برای کاربران سطح متوسط لینوکس
و اما در این مقاله در مورد تمام دستورات مورد نیاز برای ادمین سرورهای لینوکس بحث خواهیم کرد.
41 - دستور ifconfig
ifconfig برای پیکربندی اینترفیس های شبکه روی کرنل استفاده می شود. از این دستور به هنگام boot برای تنظیمات اینترفیس های به عنوان یکی از موارد ضروری استفاده می شود. پس از آن این دستور معمولا تنها زمان debug کردن و یا برای تنظیمات سیستم مورد استفاده قرار می گیرد.
بررسی اینترفیس های فعال شبکه
بررسی تمام اینترفیس های شبکه
با استفاده از آپشن –a جزئیات تمام اینترفیس های فعال و غیرفعال را مشاهده کنید.
غیرفعال کردن یک اینترفیس
فعال کردن یک اینترفیس
تخصیص آدرس IP به یک اینترفیس
آدرس “192.168.1.12” را به اینترفیس eth0 اختصاص میدهیم.
تغییر subnetmask مربوط به اینترفیس eth0
تغییر آدرس Broadcast اینترفیس eth0
تخصیص IP Address، Netmask و Broadcast به اینترفیس eth0
نکته : در صورتی که از شبکه ی وایرلس استفاده می کنید، باید از دستور iwconfig استفاده کنید. برای مثال های بیشتر و موارد استفاده در مورد دستور ifconfig لینک زیر را مشاهده کنید.
13 دستور پیکربندی و عیب یابی شبکه در لینوکس
42 - دستور netstat
دستور netstat انواع گوناگون اطلاعات مربوط به شبکه همچون ارتباطات شبکه، جدول روتینگ (routing tables)، آمار اینترفیس ها (interface)، ارتباطات (masquerade connections)، ارتباطات مالتی کست (multicast memberships) و ... را نشان می دهد.
لیست تمام پورت های شبکه
لیست تمام پورت های TCP
نمایش آمار تمام port ها
ممکن است به دلایلی شما نخواهید host، port و username را به عنوان خروجی netstat در سیستم خود resolve کنید.
شما ممکن است نیاز داشته باشید خروجی netstat به صورت مکرر بگیرید تا اینکه با استفاده از ctrl+c آنرا متوقف کنید.
برای مثال ها و موارد استفاده در مورد این دستور مقاله ی زیر را مطالعه کنید.
آموزش دستور netstat در لینوکس
43 - دستور nslookup
یک ابزار شبکه که برای گرفتن اطلاعاتی در مورد سرورهای اینترنتی استفاده می شود. همانطور که از نام آن پیداست این ابزار نام و اطلاعات سرور را برای domain و به واسطه query گرفتن از DNS پیدا می کند.
Query گرفتن از رکورد Mail Exchanger
Query گرفتن از Name Server
Query گرفتن از DNS Record
Query گرفتن از Start of Authority
Query گرفتن از شماره Port
شماره پورت را با آنجه که میخواهید به آن متصل شوید تغییر دهید.
همچنین توصیه میشود مطالعه کنید :
آموزش دستور nslookup برای حل مشکلات DNS
44 - دستور dig
dig ابزاری برای query گرفتن از nameserver های DNS برای کسب اطلاعات درباره ی آدرس هاست (host address)، سرور mail exchange ها، namesever ها، و اطلاعات مربوطه می باشد. این ابزار می تواند از هر سیستم عامل لینوکسی (Unix) و یا Macintosh OS ی استفاده شود. بشترین استفاده ی این دستور برای query گرفتن ساده از یک هاست مجزا میباشد.
غیر فعال کردن خطوط کامنت شده
غیر فعال کردن بخش Authority
غیر فعال کردن بخش Additional
غیر فعال کردن بخش Stats
غیر فعال کردن بخش Answer
غیر فعال کردن تمام بخش ها با یک کامند
همچنین می توانید لینک زیر را نیز مشاهده کنید.
دستور dig برای query گرفتن از DNS (به زودی)
45 - دستور uptime
شما به ماشین لینوکس خود متصل شده اید و موردی مشکوک و غیر معمول پیدا کردید، چکار خواهید کرد؟ حدس بزنید... نه قطعا برای بررسی اینکه چه اتفاقی برای سرور افتاده درزمانیکه سرورتان بی نقص درحال کار بوده، شما uptime را اجرا نمیکنید.
46 - دستور wall
یکی از مهم ترین دستورات برای ادمین است، wall یک پیام را به هر کسی که در سیستم لاگین است و mesg آن با پرمیشن "yes" ست شده است، می فرستد. پیام می تواند به عنوان یک آرگومان به wall داده شود و یا به عنوان ورودی استاندارد به wall ارسال شود.
47 - دستور mesg
این دستور به شما امکان کنترل افرادی که میتوانند از دستور write (از دستور write برای ارسال متن روی صفحه نمایش استفاده میشود) استفاده کنند را میدهد.
48 - دستور write
دستور write برای ارسال مستقیم به صفحه ی ماشین لینوکس دیگری که mesg آن "y" است، استفاده میشود.
49. دستور talk
علاوه بر دستور write، دستور talk نیز به شما امکان صحبت کردن با کاربران لاگین در سیستم را میدهد.
نکته : اگر دستور talk نصب نباشد شما می توانید پکیج مورد نیاز آنرا با استفاده از دستور yum و یا apt نصب کنید.
50 - دستور W
شاید دستور w برای شما سرگرم کننده باشد اما در حقیقت اینطور نیست. با وجود اینکه طول این دستور تنها یک حرف است اما به هر حال یک دستور است. دستور w ترکیبی از دو دستور uptime و who میباشد که یکی بعد از دیگری به سرعت میآیند.
51 - دستور rename
همانطور که از نام آن مشخص است، این دستور فایل ها را تغییر نام می دهد. دستور rename نام فایل ها را با جابجا کردن اولین بخش از نام آن تغییر خواهد داد.
کافیست دستور زیر را تایپ کنید.
52 - دستور top
دستور top پروسس های cpu را نشان می دهد. این دستور به صورت خودکار refresh می شود و تا زمانیکه به صورت دستی آن را متوقف نکنیم، process های cpu را نمایش میدهد.
همچنین توصیه میشود مطالعه کنید :
دستور top در لینوکس
53 - دستور mkfs.ext4
این دستور یک فایل سیستم جدید ext4 را روی دیوایس مشخص، ایجاد می کند. اگر دیوایس اشتباهی بعد از این دستور بیاید، کل بلاک پاک و فرمت خواهد شد. بنابراین پیشنهاد می شود که این دستور استفاده نشود مگر ینکه شما کاملا بدانید که چه کاری انجام می دهید.
توصیه میشود برای کسب اطلاعات بیشتر پست زیر را مطالعه کنید :
Ext2 ،Ext3 و Ext4 چیست و چگونه فایل سیستم های لینوکسی ایجاد و تبدیل می شوند
54 - دستور vi/emacs/nano
vi (یا visual) و emacs و nano از ادیتورهای رایج پرکاربرد در لینوکس هستند. که اغلب برای ادیت کردن فایل های متنی و پیکربندی استفاده می شود. راهنمای سریع درباره کارکردن با ادیتورهای vi و nano و emac را در زیر عنوان میکنیم.
ویرایشگر متن vi
کلید ‘i’ را برای وارد شدن به مد insert (محیط نوشتن) فشار دهید، و گرنه شما قادر نخواهید بود چیزی را تایپ کنید.
alt+x : با استفاده از این کلیدها از مد insert خارج شوید، به یاد داشته باشید که بعد از حرف آخر چندین space بگذارید.
ctrl+x : با استفاده از این کلید ها دستور و یا آخرین کلمه ی تایپ شده حذف خواهد شد.
:wq! : با استفاده از این کلید ها فایل را با متن جاری آن ذخیره کنید. به خاطر داشته باشید که "!" برای overwrite شدن استفاده میشود.
ویرایشگر متن nano
از کلیدهای ctrl +x برای بستن ادیتور استفاده کنید، که خروجی شبیه به زیر به شما نمایش میدهد :
کلید "y" را برای انتخاب "yes" تایپ کنید و نام فایل را وارد کرده و سپس کار شما تمام است.
55 - دستور rsync
Rsync فایل ها را کپی میکند. و با استفاده از گزینه ی P یک نوار پروسه ی کپی را نیز نمایش می دهد. بنابراین اگر شما rsync را روی سیستم تان نصب دارید می توانید از alias ساده ی زیر استفاده کنید.
حالا یک فایل طولانی را در ترمینال کپی کنید و خروجی آنرا به همراه مدت زمان باقی مانده ببینید که شبیه به یک نوار تکمیل پروسه است.
علاوه بر این نگهداری و محافظت از بک آپ ها یکی از مهم ترین و خسته کننده ترین کارهای یک ادمین سیستم است. Rsync برای ایجاد و نگه داری بک آپ در ترمینال یک ابزار بسیار مفیدی است.
نکته : آپشن -z برای فشرده سازی، -v برای verbose و -r برای recursive می باشد.
56 - دستور free
پیگیری منابعی همچون memory و resource های یک سیستم یکی از مهم ترین وظایف یک ادمین است، دستور free این کار را انجام میدهد.
وضعیت میزان استفاده در حال حاضر از Memory
خروجی به واحد KB, MB یا GB تنظیم میشود
بررسی میزان استفاده به فرمت قابل خواندن توسط انسان (Human Readable)
بررسی کردن وضعیت به صورت مستمر بعد از فواصل منظم
همچنین توصیه میشود مطالعه کنید :
دستور free در لینوکس برای بررسی memory
57 - دستور mysqldump
تا الان شما باید فهمیده باشید همانطور که از نام این دستور مشخص است، دقیقا به چه منظوری استفاده میشود. دستورات mysqldump از همه ی دیتای دیتابیس ها و یا بخش مشخصی از آنها را بک آپ (dump) میگیرد و خروجی آنرا در یک فایل ذخیره میکند. به عنوان مثال :
نکته : برای استفاده از دستور mysqldump نیاز دارید که mysql روی سیستم تان نصب و در حال اجرا باشد و همچنین نیاز به پسورد درست برای اتصال به آن دارید. ما یک سری دستورات مفید mysqldump را در لینک زیر برای شما فراهم آوردیم.
دستورات بک آپ گیری و Restore از دیتابیس MySQL
58 - دستور mkpasswd
با استفاده از دستور mkpasswd میتوانید پسوردهای random، سخت و با هر طول مشخصی ایجاد کنید.
نکته : آپشن -l وقتی به همراه آن عدد 10 استفاده شود، یک پسورد رندوم با طول 10 کاراکتر ایجاد میکنددر حالیکه -l 20 پسوردی با طول 20 کاراکتر میسازد. شما میتوانید این عدد را با هر عدد مورد نظر و دلخواه تان جایگزین کنید. این دستور در زبان اسکریپت نویسی اغلب برای ایجاد پسورد های رندوم بسیار مفید و پرکاربرد است شما ممکن است برای استفاده از این دستور و برای نصب پکیج های مورد نیاز ازز yum یا apt استفاده کنید.
59 - دستور paste
برای ادغام خطوط دو یا چند فایل استفاده می شود. (اگر محتوای فایل 1 به شرح زیر باشد)
60 - دستور lsof
lsof مخفف list open files می باشد و تمام فایل هایی که در حال حاضر روی سیستم تان باز هستند را نشان می دهد. یافتن اینکه کدام process از کدام فایل خاص استفاده میکند و یا نمایش تمام فایل هایی که برای یک process مجزا استفاده میشوند امری بسیار مفید است.
در لینک زیر ما 10 مثال مفید از دستور lsof را مطرح کردیم، که ممکن است شما علاقه مند به مطالعه آن باشید.
دستور lsof در لینوکس به همراه 10 مثال عملی
اینجا پایان کار نیست و یک ادمین سیستم برای فراهم آوردن یک واسط خوب که شما بتوانید به راحتی با آن کار کنید باید کارهای بسیار زیادی انجام دهد. مدیریت سیستم در حقیقت هنر یاد گیری و پیاده سازی به شیوه ای بسیار کامل میباشد. ما تمام تلاش خود را میکنیم که شما را با تمامی موارد ضروری که یک فرد حرفه ای در لینوکس باید بداند آشنا کنیم. لینوکس در اصل پروسه ای از یادگیری و یادگیریست. نظرات سازنده شما همیشه باعث تشویق و تحریک ما برای افزایش تلاش در راستای بالا بردن دانش عمومی بوده و خواهد بود. باعث خوشحالیت که نظرات ارزشمند خود را با ما در میان بگذارید.
مهاجرت از ویندوز به لینوکس - 20 دستور مفید برای تازه کاران
در مقاله ی دوم ما در مورد دستورات مورد نیاز کاربران سطح متوسط برای مدیریت سیستم خودشان بحث کردیم.
20 دستور پیشرفته برای کاربران سطح متوسط لینوکس
و اما در این مقاله در مورد تمام دستورات مورد نیاز برای ادمین سرورهای لینوکس بحث خواهیم کرد.
41 - دستور ifconfig
ifconfig برای پیکربندی اینترفیس های شبکه روی کرنل استفاده می شود. از این دستور به هنگام boot برای تنظیمات اینترفیس های به عنوان یکی از موارد ضروری استفاده می شود. پس از آن این دستور معمولا تنها زمان debug کردن و یا برای تنظیمات سیستم مورد استفاده قرار می گیرد.
بررسی اینترفیس های فعال شبکه
کد PHP:
[mohammad@linux-zone ~]$ ifconfig
eth0 Link encap:Ethernet HWaddr 40:2C:F4:EA:CF:0E
inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::422c:f4ff:feea:cf0e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:163843 errors:0 dropped:0 overruns:0 frame:0
TX packets:124990 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:154389832 (147.2 MiB) TX bytes:65085817 (62.0 MiB)
Interrupt:20 Memory:f7100000-f7120000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:78 errors:0 dropped:0 overruns:0 frame:0
TX packets:78 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4186 (4.0 KiB) TX bytes:4186 (4.0 KiB)
بررسی تمام اینترفیس های شبکه
با استفاده از آپشن –a جزئیات تمام اینترفیس های فعال و غیرفعال را مشاهده کنید.
کد PHP:
[mohammad@linux-zone ~]$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 40:2C:F4:EA:CF:0E
inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::422c:f4ff:feea:cf0e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:163843 errors:0 dropped:0 overruns:0 frame:0
TX packets:124990 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:154389832 (147.2 MiB) TX bytes:65085817 (62.0 MiB)
Interrupt:20 Memory:f7100000-f7120000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:78 errors:0 dropped:0 overruns:0 frame:0
TX packets:78 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4186 (4.0 KiB) TX bytes:4186 (4.0 KiB)
virbr0 Link encap:Ethernet HWaddr 0e:30:a3:3a:bf:03
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
غیرفعال کردن یک اینترفیس
کد PHP:
[mohammad@linux-zone ~]$ ifconfig eth0 down
فعال کردن یک اینترفیس
کد PHP:
[mohammad@linux-zone ~]$ ifconfig eth0 up
تخصیص آدرس IP به یک اینترفیس
آدرس “192.168.1.12” را به اینترفیس eth0 اختصاص میدهیم.
کد PHP:
[mohammad@linux-zone ~]$ ifconfig eth0 192.168.1.12
تغییر subnetmask مربوط به اینترفیس eth0
کد PHP:
[mohammad@linux-zone ~]$ ifconfig eth0 netmask 255.255.255.
تغییر آدرس Broadcast اینترفیس eth0
کد PHP:
[mohammad@linux-zone ~]$ ifconfig eth0 broadcast 192.168.1.255
تخصیص IP Address، Netmask و Broadcast به اینترفیس eth0
کد PHP:
[mohammad@linux-zone ~]$ ifconfig eth0 192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255
نکته : در صورتی که از شبکه ی وایرلس استفاده می کنید، باید از دستور iwconfig استفاده کنید. برای مثال های بیشتر و موارد استفاده در مورد دستور ifconfig لینک زیر را مشاهده کنید.
13 دستور پیکربندی و عیب یابی شبکه در لینوکس
42 - دستور netstat
دستور netstat انواع گوناگون اطلاعات مربوط به شبکه همچون ارتباطات شبکه، جدول روتینگ (routing tables)، آمار اینترفیس ها (interface)، ارتباطات (masquerade connections)، ارتباطات مالتی کست (multicast memberships) و ... را نشان می دهد.
لیست تمام پورت های شبکه
کد PHP:
[mohammad@linux-zone ~]$ netstat -a
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 741379 /run/user/user1/keyring-I5cn1c/gpg
unix 2 [ ACC ] STREAM LISTENING 8965 /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 18584 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 741385 /run/user/user1/keyring-I5cn1c/ssh
unix 2 [ ACC ] STREAM LISTENING 741387 /run/user/user1/keyring-I5cn1c/pkcs11
unix 2 [ ACC ] STREAM LISTENING 20242 @/tmp/dbus-ghtTjuPN46
unix 2 [ ACC ] STREAM LISTENING 13332 /var/run/samba/winbindd_privileged/pipe
unix 2 [ ACC ] STREAM LISTENING 13331 /tmp/.winbindd/pipe
unix 2 [ ACC ] STREAM LISTENING 11030 /var/run/mysqld/mysqld.sock
unix 2 [ ACC ] STREAM LISTENING 19308 /tmp/ssh-qnZadSgJAbqd/agent.3221
unix 2 [ ACC ] STREAM LISTENING 436781 /tmp/HotShots
unix 2 [ ACC ] STREAM LISTENING 46110 /run/user/ravisaive/pulse/native
unix 2 [ ACC ] STREAM LISTENING 19310 /tmp/gpg-zfE9YT/S.gpg-agent
....
لیست تمام پورت های TCP
کد PHP:
[mohammad@linux-zone~]$ netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:mysql *:* LISTEN
tcp 0 0 *:5901 *:* LISTEN
tcp 0 0 *:5902 *:* LISTEN
tcp 0 0 *:x11-1 *:* LISTEN
tcp 0 0 *:x11-2 *:* LISTEN
tcp 0 0 *:5938 *:* LISTEN
tcp 0 0 localhost:5940 *:* LISTEN
tcp 0 0 ravisaive-OptiPl:domain *:* LISTEN
tcp 0 0 ravisaive-OptiPl:domain *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 ravisaive-OptiPle:48270 ec2-23-21-236-70.c:http ESTABLISHED
tcp 0 0 ravisaive-OptiPle:48272 ec2-23-21-236-70.c:http TIME_WAIT
tcp 0 0 ravisaive-OptiPle:48421 bom03s01-in-f22.1:https ESTABLISHED
tcp 0 0 ravisaive-OptiPle:48269 ec2-23-21-236-70.c:http ESTABLISHED
tcp 0 0 ravisaive-OptiPle:39084 channel-ecmp-06-f:https ESTABLISHED
...
نمایش آمار تمام port ها
کد PHP:
[mohammad@linux-zone ~]$ netstat -s
Ip:
4994239 total packets received
0 forwarded
0 incoming packets discarded
4165741 incoming packets delivered
3248924 requests sent out
8 outgoing packets dropped
Icmp:
29460 ICMP messages received
566 input ICMP message failed.
ICMP input histogram:
destination unreachable: 98
redirects: 29362
2918 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 2918
IcmpMsg:
InType3: 98
InType5: 29362
OutType3: 2918
Tcp:
94533 active connections openings
23 passive connection openings
5870 failed connection attempts
7194 connection resets received
....
کد PHP:
[mohammad@linux-zone ~]$ netstat -an
کد PHP:
[mohammad@linux-zone ~]$ netstat -c
آموزش دستور netstat در لینوکس
43 - دستور nslookup
یک ابزار شبکه که برای گرفتن اطلاعاتی در مورد سرورهای اینترنتی استفاده می شود. همانطور که از نام آن پیداست این ابزار نام و اطلاعات سرور را برای domain و به واسطه query گرفتن از DNS پیدا می کند.
کد PHP:
parham@parham:~$ nslookup linux-zone.orgServer: 8.8.8.8Address: 8.8.8.8#53
Non-authoritative answer:Name: linux-zone.orgAddress: 149.202.133.22
Query گرفتن از رکورد Mail Exchanger
کد PHP:
parham@parham:~$ nslookup -query=mx linux-zone.orgServer: 8.8.8.8Address: 8.8.8.8#53
Non-authoritative answer:linux-zone.org mail exchanger = 20 linux-zone.org.linux-zone.org mail exchanger = 10 linux-zone.org.
Authoritative answers can be found from:
Query گرفتن از Name Server
کد PHP:
parham@parham:~$ nslookup -type=ns linux-zone.orgServer: 8.8.8.8Address: 8.8.8.8#53
Non-authoritative answer:linux-zone.org nameserver = cns2.serversgig.com.linux-zone.org nameserver = cns1.serversgig.com.
Authoritative answers can be found from:
Query گرفتن از DNS Record
کد PHP:
parham@parham:~$ nslookup -type=any linux-zone.orgServer: 8.8.4.4Address: 8.8.4.4#53
Non-authoritative answer:linux-zone.org text = "v=spf1 +a +mx +ip4:149.202.133.22 ~all"Name: linux-zone.orgAddress: 149.202.133.22linux-zone.org mail exchanger = 20 linux-zone.org.linux-zone.org mail exchanger = 10 linux-zone.org.linux-zone.org origin = cns1.serversgig.com mail addr = ehsan.filecorn.com serial = 2016021101 refresh = 86400 retry = 7200 expire = 3600000 minimum = 86400linux-zone.org nameserver = cns1.serversgig.com.linux-zone.org nameserver = cns2.serversgig.com.
Authoritative answers can be found from:
Query گرفتن از Start of Authority
کد PHP:
parham@parham:~$ nslookup -type=soa linux-zone.orgServer: 8.8.8.8Address: 8.8.8.8#53
Non-authoritative answer:linux-zone.org origin = cns1.serversgig.com mail addr = ehsan.filecorn.com serial = 2016021101 refresh = 86400 retry = 7200 expire = 3600000 minimum = 86400
Authoritative answers can be found from:
Query گرفتن از شماره Port
شماره پورت را با آنجه که میخواهید به آن متصل شوید تغییر دهید.
کد PHP:
[mohammad@linux-zone ~]$ nslookup -port 56 linux-zone.org
Server: linux-zone.org
Address: 149.202.133.22#53
Name: 56
Address: 149.202.133.22
همچنین توصیه میشود مطالعه کنید :
آموزش دستور nslookup برای حل مشکلات DNS
44 - دستور dig
dig ابزاری برای query گرفتن از nameserver های DNS برای کسب اطلاعات درباره ی آدرس هاست (host address)، سرور mail exchange ها، namesever ها، و اطلاعات مربوطه می باشد. این ابزار می تواند از هر سیستم عامل لینوکسی (Unix) و یا Macintosh OS ی استفاده شود. بشترین استفاده ی این دستور برای query گرفتن ساده از یک هاست مجزا میباشد.
کد PHP:
parham@parham:~$ dig linux-zone.org
; <<>> DiG 9.10.3-P4-Ubuntu <<>> linux-zone.org;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 147;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux-zone.org. IN A
;; ANSWER SECTION:linux-zone.org. 10238 IN A 149.202.133.22
;; Query time: 228 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Thu Mar 16 19:35:26 IRST 2017;; MSG SIZE rcvd: 59
غیر فعال کردن خطوط کامنت شده
کد PHP:
parham@parham:~$ dig linux-zone.org +nocomments
; <<>> DiG 9.10.3-P4-Ubuntu <<>> linux-zone.org +nocomments;; global options: +cmd;linux-zone.org. IN Alinux-zone.org. 13190 IN A 149.202.133.22;; Query time: 204 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Thu Mar 16 19:36:03 IRST 2017;; MSG SIZE rcvd: 59
غیر فعال کردن بخش Authority
کد PHP:
parham@parham:~$ dig linux-zone.org +noauthority
; <<>> DiG 9.10.3-P4-Ubuntu <<>> linux-zone.org +noauthority;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51663;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux-zone.org. IN A
;; ANSWER SECTION:linux-zone.org. 13120 IN A 149.202.133.22
;; Query time: 237 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Thu Mar 16 19:37:13 IRST 2017;; MSG SIZE rcvd: 59
غیر فعال کردن بخش Additional
کد PHP:
parham@parham:~$ dig linux-zone.org +noadditional
; <<>> DiG 9.10.3-P4-Ubuntu <<>> linux-zone.org +noadditional;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58900;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux-zone.org. IN A
;; ANSWER SECTION:linux-zone.org. 13089 IN A 149.202.133.22
;; Query time: 222 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Thu Mar 16 19:37:44 IRST 2017;; MSG SIZE rcvd: 59
غیر فعال کردن بخش Stats
کد PHP:
parham@parham:~$ dig linux-zone.org +nostats
; <<>> DiG 9.10.3-P4-Ubuntu <<>> linux-zone.org +nostats;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61159;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux-zone.org. IN A
;; ANSWER SECTION:linux-zone.org. 13057 IN A 149.202.133.22
غیر فعال کردن بخش Answer
کد PHP:
parham@parham:~$ dig linux-zone.org +noanswer
; <<>> DiG 9.10.3-P4-Ubuntu <<>> linux-zone.org +noanswer;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17151;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux-zone.org. IN A
;; Query time: 237 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Thu Mar 16 19:38:50 IRST 2017;; MSG SIZE rcvd: 59
غیر فعال کردن تمام بخش ها با یک کامند
کد PHP:
parham@parham:~$ dig linux-zone.org +noall
; <<>> DiG 9.10.3-P4-Ubuntu <<>> linux-zone.org +noall;; global options: +cmd
دستور dig برای query گرفتن از DNS (به زودی)
45 - دستور uptime
شما به ماشین لینوکس خود متصل شده اید و موردی مشکوک و غیر معمول پیدا کردید، چکار خواهید کرد؟ حدس بزنید... نه قطعا برای بررسی اینکه چه اتفاقی برای سرور افتاده درزمانیکه سرورتان بی نقص درحال کار بوده، شما uptime را اجرا نمیکنید.
کد PHP:
[mohammad@linux-zone ~]$ uptime
14:37:10 up 4:21, 2 users, load average: 0.00, 0.00, 0.04
46 - دستور wall
یکی از مهم ترین دستورات برای ادمین است، wall یک پیام را به هر کسی که در سیستم لاگین است و mesg آن با پرمیشن "yes" ست شده است، می فرستد. پیام می تواند به عنوان یک آرگومان به wall داده شود و یا به عنوان ورودی استاندارد به wall ارسال شود.
کد PHP:
[mohammad@linux-zone ~]$ wall "we will be going down for maintenance for one hour sharply at 03:30 pm"
Broadcast message from root@localhost.localdomain (pts/0) (Sat Jun 29 14:44:02 2013):
we will be going down for maintenance for one hour sharply at 03:30 pm
47 - دستور mesg
این دستور به شما امکان کنترل افرادی که میتوانند از دستور write (از دستور write برای ارسال متن روی صفحه نمایش استفاده میشود) استفاده کنند را میدهد.
کد PHP:
mesg [n|y]
n - prevents the message from others popping up on the screen.
y – Allows messages to appear on your screen.
48 - دستور write
دستور write برای ارسال مستقیم به صفحه ی ماشین لینوکس دیگری که mesg آن "y" است، استفاده میشود.
کد PHP:
[mohammad@linux-zone ~]$ write ravisaive
49. دستور talk
علاوه بر دستور write، دستور talk نیز به شما امکان صحبت کردن با کاربران لاگین در سیستم را میدهد.
کد PHP:
[mohammad@linux-zone ~]$ talk ravisaive
کد PHP:
[mohammad@linux-zone ~]$ yum install talk
OR
[mohammad@linux-zone ~]$ apt-get install talk
50 - دستور W
شاید دستور w برای شما سرگرم کننده باشد اما در حقیقت اینطور نیست. با وجود اینکه طول این دستور تنها یک حرف است اما به هر حال یک دستور است. دستور w ترکیبی از دو دستور uptime و who میباشد که یکی بعد از دیگری به سرعت میآیند.
کد PHP:
[mohammad@linux-zone ~]$ w
15:05:42 up 4:49, 3 users, load average: 0.02, 0.01, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
server tty7 :0 14:06 4:43m 1:42 0.08s pam: gdm-passwo
server pts/0 :0.0 14:18 0.00s 0.23s 1.65s gnome-terminal
server pts/1 :0.0 14:47 4:43 0.01s 0.01s bash
51 - دستور rename
همانطور که از نام آن مشخص است، این دستور فایل ها را تغییر نام می دهد. دستور rename نام فایل ها را با جابجا کردن اولین بخش از نام آن تغییر خواهد داد.
کد PHP:
Give the file names a1, a2, a3, a4.....1213
کد PHP:
rename a1 a0 a?
rename a1 a0 a??
52 - دستور top
دستور top پروسس های cpu را نشان می دهد. این دستور به صورت خودکار refresh می شود و تا زمانیکه به صورت دستی آن را متوقف نکنیم، process های cpu را نمایش میدهد.
کد PHP:
[mohammad@linux-zone ~]$ top
top - 14:06:45 up 10 days, 20:57, 2 users, load average: 0.10, 0.16, 0.21
Tasks: 240 total, 1 running, 235 sleeping, 0 stopped, 4 zombie
%Cpu(s): 2.0 us, 0.5 sy, 0.0 ni, 97.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 2028240 total, 1777848 used, 250392 free, 81804 buffers
KiB Swap: 3905532 total, 156748 used, 3748784 free, 381456 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
23768 ravisaiv 20 0 1428m 571m 41m S 2.3 28.9 14:27.52 firefox
24182 ravisaiv 20 0 511m 132m 25m S 1.7 6.7 2:45.94 plugin-containe
26929 ravisaiv 20 0 5344 1432 972 R 0.7 0.1 0:00.07 top
24875 ravisaiv 20 0 263m 14m 10m S 0.3 0.7 0:02.76 lxterminal
1 root 20 0 3896 1928 1228 S 0.0 0.1 0:01.62 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.06 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:17.28 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/u:0H
8 root rt 0 0 0 0 S 0.0 0.0 0:00.12 migration/0
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
10 root 20 0 0 0 0 S 0.0 0.0 0:26.94 rcu_sched
11 root rt 0 0 0 0 S 0.0 0.0 0:01.95 watchdog/0
12 root rt 0 0 0 0 S 0.0 0.0 0:02.00 watchdog/1
13 root 20 0 0 0 0 S 0.0 0.0 0:17.80 ksoftirqd/1
14 root rt 0 0 0 0 S 0.0 0.0 0:00.12 migration/1
16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H
17 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset
18 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper
19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
20 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
21 root 20 0 0 0 0 S 0.0 0.0 0:00.04 bdi-default
22 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd
23 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd
24 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 ata_sff
دستور top در لینوکس
53 - دستور mkfs.ext4
این دستور یک فایل سیستم جدید ext4 را روی دیوایس مشخص، ایجاد می کند. اگر دیوایس اشتباهی بعد از این دستور بیاید، کل بلاک پاک و فرمت خواهد شد. بنابراین پیشنهاد می شود که این دستور استفاده نشود مگر ینکه شما کاملا بدانید که چه کاری انجام می دهید.
کد PHP:
Mkfs.ext4 /dev/sda1 (sda1 block will be formatted)
mkfs.ext4 /dev/sdb1 (sdb1 block will be formatted)
توصیه میشود برای کسب اطلاعات بیشتر پست زیر را مطالعه کنید :
Ext2 ،Ext3 و Ext4 چیست و چگونه فایل سیستم های لینوکسی ایجاد و تبدیل می شوند
54 - دستور vi/emacs/nano
vi (یا visual) و emacs و nano از ادیتورهای رایج پرکاربرد در لینوکس هستند. که اغلب برای ادیت کردن فایل های متنی و پیکربندی استفاده می شود. راهنمای سریع درباره کارکردن با ادیتورهای vi و nano و emac را در زیر عنوان میکنیم.
ویرایشگر متن vi
کد PHP:
[mohammad@linux-zone~]$ touch a.txt (creates a text file a.txt)
[mohammad@linux-zone~]$ vi a.txt (open a.txt with vi editor)
کد PHP:
echo "Hello" (your text here for the file)
ctrl+x : با استفاده از این کلید ها دستور و یا آخرین کلمه ی تایپ شده حذف خواهد شد.
:wq! : با استفاده از این کلید ها فایل را با متن جاری آن ذخیره کنید. به خاطر داشته باشید که "!" برای overwrite شدن استفاده میشود.
ویرایشگر متن nano
کد PHP:
[mohammad@linux-zone~]$ nano a.txt (open a.txt file to be edited with nano)
edit, with the content, required
کد PHP:
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?
Y Yes
N No ^C Cancel
55 - دستور rsync
Rsync فایل ها را کپی میکند. و با استفاده از گزینه ی P یک نوار پروسه ی کپی را نیز نمایش می دهد. بنابراین اگر شما rsync را روی سیستم تان نصب دارید می توانید از alias ساده ی زیر استفاده کنید.
کد PHP:
alias cp='rsync -aP'
علاوه بر این نگهداری و محافظت از بک آپ ها یکی از مهم ترین و خسته کننده ترین کارهای یک ادمین سیستم است. Rsync برای ایجاد و نگه داری بک آپ در ترمینال یک ابزار بسیار مفیدی است.
کد PHP:
[mohammad@linux-zone ~]$ rsync -zvr IMG_5267\ copy\=33\ copy\=ok.jpg ~/Desktop/
sending incremental file list
IMG_5267 copy=33 copy=ok.jpg
sent 2883830 bytes received 31 bytes 5767722.00 bytes/sec
total size is 2882771 speedup is 1.00
56 - دستور free
پیگیری منابعی همچون memory و resource های یک سیستم یکی از مهم ترین وظایف یک ادمین است، دستور free این کار را انجام میدهد.
وضعیت میزان استفاده در حال حاضر از Memory
کد PHP:
[mohammad@linux-zone ~]$ free
total used free shared buffers cached
Mem: 2028240 1788272 239968 0 69468 363716
-/+ buffers/cache: 1355088 673152
Swap: 3905532 157076 3748456
خروجی به واحد KB, MB یا GB تنظیم میشود
کد PHP:
[mohammad@linux-zone ~]$ free -b
total used free shared buffers cached
Mem: 2076917760 1838272512 238645248 0 71348224 372670464
-/+ buffers/cache: 1394253824 682663936
Swap: 3999264768 160845824 3838418944
[mohammad@linux-zone ~]$ free -k
total used free shared buffers cached
Mem: 2028240 1801484 226756 0 69948 363704
-/+ buffers/cache: 1367832 660408
Swap: 3905532 157076 3748456
[mohammad@linux-zone ~]$ free -m
total used free shared buffers cached
Mem: 1980 1762 218 0 68 355
-/+ buffers/cache: 1338 641
Swap: 3813 153 3660
[mohammad@linux-zone ~]$ free -g
total used free shared buffers cached
Mem: 1 1 0 0 0 0
-/+ buffers/cache: 1 0
Swap: 3 0 3
بررسی میزان استفاده به فرمت قابل خواندن توسط انسان (Human Readable)
کد PHP:
[mohammad@linux-zone ~]$ free -h
total used free shared buffers cached
Mem: 1.9G 1.7G 208M 0B 68M 355M
-/+ buffers/cache: 1.3G 632M
Swap: 3.7G 153M 3.6G
بررسی کردن وضعیت به صورت مستمر بعد از فواصل منظم
کد PHP:
[mohammad@linux-zone ~]$ free -s 3
total used free shared buffers cached
Mem: 2028240 1824096 204144 0 70708 364180
-/+ buffers/cache: 1389208 639032
Swap: 3905532 157076 3748456
total used free shared buffers cached
Mem: 2028240 1824192 204048 0 70716 364212
-/+ buffers/cache: 1389264 638976
Swap: 3905532 157076 3748456
دستور free در لینوکس برای بررسی memory
57 - دستور mysqldump
تا الان شما باید فهمیده باشید همانطور که از نام این دستور مشخص است، دقیقا به چه منظوری استفاده میشود. دستورات mysqldump از همه ی دیتای دیتابیس ها و یا بخش مشخصی از آنها را بک آپ (dump) میگیرد و خروجی آنرا در یک فایل ذخیره میکند. به عنوان مثال :
کد PHP:
[mohammad@linux-zone ~]$ mysqldump -u root -p --all-databases > /home/server/Desktop/backupfile.sql
دستورات بک آپ گیری و Restore از دیتابیس MySQL
58 - دستور mkpasswd
با استفاده از دستور mkpasswd میتوانید پسوردهای random، سخت و با هر طول مشخصی ایجاد کنید.
کد PHP:
[mohammad@linux-zone ~]$ mkpasswd -l 10
zI4+Ybqfx9
کد PHP:
[mohammad@linux-zone ~]$ mkpasswd -l 20
w0Pr7aqKk&hmbmqdrlmk
کد PHP:
[root@linux-zone ~]# yum install expect
OR
[root@linux-zone ~]# apt-get install expect
59 - دستور paste
برای ادغام خطوط دو یا چند فایل استفاده می شود. (اگر محتوای فایل 1 به شرح زیر باشد)
کد PHP:
File 1
1
2
3
و همچنین محتوای فایل 2 عبارت باشد از :
a
b
c
d
در نتیجه فایل 3 شبیه به زیر خواهد بود :
1 a
2 b
3 c
d
60 - دستور lsof
lsof مخفف list open files می باشد و تمام فایل هایی که در حال حاضر روی سیستم تان باز هستند را نشان می دهد. یافتن اینکه کدام process از کدام فایل خاص استفاده میکند و یا نمایش تمام فایل هایی که برای یک process مجزا استفاده میشوند امری بسیار مفید است.
کد PHP:
[mohammad@linux-zone ~]$ lsof
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init 1 root cwd DIR 8,1 4096 2 /
init 1 root rtd DIR 8,1 4096 2 /
init 1 root txt REG 8,1 227432 395571 /sbin/init
init 1 root mem REG 8,1 47080 263023 /lib/i386-linux-gnu/libnss_files-2.17.so
init 1 root mem REG 8,1 42672 270178 /lib/i386-linux-gnu/libnss_nis-2.17.so
init 1 root mem REG 8,1 87940 270187 /lib/i386-linux-gnu/libnsl-2.17.so
init 1 root mem REG 8,1 30560 263021 /lib/i386-linux-gnu/libnss_compat-2.17.so
init 1 root mem REG 8,1 124637 270176 /lib/i386-linux-gnu/libpthread-2.17.so
init 1 root mem REG 8,1 1770984 266166 /lib/i386-linux-gnu/libc-2.17.so
init 1 root mem REG 8,1 30696 262824 /lib/i386-linux-gnu/librt-2.17.so
init 1 root mem REG 8,1 34392 262867 /lib/i386-linux-gnu/libjson.so.0.1.0
init 1 root mem REG 8,1 296792 262889 /lib/i386-linux-gnu/libdbus-1.so.3.7.2
init 1 root mem REG 8,1 34168 262840 /lib/i386-linux-gnu/libnih-dbus.so.1.0.0
init 1 root mem REG 8,1 95616 262848 /lib/i386-linux-gnu/libnih.so.1.0.0
init 1 root mem REG 8,1 134376 270186 /lib/i386-linux-gnu/ld-2.17.so
init 1 root 0u CHR 1,3 0t0 1035 /dev/null
init 1 root 1u CHR 1,3 0t0 1035 /dev/null
init 1 root 2u CHR 1,3 0t0 1035 /dev/null
init 1 root 3r FIFO 0,8 0t0 1714 pipe
init 1 root 4w FIFO 0,8 0t0 1714 pipe
init 1 root 5r 0000 0,9 0 6245 anon_inode
init 1 root 6r 0000 0,9 0 6245 anon_inode
init 1 root 7u unix 0xf5e91f80 0t0 8192 @/com/ubuntu/upstart
init 1 root 8w REG 8,1 3916 394 /var/log/upstart/teamviewerd.log.1 (deleted)
دستور lsof در لینوکس به همراه 10 مثال عملی
اینجا پایان کار نیست و یک ادمین سیستم برای فراهم آوردن یک واسط خوب که شما بتوانید به راحتی با آن کار کنید باید کارهای بسیار زیادی انجام دهد. مدیریت سیستم در حقیقت هنر یاد گیری و پیاده سازی به شیوه ای بسیار کامل میباشد. ما تمام تلاش خود را میکنیم که شما را با تمامی موارد ضروری که یک فرد حرفه ای در لینوکس باید بداند آشنا کنیم. لینوکس در اصل پروسه ای از یادگیری و یادگیریست. نظرات سازنده شما همیشه باعث تشویق و تحریک ما برای افزایش تلاش در راستای بالا بردن دانش عمومی بوده و خواهد بود. باعث خوشحالیت که نظرات ارزشمند خود را با ما در میان بگذارید.
کامنت