Không cần phải nói rằng việc sử dụng dòng lệnh là cần thiết đối với người dùng thành thạo Linux thực sự và nhiều cá nhân thực sự thích làm như vậy. Tuy nhiên, một nhóm dự án mới muốn thay thế hầu hết ngăn xếp giao diện người dùng của bạn bắt đầu bằng trình bao vì trình bao, chương trình cung cấp dòng lệnh đó, bị sa lầy trong lịch sử cũ và phải hoạt động với những thứ hiện có cho dù nó có hiện đại đến đâu. . Cat9, về mặt kỹ thuật là một vỏ nhưng không phải theo cách mà bạn có thể nghĩ về vỏ, nằm ở đầu ngăn xếp đó
Chắc chắn, bạn có thể lưu trữ đầu ra để sử dụng sau, nhưng trình bao truyền thống cho phép bạn chạy từng chương trình một, cung cấp đầu vào cho chúng và xem đầu ra của chúng. Trong Cat9, mọi thứ đều không đồng bộ và kết quả vẫn tồn tại cho đến khi bạn bỏ chúng một cách có ý thức, mặc dù bạn có thể chạy các chương trình ở chế độ nền hoặc song song, nhưng điều đó đòi hỏi sự chú ý đặc biệt. Lấy dữ liệu từ một lệnh trước đó hoặc, ví dụ, chuyển sang một thư mục đang được sử dụng bởi một tác vụ trước đó, đều đơn giản
Theo tài liệu, Cat9 sử dụng LASH, một trong một số trình quản lý cửa sổ đặc biệt và Arcan, thứ mà họ cho là khó xây dựng. Xem video dưới đây để xem những gì nó có khả năng
Các lệnh được ghi lại dưới dạng công việc và số công việc có thể là tuyệt đối [như #5] hoặc tương đối [như #-1, công việc trước đó]. Ngoài ra, có các mã định danh duy nhất như #csel cho tác vụ có con trỏ và #last thay thế cho #-1
Một công việc ghi nhớ môi trường của nó và về cơ bản được tạo bằng cách chạy một lệnh và bắt đầu thu thập đầu ra của nó. Có một cách để buộc kiểu thực thi đó, do đó, cách điển hình mà một trình bao thông thường chạy một chương trình là một ngoại lệ đối với Cat9, nhưng vấn đề duy nhất là nếu bạn muốn tương tác trực tiếp với một chương trình, chẳng hạn như trình soạn thảo văn bản. Tuy nhiên, bạn có thể báo hiệu các công việc và chuyển đổi giữa các công việc cho đầu vào, giống như trong trình bao thông thường
Chẳng hạn, để xem công việc thứ tư đang sử dụng thư mục nào, bạn có thể buộc một lệnh chạy trong công việc đó
_10Có các lệnh bổ sung để kiểm soát chế độ xem đầu ra, vì vậy bạn có thể chia đôi màn hình, cuộn qua dữ liệu, v.v. Tất nhiên, bạn cũng cần một cách để lấy dữ liệu từ một công việc đang chạy để nó có thể được chuyển làm đầu vào cho các lệnh khác. Khả năng tạo trình kích hoạt chạy khi công việc thành công hoặc thất bại là một ý tưởng quan trọng khác
Bạn sẽ cho cat9 một shot? . Nhiều lớp vỏ dành riêng cho ngôn ngữ thường bắt chước các ngôn ngữ khác có lượng người theo dõi thích hợp, nhưng hiếm khi đạt được lực kéo theo cách có ý nghĩa. Có lẽ Cat9 sẽ khác, hoặc có lẽ một số khái niệm của nó sẽ thấm vào các vỏ phổ biến hơn
Một số khái niệm rất đơn giản, chẳng hạn như lời nhắc sẽ biến mất khi bạn chuyển sang một dòng mới. Tất nhiên, nếu bạn đang ghi lại quá trình chạy thử, điều đó có thể phá vỡ quy trình làm việc của bạn, nhưng đối với phần lớn các trường hợp sử dụng, điều đó có ý nghĩa
Hãy nhớ rằng, Cat9 không thực sự làm bất cứ điều gì đặc biệt, vì vậy nếu bạn muốn một lớp vỏ khác gần với tiêu chuẩn hơn, chúng tôi đã xem xét một số trong số chúng. Nó có lẽ chỉ làm cho nó đơn giản hơn
Không có gì bí mật khi trở thành một người dùng thành thạo Linux thực sự, bạn phải xử lý dòng lệnh. Nhiều người thực sự thích sử dụng dòng lệnh. Tuy nhiên, trình bao - chương trình cung cấp dòng lệnh đó - đã bị sa lầy trong lịch sử cũ, điều đó có nghĩa là nó phải hoạt động với những thứ hiện có cho dù nó có cố gắng hiện đại đến đâu. Tuy nhiên, một nhóm dự án mới muốn thay thế hầu hết ngăn xếp giao diện người dùng của bạn bắt đầu bằng trình bao. Ở trên cùng của ngăn xếp đó là Cat9 về mặt kỹ thuật là một lớp vỏ, nhưng không phải theo cách mà bạn có thể tưởng tượng về một lớp vỏ
Shell truyền thống cho phép bạn chạy từng chương trình một, cung cấp đầu vào cho chúng và quan sát đầu ra của chúng. Chắc chắn rồi, bạn có thể cất đầu ra để sử dụng sau. Bạn có thể chạy các chương trình ở chế độ nền hoặc song song, nhưng điều đó cần được chú ý đặc biệt. Trong Cat9, mọi thứ đều không đồng bộ và kết quả vẫn tồn tại cho đến khi bạn cố tình bỏ chúng. Việc lấy dữ liệu từ một lệnh trước đó hoặc, ví dụ, để chuyển sang một thư mục được sử dụng bởi một tác vụ trước đó là chuyện nhỏ
Theo tài liệu, Cat9 sử dụng Arcan rất khó xây dựng [lời nói của họ]. Nó cũng sử dụng LASH và có khả năng là một trong một số trình quản lý cửa sổ khác thường. Nếu bạn muốn xem những gì nó có thể làm - hãy xem video bên dưới
Bạn sẽ nhận thấy rằng các lệnh được theo dõi dưới dạng công việc. Mã số công việc có thể là tuyệt đối [#5] hoặc tương đối [#-1, công việc trước đó]. Ngoài ra còn có các mã định danh đặc biệt như #csel cho công việc có con trỏ hoặc #last là từ đồng nghĩa với #-1
Nếu bạn chỉ chạy một lệnh, về cơ bản bạn sẽ tạo một công việc và bắt đầu thu thập đầu ra của nó. Một công việc ghi nhớ môi trường của nó. Vấn đề duy nhất là nếu bạn muốn tương tác trực tiếp với một chương trình, chẳng hạn như trình soạn thảo văn bản. Có một cách để buộc kiểu thực thi đó, vì vậy cách thông thường mà một trình bao thông thường chạy một chương trình là một ngoại lệ đối với Cat9. Tuy nhiên, bạn có thể chuyển đổi giữa các công việc cho đầu vào. Bạn cũng có thể báo hiệu công việc, giống như bạn có thể làm trong trình bao bình thường
Bạn có thể buộc các lệnh hoạt động trong một công việc. Ví dụ, để xem công việc thứ 4 đang sử dụng thư mục nào
#4 pwd
Tất nhiên, bạn cũng cần một cách để lấy dữ liệu từ một công việc đang chạy và dữ liệu đó có thể được chuyển làm đầu vào cho các lệnh khác. Có nhiều lệnh hơn để kiểm soát chế độ xem đầu ra, vì vậy bạn có thể chia đôi màn hình, cuộn qua dữ liệu, v.v. Một khái niệm quan trọng khác là bạn có thể tạo các trình kích hoạt thực thi khi một công việc thành công hoặc thất bại
Bạn sẽ thử cat9 chứ? . Wayland đã cố gắng 14 năm và vẫn còn một số chặng đường phía trước. Vỏ kỳ lạ đến và đi. Nhiều shell dành riêng cho ngôn ngữ thường mô phỏng theo các ngôn ngữ khác có lượng người theo dõi thích hợp, nhưng hiếm khi bắt kịp một cách đáng kể. Có lẽ Cat9 có thể khác. Hoặc có thể một số ý tưởng của nó sẽ rò rỉ vào vỏ chính
Một số ý tưởng rất đơn giản. Ví dụ: lời nhắc sẽ biến mất sau khi bạn chuyển sang một dòng mới. Tất nhiên, nếu bạn đang ghi lại quá trình chạy thử, điều đó có thể phá vỡ quy trình làm việc của bạn, nhưng đối với hầu hết các trường hợp sử dụng, điều đó có ý nghĩa. Tại sao đầu ra lộn xộn với dữ liệu không cần thiết?
Nếu bạn muốn một lớp vỏ khác gần với tiêu chuẩn hơn, chúng tôi đã xem xét một số lớp vỏ đó. Hãy nhớ rằng, không phải Cat9 thực sự làm được. Nó chỉ, có lẽ, làm cho nó dễ dàng hơn
Cat9 là tập lệnh trình bao người dùng cho LASH - trình bao dòng lệnh phân biệt đối xử với trình giả lập thiết bị đầu cuối, được viết bằng Lua. Có thể bạn chưa từng nghe nói về LASH trước đây. Nếu bạn thực sự phải biết, hãy xem phần Backstory bên dưới
LASH chỉ cung cấp một số cơ sở hạ tầng dùng chung cơ bản và vỏ khôi phục. Sau đó, nó chạy một tập lệnh do người dùng cung cấp thực sự cung cấp hầu hết các quy tắc về cách dòng lệnh được cho là trông và hoạt động
Điều đó đưa chúng ta trở lại Cat9, đó là kịch bản như vậy của tôi. Bạn có thể sử dụng nó nguyên trạng hoặc trộn nó thành thứ gì đó khác phù hợp với bạn - xem HACKING. md để biết thêm lời khuyên
Nó có thể làm gì?Một trong những tiện ích lớn hơn, ngoài việc khá linh hoạt, là chạy và phân tách rõ ràng nhiều công việc đồng thời một cách không đồng bộ, với các kết quả từ 'out' và 'err' được lưu giữ cho đến khi bạn quyết định sử dụng lại hoặc quên nó đi. Đồng thời, các tác vụ ồn ào truyền thống như thay đổi thư mục bị chặn khỏi việc làm ô nhiễm chế độ xem của bạn với thông tin không liên quan
lash_test. mp4Điều này cho phép hình ảnh gọn gàng như thay đổi bố cục, sắp xếp lại bản trình bày, gấp và mở. Nó cũng cho phép sử dụng lại kết quả của công việc trước đó mà không cần suy nghĩ nhiều về nó - bộ nhớ đệm là mặc định và bạn không cần chuyển hướng kết quả tới các tệp chỉ để sử dụng lại hoặc thực hiện lại đường ống khi tất cả những gì bạn muốn là xử lý khác các đầu ra cũ của nó
Nó cũng được thiết kế với mục đích có thể giao diện người dùng- các công cụ cli kế thừa với ít nỗ lực - tập hợp các nội trang mà trình bao cung cấp có thể được hoán đổi theo ngữ cảnh cho một thứ cụ thể để làm việc với một số ngữ cảnh cụ thể của miền hoặc công cụ. Bằng cách này, các công cụ nổi tiếng không thân thiện có thể được xử lý và tích hợp vào quy trình làm việc của bạn một cách dễ dàng nhất có thể
Nó hợp tác với trình quản lý cửa sổ máy tính để bàn của bạn [nếu bạn có], cho phép nó xử lý việc tách mọi thứ thành các cửa sổ mới hoặc thậm chí nhúng đầu ra của ứng dụng đồ họa hoặc phương tiện vào các vùng được cắt bớt trong cửa sổ của chính nó
nhúng. mp4 Cài đặtXây dựng và thiết lập điều này hiện không dành cho người yếu tim. Thoạt nhìn, nó có thể trông đơn giản, nhưng đi ngược lại bản chất của di sản tích lũy hàng thập kỷ đi kèm với một số xích mích
Đối với những người mới bắt đầu, bạn muốn có một bản dựng Arcan xuất phát trực tiếp từ nguồn. Những thứ cần thiết ở đây là mới, không có bất kỳ bản phát hành nào và đang được tích cực nghiên cứu. Arcan rất khó xây dựng từ nguồn và nếu bạn muốn nó thay thế toàn bộ máy chủ hiển thị của mình, thì cũng rất khó để thiết lập. Niềm vui nhân đôi
Đối với mục đích của chúng tôi ở đây, nó hoạt động tốt như một cửa sổ trông giống một cách kỳ lạ giống như một trình giả lập thiết bị đầu cuối, nhưng các bộ phận bên trong của nó hoàn toàn khác
Nếu bạn đã xây dựng được Arcan theo ý thích của mình, thì bạn cần khởi động Arcan bằng trình quản lý cửa sổ phù hợp
Có một số để lựa chọn, những cái đáng chú ý là
- Durden - Xếp chồng / xếp chồng hoàn toàn sẽ có tất cả chuông và còi có thể tưởng tượng được
- Pipeworld - Luồng dữ liệu ZUI vừa điên rồ vừa tuyệt vời cùng một lúc
- Không gian an toàn - VR, một số người nói đó là tương lai và những người khác là tương lai của quá khứ
Sau đó, có một 'bảng điều khiển' khiêm tốn hơn nhiều bắt chước bảng điều khiển BSD/Linux chỉ với các tab toàn màn hình và vô hình. Vì nó đi kèm với chính Arcan, nên chúng tôi sẽ chọn cái đó. Cách thực sự bắt đầu lash từ trong phạm vi này, đối với bảng điều khiển thì thật dễ dàng
arcan console lash
Điều này sẽ thuyết phục Arcan thiết lập một trình bao đồ họa toàn màn hình đơn giản, sau đó chạy trình bao dòng lệnh văn bản trong lash. Than ôi cái vỏ sẽ vô dụng. Đây là nơi Cat9 xuất hiện
Bên dưới bề mặt nó thực sự chạy
ARCAN_ARG=cli=lua afsrv_terminal
sao chép hoặc liên kết cat9. lua tới $HOME/. arcan/lash/mặc định. lua hay cat9. lua [tạo thư mục nếu nó không tồn tại] cũng như thư mục con cat9 để có $HOME/. hồ quang/lash/cat9
Tương tự, trong Durden, nó sẽ là global/open/terminal=cli=lua và đối với các vùng an toàn, hãy thêm cli=lua vào dòng xuất hiện của thiết bị đầu cuối, e. g. lớp/hiện tại/thiết bị đầu cuối = cli = lua. Trong các phiên bản Durden gần đây, phím tắt này có một phím tắt là global/open/lash và cũng được liên kết với m1+m2+enter
Lần tới khi bạn khởi động bảng điều khiển arcan như trên, nếu bạn đã chọn mặc định. lua, nó sẽ bắt đầu ngay lập tức - nếu không, bạn phải tự yêu cầu lash chạy cat9 rulset bằng lệnh shell
shell cat9
Cái này quét LASH_BASE, HOME/. arcan/lash và XDG_CONFIG_HOME/arcan/lash cho một cat9 phù hợp. lua và chuyển sang đó. Cũng có thể đặt LASH_SHELL=cat9 và cat9. lua sẽ được thử ngay lập tức thay vì mặc định. lúa
Tập hợp các bước bổ sung này là để cho phép nhiều hệ vỏ cùng tồn tại, để có một đường dẫn sẵn cho các bộ quy tắc khác tham gia vào hiện trường mà ít gặp bất lợi hơn
Sử dụngTheo mặc định, các lệnh sẽ được theo dõi dưới dạng 'công việc'. Chúng nhận các số nhận dạng và được tham chiếu bằng dấu thăng
find /tmp
repeat #0 flush
Những bảng này cũng có thể sử dụng địa chỉ tương đối, #-2 sẽ trỏ đến công việc mới nhất thứ hai được tạo. Ngoài ra còn có các công việc đặc biệt, chẳng hạn như #csel trỏ đến công việc hiện được con trỏ chọn và #last trỏ đến công việc được tạo mới nhất
Hầu hết các lệnh dựng sẵn đều sử dụng tham chiếu công việc theo cách này hay cách khác. Bối cảnh của những công việc này, e. g. biến môi trường và đường dẫn được theo dõi riêng. Bằng cách bắt đầu một lệnh với tham chiếu công việc, bối cảnh hiện tại tạm thời được đặt thành bối cảnh của công việc trước đó
cd /usr/share
find . -> becomes job #0
cd /tmp
#0 pwd -> /usr/share
Hầu hết các chuỗi đã nhập sẽ được thực thi dưới dạng các công việc không phải là tty. Để chạy thứ gì đó cụ thể dưới dạng ứng dụng tty [ncurses hoặc 'terminal-tui' khác], hãy đánh dấu nó bằng dấu. để sinh ra một cửa sổ mới được liên kết với trình giả lập thiết bị đầu cuối
!vim
Môi trường xử lý và tạo cửa sổ có thể được kiểm soát [e. g. xẻ dọc [v] hoặc nuốt [s]]
v!vim
Để từ bỏ mọi phân tích cú pháp hoặc đường ống nội bộ và chạy nguyên văn toàn bộ dòng [được chuyển tiếp tới sh -c], hãy sử dụng
________số 8
Điều này cũng hữu ích khi bạn cần mở rộng shell
!!rm -rf *
Một số khách hàng thực sự muốn có một thiết bị đầu cuối giả hoặc họ từ chối làm bất cứ điều gì, đối với những khách hàng đó, hãy bắt đầu bằng p. như vậy
arcan console lash
0Chúng sẽ mặc định chuyển sang 'view wrap vt100' có máy trạng thái giả lập thiết bị đầu cuối thô sơ cần thêm một số công việc [xem cơ sở/vt100 *]
Dữ liệu có thể được cắt ra khỏi công việc vào dòng lệnh hiện tại bằng ctrl+space
ARCAN_ARG=cli=lua afsrv_terminal
0và nhấn ctrl+dấu cách sẽ sao chép dòng 1 và 3 và mở rộng chúng vào dòng lệnh hiện tại. Định dạng đối số này cũng được hỗ trợ bởi một số nội trang, gõ
ARCAN_ARG=cli=lua afsrv_terminal
1và nhấn enter sẽ sao chép các dòng từ 1 đến 5 vào một công việc mới
tùy biến
cấu hình/cấu hình. tệp lua có thể được chỉnh sửa để thay đổi cách trình bày, bố cục và các tùy chọn tương tự, bao gồm các định dạng cho lời nhắc và thanh tiêu đề. Hầu hết các tùy chọn này cũng có thể đạt được trong thời gian chạy thông qua nội trang 'config', bên dưới
Tổ hợp phím và nhấn nút chuột hoạt động giống như các dòng được nhập trên dấu nhắc, nhưng được xác định trong cấu hình/liên kết. tập tin lua. Keybindings được kích hoạt trên ctrl+[key]. Sau đây
ARCAN_ARG=cli=lua afsrv_terminal
2sẽ tạo một liên kết mà bất cứ khi nào nhấn ctrl-A, công việc mới nhất được tạo sẽ bị xóa
Các nút chuột cũng tương tự, nhưng 'phím' phức tạp hơn một chút vì chúng được phân chia dựa trên vị trí bạn đang nhấp [thanh tiêu đề, nội dung dữ liệu,. ]. Liên kết phức tạp nhất hiện nay trông giống như thế này
ARCAN_ARG=cli=lua afsrv_terminal
3Sẽ áp dụng lệnh xem dựng sẵn cho công việc được chọn bằng chuột ở phần bù hàng hiện tại nếu nút chuột thứ hai được nhấp vào cột đầu tiên [số dòng]
nội trang
Có một số lệnh dựng sẵn. Chúng được xác định bởi một basedir, chứa đầy các tệp riêng biệt cho mỗi lệnh dựng sẵn cùng với một trình tải chuỗi khớp với tên của basedir
ARCAN_ARG=cli=lua afsrv_terminal
4Lý do cho cấu trúc này là để cho phép sử dụng lại lash để xây dựng giao diện người dùng CLI cho các công cụ khác, duy trì giao diện thống nhất và hoán đổi giữa chúng một cách nhanh chóng theo ý muốn. Bạn cũng có thể sửa đổi/mở rộng điều này để bắt chước hành vi của các trình bao phổ biến khác
Chúng cũng bao gồm một tập hợp các quan điểm. Dạng xem là một tập lệnh xác định cách trình bày dữ liệu trong một công việc và kiểm soát những thứ như màu sắc và định dạng, các thành phần tùy chọn như số dòng cũng như hành vi gói
Chúng có một cửa hàng cấu hình riêng theo mẫu
ARCAN_ARG=cli=lua afsrv_terminal
5Các lệnh bao gồm trong bộ mặc định như sau
Đầu vào
Lệnh đầu vào là để kiểm soát cách các phần của giao diện người dùng phản hồi với đầu vào của chuột hoặc bàn phím. Theo mặc định, bàn phím được lấy bởi dòng lệnh. Phần lấy này có thể được phát hành bằng CTRL + ESCAPE
ARCAN_ARG=cli=lua afsrv_terminal
6Điều này sẽ chỉ kích hoạt cho các công việc có đầu vào đang hoạt động và giữ nguyên tiêu điểm hiện tại nếu không
Dấu hiệu
ARCAN_ARG=cli=lua afsrv_terminal
7Các lệnh tín hiệu gửi tín hiệu đến một công việc đang chạy hoặc một quy trình dựa trên mã định danh quy trình [số]
cấu hình
ARCAN_ARG=cli=lua afsrv_terminal
8Các tùy chọn cấu hình thay đổi cấu hình hành vi trình bao thời gian chạy. Nó được phổ biến bởi các khóa và giá trị trong config/config. lúa
Một số mục tiêu cũng cho phép đặt thuộc tính, e. g. kiên trì hoặc bí danh
ARCAN_ARG=cli=lua afsrv_terminal
9Nó có thể được sử dụng để cài đặt tải lại nóng và mã cho nội trang mặc định
shell cat9
0Nó có thể được sử dụng để xác định bí danh
shell cat9
1Khi ctrl+dấu cách được sử dụng với dòng đọc, từ cuối cùng sẽ được hoán đổi cho bí danh. Điều này sẽ không có hành động cam kết, vì vậy việc mở rộng được hiển thị để tránh những bất ngờ khó chịu
Mở
shell cat9
2Điều này cố gắng mở nội dung của [tệp] thông qua trình xử lý được chỉ định. Đối với chế độ công việc cụ thể, nó sẽ chuyển cửa sổ sang bộ đệm văn bản hoặc bộ đệm hex. Cũng có thể bật nó ra dưới dạng cửa sổ hoặc tab mới
Quên đi
shell cat9
3Điều này sẽ xóa nội dung và theo dõi các công việc trước đó, bằng cách chỉ định một hoặc một số công việc riêng biệt hoặc một phạm vi. Nếu bất kỳ công việc được đánh dấu nào vẫn đang hoạt động và được liên kết với một quy trình đang chạy, thì quy trình đó sẽ bị hủy. Ngoài ra còn có các cài đặt trước đặc biệt. toàn xấu, toàn cứng và toàn bị động; . 0 trả về mã trạng thái;
Nói lại
shell cat9
4Điều này sẽ thực hiện lại một công việc trước đó đã hoàn thành. Nếu đối số tuôn ra được chỉ định, mọi dữ liệu được thu thập từ lần chạy trước đó sẽ bị loại bỏ. Nếu đối số chỉnh sửa được chỉ định, dòng lệnh tạo ra công việc sẽ được sao chép vào dòng lệnh - và nếu được thực thi, sẽ nối thêm hoặc xóa vào mã định danh công việc hiện có
Đĩa CD
shell cat9
5Thay đổi thư mục hiện tại thành thư mục đã chỉ định, với cú pháp tuyệt đối hoặc tương đối thông thường. Cũng có thể quay lại thư mục hiện tại khi một công việc cụ thể được tạo
Cd cũng theo dõi các lệnh thư mục đang được chạy từ đó và thêm chúng vào lịch sử. Điều này có thể được truy cập thông qua đặc biệt
shell cat9
6Trong đó f sẽ bị bỏ qua và tập hợp các cách hoàn thành được đề xuất sẽ đến từ danh sách các mục yêu thích. Điều này có thể được thay đổi thủ công, sử dụng f- để xóa đường dẫn và f+. hoặc f+ /some/path để thêm nó vào mục yêu thích
Lượt xem
shell cat9
7Thay đổi bản trình bày công việc dựa trên bộ tùy chọn được cung cấp. Các tùy chọn có thể là
cuộn n - di chuyển phần bù trình bày bắt đầu từ dòng cuối cùng được đọc thành n dòng hoặc byte ngược lại
out hoặc stdout - đặt bộ đệm bản trình bày thành nội dung được đọc từ đầu ra tiêu chuẩn của công việc
err hoặc stderr - đặt bộ đệm trình bày thành nội dung được đọc từ đầu ra lỗi tiêu chuẩn của công việc
col hoặc thu gọn - chỉ hiển thị một số dòng nhỏ
exp hoặc expand - hiển thị càng nhiều bộ đệm càng tốt
tog hoặc chuyển đổi - chuyển đổi giữa chế độ col và exp
linenumber - chuyển đổi hiển thị một cột có bật/tắt số dòng
Ngoài ra còn có một số chế độ xem động có thể áp dụng các biến đổi cấp cao hơn trên nội dung để thay đổi cách trình bày. Một chế độ xem như vậy là 'bọc'
shell cat9
8Điều này thực hiện gói từ, được lọc tùy chọn thông qua máy trạng thái đầu cuối [vt100] và với giới hạn cột tùy chỉnh
Sao chép
shell cat9
9Lệnh sao chép được sử dụng để sao chép dữ liệu vào và ra khỏi chính Cat9, chẳng hạn như lấy đầu ra của một công việc trước đó và lưu trữ nó trong một tệp, vào một công việc đang chạy khác hoặc vào một công việc mới [nếu dst không được cung cấp]
Theo mặc định, src và dst chỉ được coi là tên có ngữ nghĩa bình thường cho đường dẫn tuyệt đối hoặc tương đối. Tùy thuộc vào tiền tố được sử dụng, vai trò có thể thay đổi
Sử dụng # sẽ coi nó như một tài liệu tham khảo công việc
sử dụng chọn. sẽ coi nó như một yêu cầu đối với lớp vỏ đồ họa bên ngoài [tôi. e. wm của bạn] để cung cấp tệp, tùy chọn có gợi ý tiện ích mở rộng
find /tmp
repeat #0 flush
0Các đối số nguồn tùy chọn có thể được sử dụng để cắt ra các dải con, e. g
find /tmp
repeat #0 flush
1Cái nào sẽ sao chép các dòng 1 đến 10 và dòng 20 của bộ đệm chế độ xem hiện tại vào đích
Đích sao chép không nhất thiết phải là tệp, chúng cũng có thể là các công việc tương tác khác hoặc các công việc đặc biệt như khay nhớ tạm. sẽ chuyển tiếp đến khay nhớ tạm WM bên ngoài
Env
find /tmp
repeat #0 flush
2Điều này được sử dụng để thay đổi môi trường cho công việc mới. Nó cũng có thể được sử dụng để cập nhật môi trường được lưu trong bộ nhớ cache cho một công việc hiện có. Môi trường này sẽ được áp dụng nếu công việc được lặp lại hoặc nếu một công việc mới được bắt nguồn từ ngữ cảnh của một
find /tmp
repeat #0 flush
3Kích hoạt
find /tmp
repeat #0 flush
4Có thể đính kèm một số trình kích hoạt sự kiện cho một công việc có đính kèm một hành động bên ngoài. Lệnh cho đó là 'kích hoạt'. Điều kiện có thể là 'ok' hoặc 'fail', với độ trễ tùy chọn tính bằng giây. Hành động là bất kỳ chuỗi dòng lệnh thông thường nào [hãy nhớ đóng gói bằng ""]
Để xóa trình kích hoạt đã đặt trước đó, hãy sử dụng 'tuôn ra' thay vì hành động
Một trường hợp phổ biến đối với trình kích hoạt là lặp lại một công việc đã hoàn thành
find /tmp
repeat #0 flush
5Sẽ tiếp tục khởi chạy lại công việc #0 sau 10 giây sau khi hoàn thành cho đến khi bị xóa
find /tmp
repeat #0 flush
6cốt truyệnArcan là cái mà một số người sẽ gọi là một dự án đầy tham vọng mà bạn phải mất hơn vài phút để hoàn thành. Trong số nhiều tiểu dự án của nó có SHMIF và TUI. SHMIF là một hệ thống IPC -- ban đầu là phân tích cú pháp phương tiện ngăn và hộp cát đã nhanh chóng phát triển để bao gồm tất cả giao tiếp giữa các quá trình cần thiết cho một thứ gì đó trên quy mô của một máy tính để bàn đầy đủ
TUI là một API được xếp lớp trên cùng của phía máy khách SHMIF, cùng với định dạng đóng gói văn bản [TPACK]. Lần đầu tiên nó được sử dụng để viết trình mô phỏng thiết bị đầu cuối đi kèm với Arcan, sau đó phát triển theo hướng thay thế tất cả việc sử dụng ECMA-48 và các mã thoát liên quan, cũng như các lớp kernel-tty và không gian người dùng. Mục tiêu cuối cùng là thay thế hoàn toàn tất cả các dấu vết của ncurses, đường đọc, tín hiệu trong băng tần, v.v. -- để có được các CLI và TUI được cải tiến rất cần thiết, hợp tác với vỏ máy tính để bàn đồ họa bên ngoài thay vì chống lại nó một cách mù quáng
Hành trình này đã được đề cập trong một số bài báo, những bài quan trọng nhất là 'sự khởi đầu của một giao diện dòng lệnh mới' và gần đây hơn là 'ngày của một giao diện dòng lệnh mới'. vỏ bọc'
Các bước sau đó là chuyển đổi chuyển đổi trong trình giả lập thiết bị đầu cuối arcan trước đó, cho phép chuyển sang các tập lệnh có liên kết dựa trên Lua nhúng với API TUI và các tiện ích của nó. Chế độ sau này và các tập lệnh hỗ trợ là những gì chúng tôi gọi là Lash. Ngược lại, Lash quá đơn giản để trở nên hữu ích và một bộ tập lệnh người dùng được cắm vào, Cat9 là một trong những bộ như vậy