music
OSdata.com: programming text book 

OSdata.com

shell programming

summary

    This chapter looks at Unix (and Linux) shell programming.

free book on Unix/Linux System Administration

Teach Yourself Unix/Linux System Administration and Shell Programming

free computer programming text book project

table of contents
If you like the idea of this project,
then please donate some money.
more information on donating

Google

shell programming

    This chapter looks at Unix (and Linux) shell programming.

    You may wonder why a chapter on shell scripting is in a programming book. And you may not even read this line because your professor probably has cut this entire chapter out of the version used in your class.

    There are actually several good reasons to include a chapter on shell scripting.

    The chapter can serve as background material so that a student new to UNIX (or Linux or Mac OS X) will be able to make effective use of the shell for work on programming assignements.

    There are actual classes in shell scipting, especially at junior colleges and community colleges.

    This chapter goes beyond the typical material in a shell scripting class and presents material related to either downloading and compiling existing software (including ports to new hardware and/or operating systems) or for preparing your own software for release via the internet.

other

   “22. A good system can’t have a weak command language.” —Alan Perlis, Epigrams on Programming, ACM’s SIGPLAN Notices Volume 17, No. 9, September 1982, pages 7-13

chapter contents

  1. cool shell tricks
  2. Unix/Linux history
  3. choice of shells
  4. connecting to a shell (Telnet and SSH; terminal emulator)
  5. shell basics (book conventions; root or superuser; starting your shell; login and password; prompt; command example)
  6. login/logout (login; select system; account name; password; terminal type; logout; exit)
  7. passwd (setting password; local password; periodic changes; 100 most common passwords; secure passwords; superuser)
  8. command structure (single command; who; failed command; date; options, switches, or flags; universal time; arguments; options and arguments; operators and special characters)
  9. quick tour of shell commands
  10. man (using man for help; man sections)
  11. cat (creating files; example files for this book; viewing files; combining files)
  12. command separator (semicolon)
  13. less, more, pg last updated: 27 Aug 2012
  14. file system basics (graphics examples; directory tree; important directories; home directory; parent and child directories; absolute paths; relative paths; dots, tildes, and slashes)
  15. pwd
  16. command history
  17. built-in commands
  18. ls
  19. cd
  20. cp
  21. mv
  22. rm (recursive)
  23. shred
  24. mkdir
  25. alias
  26. pipes
  27. scripts
  28. sysadmin and root/superuser
  29. sudo and root
  30. su
  31. who
  32. advanced file systems
  33. major directories
  34. Network File System (NFS)
  35. tail
  36. wc
  37. chmod
  38. chown
  39. shell levels and subshells
  40. substitutions
  41. command substitutions
  42. arithmetic substitutions
  43. flow control
  44. management tools
  45. df
  46. du
  47. processes
  48. ps
  49. kill
  50. nice
  51. w
  52. date
  53. uname
  54. uptime
  55. top
  56. lsof
  57. free
  58. vmstat
  59. polkit
  60. defaults (screencapture; Mac Flashback Trojan)
  61. init (init; Linux run levels)
  62. sendmail
  63. ifconfig (view configuration; static IP address)
  64. arp
  65. netstat (view connections; main info; routing address)
  66. route (view connections; routing commands)
  67. ping (test packets; measuring)
  68. nslookup
  69. traceroute (entire route; etiquette)
  70. ftp and sftp
  71. cURL
  72. sysstat
  73. at (example; removing a job; timing)
  74. back ups
  75. tar
  76. touch (multiple files; specific time)
  77. find
  78. text processing
  79. basename
  80. sed (fixing end of line; adding line numbers)
  81. awk (remove duplicate lines)
  82. screencapture (from graphic user interface; changing defaults; command line screenshots)
  83. signals
  84. LAMP
  85. mysql
  86. PHP
  87. Perl
  88. Tcl
  89. Java
  90. installing software from source
  91. test bed
  92. grep
  93. ssh
  94. vim
  95. diff
  96. sort
  97. export
  98. xargs
  99. gzip
  100. bzip2
  101. unzip
  102. shutdown
  103. crontab
  104. service
  105. mount
  106. whereis
  107. whatis
  108. locate
  109. yum
  110. rpm
  111. wget
  112. file permissions
  113. nano
  114. troff
  115. command summaries
  116. Forth-like routines

comments, suggestions, corrections, criticisms

please contact us

your name:
email address:
phone number:
message:

free music player coding example

    Coding example: I am making heavily documented and explained open source code for a method to play music for free — almost any song, no subscription fees, no download costs, no advertisements, all completely legal. This is done by building a front-end to YouTube (which checks the copyright permissions for you).

    View music player in action: www.musicinpublic.com/.

    Create your own copy from the original source code/ (presented for learning programming).

This section is under the category of owning cirticism.

In response to a posting about my article collecting social media, Moderator +Andrew Smith (Technology addict, Web Developer, API guru, futsal and football wannabe, and all round nice guy!, Swordfox Design, arrowtown, new zealand) of the Google+ community Web Developers, Web Designers, Web Coding claims “Quite frankly this is self promotion, and your site is not of great quality. I can see how +Joost SchuurÊ would think this of not high enough a standard.”


return to table of contents
free downloadable college text book
free downloadable system administrator and shell programming book

view text book
HTML file

Because I no longer have the computer and software to make PDFs, the book is available as an HTML file, which you can convert into a PDF.

previous page next page
previous page next page

free book on Unix/Linux System Administration

Teach Yourself Unix/Linux System Administration and Shell Programming

free computer programming text book project

Building a free downloadable text book on computer programming for university, college, community college, and high school classes in computer programming.

If you like the idea of this project,
then please donate some money.

send donations to:
Milo
PO Box 1361
Tustin, California 92781

Supporting the entire project:

    If you have a business or organization that can support the entire cost of this project, please contact Pr Ntr Kmt (my church)

more information on donating

Some or all of the material on this web page appears in the
free downloadable college text book on computer programming.


Google


Made with Macintosh

    This web site handcrafted on Macintosh computers using Tom Bender’s Tex-Edit Plus and served using FreeBSD .

Viewable With Any Browser


    †UNIX used as a generic term unless specifically used as a trademark (such as in the phrase “UNIX certified”). UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Ltd.

    Names and logos of various OSs are trademarks of their respective owners.

    Copyright © 2010, 2012, 2013, 2014 Milo

    Created: November 8, 2010

    Last Updated: August 30, 2014


return to table of contents
free downloadable college text book
free downloadable system administrator and shell programming book

previous page next page
previous page next page