Both Linux and BSD have common programs like ls and cat and echo and kill.  Do they come from the same source code, or do both and Linux and BSD own their own unique source code for these programs?
121244
I would like to know which commands were re-written for Linux and which were retained from Unix?
28171
I have always found it difficult to find information about the system itself in Unix, whether it be   Which OS I am using (version number and all, to compare it with the latest available builds)? Which Desktop Environment am I using? If I am using KDE, most of the programs begin with a K and I can say I am using KDE, but there should be some way to query this, say from a script. Which kernel version am I using? (For example, I am using Fedora, and I want to know what Linux kernel version I am using)   Basically, what I miss is a single point/utility that can get all this information for me. Most of the times the solutions to the above would themselves be OS specific. Then, you are stuck.
18248
Under Windows, most applications and application data are stored in a special directory known as C:\Program Files (and occasionally C:\Program Files (x86)). What is the Ubuntu/Linux equivalent to this path? Is there even one?
5979
I was going through an article on GNU which goes something like below     There really is a Linux, and these people are using it, but it is just   a part of the system they use. Linux is the kernel: the program in the   system that allocates the machine's resources to the other programs   that you run. The kernel is an essential part of an operating system,   but useless by itself; it can only function in the context of a   complete operating system. Linux is normally used in combination with   the GNU operating system: the whole system is basically GNU with Linux   added, or GNU/Linux. All the so-called “Linux” distributions are   really distributions of GNU/Linux.   I always thought Linux as a kernel and Operating System but it looks like Linux = Linux kernel and GNU OS.   Could someone point out the exact functionality of each in the "Linux" terminology we use in our day to day life. Also, according to the wiki, GNU's design is Unix-like but differs from Unix by being free software and containing no Unix code. I thought Unix is opensource. Isn't it?
94774
ls returns output in several columns, whereas ls|cat returns byte-identical output with ls -1 for directories I've tried. Still I see ls -1 piped in answers, like ls -1|wc -l. Is there ever a reason to prefer ls -1? Why does ...|cat change the output of ls?
64297
cp a b and cat a &gt; b, what's the difference?  In x86 install script of linux kernel's source tree (arch/x86/boot/install.sh), both are used:  cat $2 &gt; $4/vmlinuz cp $3 $4/System.map   Why don't they just keep the same format if one is better than the other?
65503
ll is a common alias in many Linux distros. How can I tell what it aliases to?   I've tried checking my .bashrc, but I am not able tell what ll is equivalent to.
68182
How are character special files and block special files different from regular files in a Unix-like system? Why are they called “character special” and “block special” respectively?
96499
I have two programs, one of them prints something first, they need to communicate with each other with their standard IO.  Is there a way in Bash to pipe stdout of two programs to each other? I know I could do this in C with forks and dups, but is there a way with pure Bash?
30038
Linux determines the type of a file via a code in the file-header. It doesn't depend on file-extensions for to know which software is to use for opening the file.  That's what I remember from my education. Please correct me in case I'm wrong!  Working a bit with Ubuntu systems recently: I see a lot of files on the systems which have extensions like .sh, .txt, .o, .c  Now I'm wondering: Are these extensions are meant only for humans? So that one should get an idea what kind of file it is?  Or does they have some purpose for the operating-system too?
57856
I need a cross platform solution for clearing the console in both Linux and Windows written in C++. Are there any functions in doing this? Also make note that I don't want the end-user programmer to have to change any code in my program to get it to clear for Windows vs Linux (for example if it has to pick between two functions then the decision has to be made at run-time or at compile-time autonomously).
21956
I am trying to understand named pipes in the context of this particular example.  I type &lt;(ls -l) in my terminal and get the output as, bash: /dev/fd/63: Permission denied.  If I type cat &lt;(ls -l), I could see the directory contents. If I replace the cat with echo, I think I get the terminal name (or is it?).  echo &lt;(ls -l) gives the output as /dev/fd/63.  Also, this example output is unclear to me.  ls -l &lt;(echo "Whatever") lr-x------ 1 root root 64 Sep 17 13:18 /dev/fd/63 -&gt; pipe:[48078752]   However, if I give,ls -l &lt;() it lists me the directory contents.   What is happening in case of the named pipe?
107740
I noticed that there is a binary executable /bin/echo on my Ubuntu MATE 17.04 system.  I thought, that's odd, because  $ type echo echo is a shell builtin  Cursory testing suggests that /bin/echo does the same sort of thing as the Bash builtin echo:  $ /bin/echo foo foo $ /bin/echo $USER zanna   So, why is there another version of echo separate from the Bash program, and why or when would I want to use it?
12182
From the article  by M. Tim Jones, I read that Linux views all the file systems from the perspective of a common set of objects and these objects are superblock, inode, dentry and file. Even though the rest of the paragraph explains the above, I was not that comfortable with that explanation. Could somebody explain to me these terms?
88826
I often come across interesting Linux commands that make me wonder; what are these commands actually doing?  Yes, they might be 'force-removing dependencies', 'installing programs' and doing lots of other stuff, but I'd like to know how they're doing it.  Looking into the source code seems the right thing to do then, but where am I supposed to get it from?  I suppose they'll be written in C?  EDIT: I'm not talking about packages installed using apt-get. I'm looking for the source code of linux/unix commands.
82597
How I could go about creating my own "custom" Linux distro that will run just one program, pretty much exactly the same way as .
63267
In  12, using the  shell, I noticed this difference when looking at $path (lowercase) versus $PATH (uppercase).  echo $path      /sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin /usr/home/freebsd/bin   echo $PATH      /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/home/freebsd/bin   One output is delimited by SPACE character, the other by COLON character.   ➥ Why the difference?   Are these two different, separate variables? Or does the lowercase/uppercase trigger some kind of trick or meaning I do not know about?   Is this a zsh feature? Or a feature of FreeBSD?