stat -f -c%T now reports the "fuseblk" file system type as "fuse",
given that there is no longer a distinct "ctl" fuse variant file system.
+** New Features
+
+ ls now supports the --sort=name option,
+ to explicitly select the default operation of sorting by file name.
+
** Improvements
'head -c NUM', 'head -n NUM', 'nl -l NUM', 'nproc --ignore NUM',
sort, except that each sequence of decimal digits is treated numerically
as an index/version number. @xref{Version sort ordering}.
+@item --sort=name
+@opindex --sort
+@opindex name@r{, sorting option for @command{ls}}
+Sort by file name. This is the default operation of @command{ls},
+and can be explicitly specified to override any
+previously specified sorting option.
+
@item --sort=width
@opindex --sort
@opindex width@r{, sorting option for @command{ls}}
static char const *const sort_args[] =
{
- "none", "time", "size", "extension", "version", "width", nullptr
+ "none", "size", "time", "version", "extension",
+ "name", "width", nullptr
};
static enum sort_type const sort_types[] =
{
- sort_none, sort_time, sort_size, sort_extension, sort_version, sort_width
+ sort_none, sort_size, sort_time, sort_version, sort_extension,
+ sort_name, sort_width
};
ARGMATCH_VERIFY (sort_args, sort_types);
-S sort by file size, largest first\n\
"), stdout);
fputs (_("\
- --sort=WORD sort by WORD instead of name: none (-U), size (-S)\
-,\n\
- time (-t), version (-v), extension (-X), width\n\
+ --sort=WORD change default 'name' sort to WORD:\n\
+ none (-U), size (-S), time (-t),\n\
+ version (-v), extension (-X), name, width\n\
\n\
"), stdout);
fputs (_("\
touch -m -d "$t1" c || framework_failure_
# Check default name sorting works
-set $(ls a B c)
-test "$*" = 'B a c' || fail=1
+for def_sort in '' '--sort=name' '-U --sort=name' '--sort-name -t'; do
+ set $(ls $def_sort a B c)
+ test "$*" = 'B a c' || fail=1
+done
touch -a -d "$u3" c || framework_failure_
touch -a -d "$u2" B || framework_failure_