Index: uspace/app/bdsh/cmds/modules/ls/ls.c
===================================================================
--- uspace/app/bdsh/cmds/modules/ls/ls.c	(revision a27e37003a1b4f38516c5fc6283fa8f84b824da4)
+++ uspace/app/bdsh/cmds/modules/ls/ls.c	(revision 0296ee1c808fbc92627ea52bd91828918e6f942f)
@@ -59,5 +59,5 @@
 	{ "unsort", no_argument, 0, 'u' },
 	{ "recursive", no_argument, 0, 'r' },
-	{ "well-formatted", no_argument, 0, 'w' },
+	{ "exact-size", no_argument, 0, 'e' },
 	{ "single-column", no_argument, 0, '1' },
 	{ 0, 0, 0, 0 }
@@ -79,5 +79,5 @@
 	ls->sort = 1;
 
-	ls->well_formatted = false;
+	ls->well_formatted = true;
 	ls->single_column = false;
 	ls->printer = ls_print;
@@ -98,4 +98,5 @@
 static void ls_print(struct dir_elem_t *de)
 {
+	int width = 13;
 
 	if (de->s.is_file) {
@@ -108,6 +109,10 @@
 			char *rptr;
 			if (cap_format(&cap, &rptr) == EOK) {
-				printf("%-40s\t%s\n", de->name, rptr);
+				char bytes[9], suffix[3];
+				sscanf(rptr, "%s %s", bytes, suffix);
 				free(rptr);
+
+				printf("%-40s\t%*s %2s\n", de->name, width - 3, bytes, suffix);
+				
 				//if there is a failure with cap_format we simply print out an unformatted size
 				return;
@@ -116,7 +121,7 @@
 		}
 
-		printf("%-40s\t%llu\n", de->name, (long long) de->s.size);
+		printf("%-40s\t%*llu\n", de->name, width, (long long) de->s.size);
 	} else if (de->s.is_directory)
-		printf("%-40s\t<dir>\n", de->name);
+		printf("%-40s\t%*s\n", de->name, width, "<dir>");
 	else
 		printf("%-40s\n", de->name);
@@ -387,5 +392,5 @@
 		    "  -u, --unsort          Do not sort directory entries\n"
 		    "  -r, --recursive       List subdirectories recursively\n"
-		    "  -w, --well-formatted  File sizes will be formatted\n"
+		    "  -e, --exact-size      File sizes will be unformatted (raw bytes count)\n"
 		    "  -1, --single-column   Only the names will be returned\n",
 		    cmdname);
@@ -417,5 +422,5 @@
 
 	while (c != -1) {
-		c = getopt_long(argc, argv, "hurw1", long_options, &opt_ind);
+		c = getopt_long(argc, argv, "hure1", long_options, &opt_ind);
 		switch (c) {
 		case 'h':
@@ -428,6 +433,6 @@
 			ls.recursive = 1;
 			break;
-		case 'w':
-			ls.well_formatted = true;
+		case 'e':
+			ls.well_formatted = false;
 			break;
 		case '1':
