گروه کاربران لینوکس دانشگاه شهید مدنی آذربایجان

لاگ دانشگاه آذربایجان :: Azarbaijan University Linux User Group

گروه کاربران لینوکس دانشگاه شهید مدنی آذربایجان

لاگ دانشگاه آذربایجان :: Azarbaijan University Linux User Group

نیمی از ده ترفند هوشمند لینوکس خط فرمان


کار بر روی فرمان لینوکس می تواند بسیار سرگرم کننده باشد، اما می تواند حتی بیشتر سرگرم کننده باشد، زمانی که شما از دستوراتی استفاده می کنید که کار کمتری برای شما داشته باشند یا اطلاعات را در روش های جالب و مفید نمایش می دهند. در پست امروز، ما به نیمی از دستورات نگاه می کنیم که ممکن است وقت شما را در خط فرمان سود آور تر کند.   

watch

فرمان watch به صورت متوالی هر فرمانی راکه به آن می دهیداجرا می کند و خروجی را به شما نشان می دهد. به طور پیش فرض، هر دو ثانیه فرمان را اجرا می کند. هر اجرای متوالی از دستور، آنچه را که در نمایش قبلی نشان داده شده است، بازنویسی می کند، بنابراین شما همیشه به آخرین اطلاعات نگاه می کنید. شما ممکن است زمانی که منتظر کسی برای ورود به سیستم هستید از آن استفاده کنید . در این مورد، از دستور "watch who" یا شاید "watch -n 15 who" استفاده کنید که هر 15 ثانیه به جای هر دو ثانیه فرمان را اجرا می کند . تاریخ و زمان در گوشه سمت راست بالای پنجره ترمینال شما ظاهر می شود.


$ watch -n 5 who
Every 5.0s: who                               stinkbug: Wed Aug 23 14:52:15 2017
 
shs      pts/0        2017-08-23 14:45 (192.168.0.11)
zoe      pts/1        2017-08-23 08:15 (192.168.0.19)

 


شما همچنین می توانید از آن برای مشاهده یک فایل ورودی استفاده کنید. اگر هیچ تغییری در اطلاعاتی که نمایش می دهید داده نشود، تنها تاریخ / زمان نمایش در گوشه پنجره تغییر خواهد کرد


 

$ watch tail /var/log/syslog

Every 2.0s: tail /var/log/syslog              stinkbug: Wed Aug 23 15:16:37 2017

 

Aug 23 14:45:01 stinkbug CRON[7214]: (root) CMD (command -v debian-sa1 > /dev/nu

ll && debian-sa1 1 1)

Aug 23 14:45:17 stinkbug systemd[1]: Started Session 179 of user shs.

Aug 23 14:55:01 stinkbug CRON[7577]: (root) CMD (command -v debian-sa1 > /dev/nu

ll && debian-sa1 1 1)

Aug 23 15:05:01 stinkbug CRON[7582]: (root) CMD (command -v debian-sa1 > /dev/nu

ll && debian-sa1 1 1)

Aug 23 15:08:48 stinkbug systemd[1]: Starting Cleanup of Temporary Directories...

Aug 23 15:08:48 stinkbug systemd-tmpfiles[7584]: [/usr/lib/tmpfiles.d/var.conf:1

4] Duplicate line for path "/var/log", ignoring.

Aug 23 15:08:48 stinkbug systemd[1]: Started Cleanup of Temporary Directories.

Aug 23 15:13:41 stinkbug systemd[1]: Started Session 182 of user shs.

Aug 23 15:14:29 stinkbug systemd[1]: Started Session 183 of user shs.

Aug 23 15:15:01 stinkbug CRON[7828]: (root) CMD (command -v debian-sa1 > /dev/nu

ll && debian-sa1 1 1)

 

این خروجی شبیه آنچه که شما با استفاده از tail -f / var / log / syslog خواهید دید است.


look

از نام دستور ممکن است این طور برداشت شود که look چیزی شبیه به watch است، اما کاملا متفاوت است. دستور look برای کلماتی که از یک رشته خاص شروع می شوند جستجو می کند.

$ look ecl
eclectic
eclectic's
eclectically
eclecticism
eclecticism's
eclectics
eclipse
eclipse's
eclipsed
eclipses
eclipsing
ecliptic
ecliptic's

 


دستور look به طور کلی با املای مفید است و از فایل / usr / share / dict / words استفاده می کند مگر اینکه نام فایل را با یک دستور مثل این مشخص کنید:

$ look esac .bashrc
esac
esac
esac

 

در این مورد، این مانند دستور grep زیر یک دستور awk عمل می کند که فقط اولین کلمه را در خطوط تطبیق چاپ می کند.


 

man -k

دستور man-k لیست صفحات manرا که شامل کلمه مشخص شده است لیست می کند. این اساسا مانند دستور apropos کار می کند.


$ man -k logrotate
dh_installlogrotate (1) - install logrotate config files
logrotate (8)        - rotates, compresses, and mails system logs
logrotate.conf (5)   - rotates, compresses, and mails system logs


help

ممکن است شما زمانی وسوسه شوید از این دستور استفاده کنید که کاملا ناامید شده باشید، آنچه دستور واقعا انجام می دهد، لیستی از پوسته های ساخته شده را نشان می دهد. شگفت آور ترین این است که چگونه بسیاری از این متغیرها وجود دارند. شما احتمالا چیزی شبیه به این را مشاهده خواهید کرد و سپس شروع به تعجب می کنید که همه این پوسته های ساخته شده چه کاری ممکن است برای شما انجام دهند:


$ help
GNU bash, version 4.4.7(1)-release (i686-pc-linux-gnu)
These shell commands are defined internally.  Type `help' to see this list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list.
 
A star (*) next to a name means that the command is disabled.
 
 job_spec [&]                            history [-c] [-d offset] [n] or hist>
 (( expression ))                        if COMMANDS; then COMMANDS; [ elif C>
 . filename [arguments]                  jobs [-lnprs] [jobspec ...] or jobs >
 :                                       kill [-s sigspec | -n signum | -sigs>
 [ arg... ]                              let arg [arg ...]
 [[ expression ]]                        local [option] name[=value] ...
 alias [-p] [name[=value] ... ]          logout [n]
 bg [job_spec ...]                       mapfile [-d delim] [-n count] [-O or>
 bind [-lpsvPSVX] [-m keymap] [-f file>  popd [-n] [+N | -N]
 break [n]                               printf [-v var] format [arguments]
 builtin [shell-builtin [arg ...]]       pushd [-n] [+N | -N | dir]
 caller [expr]                           pwd [-LP]
 case WORD in [PATTERN [| PATTERN]...)>  read [-ers] [-a array] [-d delim] [->
 cd [-L|[-P [-e]] [-@]] [dir]            readarray [-n count] [-O origin] [-s>
 command [-pVv] command [arg ...]        readonly [-aAf] [name[=value] ...] o>
 compgen [-abcdefgjksuv] [-o option] [>  return [n]
 complete [-abcdefgjksuv] [-pr] [-DE] >  select NAME [in WORDS ... ;] do COMM>
 compopt [-o|+o option] [-DE] [name ..>  set [-abefhkmnptuvxBCHP] [-o option->
 continue [n]                            shift [n]
 coproc [NAME] command [redirections]    shopt [-pqsu] [-o] [optname ...]
 declare [-aAfFgilnrtux] [-p] [name[=v>  source filename [arguments]
 dirs [-clpv] [+N] [-N]                  suspend [-f]
 disown [-h] [-ar] [jobspec ... | pid >  test [expr]
 echo [-neE] [arg ...]                   time [-p] pipeline
 enable [-a] [-dnps] [-f filename] [na>  times
 eval [arg ...]                          trap [-lp] [[arg] signal_spec ...]
 exec [-cl] [-a name] [command [argume>  true
 exit [n]                                type [-afptP] name [name ...]
 export [-fn] [name[=value] ...] or ex>  typeset [-aAfFgilnrtux] [-p] name[=v>
 false                                   ulimit [-SHabcdefiklmnpqrstuvxPT] [l>
 fc [-e ename] [-lnr] [first] [last] o>  umask [-p] [-S] [mode]
 fg [job_spec]                           unalias [-a] name [name ...]
 for NAME [in WORDS ... ] ; do COMMAND>  unset [-f] [-v] [-n] [name ...]
 for (( exp1; exp2; exp3 )); do COMMAN>  until COMMANDS; do COMMANDS; done
 function name { COMMANDS ; } or name >  variables - Names and meanings of so>
 getopts optstring name [arg]            wait [-n] [id ...]
 hash [-lr] [-p pathname] [-dt] [name >  while COMMANDS; do COMMANDS; done
 help [-dms] [pattern ...]               { COMMANDS ; }

 


stat -c

دستور stat آمارهای ضروری برای یک فایل را نشان می دهد - اندازه آن، مالک، گروه، شماره های inode، مجوز، اصلاح و زمان دسترسی. این یک دستور بسیار مفید است که جزئیات بیشتری را از یک LS -l ساده نشان می دهد.


$ stat .bashrc
  File: .bashrc
  Size: 4048            Blocks: 8          IO Block: 4096   regular file
Device: 806h/2054d      Inode: 421481      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/     shs)   Gid: ( 1000/     shs)
Access: 2017-08-23 15:13:41.781809933 -0400
Modify: 2017-06-21 17:37:11.875157790 -0400
Change: 2017-06-21 17:37:11.899157791 -0400
 Birth: -

 


با گزینه -c می توانید زمینه هایی را که می خواهید مشاهده کنید مشخص کنید. اگر، برای مثال، می خواهید فقط نام فایل و حقوق دسترسی به یک فایل یا مجموعه ای از فایل ها را ببینید، ممکن است این کار را انجام دهید:


$ stat -c '%n %a' .bashrc
.bashrc 644


در این فرمان،٪ n نام هر فایل را نشان می دهد، در حالی که٪ a نشان دهنده حقوق دسترسی است. ٪ U شما UID عددی و٪ U نام کاربری است.


$ stat -c '%n %a' bin/*
bin/loop 700
bin/move2nohup 700
bin/nohup.out 600
bin/show_release 700
 
$ stat -c '%n %a %U' bin/*
bin/loop 700 shs
bin/move2nohup 700 shs
bin/nohup.out 600 root
bin/show_release 700 shs

 


TAB

اگر از دستور tab برای تکمیل نام فایل استفاده نمیکنید، شما واقعا از یک ترفند خطی بسیار مفید را از دست می دهید. دستور tab تکمیل نام فایل (از جمله دایرکتوری ها هنگام استفاده از cd) را فراهم می کند. آن را تا آنجا که ممکن است قبل از اینکه به ابهام برسد(بیش از یک فایل با همان حروف شروع می شود)، پر می کند . . اگر شما یک فایل با نام bigplans دارید و دیگری با نام bigplans2017 نامیده می شود،مجبورید تصمیم بگیرید که آیا دکمه enter یا «2» را بزنید و سپس دوباره tab را بزنید تا فایل دوم را انتخاب کنید.


نام ونام خانوادگی: نسترن مرندی 941831241


منبع: networkworld

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد