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 Torvalds, kernel.org, et al. to gain from placing themselves under the GNU umbrella, and a lot to lose -- the aforementioned ...
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 ...
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. ...
POSIX defines standard error as
for writing diagnostic output
This doesn't limit its use to error messages only. I would consider progress information as diagnostic output, so it belongs on standard error.
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 ...
GNU sed accepts an optional extension after -i. The extension must be in the same argument with no intervening space. This syntax also works on BSD sed.
sed -i.bak -e '…' SOMEFILE
Note that on BSD, -i also changes the behavior when there are multiple input files: they are processed independently (so e.g. $ matches the last line of each file). Also this won'...
“Clobber” in the context of data manipulation means destroying data by overwriting it. In the context of files in a Unix environment, the word was used at least as far back as the early 1980s, possibly earlier. Csh had set noclobber to configure > to refuse to overwrite an existing file (later set -o noclobber in ksh93 and other sh-style shells). When GNU ...
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 ...
That is a difficult question to answer.
First "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 an 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 ...
In ksh, Bash, Zsh, Yash or BusyBox sh:
[ "$RANDOM" -lt 3277 ] && do_stuff
The RANDOM special variable of the Korn, Bash, Yash, Z and BusyBox shells produces a pseudo-random decimal integer value between 0 and 32767 every time it’s evaluated, so the above gives (close to) a one-in-ten chance.
You can use this to produce a function which behaves as ...
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-on-...
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 ...
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/[
and is a synonym for test to allow for expressions like [ expression ] to be written in shell scripts or even ...
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 ...
Posix defines the standard streams thus:
At program start-up, three streams shall be predefined and need not be opened explicitly: standard input (for reading conventional input), standard output (for writing conventional output), and standard error (for writing diagnostic output). When opened, the standard error stream is not fully buffered; the standard ...
GNUPG has a trust database stored at ~/.gnupg/trustdb.gpg
You can backup this trust database using the --export-ownertrust option:
gpg --export-ownertrust > file.txt
If you exported your secret keys and import them later into a new environment, the trust database is no longer present.
However, this is easily remedied:
gpg --edit-key user@useremail....
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-...
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 ...
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
You can find the HTML version of all the editions of POSIX 2008 online:
TC1 (2013 edition) http://pubs.opengroup.org/onlinepubs/9699919799.2013edition/utilities/rm.html
TC2 (2016 edition) http://pubs.opengroup.org/onlinepubs/9699919799.2016edition/utilities/rm.html
Because this is actually a standard term. As explained in Wikipedia:
In software engineering, clobbering a file or computer memory is
overwriting its contents. The Jargon File defines clobbering as
To overwrite, usually unintentionally: "I walked off the end of the
array and clobbered the stack." Compare mung, scribble, trash, and
Strictly speaking, the POSIX specification for sed requires a newline after a\:
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 is ...
@rob is right. GNOME is technically an official GNU project. However, there is a lot of interesting history.
Let's roll back the clock
It's 1996. There are no desktop environments. Users and sysadmins assemble environments from a hodge-podge of programs. Different window managers, different applications, maybe a dock. There are two major toolkits on the ...
That last example should have clarified things for you: timezones.
$ TZ=UTC date -d "2019-01-19T05:00:00Z - 2 hours" +%Y-%m-%d_%H:%M:%S
$ TZ=Asia/Colombo date -d "2019-01-19T05:00:00Z - 2 hours" +%Y-%m-%d_%H:%M:%S
As the output clearly varies by the timezone, I'd suspect some non-obvious default taken for a time ...
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, ...
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, ...
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 ...
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.