linux_commands_rewritten_in_rust
所属分类:Linux/Unix编程
开发工具:Rust
文件大小:0KB
下载次数:0
上传日期:2022-06-24 13:02:57
上 传 者:
sh-1993
说明: 系统编程包括数据库命令file_System
(System Programming include database command file_system)
文件列表:
.cargo/ (0, 2022-06-24)
.cargo/config.toml.example (440, 2022-06-24)
Cargo.toml (298, 2022-06-24)
database_config.toml.example (51, 2022-06-24)
docs/ (0, 2022-06-24)
docs/system_call_notes.md (2482, 2022-06-24)
examples/ (0, 2022-06-24)
examples/get_default_route_ip_and_mac.rs (2909, 2022-06-24)
examples/get_disk_uuid.rs (965, 2022-06-24)
examples/getrusage.rs (488, 2022-06-24)
examples/sigabrt_closedir_wrong.rs (4094, 2022-06-24)
examples/sigabrt_free_dylib_data.rs (512, 2022-06-24)
examples/sigbus_mmap_offset_struct_empty_file.rs (1371, 2022-06-24)
examples/sigret_mmap_offset_u8_to_empty_file.rs (1054, 2022-06-24)
examples/sigsegv_opendir_open_null.rs (1157, 2022-06-24)
src/ (0, 2022-06-24)
src/bin/ (0, 2022-06-24)
src/bin/arp.rs (418, 2022-06-24)
src/bin/basename.rs (475, 2022-06-24)
src/bin/cat.rs (799, 2022-06-24)
src/bin/chmod.rs (765, 2022-06-24)
src/bin/dig.rs (132, 2022-06-24)
src/bin/dirname.rs (472, 2022-06-24)
src/bin/host.rs (405, 2022-06-24)
src/bin/hostname.rs (676, 2022-06-24)
src/bin/id.rs (1529, 2022-06-24)
src/bin/ls.rs (762, 2022-06-24)
src/bin/nslookup.rs (132, 2022-06-24)
src/bin/ping.rs (2816, 2022-06-24)
src/bin/pwd.rs (766, 2022-06-24)
src/bin/rmdir.rs (450, 2022-06-24)
src/bin/route.rs (182, 2022-06-24)
src/bin/stat.rs (4216, 2022-06-24)
src/bin/tee.rs (1380, 2022-06-24)
src/bin/touch.rs (635, 2022-06-24)
src/bin/tree.rs (2387, 2022-06-24)
src/bin/uname.rs (679, 2022-06-24)
src/bin/unlink.rs (445, 2022-06-24)
... ...
# Linux commands rewritten in Rust
## project structure
- src/bin: Linux commands rewritten in Rust
- src/database: like sqlx project, include database adapters eg. MySQL
- src/dylibs_binding: Rust binding for eg. libmysqlclient.so, libsqlite3.so
- src/file_system: some file_system relative bindings e.g. `basename()`
- src/file_system/parser: parse to some files e.g. `/proc/net/route` to get Linux system information from files
- src/network: network API which libc doesn't include, eg. inet_aton, gethostbyname
- src/time: time API which libc doesn't include, eg. strftime, strptime
- examples: C/C++/Rust SIGABRT/SIGSEGV bad examples and how to fix tips
- docs: documents or notes called by eg. `#![doc = include_str!("README.md”)]`
## cargo test must run in **single thread**
To run database test you need to copy config file and edit it(eg. your mysql password):
> cp database_config.toml.example database_config.toml && vim database_config.toml
this config is only for mysql testing, run commands in src/bin doesn't need this
because multi database adapters test is using a **same file** to store data
> RUST_TEST_THREADS=1 cargo test
or
> cargo test -- --test-threads=1
## known bugs on target armv7-unknown-linux-gnueabihf
- database::adapters::dbm may double-free or malloc corrupted
## reference:
- [gnu core utils rewritten in Rust](https://github.com/uutils/coreutils)
-
-
近期下载者:
相关文件:
收藏者: