Hot answers tagged

126

GNU will not adopt something as a project unless the developers agree to certain stipulations which bind all official GNU projects. Currently the linux kernel probably does not fit these restrictions, and there is nothing for Linus T., kernel.org, et al. to gain from placing themselves under the GNU umbrella, and a lot to lose -- the aforementioned binding ...


73

It appears that you are confusing two very different parts of the OS. It's understandable, because they are often referred to interchangably, but it's technically incorrect, so your question is based on a faulty premise. In order to fully explore and hopefully answer the question that you likely want to ask, a short history lesson is needed. First, there ...


70

There is much documentation and discussion on this on the net. The short answer that there are deep ideological differences between the GNU project and the Linux kernel projects, which gets in the way of a possible unification. The focus of the FSF, the organization behind the GNU Project, is on ideological purity with respect to the idea of free software. ...


36

GNU Info was designed to offer documentation that was comprehensive, hyperlinked, and possible to output to multiple formats. Man pages were available, and they were great at providing printed output. However, they were designed such that each man page had a reasonably small set of content. A man page might have the discussion on a single C function such ...


36

The [ binary residing under the /bin tree in many GNU/Linux distributions is not something to be alarmed off. At least in my Fedora 19 it is a part of the coreutils package, as demonstrated below: $ rpm -qf /bin/[ coreutils-8.21-13.fc19.x86_64 and is a synonym for test to allow for expressions like [ expression ] to be written in shell scripts or even ...


29

for stuff in things do ( something with stuff ) & done wait # for all the something with stuff Whether it actually works depends on your commands; I'm not familiar with them. The rm *.mat looks a bit prone to conflicts if it runs in parallel...


27

The reason the Info system was invented is necessity, but I guess "laziness, hubris and impatience" is an equally good explanation. The point of the GNU project was to develop a freely modifiable and freely distributible operating system and tools. The traditional Unix man system was based on the nroff/troff document formatting system from Bell Labs, which ...


23

I am quoting a comment by Richard Stallman, regarding the decision to roll with the Hurd rather than Linux. People sometimes ask, ``Why did the FSF develop a new free kernel instead of using Linux?'' It's a reasonable question. The answer, briefly, is that that is not the question we faced. When we started developing the Hurd in 1990, the ...


23

Why don't you just fork (aka. background) them? foo () { local run=$1 fsl5.0-flirt -in $kar"deformed.nii.gz" -ref normtemp.nii.gz -omat $run".norm1.mat" -bins 256 -cost corratio -searchrx -90 90 -searchry -90 90 -searchrz -90 90 -dof 12 fsl5.0-flirt -in $run".poststats.nii.gz" -ref $kar"deformed.nii.gz" -omat $run".norm2.mat" -bins 256 -cost ...


20

GNU is a recursive acronym, GNU's Not UNIX It was chosen because: The name “GNU” was chosen because it met a few requirements; first, it was a recursive acronym for “GNU's Not Unix”, second, because it was a real word, and third, it was fun to say (or Sing). See this GNU webpage for more historical information on the the name.


19

The term "userland" can refer to many things in different contexts, but here I interpret "GNU userland" vs "BSD userland" as the default, minimum set of programs that come with a distribution. The big main difference is that the two userlands start with completely different source code. GNU cat source code NetBSD cat source code. Just from that simple-in-...


18

As far as I can tell, the use of -- as end-of-options-marker starts with sh and getopt in System III Unix (1980). According to this history of the Bourne Shell family, the Bourne Shell first appeared in Version 7 Unix (1979). But it didn't have a way for set to separate options from arguments. So the original Bourne shell could do: set -e - turn on exit-...


16

From the ping manpage (emphasis mine): When the specified number of packets have been sent (and received) or if the program is terminated with a SIGINT, a brief summary is displayed. Shorter current statistics can be obtained without termination of process with signal SIGQUIT. So this will work if you're fine with your stats being slightly less ...


14

As the Wikipedia page says, TeXinfo was designed as the official documentation of the GNU project by Richard Stallman. It is a set of macros on top of TeX, and was designed for writing software manuals. I think Stallman considered man pages inadequate for the task. Two advantages Texinfo has over man pages is that it is hyperlinked, and second, that it is, ...


14

The Ubuntu bsdtar is actually the tar implementation bundled with libarchive; and that should be differentiated from classical bsdtar. Some BSD variants do use libarchive for their tar implementation, eg FreeBSD. GNUtar does support the other tar variants and automatic compression detection. As visualication pasted the blurb from Ubuntu, there are a few ...


13

FreeBSD 10 will use the BSD-licensed Clang compiler instead of GCC for 32- and 64-bit Intel x86 systems. The only thing preventing a wholesale switch on all CPU platforms FreeBSD releases on is developer time and interest. As for FreeBSD 9 — which was just about to be released when this question was first posed — there was talk about making ...


13

Wikipedia, "Factor (Unix)" with an interesting take: factor first appeared on 5th edition Research Unix in 1974, as a "user maintained" utility (section 6 of the manual). In the 7th edition in 1979, it was moved into the main "commands" section of the manual (section 1). From there, the factor utility was copied to all other variants of Unix, including ...


13

I would be inclined to think that dir is there just for backwards compatibility. From GNU Coreutils: dir is equivalent to ls -C -b; that is, by default files are listed in columns, sorted vertically, and special characters are represented by backslash escape sequences. By the way, ls doesn't colorize the output by default: this is because most distros ...


13

Strictly speaking, the POSIX specification for sed requires a newline after a\: [1addr]a\ text Write text to standard output as described previously. This makes writing one-liners a bit of a pain, which is probably the reason for the following GNU extension to the a, i, and c commands: As a GNU extension, if between the a and the newline there ...


13

The explicit goal of the GNU project is to provide a complete open source/libre/free operating system. Are there any GNU distributions which use only these packages -- i.e. a "pure" GNU operating system that runs on only GNU packages? There is a reference here to an official sounding GNU binary distro based on Hurd which "consists of GNU Mach, the Hurd,...


13

GNU find has an optimization which can be applied to find . but not to find . -type f: if it knows that none of the remaining entries in a directory are directories, then it doesn't bother to determine the file type (with the stat system call) unless one of the search criteria requires it. Calling stat can take measurable time since the information is ...


12

The font is Donald Knuth's Computer Modern. The documentation was no doubt created with LaTeX (or maybe even plain TeX). (Actually, these are both confirmed by the PDF metadata.) (Edit: Poking around a bit more, it looks like, strictly speaking the documentation is created in a base format, which, thanks to GNU texinfo is exported to a variety of formats, ...


11

After some hardcore bash code examining I found out that bash time uses getrusage() and GNU time uses times(). getrusage() is far more precise because of microsecond resolution.


11

chmod: change file mode bits Usage (octal mode): chmod <octal-mode> files... Usage (symbolic mode): chmod <references><operator><modes> files.. references is a combination of the letters ugoa, which specify which user's access to the files will be modified: u the user who owns it g other users in the file's group o other ...


11

That is a difficult question to answer. Fist "Unix Like" or "*nix" usually means POSIX. All the systems you listed are POSIX systems. POSIX is a set of standards to implement. Now for the harder questions. GNU isn't really a OS. It's more of a set of rules or philosophies that govern free software, that at the same time gave birth to a bunch of tools ...


10

From the Ubuntu package description (http://packages.ubuntu.com/de/lucid/bsdtar) "The bsdtar program has a number of advantages over previous tar implementations: Library. Since the core functionality is in a library, it can be used by other tools, such as pkg_add. Automatic format detection. Libarchive automatically detects the compression (none/gzip/...


10

for stuff in things do sem -j+0 ( something with stuff ) done sem --wait This will use semaphores, parallelizing as many iterations as the number of available cores (-j +0 means you will parallelize N+0 jobs, where N is the number of available cores). sem --wait tells to wait until all the iterations in the for loop have terminated execution before ...


10

To answer your question with at least a hint of factual background I propose to start by looking at the timeline of creation of man, info and other documentation systems. The first man page was written in 1971 using troff (nroff was not around yet) in a time when working on a CRT based terminal was not common and printing of manual pages the norm. The man ...


10

It's not an endless looping, it's just GNU find reporting that echo died of a SIGPIPE (because the other end of the pipe on stdout has been closed when head died). -execdir is not specified by POSIX. And even for -exec, there's nothing in the POSIX spec that says that if the command is killed by a SIGPIPE, find should exit. So, would POSIX specify -execdir,...


9

busybox the favorite of Embedded Linux systems. BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options ...



Only top voted, non community-wiki answers of a minimum length are eligible