@ecmaos/coreutils 0.6.2 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -114,11 +114,17 @@ export function createCommand(kernel: Kernel, shell: Shell, terminal: Terminal):
114
114
  const getTimestampString = (timestamp: Date) => {
115
115
  const diff = (new Date().getTime() - timestamp.getTime()) / 1000
116
116
 
117
- if (diff < 24 * 60 * 60) return chalk.green(timestamp.toISOString().slice(0, 19).replace('T', ' '))
118
- else if (diff < 7 * 24 * 60 * 60) return chalk.yellow(timestamp.toISOString().slice(0, 19).replace('T', ' '))
119
- else if (diff < 30 * 24 * 60 * 60) return chalk.blue(timestamp.toISOString().slice(0, 19).replace('T', ' '))
120
- else if (diff < 365 * 24 * 60 * 60) return chalk.magenta(timestamp.toISOString().slice(0, 19).replace('T', ' '))
121
- else return chalk.gray(timestamp.toISOString().slice(0, 19).replace('T', ' '))
117
+ // "Temperature" coloring: red (newest) -> yellow -> green -> cyan -> blue (oldest)
118
+ if (diff < 24 * 60 * 60) // < 1 day
119
+ return chalk.red(timestamp.toISOString().slice(0, 19).replace('T', ' '))
120
+ else if (diff < 7 * 24 * 60 * 60) // < 1 week
121
+ return chalk.yellow(timestamp.toISOString().slice(0, 19).replace('T', ' '))
122
+ else if (diff < 30 * 24 * 60 * 60) // < 1 month
123
+ return chalk.green(timestamp.toISOString().slice(0, 19).replace('T', ' '))
124
+ else if (diff < 365 * 24 * 60 * 60) // < 1 year
125
+ return chalk.cyan(timestamp.toISOString().slice(0, 19).replace('T', ' '))
126
+ else // > 1 year (coldest)
127
+ return chalk.blue(timestamp.toISOString().slice(0, 19).replace('T', ' '))
122
128
  }
123
129
 
124
130
  const getOwnerString = (stats: Awaited<ReturnType<typeof shell.context.fs.promises.stat>>) => {
@@ -15,7 +15,7 @@ function detectFileType(filePath: string): FileType {
15
15
  if (ext === '.pdf') return 'pdf'
16
16
 
17
17
  // Markdown
18
- const markdownExts = ['.md', '.markdown', '.mdown', '.mkd', '.mkdn']
18
+ const markdownExts = ['.md', '.markdown', '.mdown', '.mkd', '.mkdn', '.txt']
19
19
  if (markdownExts.includes(ext)) return 'markdown'
20
20
 
21
21
  // JSON
package/src/index.ts CHANGED
@@ -1,125 +1,145 @@
1
1
  import type { Kernel, Shell, Terminal } from '@ecmaos/types'
2
- import { TerminalCommand } from './shared/terminal-command.js'
2
+ import type { TerminalCommand } from './shared/terminal-command.js'
3
3
 
4
4
  // Export shared infrastructure
5
5
  export { TerminalCommand } from './shared/terminal-command.js'
6
- export type { CommandArgs } from './shared/command-args.js'
7
6
  export { writeStdout, writelnStdout, writeStderr, writelnStderr } from './shared/helpers.js'
7
+ export type { CommandArgs } from './shared/command-args.js'
8
8
 
9
9
  // Import command factories
10
+ import { createCommand as createAwk } from './commands/awk.js'
11
+ import { createCommand as createBasename } from './commands/basename.js'
12
+ import { createCommand as createCal } from './commands/cal.js'
10
13
  import { createCommand as createCat } from './commands/cat.js'
11
14
  import { createCommand as createCd } from './commands/cd.js'
12
15
  import { createCommand as createChmod } from './commands/chmod.js'
13
16
  import { createCommand as createChown } from './commands/chown.js'
17
+ import { createCommand as createCksum } from './commands/cksum.js'
18
+ import { createCommand as createCmp } from './commands/cmp.js'
19
+ import { createCommand as createColumn } from './commands/column.js'
20
+ import { createCommand as createComm } from './commands/comm.js'
14
21
  import { createCommand as createCp } from './commands/cp.js'
15
22
  import { createCommand as createCron } from './commands/cron.js'
23
+ import { createCommand as createCrypto } from './commands/crypto.js'
24
+ import { createCommand as createCurl } from './commands/curl.js'
25
+ import { createCommand as createCut } from './commands/cut.js'
26
+ import { createCommand as createDd } from './commands/dd.js'
27
+ import { createCommand as createDate } from './commands/date.js'
28
+ import { createCommand as createDiff } from './commands/diff.js'
29
+ import { createCommand as createDirname } from './commands/dirname.js'
16
30
  import { createCommand as createEcho } from './commands/echo.js'
17
31
  import { createCommand as createEnv } from './commands/env.js'
18
32
  import { createCommand as createExpand } from './commands/expand.js'
33
+ import { createCommand as createFactor } from './commands/factor.js'
34
+ import { createCommand as createFalse } from './commands/false.js'
19
35
  import { createCommand as createFetch } from './commands/fetch.js'
36
+ import { createCommand as createFind } from './commands/find.js'
37
+ import { createCommand as createFmt } from './commands/fmt.js'
38
+ import { createCommand as createFold } from './commands/fold.js'
39
+ import { createCommand as createFormat } from './commands/format.js'
20
40
  import { createCommand as createGrep } from './commands/grep.js'
21
41
  import { createCommand as createGroups } from './commands/groups.js'
42
+ import { createCommand as createGit } from './commands/git.js'
22
43
  import { createCommand as createHash } from './commands/hash.js'
23
44
  import { createCommand as createHead } from './commands/head.js'
24
45
  import { createCommand as createHistory } from './commands/history.js'
25
46
  import { createCommand as createHostname } from './commands/hostname.js'
47
+ import { createCommand as createId } from './commands/id.js'
48
+ import { createCommand as createJoin } from './commands/join.js'
49
+ import { createCommand as createLess } from './commands/less.js'
26
50
  import { createCommand as createLn } from './commands/ln.js'
27
51
  import { createCommand as createLs } from './commands/ls.js'
52
+ import { createCommand as createMan } from './commands/man.js'
28
53
  import { createCommand as createMkdir } from './commands/mkdir.js'
29
54
  import { createCommand as createMktemp } from './commands/mktemp.js'
30
55
  import { createCommand as createMount } from './commands/mount.js'
31
56
  import { createCommand as createMv } from './commands/mv.js'
32
57
  import { createCommand as createNc } from './commands/nc.js'
58
+ import { createCommand as createNl } from './commands/nl.js'
59
+ import { createCommand as createOd } from './commands/od.js'
33
60
  import { createCommand as createOpen } from './commands/open.js'
61
+ import { createCommand as createPasskey } from './commands/passkey.js'
62
+ import { createCommand as createPaste } from './commands/paste.js'
34
63
  import { createCommand as createPlay } from './commands/play.js'
35
64
  import { createCommand as createPr } from './commands/pr.js'
36
65
  import { createCommand as createPrintf } from './commands/printf.js'
37
66
  import { createCommand as createPwd } from './commands/pwd.js'
38
- import { createCommand as createSockets } from './commands/sockets.js'
39
67
  import { createCommand as createReadlink } from './commands/readlink.js'
40
68
  import { createCommand as createRealpath } from './commands/realpath.js'
41
69
  import { createCommand as createRev } from './commands/rev.js'
42
70
  import { createCommand as createRm } from './commands/rm.js'
43
71
  import { createCommand as createRmdir } from './commands/rmdir.js'
44
- import { createCommand as createStat } from './commands/stat.js'
45
- import { createCommand as createTouch } from './commands/touch.js'
46
- import { createCommand as createXxd } from './commands/xxd.js'
47
- import { createCommand as createLess } from './commands/less.js'
48
- import { createCommand as createMan } from './commands/man.js'
49
- import { createCommand as createPasskey } from './commands/passkey.js'
72
+ import { createCommand as createSeq } from './commands/seq.js'
50
73
  import { createCommand as createSed } from './commands/sed.js'
51
74
  import { createCommand as createShuf } from './commands/shuf.js'
52
- import { createCommand as createTee } from './commands/tee.js'
53
- import { createCommand as createTac } from './commands/tac.js'
54
- import { createCommand as createTail } from './commands/tail.js'
55
- import { createCommand as createTar } from './commands/tar.js'
56
- import { createCommand as createAwk } from './commands/awk.js'
57
- import { createCommand as createBasename } from './commands/basename.js'
58
- import { createCommand as createCal } from './commands/cal.js'
59
- import { createCommand as createCksum } from './commands/cksum.js'
60
- import { createCommand as createCmp } from './commands/cmp.js'
61
- import { createCommand as createColumn } from './commands/column.js'
62
- import { createCommand as createComm } from './commands/comm.js'
63
- import { createCommand as createCurl } from './commands/curl.js'
64
- import { createCommand as createCut } from './commands/cut.js'
65
- import { createCommand as createDd } from './commands/dd.js'
66
- import { createCommand as createDate } from './commands/date.js'
67
- import { createCommand as createDiff } from './commands/diff.js'
68
- import { createCommand as createDirname } from './commands/dirname.js'
69
- import { createCommand as createFactor } from './commands/factor.js'
70
- import { createCommand as createFalse } from './commands/false.js'
71
- import { createCommand as createFind } from './commands/find.js'
72
- import { createCommand as createFold } from './commands/fold.js'
73
- import { createCommand as createFormat } from './commands/format.js'
74
- import { createCommand as createFmt } from './commands/fmt.js'
75
- import { createCommand as createId } from './commands/id.js'
76
- import { createCommand as createJoin } from './commands/join.js'
77
- import { createCommand as createNl } from './commands/nl.js'
78
- import { createCommand as createOd } from './commands/od.js'
79
- import { createCommand as createPaste } from './commands/paste.js'
80
- import { createCommand as createSeq } from './commands/seq.js'
81
75
  import { createCommand as createSleep } from './commands/sleep.js'
76
+ import { createCommand as createSockets } from './commands/sockets.js'
82
77
  import { createCommand as createSort } from './commands/sort.js'
83
78
  import { createCommand as createSplit } from './commands/split.js'
79
+ import { createCommand as createStat } from './commands/stat.js'
84
80
  import { createCommand as createStrings } from './commands/strings.js'
81
+ import { createCommand as createTac } from './commands/tac.js'
82
+ import { createCommand as createTail } from './commands/tail.js'
83
+ import { createCommand as createTar } from './commands/tar.js'
84
+ import { createCommand as createTee } from './commands/tee.js'
85
85
  import { createCommand as createTest } from './commands/test.js'
86
86
  import { createCommand as createTime } from './commands/time.js'
87
+ import { createCommand as createTouch } from './commands/touch.js'
87
88
  import { createCommand as createTr } from './commands/tr.js'
88
89
  import { createCommand as createTrue } from './commands/true.js'
89
90
  import { createCommand as createTty } from './commands/tty.js'
90
91
  import { createCommand as createUname } from './commands/uname.js'
91
92
  import { createCommand as createUmount } from './commands/umount.js'
92
93
  import { createCommand as createUnexpand } from './commands/unexpand.js'
93
- import { createCommand as createUptime } from './commands/uptime.js'
94
94
  import { createCommand as createUniq } from './commands/uniq.js'
95
+ import { createCommand as createUnzip } from './commands/unzip.js'
96
+ import { createCommand as createUptime } from './commands/uptime.js'
95
97
  import { createCommand as createUser } from './commands/user.js'
98
+ import { createCommand as createVim } from './commands/vim.js'
99
+ import { createCommand as createVideo } from './commands/video.js'
100
+ import { createCommand as createView } from './commands/view.js'
96
101
  import { createCommand as createWc } from './commands/wc.js'
97
102
  import { createCommand as createWeb } from './commands/web.js'
98
103
  import { createCommand as createWhich } from './commands/which.js'
99
104
  import { createCommand as createWhoami } from './commands/whoami.js'
105
+ import { createCommand as createXxd } from './commands/xxd.js'
100
106
  import { createCommand as createZip } from './commands/zip.js'
101
- import { createCommand as createUnzip } from './commands/unzip.js'
102
- import { createCommand as createVideo } from './commands/video.js'
103
- import { createCommand as createView } from './commands/view.js'
104
- import { createCommand as createVim } from './commands/vim.js'
105
- import { createCommand as createGit } from './commands/git.js'
106
107
 
107
108
  // Export individual command factories
109
+ export { createCommand as createAwk } from './commands/awk.js'
110
+ export { createCommand as createBasename } from './commands/basename.js'
108
111
  export { createCommand as createCat } from './commands/cat.js'
109
112
  export { createCommand as createCd } from './commands/cd.js'
110
113
  export { createCommand as createChmod } from './commands/chmod.js'
114
+ export { createCommand as createCksum } from './commands/cksum.js'
115
+ export { createCommand as createCmp } from './commands/cmp.js'
116
+ export { createCommand as createColumn } from './commands/column.js'
111
117
  export { createCommand as createCp } from './commands/cp.js'
112
118
  export { createCommand as createCron } from './commands/cron.js'
119
+ export { createCommand as createCrypto } from './commands/crypto.js'
120
+ export { createCommand as createCurl } from './commands/curl.js'
121
+ export { createCommand as createCut } from './commands/cut.js'
122
+ export { createCommand as createDd } from './commands/dd.js'
123
+ export { createCommand as createDate } from './commands/date.js'
124
+ export { createCommand as createDiff } from './commands/diff.js'
125
+ export { createCommand as createDirname } from './commands/dirname.js'
113
126
  export { createCommand as createEcho } from './commands/echo.js'
114
127
  export { createCommand as createEnv } from './commands/env.js'
115
128
  export { createCommand as createExpand } from './commands/expand.js'
129
+ export { createCommand as createFactor } from './commands/factor.js'
116
130
  export { createCommand as createFetch } from './commands/fetch.js'
131
+ export { createCommand as createFind } from './commands/find.js'
132
+ export { createCommand as createFmt } from './commands/fmt.js'
133
+ export { createCommand as createFold } from './commands/fold.js'
134
+ export { createCommand as createFormat } from './commands/format.js'
117
135
  export { createCommand as createGrep } from './commands/grep.js'
118
136
  export { createCommand as createGroups } from './commands/groups.js'
119
137
  export { createCommand as createHash } from './commands/hash.js'
120
138
  export { createCommand as createHistory } from './commands/history.js'
139
+ export { createCommand as createLess } from './commands/less.js'
121
140
  export { createCommand as createLn } from './commands/ln.js'
122
141
  export { createCommand as createLs } from './commands/ls.js'
142
+ export { createCommand as createMan } from './commands/man.js'
123
143
  export { createCommand as createMkdir } from './commands/mkdir.js'
124
144
  export { createCommand as createMktemp } from './commands/mktemp.js'
125
145
  export { createCommand as createMount } from './commands/mount.js'
@@ -134,53 +154,35 @@ export { createCommand as createRealpath } from './commands/realpath.js'
134
154
  export { createCommand as createRev } from './commands/rev.js'
135
155
  export { createCommand as createRm } from './commands/rm.js'
136
156
  export { createCommand as createRmdir } from './commands/rmdir.js'
137
- export { createCommand as createStat } from './commands/stat.js'
138
- export { createCommand as createStrings } from './commands/strings.js'
139
- export { createCommand as createTouch } from './commands/touch.js'
140
- export { createCommand as createXxd } from './commands/xxd.js'
141
- export { createCommand as createLess } from './commands/less.js'
142
- export { createCommand as createMan } from './commands/man.js'
143
157
  export { createCommand as createSed } from './commands/sed.js'
144
158
  export { createCommand as createShuf } from './commands/shuf.js'
145
- export { createCommand as createTee } from './commands/tee.js'
159
+ export { createCommand as createSleep } from './commands/sleep.js'
160
+ export { createCommand as createSockets } from './commands/sockets.js'
161
+ export { createCommand as createSort } from './commands/sort.js'
162
+ export { createCommand as createStat } from './commands/stat.js'
163
+ export { createCommand as createStrings } from './commands/strings.js'
146
164
  export { createCommand as createTac } from './commands/tac.js'
147
165
  export { createCommand as createTail } from './commands/tail.js'
148
166
  export { createCommand as createTar } from './commands/tar.js'
149
- export { createCommand as createAwk } from './commands/awk.js'
150
- export { createCommand as createBasename } from './commands/basename.js'
151
- export { createCommand as createCksum } from './commands/cksum.js'
152
- export { createCommand as createCmp } from './commands/cmp.js'
153
- export { createCommand as createColumn } from './commands/column.js'
154
- export { createCommand as createCurl } from './commands/curl.js'
155
- export { createCommand as createCut } from './commands/cut.js'
156
- export { createCommand as createDd } from './commands/dd.js'
157
- export { createCommand as createDate } from './commands/date.js'
158
- export { createCommand as createDiff } from './commands/diff.js'
159
- export { createCommand as createDirname } from './commands/dirname.js'
160
- export { createCommand as createFactor } from './commands/factor.js'
161
- export { createCommand as createFind } from './commands/find.js'
162
- export { createCommand as createFold } from './commands/fold.js'
163
- export { createCommand as createFormat } from './commands/format.js'
164
- export { createCommand as createFmt } from './commands/fmt.js'
165
- export { createCommand as createSleep } from './commands/sleep.js'
166
- export { createCommand as createSort } from './commands/sort.js'
167
+ export { createCommand as createTee } from './commands/tee.js'
167
168
  export { createCommand as createTest } from './commands/test.js'
169
+ export { createCommand as createTouch } from './commands/touch.js'
168
170
  export { createCommand as createTr } from './commands/tr.js'
169
171
  export { createCommand as createTty } from './commands/tty.js'
170
172
  export { createCommand as createUname } from './commands/uname.js'
171
173
  export { createCommand as createUmount } from './commands/umount.js'
172
- export { createCommand as createUptime } from './commands/uptime.js'
173
174
  export { createCommand as createUniq } from './commands/uniq.js'
175
+ export { createCommand as createUnzip } from './commands/unzip.js'
176
+ export { createCommand as createUptime } from './commands/uptime.js'
174
177
  export { createCommand as createUser } from './commands/user.js'
178
+ export { createCommand as createVideo } from './commands/video.js'
179
+ export { createCommand as createView } from './commands/view.js'
180
+ export { createCommand as createVim } from './commands/vim.js'
175
181
  export { createCommand as createWc } from './commands/wc.js'
176
182
  export { createCommand as createWeb } from './commands/web.js'
177
183
  export { createCommand as createWhich } from './commands/which.js'
178
- export { createCommand as createSockets } from './commands/sockets.js'
184
+ export { createCommand as createXxd } from './commands/xxd.js'
179
185
  export { createCommand as createZip } from './commands/zip.js'
180
- export { createCommand as createUnzip } from './commands/unzip.js'
181
- export { createCommand as createVideo } from './commands/video.js'
182
- export { createCommand as createView } from './commands/view.js'
183
- export { createCommand as createVim } from './commands/vim.js'
184
186
  export { createCommand as createGit } from './commands/git.js'
185
187
 
186
188
  /**
@@ -189,102 +191,103 @@ export { createCommand as createGit } from './commands/git.js'
189
191
  */
190
192
  export function createAllCommands(kernel: Kernel, shell: Shell, terminal: Terminal): { [key: string]: TerminalCommand } {
191
193
  return {
194
+ awk: createAwk(kernel, shell, terminal),
195
+ basename: createBasename(kernel, shell, terminal),
196
+ cal: createCal(kernel, shell, terminal),
192
197
  cat: createCat(kernel, shell, terminal),
193
198
  cd: createCd(kernel, shell, terminal),
199
+ cksum: createCksum(kernel, shell, terminal),
194
200
  chmod: createChmod(kernel, shell, terminal),
195
201
  chown: createChown(kernel, shell, terminal),
202
+ cmp: createCmp(kernel, shell, terminal),
203
+ column: createColumn(kernel, shell, terminal),
204
+ comm: createComm(kernel, shell, terminal),
196
205
  cp: createCp(kernel, shell, terminal),
197
206
  cron: createCron(kernel, shell, terminal),
207
+ crypto: createCrypto(kernel, shell, terminal),
208
+ curl: createCurl(kernel, shell, terminal),
209
+ cut: createCut(kernel, shell, terminal),
210
+ dd: createDd(kernel, shell, terminal),
211
+ date: createDate(kernel, shell, terminal),
212
+ diff: createDiff(kernel, shell, terminal),
213
+ dirname: createDirname(kernel, shell, terminal),
198
214
  echo: createEcho(kernel, shell, terminal),
199
215
  env: createEnv(kernel, shell, terminal),
200
216
  expand: createExpand(kernel, shell, terminal),
217
+ factor: createFactor(kernel, shell, terminal),
218
+ false: createFalse(kernel, shell, terminal),
201
219
  fetch: createFetch(kernel, shell, terminal),
220
+ find: createFind(kernel, shell, terminal),
221
+ fmt: createFmt(kernel, shell, terminal),
222
+ fold: createFold(kernel, shell, terminal),
223
+ format: createFormat(kernel, shell, terminal),
224
+ git: createGit(kernel, shell, terminal),
202
225
  grep: createGrep(kernel, shell, terminal),
203
226
  groups: createGroups(kernel, shell, terminal),
204
227
  hash: createHash(kernel, shell, terminal),
205
228
  head: createHead(kernel, shell, terminal),
206
229
  history: createHistory(kernel, shell, terminal),
207
230
  hostname: createHostname(kernel, shell, terminal),
231
+ id: createId(kernel, shell, terminal),
232
+ join: createJoin(kernel, shell, terminal),
233
+ less: createLess(kernel, shell, terminal),
208
234
  ln: createLn(kernel, shell, terminal),
209
235
  ls: createLs(kernel, shell, terminal),
236
+ man: createMan(kernel, shell, terminal),
210
237
  mkdir: createMkdir(kernel, shell, terminal),
211
238
  mktemp: createMktemp(kernel, shell, terminal),
212
239
  mount: createMount(kernel, shell, terminal),
213
240
  mv: createMv(kernel, shell, terminal),
214
241
  nc: createNc(kernel, shell, terminal),
242
+ nl: createNl(kernel, shell, terminal),
243
+ od: createOd(kernel, shell, terminal),
215
244
  open: createOpen(kernel, shell, terminal),
245
+ passkey: createPasskey(kernel, shell, terminal),
246
+ paste: createPaste(kernel, shell, terminal),
216
247
  play: createPlay(kernel, shell, terminal),
217
248
  pr: createPr(kernel, shell, terminal),
218
249
  printf: createPrintf(kernel, shell, terminal),
219
250
  pwd: createPwd(kernel, shell, terminal),
220
- sockets: createSockets(kernel, shell, terminal),
221
251
  readlink: createReadlink(kernel, shell, terminal),
222
252
  realpath: createRealpath(kernel, shell, terminal),
223
- rm: createRm(kernel, shell, terminal),
224
253
  rev: createRev(kernel, shell, terminal),
254
+ rm: createRm(kernel, shell, terminal),
225
255
  rmdir: createRmdir(kernel, shell, terminal),
226
- stat: createStat(kernel, shell, terminal),
227
- strings: createStrings(kernel, shell, terminal),
228
- touch: createTouch(kernel, shell, terminal),
229
- xxd: createXxd(kernel, shell, terminal),
230
- less: createLess(kernel, shell, terminal),
231
- man: createMan(kernel, shell, terminal),
232
- passkey: createPasskey(kernel, shell, terminal),
233
256
  sed: createSed(kernel, shell, terminal),
234
- shuf: createShuf(kernel, shell, terminal),
235
- tac: createTac(kernel, shell, terminal),
236
- tail: createTail(kernel, shell, terminal),
237
- tee: createTee(kernel, shell, terminal),
238
- awk: createAwk(kernel, shell, terminal),
239
- basename: createBasename(kernel, shell, terminal),
240
- cal: createCal(kernel, shell, terminal),
241
- cksum: createCksum(kernel, shell, terminal),
242
- cmp: createCmp(kernel, shell, terminal),
243
- column: createColumn(kernel, shell, terminal),
244
- comm: createComm(kernel, shell, terminal),
245
- curl: createCurl(kernel, shell, terminal),
246
- cut: createCut(kernel, shell, terminal),
247
- dd: createDd(kernel, shell, terminal),
248
- date: createDate(kernel, shell, terminal),
249
- diff: createDiff(kernel, shell, terminal),
250
- dirname: createDirname(kernel, shell, terminal),
251
- factor: createFactor(kernel, shell, terminal),
252
- false: createFalse(kernel, shell, terminal),
253
- find: createFind(kernel, shell, terminal),
254
- fold: createFold(kernel, shell, terminal),
255
- format: createFormat(kernel, shell, terminal),
256
- fmt: createFmt(kernel, shell, terminal),
257
- id: createId(kernel, shell, terminal),
258
- join: createJoin(kernel, shell, terminal),
259
- nl: createNl(kernel, shell, terminal),
260
- od: createOd(kernel, shell, terminal),
261
- paste: createPaste(kernel, shell, terminal),
262
257
  seq: createSeq(kernel, shell, terminal),
258
+ shuf: createShuf(kernel, shell, terminal),
263
259
  sleep: createSleep(kernel, shell, terminal),
260
+ sockets: createSockets(kernel, shell, terminal),
264
261
  sort: createSort(kernel, shell, terminal),
265
262
  split: createSplit(kernel, shell, terminal),
263
+ stat: createStat(kernel, shell, terminal),
264
+ strings: createStrings(kernel, shell, terminal),
265
+ tac: createTac(kernel, shell, terminal),
266
+ tail: createTail(kernel, shell, terminal),
266
267
  tar: createTar(kernel, shell, terminal),
268
+ tee: createTee(kernel, shell, terminal),
267
269
  test: createTest(kernel, shell, terminal),
268
270
  time: createTime(kernel, shell, terminal),
271
+ touch: createTouch(kernel, shell, terminal),
269
272
  tr: createTr(kernel, shell, terminal),
270
273
  true: createTrue(kernel, shell, terminal),
271
274
  tty: createTty(kernel, shell, terminal),
272
275
  uname: createUname(kernel, shell, terminal),
273
276
  umount: createUmount(kernel, shell, terminal),
274
277
  unexpand: createUnexpand(kernel, shell, terminal),
275
- uptime: createUptime(kernel, shell, terminal),
276
278
  uniq: createUniq(kernel, shell, terminal),
279
+ unzip: createUnzip(kernel, shell, terminal),
280
+ uptime: createUptime(kernel, shell, terminal),
277
281
  user: createUser(kernel, shell, terminal),
282
+ vc: createVideo(kernel, shell, terminal), // correction: should be video
283
+ view: createView(kernel, shell, terminal),
284
+ vim: createVim(kernel, shell, terminal),
278
285
  wc: createWc(kernel, shell, terminal),
279
286
  web: createWeb(kernel, shell, terminal),
280
287
  which: createWhich(kernel, shell, terminal),
281
288
  whoami: createWhoami(kernel, shell, terminal),
289
+ xxd: createXxd(kernel, shell, terminal),
282
290
  zip: createZip(kernel, shell, terminal),
283
- unzip: createUnzip(kernel, shell, terminal),
284
- video: createVideo(kernel, shell, terminal),
285
- view: createView(kernel, shell, terminal),
286
- vim: createVim(kernel, shell, terminal),
287
- git: createGit(kernel, shell, terminal)
288
291
  }
289
292
  }
290
293