Hot answers tagged


The autoconf manual has a section on portable shell programming. Although that's not specifically targeting POSIX, it's probably the most complete collection of what to do and not to do when attempting to write portable shell code.


whohas package (link) may help you. Example % whohas pidgin|grep "pidgin " MacPorts pidgin 2.10.6 Slackware pidgin 2.7.11-i486-3sl ...


You can't. The format for /etc/hosts is quite simple, and doesn't support including extra files. There are a couple approaches you could use instead: Set up a (possibly local-only) DNS server. Some of these give a lot of flexibility, and you can definitely spread your host files over multiple files, or even machines. If you're trying to include the same ...


The closest thing I've come across to a tool like this is - Linux Software Catalog and Packages Search The is created to provide you with the simplest method of searching and downloading the newest versions of the best Linux software - without the usual excessive popups or spyware. Also use it to find alternatives to ...


All of the guides I've found were incredibly informal, not properly summarising its syntax or telling the most common errors you can make. The best resource, and one that does address common errors, is Greg's Wiki Another very good resource for pointers on syntax and good practice is the Bash Hackers Wiki


A good starting point, if you don't know the exact command name, is apropos. You'll find a short description here or with man apropos.


Distrowatch has a table show what versions of software specific distros include. If you open your preferred distos in different tabs you can see what version of GIMP they have. Here's Mint, Ubuntu, Debian, and Fedora, there's a radio button to choose between seeing only the major packages and all packages. Select all packages if your package isn't on the ...


In addition to dash and posh, there's bournesh (or bsh), the Heirloom Bourne Shell, that can be used to detect Bashisms. The Heirloom Project also includes "The Heirloom Toolchest", a collection of more than 100 standard Unix utilities (which could serve as a starting point for comparing command line options).

6 is also for comparing popular package versions in several distros.It also provides "lag" between upstream release and distro release, which is interesting to see.


The Unix Rosetta Stone (resource for sysadmins) might be the one you had in mind.


Similar to this answer, try executing your script in posh. Also, don't forget to set the POSIXLY_CORRECT environment variable to true, as this causes many programs (not only the shell) to adhere more strictly to the POSIX standards.


In addition to apropos (which can also be written man -k), a useful command is man -K key_word (capital K). This searches for a man page with the 'key_word' anywhere in the man page (man -k searches only in the short description part). Either way, the result are shown with the section between brackets: [gojan@Gonux ~]$ man -K copy ... cp (1) - ...


If you want to list all possible commands try hitting <Tab> twice


man intro is the unix way of answering this question.


Writing your scripts using dash might be a start.


Depending on your Version of MacOS X, you can create your own content for the Dictionary app. There's a lot of pre-generated material out there, and even a few additional tools to convert stuff from other sources. converter for pre-Leopard mac-dictionary-kit for Leopard onwards. See blog entry for details - there's more blogs around, google will ...


Today, you can usually find a POSIX shell on a system, and so that generally means you can script in the POSIX language (modulo running into compliance bugs). The only problem is that /bin/sh is sometimes not a POSIX shell. And you must hard-code the #! line into scripts that are to behave as nice executables; you can't just ask the user to research the ...


To a little extend, you can try checkbashisms in Debian/Ubuntu's devscripts package. It is not perfect, but it has the benefit of being an existing starting point. For example, it doesn't see the classical glitches with sed/find concerning the GNU vs BSD/other differences. By default, it is Debian+dash oriented, the -p flag can be useful for in your case.


I don't know of any online resources that are going to be as helpful as this book: Understanding the Linux Kernel. Chapter 12 covers the Linux VFS layer, and Chapter 18 covers ext2/ext3 specifically. The book probably about due for a fourth edition, since it's circa 2.6.10, but the basics are still the same. There's a lot going on in filesystems these days, ...


You can use Libre Office Impress (or Open Office Impress), which are very powerpoint alike. If you want a pointer then go for any USB, all of them are recognized out of the box in Linux (as a mouse).


From a tip here, I managed to do this: astr=(a b c) declare -n astrRef="astr" echo ${#astrRef[@]} This allows also to create such array or simply assign values thru indirection: declare -n astrRef="astr" astrRef=(d e f) declare -p astrRef astr astrRef+=(g) declare -p astrRef astr


Well, you could always have a look at the Ubuntu documentation. Ubuntu is one of the classic choices for a newbie-friendly distribution and it has a very good set of help documents at Specifically, I suggest reading from Mint also provides a very simple user guide with ...


To be honest, I find myself in the same situation that you are quite often. Even though I'm not a beginner. But knowing which tool does what is, is something that will haunt you forever, especially, since new tools are coming in quite fast, are Distro dependent, and the UI changes sometimes from version to version (as with tar, that changed the meaning of ...


You might want to print out or bookmark a cheat sheet. I like this one which is the first result on the Google search for "unix cheat sheet" for a reason.

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