linux rc是什麼意思

2023-03-16 10:00:37

linux rc是runcom的縮寫,也是「.cshrc」或「/etc/rc」中出現的rc;rc來源於runcom,首次出現於1965年的MIT CTSS系統;在某些場景中,會執行被儲存在檔案中的多條命令commands,我們稱之為runcom,即執行命令run commands的簡稱。

本教學操作環境:linux5.9.8系統、Dell G3電腦。

linux rc是什麼意思?

Linux rc 含義全稱

這要從Unix系統的史前時代(1961-1969)開始講起,在一開始由MIT為主力開發過一個相容分時系統(Compatible Time-Sharing System),簡稱CTSS。
(這個CTSS他功能雖然比不了後來的Unix系統,但是人家輩分大,年代早。)
CTSS系統中有一個關於命令指令碼的特性叫做runcom
為了致敬這個古早版本Unix系統——CTSS的runcom特性,後來的Unix系統中就用rc作為作業系統的啟動檔名。

Tips
程式語言裡的Date是從1970-01-01開始的,
a0797d8703ce2c7276b2fcd9b6c9451.jpg

而前面提到的Unix的史前時代(1961-1969)還在1970年之前。
也可以側面感受到CTSS這個系統的「輩分」之大。

含義

rc = RunCom

「rc」 是取自 「runcom」, 來自麻省理工學院在 1965 年發展的 CTSS系統。相關文獻曾記載這一段話:「具有從檔案中取出一系列命令來執行的功能;這稱為 run commands 又稱為 「runcom」,而這種檔案又稱為一個 runcom (a runcom)。」

範例

  • .bashrc bash的執行命令
  • .vimrc vim的執行命令
  • .npmrc npm的執行命令

Linux中,檔名以.開頭表示為隱藏檔案。

c8cff2c77f6372c88aaa826c0f71407.jpg

leung@wuyujin ~ % ls -al | grep rc$
-rw-------   1 leung  staff      33  5 13 20:34 .npmrc
-rw-r--r--   1 leung  staff     116  5 13 21:20 .yarnrc
-rw-r--r--   1 leung  staff      55  6  2 20:00 .zshrc
登入後複製

參考 What does rc mean in bashr, zshrc, vimrc etc?

What does rc mean in bashr, zshrc, vimrc etc?
9eac029e8bbee0c238bb914322caae4.jpg

翻譯如下:
對於rc所代表的意思,你可能會看到以下幾種:

  • run commands(執行命令)
  • resource control(資源控制)
  • run control(執行控制)
  • runtime configuration(執行時設定)

在讀過這份檔案之後,我更願意認為rcruncom的縮寫。

rc = RunCom 就是.cshrc/etc/rc中出現的那個rc
rc來源於runcom,首次出現於1965年的MIT CTSS系統。

在某些場景中,(我們)會執行被儲存在檔案中的多條命令commands,我們稱之為runcom即執行命令run commands的簡稱。
另外,這個用於儲存命令的檔案被稱作:a runcom
Unix檔案命名中的rc就是來自於這樣的老典故。
— Brian Kernighan & Dennis Ritchie, as told to Vicki Brown

Also ESR states that in Run-Control Files:
當然,你也可以在 Run-Control檔案中找到證據:
rc字尾一直往前追溯,會發現其實它在Unix的爺爺輩老系統——CTSS裡就有了。
而在CTSS這個古早的系統中有一個命令指令碼的特性叫做:runcom
於是早期Unix就開始使用rc作為作業系統啟動指令碼的檔名,以此來追憶/致敬 CTSS runcom。

所以我認為:rcruncom的縮寫。

ef7ed0dd643f8920e7fa3d6599e37ba.jpg

CTSS(Compatible Time-Sharing System)相容分時系統

Unix系統的背景
1961-1969:史前時代
CTSS(Compatible Time-Sharing System,相容分時系統),以MIT為首的開發小組,小而簡單的實驗室原型。
Multics(Multiplexed Information and Computing System,多路資訊與計算系統),龐大而負責,不堪重負。
Unics(Uniplexed information and Computing System,單路資訊與計算系統),返璞歸真,走上正道。
1969-1971:創世紀
……

參考 Unix - Frequently Asked Questions (1/7) [Frequent posting]Section - What does {some strange unix command name} stand for

1.3)  What does {some strange unix command name} stand for?

      awk = "Aho Weinberger and Kernighan"

        This language was named by its authors, Al Aho, Peter
        Weinberger and Brian Kernighan.

      grep = "Global Regular Expression Print"

        grep comes from the ed command to print all lines matching a
        certain pattern

                    g/re/p

        where "re" is a "regular expression".

      fgrep = "Fixed GREP".

        fgrep searches for fixed strings only.  The "f" does not stand
        for "fast" - in fact, "fgrep foobar *.c" is usually slower than
        "egrep foobar *.c"  (Yes, this is kind of surprising. Try it.)

        Fgrep still has its uses though, and may be useful when searching
        a file for a larger number of strings than egrep can handle.

      egrep = "Extended GREP"

        egrep uses fancier regular expressions than grep.  Many people
        use egrep all the time, since it has some more sophisticated
        internal algorithms than grep or fgrep, and is usually the
        fastest of the three programs.

      cat = "CATenate"

        catenate is an obscure word meaning "to connect in a series",
        which is what the "cat" command does to one or more files.  Not
        to be confused with C/A/T, the Computer Aided Typesetter.

      gecos = "General Electric Comprehensive Operating Supervisor"
        
        When GE's large systems division was sold to Honeywell,
        Honeywell dropped the "E" from "GECOS".

        Unix's password file has a "pw_gecos" field.  The name is a
        real holdover from the early days.  Dennis Ritchie has reported:

            "Sometimes we sent printer output or batch jobs
             to the GCOS machine.  The gcos field in the password file
             was a place to stash the information for the $IDENT card.
             Not elegant."

      nroff = "New ROFF"
      troff = "Typesetter new ROFF"
        
        These are descendants of "roff", which was a re-implementation
        of the Multics "runoff" program (a program that you'd use to
        "run off" a good copy of a document).

      tee       = T

        From plumbing terminology for a T-shaped pipe splitter.

      bss = "Block Started by Symbol"
        
        Dennis Ritchie says:

            Actually the acronym (in the sense we took it up; it may
            have other credible etymologies) is "Block Started by
            Symbol." It was a pseudo-op in FAP (Fortran Assembly [-er?]
            Program), an assembler for the IBM 704-709-7090-7094
            machines.  It defined its label and set aside space for a
            given number of words.  There was another pseudo-op, BES,
            "Block Ended by Symbol" that did the same except that the
            label was defined by the last assigned word + 1.  (On these
            machines Fortran arrays were stored backwards in storage
            and were 1-origin.)

            The usage is reasonably appropriate, because just as with
            standard Unix loaders, the space assigned didn't have to be
            punched literally into the object deck but was represented
            by a count somewhere.

      biff = "BIFF"

        This command, which turns on asynchronous mail notification,
        was actually named after a dog at Berkeley.

            I can confirm the origin of biff, if you're interested.
            Biff was Heidi Stettner's dog, back when Heidi (and I, and
            Bill Joy) were all grad students at U.C. Berkeley and the
            early versions of BSD were being developed.   Biff was
            popular among the residents of Evans Hall, and was known
            for barking at the mailman, hence the name of the command.

        Confirmation courtesy of Eric Cooper, Carnegie Mellon University

      rc (as in ".cshrc" or "/etc/rc") = "RunCom"

        "rc" derives from "runcom", from the MIT CTSS system, ca. 1965.

            'There was a facility that would execute a bunch of
            commands stored in a file; it was called "runcom" for "run
            commands", and the file began to be called "a runcom."

            "rc" in Unix is a fossil from that usage.'
        
        Brian Kernighan & Dennis Ritchie, as told to Vicki Brown

        "rc" is also the name of the shell from the new Plan 9
        operating system.

      Perl = "Practical Extraction and Report Language"
      Perl = "Pathologically Eclectic Rubbish Lister"

        The Perl language is Larry Wall's highly popular
        freely-available completely portable text, process, and file
        manipulation tool that bridges the gap between shell and C
        programming (or between doing it on the command line and
        pulling your hair out).  For further information, see the
        Usenet newsgroup comp.lang.perl.misc.

      Don Libes' book "Life with Unix" contains lots more of these
      tidbits.
登入後複製

相關推薦:《》

以上就是linux rc是什麼意思的詳細內容,更多請關注TW511.COM其它相關文章!