Không. Không phải trong thế giới Unix, ở bất kỳ mức nào.
Nếu bạn nhìn vào bên trong hệ thống tệp nội bộ của DBMS hoặc Unix (ish), chúng có thể dễ dàng cắt bớt hoặc mở rộng bộ dữ liệu lúc đầu, ở cuối hoặc bất kỳ vị trí nào ở giữa. Nhưng họ không xuất khẩu chức năng đó; nó không phải là một phần của di sản API Unix hoặc tiêu chuẩn POSIX, do đó, bất kỳ API "cắt bớt lúc bắt đầu" hoặc "mở rộng lúc bắt đầu" nào sẽ không chuẩn ("độc quyền").
Tiện ích cận biên của các chức năng như vậy cũng không rõ ràng. Ai sẽ sử dụng chúng? Bao lau?
Tệp Unix (chuỗi các byte/ký tự bằng phẳng) đã chứng tỏ mình đơn giản và hiệu quả đối với mã ứng dụng, nhưng nền tảng kém cho cấu trúc dữ liệu lớp. Hai mươi lăm năm trước tuyên bố đó là gây tranh cãi; hôm nay nó chỉ là một thực tế lịch sử quan sát được.
Nhà phát triển Unix được sử dụng để tranh luận "tất cả mọi thứ có thể được giảm xuống tệp" và "chúng tôi có thể truy cập ngẫu nhiên thông qua tìm kiếm thông minh". Những tuyên bố không bao giờ khá làm việc ra, tuy nhiên. Ví dụ, Unix không phù hợp với khả năng quản lý bản ghi truy cập ngẫu nhiên của các hệ điều hành máy tính nhỏ và máy tính lớn (ví dụ: DEC RMS, IBM ISAM và VSAM). Và trong khi những người triển khai hệ thống tệp, hàng đợi, cố gắng, cơ sở dữ liệu quan hệ và cửa hàng đối tượng thỉnh thoảng thả nội dung vào tệp và họ sử dụng tệp cho các hoạt động tuần tự như ghi nhật ký, nhưng chúng hiếm khi phụ thuộc vào luồng ký tự làm định dạng cấp thấp của chúng. Thay vào đó, họ sử dụng các cấu trúc như cây B và bảng băm để quản lý trực tiếp các khối đĩa, phân đoạn bộ nhớ và các tài nguyên cơ bản khác.
Dòng ký tự thuộc về bảng, tài liệu và đối tượng - trừu tượng phù hợp cho ứng dụng của khách hàng. Nếu bạn muốn một hàng đợi, hãy cân nhắc việc sử dụng phần mềm trung gian hiện có (ví dụ: RabbitMQ, ZeroMQ, REDIS, một số trình quản lý DBMS) đã có điều này. Nếu bạn phải tự xây dựng nó, có thể bạn sẽ không xây dựng nó trên đỉnh một dòng trừu tượng hóa ký tự đơn giản. Vì vậy, trong khi cắt ngắn/mở rộng khi bắt đầu có khả năng hữu ích cho một số thứ (nhật ký cắt thay vì xoay vòng nhật ký được phân đoạn, ví dụ), nó không thể là Big Win cho hầu hết các triển khai cấu trúc dữ liệu.
Nguồn
2013-08-08 12:56:27
Cận cảnh cử tri ... yêu cầu cho một API Linux cơ bản làm cho điều này là một "câu hỏi về lập trình." Nếu bạn cảm thấy không đủ về việc không thể trả lời, hãy đi chơi ở một nơi khác. – Potatoswatter