Andreas Kling
f352a5094d
ls: Fix build and tidy up coding style.
2019-05-27 15:04:23 +02:00
faissaloo
f28cc2e2e0
Ls: Cleanup
2019-05-27 14:53:16 +02:00
faissaloo
4c410f3de6
Ls: Support multiple files
2019-05-27 14:53:16 +02:00
faissaloo
776a359a17
Ls: Support single files in long mode
2019-05-27 14:53:16 +02:00
faissaloo
fee686e2cd
Ls: Refactor long directory listings
2019-05-27 14:53:16 +02:00
faissaloo
07c356ce64
Ls: Add single file support in short mode
2019-05-27 14:53:16 +02:00
Andreas Kling
5eedb22834
Sprinkle use of AK::Vector in various places.
...
Some of these are less helpful than others. Avoiding a bunch of mallocs
in the event loop wakeup code is definitely nice.
2019-04-20 14:02:19 +02:00
Andreas Kling
02bfbb712a
Userland: /bin/ls should show major,minor for block devices.
2019-02-27 21:32:21 +01:00
Andreas Kling
9624b54703
More moving towards using signed types.
...
I'm still feeling this out, but I am starting to like the general idea.
2019-02-25 22:06:55 +01:00
Andreas Kling
b0d1969ca5
Userland: Fix two compiler warnings.
2019-02-22 10:50:59 +01:00
Andreas Kling
920e8e58ed
Kernel+Userland: Implement setuid() and setgid() and add /bin/su
...
Also show setuid and setgid bits in "ls -l" output. :^)
2019-02-21 23:38:10 +01:00
Andreas Kling
ce74db4e2a
Userland: /bin/ls should display socket files nicely.
2019-02-14 17:30:58 +01:00
Andreas Kling
736e852525
LibC: Implement enough missing stuff to get bash-5.0 running. :^)
2019-02-08 02:38:21 +01:00
Andreas Kling
0c9a2b1430
Kernel: Oops, I mixed up st_dev and st_rdev in struct stat.
2019-02-03 06:23:10 +01:00
Andreas Kling
10fde0d707
Userland: Pretty-print modification times in /bin/ls.
2019-02-03 02:14:41 +01:00
Andreas Kling
9153666e72
Userland: /bin/ls shouldn't display inode numbers by default.
...
Added the -i option to ls which turns on inode number display.
2019-01-31 17:34:24 +01:00
Andreas Kling
c4fce9b3f9
Make stat() work on device files again.
...
FileDescriptor will now keep a pointer to the original inode even after
opening it resolves to a character device.
Fixed up /bin/ls to display major and minor device numbers instead of size
for device files.
2019-01-31 05:05:57 +01:00
Andreas Kling
038d8641f9
Implement utime() along with a naive /bin/touch.
...
This synchronous approach to inodes is silly, obviously. I need to rework
it so that the in-memory CoreInode object is the canonical inode, and then
we just need a sync() that flushes pending changes to disk.
2018-12-19 21:14:55 +01:00
Andreas Kling
829bf94de1
Fix /bin/ls usage string.
2018-12-07 01:19:39 +01:00
Andreas Kling
ca6847b5bb
Import a simple text editor I started working on.
2018-12-04 00:27:16 +01:00
Andreas Kling
ac7a60225e
Add TIOCGWINSZ ioctl so userland can determine terminal geometry.
...
(Don't) use this to implement short-form output in ls.
I'm too tired to make a nice column formatting algorithm.
I just wanted something concise when I type "ls".
2018-11-29 03:45:23 +01:00
Andreas Kling
e440c3fa87
Support "ls <path>" rather than just "ls" :^)
2018-11-17 01:04:00 +01:00
Andreas Kling
3e0a0dd7ed
Fix all current build warnings in the userland.
2018-11-09 10:19:33 +01:00
Andreas Kling
71c9b09e8c
Fix ls build.
2018-10-31 15:52:24 +01:00
Andreas Kling
97726862dd
Add basic symlink support.
...
- sys$readlink + readlink()
- Add a /proc/PID/exe symlink to the process's executable.
- Print symlink contents in ls output.
- Some work on plumbing options into VFS::open().
2018-10-28 14:11:51 +01:00
Andreas Kling
e2dbdd14aa
Colorize ls output.
2018-10-28 01:17:48 +02:00
Andreas Kling
8f91a47aeb
Add some basic field width support to printf().
...
Use it to make "ls" output a bit better. Also sys$spawn now fails with EACCES
if the path is not a file that's executable by the current uid/gid.
2018-10-27 16:43:03 +02:00
Andreas Kling
9a71c7759a
Implement loading of linked ELF executables.
...
This took me a couple hours. :^)
The ELF loading code now allocates a single region for the entire
file and creates virtual memory mappings for the sections as needed.
Very nice!
2018-10-27 14:56:52 +02:00
Andreas Kling
2749e7f1c2
Implement sys$chdir() and teach sh+ls to cd around and browse different dirs.
2018-10-26 14:24:11 +02:00
Andreas Kling
5f36a5f22e
Add an lstat() syscall and use it to make "ls" nicer.
2018-10-24 13:19:36 +02:00
Andreas Kling
bca4b71bfa
Lots of hacking to make a very simple "ls" utility.
...
I added a dead-simple malloc that only allows allocations < 4096 bytes.
It just forwards the request to mmap() every time.
I also added simplified versions of opendir() and readdir().
2018-10-24 12:50:07 +02:00
Andreas Kling
9a296d63f3
Add simplified mmap() and munmap() syscalls.
2018-10-24 09:48:41 +02:00