First and foremost, this is going to depend solely on your architecture, and customs.
I for instance mount things like this under /mnt. I know people that create top level directories, and people who put this stuff in /home. It all depends on what you're comfortable with. There is no distinct standard on this anymore, the architecture of the system has changed, and you have varying views now, on things that used to be 'gospel'. Things like /usr/local or /opt/share, rpm or source...you get the drift.
Secondly, if you re-read through your link at pathname.com, you'll notice the paragraph under /media that states
Rationale
Historically there have been a number
of other different places used to
mount removeable media such as /cdrom,
/mnt or /mnt/cdrom. Placing the mount
points for all removeable media
directly in the root directory would
potentially result in a large number
of extra directories in /. Although
the use of subdirectories in /mnt as a
mount point has recently been common,
it conflicts with a much older
tradition of using /mnt directly as a
temporary mount point.
So personally, I advocate /mnt/windows or some iteration of that. It keeps the top level dir free, and is simple and intuitive. When I'm looking through or auditing a system, that's where I look for mounts right off the bat.
POSIX and Hyphens: No Guarantee
According to the POSIX standard, a function name must be a valid name and a name can consist of:
3.231 Name
In the shell command language, a word consisting solely of
underscores, digits, and alphabetics from the portable character set.
The first character of a name is not a digit.
Additionally, an alias must be a valid alias name, which can consist of:
3.10 Alias Name
In the shell command language, a word consisting solely of underscores,
digits, and alphabetics from the portable character set and any of the
following characters: '!', '%', ',', '@'.
Implementations may allow other characters within alias names as an
extension. (Emphasis mine.)
A hyphen is not listed among the characters that must be allowed in either case. So, if they are used, portability is not guaranteed.
Examples of Shells That Do Not Support Hyphens
dash
is the default shell (/bin/sh
) on the debian-ubuntu family and it does not support hyphens in function names:
$ a-b() { date; }
dash: 1: Syntax error: Bad function name
Interestingly enough, it does support hyphens in aliases, though, as noted above, this is an implementation characteristic, not a requirement:
$ a_b() { printf "hello %s\n" "$1"; }
$ alias a-b='a_b'
$ a-b world
hello world
The busybox shell (Almquist shell) also does not support hyphens in function names:
$ a-b() { date; }
-sh: Syntax error: Bad function name
Summary of Hyphen Support by Shell
The following shells are known to support hyphens in function names:
The following shells are known not to support hyphens in function names:
- ash (busybox), csh, tcsh, dash
Conclusions
- Hyphens are non-standard. Stay away from them if you want cross-shell compatibility.
- Use underscores instead of hyphens: underscores are accepted everywhere.
Best Answer
You can solve the
df1
argument issue by using the following alias:make sure to add any other type (
xfs
,fuseblk
(for modern NTFS support, as @Pandya pointed out), etc) you're interested in. With that you can dodf1 -h
and get the expected result.mount
does have a-t
option but you cannot specify it multiple times (only the last is taken), there I would use:I am using
grep -E
asegrep
is deprecated and using/bin/grep
makes sure you're not using--colour=auto
from an alias forgrep
/egrep