⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.top

📁 linux下获取一些环境信息的代码
💻 TOP
📖 第 1 页 / 共 2 页
字号:
                        the Linus Torvalds CodingStyle guidelines ...                        -*- -*- -*- on indentation + etc. -*- -*- -*-                        well almost all, except for those stinkin'...       I suppose even Linus Torvalds is entitled to err  now  and  again.       How  so  you say?  Tabs, me' bucko, stinkin' tabs!  That, plus the       simplistic position regarding indentation espoused in that  other-       wise excellent document.   -*- Rant On, and on -*-       Let's  compare  two approaches to the tab/indentation issue with a       small code sample using tabs then spaces.  This snippet happens to       be  the key to top's use of dynamic colors on many static screens,       while also ensuring screen width isn't exceeded  so  as  to  avoid       line  wraps.   We'll  view just the first 40 columns, assuming one       wishes to occasionally provide comments to  the  right  of  actual       code (you do, don't you?).       Then YOU decide which approach makes the most SENSE!                           Stinkin' Tabs versus Spaces: the Linus way           Hey, where'd my +----+----1----+----2----+----3----+----4+           many code lines |                while (*sub_beg) {      :           up-and-gone-to? |                        switch (*sub_end:                           |                                case 0: :           Gosh, wonder if |   \ Tabs Induced /                     :           Linus expects a |                                case 1: :           fellow to stick |   + WASTE-Lands! +             case 5: :           his comments on |                                        :           the left side?! |   + Not a Living +                     :                           |                                        :           Ever see source |   + line-of-code +                     :           with not enough |                                        :           whitespace; and |   / To Be Found! \                     :           this is better? |                                default::                           |                                        :           Oh lookie here, \                        }               :           there's just a hint of REAL code! ---->  if (0 >= room) b:                           /                } /* end: while 'subtrin:                           +----------------------------------------+                           Spaces versus Stinkin' Tabs: the other way                           +----+----1----+----2----+----3----+----4+          Wow, now this is |      while (*sub_beg) {                :          Visible hackin'! |         switch (*sub_end) {            :                           |            case 0:                     :          Hmmm, wonder how |               *(sub_end + 1) = '\0';   :          many programmers |            case 1: case 2: case 3: case:          read those lines |            case 5: case 6: case 7: case:          from the LEFT to |               cap = Curwin->captab[(int:          the RIGHT?  This |               *sub_end = '\0';         :          "innovation" may |               PUTP("%s%.*s%s", cap, roo:          possibly benefit |               room -= (sub_end - sub_be:          those particular |               sub_beg = ++sub_end;     :          kinds of people, |               break;                   :          you agree?  Duh! |            default:                    :                           |               ++sub_end;               :          AND, there might |         }                              :          even be room for |         if (0 >= room) break;          :          unseen comments! |      } /* end: while 'subtrings' */    :                           +----------------------------------------+       Gosh, I just don't KNOW  --  it's such a TOUGH choice...       Oh  you  Stinkin' Tabs:  correspondence, Who-Cares; documentation,       Oh-Alright; even scripts, Well-If-You-Must.  But you have NO place       within  the  code-space  of  MY  C-source  listing!   So  be  gone       already!!   In Summation...       -  If you want to use tabs to the right of  the  code,  go-for-it.          But  PLEASE,  not  ever  in the C-source code-space, thank-you-          kindly.  Just use three little ol' spaces (exactly 3,  no-more,          no-less) where you WOULD have stuck a stinkin' tab.          We'll  get  far more READABLE files, much less WAISTED precious          horizontal space, more consistent CURSORS and on, and  ON,  AND          ON!  Plus, without those awful *the-devil's-own-handiwork*, the          aforementioned document need NEVER speak of their EVILS  again.       -  Lastly,  since  SPACES  (not  stinkin' tabs) are SO beneficial,          maybe we should use just a few more of 'em.  Some of  those  C-          thingies  are VERY sensitive  --  they don't like being TOUCHED          by any other syntax element!  Which ones?  Why these guys:             braces, reserved words and binary operators             ( it's the TRUTH, they told me themselves )          It's so EASY to keep 'em HAPPY!  And lo-and-behold, the  combi-          nation  of  <sp>thingy<sp> turns out to be a darn effective bug          repellent, too.  So  much  so,  one  can  actually  code  while          TOTALLY NUDE yet still avoid them ol' bug-bytes (sic-sic)!                                                                 step                                                            down_from                                                       me_punctilious                                                  soap-box_once_again                                                  [1 +5 +5 +5 = huh?]## 4c. EXAMPLES of Windows ---------------------------------------------##                    -*- The 'A' Mode Command Toggle -*-   Here's what you'll see when you  first  invoke  the  alternate-display   mode interactive command.   This  particular  display  was  produce on a VT100 xterm, with only 24   rows.  All four task displays are visible, but they could not be sized   the  same.  Available lines are parceled out in the fairest way possi-   ble so the last two task displays have an extra line each.   Notice the 'current' window name in the summary area   --   it's  been   emphasized  because  the  associated  task  display is visible.  Since   1:Def has a task area, the full range of interactive commands would be   at  your  disposal.   But  remember, many of those commands will apply   only to window 1:Def.                             +--------------------------------------+        1:Def name is bold,  |1:Def - 15:46:37 up 16:25,  9 users,  :         thus all commands   |Tasks:  76 total,   1 running,  75 sle:         will be available.  |Cpu(s):   0.7% user,   1.3% system,   :                             |Mem:    126588k total,   123688k used,:                             |Swap:   265032k total,     8232k used,:                             |______________________________________:        Tough luck windows   |1__PID_USER______PR__NI_%CPU____TIME+_:         #1 & 2 - you lost   |  7343 jtwm      16   0  0.9   0:00.59:         one line each  --   |  7339 jtwm       9   0  0.0   0:00.02:         guess you'll just   |__7337_root_______9___0__0.0___0:01.30:         have to learn how   |2__PID__PPID_Command____________TIME+_:         to live with it.    |   997   952 kdeinit          17:59.59:                             |  1115   952 kdeinit           2:16.47:                             |__1803__1116_led_______________1:55.30:                             |3__PID_%MEM__VIRT_SWAP__RES_CODE_DATA_:        The #3 & #4 windows  |  4634 12.3 15620    0  15m  860  14m :         better not gloat    |  7337 11.3 14396   92  13m   36  13m :         over 1 extra line.  |   923 10.6 30524  16m  13m 1120  12m :        That user could yet  |___991__7.2__9492__316_9176___12_9164_:         sock 'em with the   |4_UID_USER_____GROUP____TTY________PID:         'n' command and     |   43 xfs      xfs      ?          806:         take those lines,   |    0 ykde     users    pts/7     5561:         plus others, away!  |    0 wgnome   users    pts/7     5560:                             |    0 root     root     pts/7     5325:                             +--------------------------------------+   So, what say we start applying some of those "full range  of  interac-   tive commands"?   Onward + Downward...                    -*- STACKIN' & WHACKIN' Windows -*-   Whoa,  hold on mate.  Someone has already whacked these windows.  See,   there are no task areas for windows 1:Def and 4:Usr.  Well, we can  at   least retrace their steps...   Here's  what  was  done,  after  issuing  the 'A' command and entering   alternate-display mode.      1) When #1 was the 'current' window, '-' was pressed,         toggling Off the associated task display         ( if 'l t m' had been applied to its summary, too )         ( then there'll be only a msg line when 'current' )      2) Then the 'w' key was struck to cycle backward,         making 4:Usr the 'current' window         (could have used 'a a a', if one likes to type)      3) Then step #1 was repeated, and bye-bye window #4      4) Finally, window #2 was made the 'current' window         ( Q. how many keystrokes were used? )         ( A. minimum of 2:  'a a' or 'w w'. )                             +--------------------------------------+        No 'l','t','m','1'   |2:Top - 15:48:35 up 16:27,  9 users,  :         commands have been  |Tasks:  75 total,   1 running,  74 sle:         issued here,        |Cpu(s):   2.0% user,   0.7% system,   :         but...              |Mem:    126588k total,   123712k used,:                             |Swap:   265032k total,     8232k used,:                             |______________________________________:        #2's been changed;   |2__PID__PPID_Command____________TIME+_:         user applied a 'c'  |   997   952 kdeinit: konsol  18:00.70:         command (when it    |  1115   952 kdeinit: konsol   2:16.47:         was current) - now  |  1803  1116 led tiptop.HELP   1:55.30:         shows cmd lines vs. |   923   922 X :0              1:09.60:         program names;      |   973     1 klaptopdaemon     0:59.63:         still seems to be   |   981   952 /usr/bin/artsd    0:48.63:         sorted on TIME+     |   987     1 kdeinit: kdeskt   0:24.34:         though              |___991_____1_kdeinit:_kicker___0:04.59:                             |3__PID_%MEM__VIRT_SWAP__RES_CODE_DATA_:        This #3 guy appears  |  4634 12.3 15620    0  15m  860  14m :         to still be running |  7337 11.3 14396   92  13m   36  13m :         with the supplied   |   923 10.6 30544  16m  13m 1120  12m :         defaults, but no    |   991  7.2  9492  316 9176   12 9164 :         telling what damage |  7329  7.0  9036  140 8896   36 8860 :         might have been     |  1115  6.9  8956  160 8796   36 8760 :         done to it's        |   987  6.4  8668  524 8144   20 8124 :         summary info stuff  |  1131  6.4  8268  144 8124   36 8088 :                             +--------------------------------------+   And that's what brought us to  this  current  state.   No,  wait.   Oh   lordy, will you look at that  --  someone has changed the name of win-   dow #2 from 'Job' to 'Top'!   How'd they do that?  Well, they just issued the 'g'  interactive  com-   mand, of course.  That command is available whenever alternate-display   mode is active and always impacts just the  'current'  window.   Gosh,   you  can  even issue the 'g' command when 'l' has toggled Off the very   summary area line containing the window name!   Almost Done...                    -*- ALL TOGETHER Now, Window(s) -*-   Here, the window 1:Def task  display  has  been  toggled  Off  but  it   remains  the 'current' window.  Since there is no task area, many com-   mands will be restricted.  However, the commands ('l', 't', 'm',  '1')   affecting  the  summary  area,  as  well as some other global commands   ('k', 'Z', etc.), would still be active.   Notice that the Mem and Swap lines are not shown.  This means that the   loser  (oops, user) has, in fact, issued the 'm' command!  Now, if you   were to cycle the 'current' window with the 'a' or 'w'  commands,  the   task  display would remain the same (except possibly growing/shrinking   slightly) but the summary area would change periodically.   The comments to the left of the image provide additional insights into   how  things came to be.  Note especially the comments for window 4:Usr    --  the one with some empty rows...        1:Def no highlight,  +--------------------------------------+         thus disabled cmds: |1:Def - 15:50:32 up 16:29,  9 users,  :         b,i,n,u,x,y, etc.   |Tasks:  75 total,   2 running,  73 sle:         & m = lost Mem/Swap |Cpu(s):  10.6% user,   0.0% system,   :                             |______________________________________:        2:Job was very busy: |2__PID__PPID_Command____________TIME+_:         'n' cmd, w/ 7 tasks |    80     1 ( khubd )         0:00.00:         'c' cmd, cmd line   |     6     0 ( kreclaimd )     0:00.00:         'O' cmd, sort cmd   |     9     1 ( mdrecoveryd )   0:00.00:         'R' cmd, sort bkwd  | 11358     1 /bin/bash/ /usr   0:00.00:         'x' cmd, hi column  |  1297     1 /sbin/mingetty    0:00.00:        (when 2 WAS current) |   683     1 xinetd -stayali   0:00.00:                             |___836_____1_login_--_root_____0:00.00:        3:Mem has altered    |3__PID_%MEM__VIRT_SWAP__RES_CODE_DATA_:         some std defaults:  |  4634 12.3 15620    0  15m  860  14m :         'y' turned Off      |  7337 11.3 14396   92  13m   36  13m :         'x' turned On       |   923 10.6 30544  16m  13m 1120  12m :        (when 3 WAS current) |   991  7.2  9492  316 9176   12 9164 :                             |__7329__7.0__9036__140_8896___36_8860_:        Huh?  4:Usr has some |4_UID_USER_____GROUP____TTY________PID:         blank rows! ? ? ? ? |    0 jtwm     root     pts/2     5561:        Aha, the 'i' command |    0 root     root     ?         5560:         applied (when 4 WAS |                                      :         current); could be  |                                      :         reversed with '=',  |                                      :         when 4 IS current!  +--------------------------------------+   Ok now, how about that 'current' window 1:Def and  its  unseen  tasks?   At any time, you can quickly retrieve lost tasks in a number of ways:      1) Press '-', toggling just the 'current' window      2) Press '_', toggling all visible/invisible windows         ( 1:Def is the only window currently not shown )         ( afterward, it'll be the only window showing! )    * 3) Press '+', forcing all task displays to become visible      4) Press 'A' to return to full-screen mode,         with only 1:Def tasks shown and without a window name   Now that should be enough ways of getting a task area visible again to   satisfy almost any user, don't ya think?       Note: Use #3 above  when  you've  messed  up  your  screen  beyond       redemption.   The four task displays will reappear, nice and even.       They will also have retained any customizations you had previously       applied,  except for the 'i' (idle tasks) and 'n' (max tasks) com-       mands.   That's It !  Piece of Cake !!  Enjoy them there windows !!!

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -