All Projects → GrayJack → coreutils

GrayJack / coreutils

Licence: MPL-2.0 license
Core utils re-implementation for UNIX/UNIX-like systems written in Rust

Programming Languages

rust
11053 projects
shell
77523 projects

Projects that are alternatives of or similar to coreutils

BSDCoreUtils
BSD coreutils is a port of many utilities from BSD to Linux and macOS.
Stars: ✭ 30 (-68.75%)
Mutual labels:  unix, coreutils
torgo
A UNIX-like Non-GNU command line toolkit
Stars: ✭ 44 (-54.17%)
Mutual labels:  unix, coreutils
lobase
Port of the OpenBSD userland to Linux.
Stars: ✭ 89 (-7.29%)
Mutual labels:  unix, coreutils
coreutils
Unix core utilities implemented in Haskell
Stars: ✭ 22 (-77.08%)
Mutual labels:  unix, coreutils
WendzelNNTPd
A usable and IPv6-ready Usenet-server (NNTP daemon). It is portable (Linux/*BSD/*nix), supports AUTHINFO authentication, contains ACL as well as role based ACL and provides "invisible" newsgroups. It can run on MySQL and SQLite backends.
Stars: ✭ 43 (-55.21%)
Mutual labels:  unix
InitKit
Neo-InitWare is a modular, cross-platform reimplementation of the systemd init system. It is experimental.
Stars: ✭ 364 (+279.17%)
Mutual labels:  unix
GLPT
GLPT :: OpenGL Pascal Toolkit. A multi-platform library for OpenGL and OpenGL ES
Stars: ✭ 26 (-72.92%)
Mutual labels:  unix
tush
No description or website provided.
Stars: ✭ 23 (-76.04%)
Mutual labels:  unix
Onyx
UNIX-like operating system written in C and C++
Stars: ✭ 52 (-45.83%)
Mutual labels:  unix
command-line-quick-reference
quick reference on command line tools and techniques for the people with limited time
Stars: ✭ 331 (+244.79%)
Mutual labels:  unix
tupai
Tupai is a multi-tasking operating system I wrote for my degree that focuses on safety and design, targeting a variety of platforms.
Stars: ✭ 21 (-78.12%)
Mutual labels:  unix
minishell
As beautiful as a shell
Stars: ✭ 124 (+29.17%)
Mutual labels:  unix
tabulator
A set of Unix shell command line tools for quick and convenient batch processing of tabular text files (a.k.a., tab-delimited, tsv, csv, or flat data file format) with a header line. Provides column reference by name, automatic delimiter and compression detection for per-line transformations, sql-like group-by operation and relational join.
Stars: ✭ 34 (-64.58%)
Mutual labels:  unix
libconfini
Yet another INI parser
Stars: ✭ 106 (+10.42%)
Mutual labels:  unix
Sistem-Programlama
System Programming Course notes
Stars: ✭ 32 (-66.67%)
Mutual labels:  unix
ncurses guide
NCurses Examples from the book "Programmer's Guide to NCurses" with improvements and fixes
Stars: ✭ 43 (-55.21%)
Mutual labels:  unix
unfs3
UNFS3 is a user-space implementation of the NFSv3 server specification.
Stars: ✭ 74 (-22.92%)
Mutual labels:  unix
ls
Zsh plugin for ls
Stars: ✭ 73 (-23.96%)
Mutual labels:  coreutils
shod
mouse-based window manager that can tile windows inside floating containers
Stars: ✭ 126 (+31.25%)
Mutual labels:  unix
netpoll
Package netpoll implements a network poller based on epoll/kqueue.
Stars: ✭ 38 (-60.42%)
Mutual labels:  unix

Coreutils in Rust

Hits-of-Code Build Status FOSSA Status

An in-progress safe implementation of coreutils aiming for a minimal and yet complete set of utilities. This project aims at the POSIX specification basic requirements, plus common and useful features present in other implementations of the utility.

This project has no intent to be 100% compatible with GNU's coreutils, like Uutils' coreutils, but if it happens to be, it's okay too.

Minimum Rust Version Policy

This project's minimum supported rustc version (MSRV) is 1.58.0.

This will not be conservative until we get to a 1.0 version. So it can be changed at any point in time.

Compilation tests guarantees

The compilation is tested for Rust Tier 1 and Tier 2 x86_64 Unix/Unix-like platforms (except Redox), with CI.

All platforms are tested on MSRV and stable Rust, and Tier 1 platforms are also tested on beta and nightly Rust (Tier 2 and 3 only guarantee stable full capacity).

Also, note that Tier 3 Rust tests can fail before it hits the compilation check, since my only option is to use a Linux system, add the target, and do cargo check --target, and they often are not available as a target for any Tier 1 platforms. If you use one of these platforms and have the right MSRV requirements and it build successfully, let me know, if it fails, open an issue with the compilation error.

Platform Tier CI Status Manual Status
Linux Tier 1 Linux Passing (Manjaro Linux 5.3.2 - 2019-10-28) (8695863)
MacOS Tier 1 MacOS -
FreeBSD Tier 2 FreeBSD Passing (FreeBSD 12.0 - 2019-10-28) (8695863)
NetBSD Tier 2 NetBSD - (system without minimal version)
Illumos Tier 2 Illumos - (system without minimal version)
Solaris Tier 2 Solaris - (system without minimal version)
Fuchsia Tier 2 Fuchsia -
OpenBSD Tier 3 OpenBSD Passing (OpenBSD 6.6 Current - 2019-10-28) (8695863)
DragonflyBSD Tier 3 DragonflyBSD Passing (DragonflyBSD 5.6.2 - 2019-10-28) (8695863)
Haiku Tier 3 Haiku -

Compilation

Since not all targets provide full Unix API coverage (they aren't Unix or lack libc crate support), some can provide a Cargo.toml that have all utilities that should work on the target.

Compilation example for

cp <PLATFORM>.toml Cargo.toml
cargo build --release

Tools

Name Not Started Started Done
basename X
cat X
chgrp X
chmod X
chown X
chroot X
clear X
comm X
cp X
csplit X
cut X
date X
dd X
df X
diff X
dirname X
du X
echo X
env X
expand X
expr X
false X
groups X
hash X
head X
id X
install X
join X
link X
ln X
logname X
ls X
mkdir X
mktemp X
mkfifo X
mv X
nice X
nl X
nohup X
od X
paste X
patch X
printf X
pwd X
rm x
rmdir X
sed X
seq X
sort X
sleep X
split X
stat X
stty X
tail X
tee X
test X
time X
touch X
tr X
true X
tsort X
tty X
uname X
unexpand X
uniq X
unlink X
uptime X
users X
wc X
who X
whoami X
yes X

Licensing

This software is licensed under the Mozilla Public License, v. 2.0 (MPL). If a copy of the MPL was not distributed with this file, you can obtain one at http://mozilla.org/MPL/2.0/.

Contributing

We appreciate contributions, please check CONTRIBUTING.md for guidelines on how to contribute to the project with issue reports, git commits messages, etc.

The document also gives orientation on where to start if you wanna implement a pending tool from scratch.

Contributors

Without them, this project would not be what it is today.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].