LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > General
User Name
Password
General This forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!

Notices


Reply
  Search this Thread
Old 06-22-2007, 09:43 PM   #1
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416
Blog Entries: 43

Rep: Reputation: 36
Programs that you will Always Find on a Linux System


I know that programs on any Operating System can vary greatly. I know that Linux specifications are open to everyone who wants to know in general. So what programs can you always depend on being on the system when you install Linux? I'd like to know about programs in a few categories:

* What are the built in commands? When you get a kernel going, what commands are there to use, if you don't install any programs?

* Assuming the distribution didn't specifically not install them for a purpose, in a minumum installation, what programs are required by the specification for Linux? Is ls, or cd or whatever in there?

* What programs are not part of the official standard, but are typically installed anyway by the distributions, because the distributions made it a standard, and now it's widely used?

* What programs that are more higher level (such as a graphics editing program) are there that are usually used?

* Finally, what do these programs do?
 
Old 06-22-2007, 10:07 PM   #2
taylor_venable
Member
 
Registered: Jun 2005
Location: Indiana, USA
Distribution: OpenBSD, Ubuntu
Posts: 892

Rep: Reputation: 43
Quote:
Originally Posted by des_a
* What are the built in commands? When you get a kernel going, what commands are there to use, if you don't install any programs?
If just a kernel is running, you've got nothing any regular human can do anything with. After a kernel, you've usually got a Bourne-compliant shell which runs startup scripts. Then you've got the login program, which handles authentication from the terminal. Then after you log in you have the user shell.

Quote:
Originally Posted by des_a
* Assuming the distribution didn't specifically not install them for a purpose, in a minumum installation, what programs are required by the specification for Linux? Is ls, or cd or whatever in there?
I don't think you mean Linux (the kernel), I think you mean GNU/Linux, or the whole operating system up to a minimal user level, for which there is no specification. Also, cd is implemented as a shell primitive function, because it doesn't actually do anything, it just modifies the execution environment of the shell (and hence also any processes spawned from the shell).

Quote:
Originally Posted by des_a
* What programs are not part of the official standard, but are typically installed anyway by the distributions, because the distributions made it a standard, and now it's widely used?
Well, there's no standard, but typical software includes a bunch of GNU utilities (hence the phrase GNU/Linux, usually things like bash, ls, df, less, and so on), filesystem tools (like fsck and the mkfs variants), an editor (like Vim or nano), networking tools (netstat, ping), sometimes X11 (XFree86 or [more commonly nowadays] X.Org), sometimes compilers (gcc, perl, g++, python). And lots more I haven't mentioned.

Quote:
Originally Posted by des_a
* What programs that are more higher level (such as a graphics editing program) are there that are usually used?

* Finally, what do these programs do?
The Ubuntu package repository for 7.04 on i386 contains over 21,000 separate packages. To describe them all would be extremely tedious.
 
Old 06-23-2007, 12:12 PM   #3
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416

Original Poster
Blog Entries: 43

Rep: Reputation: 36
Thanks for a little bit of an idea. Yes, it seems now that I know more, it is the GNU/Linux tools I'm looking for. Basically I want to know for a few reasons.

One, it makes it easier to use, if I know what is the minimum I can expect to have. Second, I'm considering maybe making things uniform in general between my Windows and Linux if possible. Then I have programs for the same job on either system I use. Third, I was making a word proccessor in C++ (currently only Windows, but it's not bound forever there). I decided to call it CLWP, for Command Line Word Proccessor. It turns out, that it's now one of the most useful programs I've created so far, overall. It's part of the office suite I decided to create. If I know the basic GNU/Linux programs, then I can implement (either by calling the GNU/Linux program, or by creating code from scratch) the same functions that would be relevant.

Fourth, CLWP, was part of my effort to decide on standards for the commands I would have for the Operating System I am trying to build. I'm building the OS, with Linux. I like the way that Linux commands are pretty simple overall. For example, I know about ls, for displaying files, and such. Whereas in DOS/Windows, there seems to be no such standards. In DOS/Windows, you usually have a program for diplaying directories and files, then one for formating the disk, that does a big chunk of stuff, etc.

In my OS, I want to keep jobs of commands simple, overall. However, I want to make the number of commands pretty simple. Instead of having 100 tiny programs, I might either have one program that does it all, or one program that calls little modules, and it's all integrated into one tool.

Built in commands, are probably going to be commands like make_filesystem, and format, things like that. CLWP, will be able to do word proccessor stuff, but it does things at the command line. I might also have CLSP (Command Line Spreadsheet), and etc. Then on top of that, will probably be things such as office. Office would take some parameters, such as office CLWP [CLWP_command], and it's pretty simple overall.
 
Old 06-23-2007, 01:56 PM   #4
taylor_venable
Member
 
Registered: Jun 2005
Location: Indiana, USA
Distribution: OpenBSD, Ubuntu
Posts: 892

Rep: Reputation: 43
That's pretty interesting. Usually, though, big GUI applications (like word processors) don't call out to smaller utilities like wc, but implement that functionality themselves using libraries. Well, maybe wc is a bad example, but let's just say that OpenOffice doesn't do Find & Replace by running your document's text through sed. Although, for a small number of applications, that is how they work. Emacs, for example, has a lot of features that are basically generate + parse interfaces to external programs (with GDB, SVN, et alia). But is Emacs your typical desktop application? Certainly not.

Anyway, having one utility that does everything is not really the Unix way. The old way of thinking was functional, input to output. The parameters and returns were all the same type: text. This makes composing possible: download a file, send the output through a filter, send the output to the printer. Even if you've got one big program composed of smaller modules, to gain this kind of flexibility the user has to be able to rearrange the modules and call them separately. That would result in what Unix is right now -- your big universal program becomes the shell, and the modules become programs like wget, sed, and lpr. Otherwise, your modules won't be as flexible as the Unix way.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Way to find install date for a linux system kdrlx Linux - Software 17 11-21-2015 12:46 PM
Can I find equivalent programs in linux.... cbjhawks Linux - Software 7 08-27-2007 12:17 AM
Will linux programs work in a 64bit system? dv502 Linux - General 5 12-20-2006 09:40 PM
how to find files on the linux system? arcow Linux - Software 1 02-07-2006 02:29 AM
How can you find unwanted Dialer programs on your system? OrganicX Linux - General 2 03-01-2003 03:10 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > General

All times are GMT -5. The time now is 10:59 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration