Loading ...
Sorry, an error occurred while loading the content.

Re: [Fwd: APPROVE -- mwkprogramming wants to join suselinuxusers]

Expand Messages
  • mwkprogramming
    ... First thank you for permitting me to join. Second to be honest. I am a 40 something trying to re-train myself but in a new industry for me. So I am looking
    Message 1 of 5 , Feb 24, 2009
    • 0 Attachment
      >--- In suselinuxusers@yahoogroups.com, Aaron Kulkis <akulkis00@...>
      >wrote:
      >>
      >> On Behalf of: mwkprogramming
      >> >
      >> >
      >> > Comment from user:
      >> > Just got SUSE Linux working on my machine and am looking for
      >> >resources
      >> > on better use and where to begin looking for some things.
      >>
      >> What exactly are you looking for?
      >>

      First thank you for permitting me to join.

      Second to be honest. I am a 40 something trying
      to re-train myself but in a new industry for me.
      So I am looking to read what others have written,
      and learn as much as I can. As for specifics, I
      am not sure I can define them yet. I have a
      virtual computer Linux SUSE running on an Intel
      based Mac, in a window using Parallels desktop
      4.0 for Mac. Just accomplished this in the last
      week and am now in the middle of my "introduction
      to man pages".

      Ultimately I am hoping to teach myself the "C"
      programming language on Linux and see where it
      takes me from there.

      Ian
    • Aaron Kulkis
      ... If you want to learn C, I suggest two books: 1 the K&R C book. White cover, with a big blue C on it. There are two versions, the original edition
      Message 2 of 5 , Feb 24, 2009
      • 0 Attachment
        mwkprogramming wrote:
        >> --- In suselinuxusers@yahoogroups.com, Aaron Kulkis <akulkis00@...>
        >> wrote:
        >>> On Behalf of: mwkprogramming
        >>>>
        >>>> Comment from user:
        >>>> Just got SUSE Linux working on my machine and am looking for
        >>>> resources
        >>>> on better use and where to begin looking for some things.
        >>> What exactly are you looking for?
        >>>
        >
        > First thank you for permitting me to join.
        >
        > Second to be honest. I am a 40 something trying
        > to re-train myself but in a new industry for me.
        > So I am looking to read what others have written,
        > and learn as much as I can. As for specifics, I
        > am not sure I can define them yet. I have a
        > virtual computer Linux SUSE running on an Intel
        > based Mac, in a window using Parallels desktop
        > 4.0 for Mac. Just accomplished this in the last
        > week and am now in the middle of my "introduction
        > to man pages".
        >
        > Ultimately I am hoping to teach myself the "C"
        > programming language on Linux and see where it
        > takes me from there.

        If you want to learn C, I suggest two books:

        1 the "K&R" C book. White cover, with a big
        blue C on it. There are two versions, the
        original edition (Copyright 1978?) and the
        ANSI C edition. You want the ANSI edition.
        (Although the C compiler on Linux, gcc, is
        capable of properly compiling "classic C",
        it's not a good idea to write non-ANSI C,
        for many reasons.)

        >

        Well, if you want to learn the core of Unix and
        shell scripting (which is a MUST for any sort of
        professional level work), I advise reading the
        man pages from a long time ago.. Specifically,
        the version 7 man pages.

        Why?

        Because this is a very small Unix (It ran on
        PDP-11 machines with only 64k of address space).
        Nevertheless, some very sophisticated tools
        run even in that space: sed (the stream editor),
        awk (named after its orignators: Aho, Weinberg,
        and Kernighan, is a sophisticated scripting
        langauge), lex (a lexical analyzer), and yacc
        (yet another compiler-compiler) Yacc is used
        to port languages from one platform to another,
        by first writing a lex definition, then running
        it through lex, running the output of lex as
        input to yacc, and ta-dah, working compiler!

        OK, so you probably won't be using lex or yacc
        any time soon (if ever), but sed and awk, you
        will, plus a number of other commands which seem
        strange (tr, which takes two strings of characters
        as command line arguments, it reads input, and
        replaces the characters in the first string with
        characters in the second string on the output
        stream. Will you ever use that command by itself
        on a command line? Nope..never, except maybe
        to understand how it works.

        Why do I recommend the Version 7 manual pages?
        Because in Version 7, the contents of the two
        directories where executables were kept, /bin
        and /usr/bin, numbered less than 100, and every
        shell script out there continues to use as a
        foundation the principles in the version 7
        man pages. Basically, I suggest that you learn
        the fundamentals (arithmetic), before setting
        you loose in a collegiate mathematics library
        to aimlessly select and attempt to read randomly
        selected books. Also, unlike modern Linux systems,
        the Version 7 man pages has Volume 2 Tutorials.
        It's so big that when printed, it is normally
        presented as two objects, Volumes 2a and 2b.
        While only a few years later than the release
        of version 7, the BSD 4.2 Unix documentation
        when I was at Purdue was literally several
        feet from end to end, in simple cardstock
        looseleaf binders. (you know the type...with the
        flat metal strips that you bend down, and then
        are held in place with the sliding keepers).

        Trying to sort your way through a modern SuSE
        installation and its installed man pages, without
        any guidance such as the Unix v7 core commands,
        I can only imagine would be an exercise in frustration.


        In contast


        But within a shell script, or even sometimes a
        command pipeline (command1 | command2 | command3 .. )
        the tr command can be very useful.

        See this page:
        http://www.kernel.org/doc/man-pages/online/pages/man7/standards.7.html

        If you would like to read them (which I STRONGLY recommend),
        I have the original Unix v7 man pages in PDF form (which
        came from either either Brian Kernighan or Dennis Ritchie's
        site at Bell Labs/Lucent whatever it is this week.)


        The same convention is still used to this day:
        Section 1: commands
        Section 2: system calls (C programmer's interface to the kernel)
        Section 3: library functions
        Section 4: special files (i.e. device drivers, all found in /dev )
        Section 5: file formats
        Section 6: games
        Section 7: overview, conventions, and miscellany section
        Section 8: administration and privileged commands

        EACH section has an intro page
        [intro(1), intro(2), intro(3), etc.]

        to read one on your system, try this:
        man 5 intro # this will show you intro(5)

        In general: man name gets you the man page with name,
        but if two pages have the same name, such as crontab(1)
        and crontab(5), then to get each one

        man 5 crontab # for the cron table file format
        man 1 crontab # for the command
        man cron # if you want to know about cron in general


        Anyways, 98% of what you read in the Version 7 manuals still
        applies to this day. The only glaring exception being the
        special files: The only device driver which has remained,
        unchanged, is /dev/null. All other information listed in
        the Version 7 section 4 man pages should be ignored.
        Also, boot(8) (that means Section 8, boot) and crash(8)
        are obsolete. You can read them for historical interest.

        The Version 7 docs are public domain, so I will put the
        files up in the files section.

        http://tech.groups.yahoo.com/group/suselinuxusers/files/

        Direct links here:

        http://tech.groups.yahoo.com/group/suselinuxusers/files/v7vol1.pdf
        Unix version 7 documentation Volume 1: manual pages
        (Note: All section 4 is obsolete! except for null(4))

        http://tech.groups.yahoo.com/group/suselinuxusers/files/v7vol2a.pdf
        Unix version 7 documentation Volume 2a: Tutorials

        http://tech.groups.yahoo.com/group/suselinuxusers/files/v7vol2b.pdf
        Unix version 7 documentation Volume 2a: Tutorials (continued)
      • mwkprogramming
        Thank You. I have downloaded the pdf doc s and have begun the eye strain work. I have also seen the book you wrote of referenced other places. the K&R book,
        Message 3 of 5 , Feb 28, 2009
        • 0 Attachment
          Thank You.

          I have downloaded the pdf doc's and have begun the eye strain work.

          I have also seen the book you wrote of referenced other places.
          the K&R book, when I can get back on my feet financially I will
          make that investment.


          --- In suselinuxusers@yahoogroups.com, Aaron Kulkis <akulkis00@...> wrote:
          >
          > mwkprogramming wrote:
          > >> --- In suselinuxusers@yahoogroups.com, Aaron Kulkis <akulkis00@>
          > >> wrote:
          > >>> On Behalf of: mwkprogramming
          > >>>>
          > >>>> Comment from user:
          > >>>> Just got SUSE Linux working on my machine and am looking for
          > >>>> resources
          > >>>> on better use and where to begin looking for some things.
          > >>> What exactly are you looking for?
          > >>>
          > >
          > > First thank you for permitting me to join.
          > >
          > > Second to be honest. I am a 40 something trying
          > > to re-train myself but in a new industry for me.
          > > So I am looking to read what others have written,
          > > and learn as much as I can. As for specifics, I
          > > am not sure I can define them yet. I have a
          > > virtual computer Linux SUSE running on an Intel
          > > based Mac, in a window using Parallels desktop
          > > 4.0 for Mac. Just accomplished this in the last
          > > week and am now in the middle of my "introduction
          > > to man pages".
          > >
          > > Ultimately I am hoping to teach myself the "C"
          > > programming language on Linux and see where it
          > > takes me from there.
          >
          > If you want to learn C, I suggest two books:
          >
          > 1 the "K&R" C book. White cover, with a big
          > blue C on it. There are two versions, the
          > original edition (Copyright 1978?) and the
          > ANSI C edition. You want the ANSI edition.
          > (Although the C compiler on Linux, gcc, is
          > capable of properly compiling "classic C",
          > it's not a good idea to write non-ANSI C,
          > for many reasons.)
          >
          > >
          >
          > Well, if you want to learn the core of Unix and
          > shell scripting (which is a MUST for any sort of
          > professional level work), I advise reading the
          > man pages from a long time ago.. Specifically,
          > the version 7 man pages.
          >
          > Why?
          >
          > Because this is a very small Unix (It ran on
          > PDP-11 machines with only 64k of address space).
          > Nevertheless, some very sophisticated tools
          > run even in that space: sed (the stream editor),
          > awk (named after its orignators: Aho, Weinberg,
          > and Kernighan, is a sophisticated scripting
          > langauge), lex (a lexical analyzer), and yacc
          > (yet another compiler-compiler) Yacc is used
          > to port languages from one platform to another,
          > by first writing a lex definition, then running
          > it through lex, running the output of lex as
          > input to yacc, and ta-dah, working compiler!
          >
          > OK, so you probably won't be using lex or yacc
          > any time soon (if ever), but sed and awk, you
          > will, plus a number of other commands which seem
          > strange (tr, which takes two strings of characters
          > as command line arguments, it reads input, and
          > replaces the characters in the first string with
          > characters in the second string on the output
          > stream. Will you ever use that command by itself
          > on a command line? Nope..never, except maybe
          > to understand how it works.
          >
          > Why do I recommend the Version 7 manual pages?
          > Because in Version 7, the contents of the two
          > directories where executables were kept, /bin
          > and /usr/bin, numbered less than 100, and every
          > shell script out there continues to use as a
          > foundation the principles in the version 7
          > man pages. Basically, I suggest that you learn
          > the fundamentals (arithmetic), before setting
          > you loose in a collegiate mathematics library
          > to aimlessly select and attempt to read randomly
          > selected books. Also, unlike modern Linux systems,
          > the Version 7 man pages has Volume 2 Tutorials.
          > It's so big that when printed, it is normally
          > presented as two objects, Volumes 2a and 2b.
          > While only a few years later than the release
          > of version 7, the BSD 4.2 Unix documentation
          > when I was at Purdue was literally several
          > feet from end to end, in simple cardstock
          > looseleaf binders. (you know the type...with the
          > flat metal strips that you bend down, and then
          > are held in place with the sliding keepers).
          >
          > Trying to sort your way through a modern SuSE
          > installation and its installed man pages, without
          > any guidance such as the Unix v7 core commands,
          > I can only imagine would be an exercise in frustration.
          >
          >
          > In contast
          >
          >
          > But within a shell script, or even sometimes a
          > command pipeline (command1 | command2 | command3 .. )
          > the tr command can be very useful.
          >
          > See this page:
          > http://www.kernel.org/doc/man-pages/online/pages/man7/standards.7.html
          >
          > If you would like to read them (which I STRONGLY recommend),
          > I have the original Unix v7 man pages in PDF form (which
          > came from either either Brian Kernighan or Dennis Ritchie's
          > site at Bell Labs/Lucent whatever it is this week.)
          >
          >
          > The same convention is still used to this day:
          > Section 1: commands
          > Section 2: system calls (C programmer's interface to the kernel)
          > Section 3: library functions
          > Section 4: special files (i.e. device drivers, all found in /dev )
          > Section 5: file formats
          > Section 6: games
          > Section 7: overview, conventions, and miscellany section
          > Section 8: administration and privileged commands
          >
          > EACH section has an intro page
          > [intro(1), intro(2), intro(3), etc.]
          >
          > to read one on your system, try this:
          > man 5 intro # this will show you intro(5)
          >
          > In general: man name gets you the man page with name,
          > but if two pages have the same name, such as crontab(1)
          > and crontab(5), then to get each one
          >
          > man 5 crontab # for the cron table file format
          > man 1 crontab # for the command
          > man cron # if you want to know about cron in general
          >
          >
          > Anyways, 98% of what you read in the Version 7 manuals still
          > applies to this day. The only glaring exception being the
          > special files: The only device driver which has remained,
          > unchanged, is /dev/null. All other information listed in
          > the Version 7 section 4 man pages should be ignored.
          > Also, boot(8) (that means Section 8, boot) and crash(8)
          > are obsolete. You can read them for historical interest.
          >
          > The Version 7 docs are public domain, so I will put the
          > files up in the files section.
          >
          > http://tech.groups.yahoo.com/group/suselinuxusers/files/
          >
          > Direct links here:
          >
          > http://tech.groups.yahoo.com/group/suselinuxusers/files/v7vol1.pdf
          > Unix version 7 documentation Volume 1: manual pages
          > (Note: All section 4 is obsolete! except for null(4))
          >
          > http://tech.groups.yahoo.com/group/suselinuxusers/files/v7vol2a.pdf
          > Unix version 7 documentation Volume 2a: Tutorials
          >
          > http://tech.groups.yahoo.com/group/suselinuxusers/files/v7vol2b.pdf
          > Unix version 7 documentation Volume 2a: Tutorials (continued)
          >
        • Aaron Kulkis
          ... Learn shell script programming. If you can just get proficient with that, you re ahead of 80%% of Linux admins out there There is also a program on the
          Message 4 of 5 , Feb 28, 2009
          • 0 Attachment
            mwkprogramming wrote:
            > Thank You.
            >
            > I have downloaded the pdf doc's and have begun the eye strain work.
            >
            > I have also seen the book you wrote of referenced other places.
            > the K&R book, when I can get back on my feet financially I will
            > make that investment.


            Learn shell script programming. If you can just get proficient
            with that, you're ahead of 80%% of Linux admins out there



            There is also a program on the BSD versions of Unix called "learn"

            I don't know if it's been ported to Linux or not, but I do know
            that there are two modules which would be of interest to you:
            vi
            C

            as I recall, the syntax is:
            learn vi
            or
            learn C

            You might try installing a VAX-11 emulator, and installing on it
            4.3 BSD or 4.4 BSD. Both of those kernels are extremely small --
            when I was a student at Purdue, in the Electrical Engineering school
            we typically had 15 people logged in on a 1 MHz 1 MB dual-VAX-11
            (George Goble, ghg@... who was both a grad student there
            and part of the Engineering Computer Network staffd wrote the first
            multi-CPU version of Unix). Since this was mostly students doing
            programming assignments, the "sticky bit" was set on the editor
            ex/vi, and the C compiler -- (see chmod(1) and chmod(2) in your
            version 7 manual pages pdf , pages 53 and 217 respectively -- note
            that all values on those two pages are in OCTAL), and still, the
            systems ran reasonably fast. On even an old 200 MHz system,
            code written for a 1 MHz VAX should fly.

            Don't ask me how to install 4.x BSD on a VAX though, because
            I've never done it (either on the real hardware nor an emulator).


            If worse comes to worse... install one of the current BSD distros
            on one of the systems you have in the house, and I'm sure you'll
            get the learn(1) program.
          Your message has been successfully submitted and would be delivered to recipients shortly.