Đầu vào tiêu chuẩn trong Linux là gì?

Đầu vào tiêu chuẩn trong Linux là bàn phím và chuột.Khi bạn gõ một cái gì đó trên bàn phím, nó sẽ chuyển sang kiểu nhập chuẩn.Điều tương tự cũng xảy ra khi bạn sử dụng chuột.Bạn cũng có thể nhận được đầu vào tiêu chuẩn bằng cách sử dụng dòng lệnh.

Làm thế nào để bạn tạo một đầu vào chuẩn trong Linux?

Trong Linux, đầu vào tiêu chuẩn là bàn phím và đầu ra là màn hình.Để tạo một đầu vào chuẩn trong Linux, trước tiên bạn cần biết nó là gì.Đầu vào chuẩn là nơi bạn nhập các lệnh được gửi đến máy tính.Đó cũng là nơi bạn lấy dữ liệu từ máy tính.Bạn có thể sử dụng đầu vào tiêu chuẩn để nhập lệnh hoặc lấy dữ liệu từ máy tính.

Để tạo một đầu vào chuẩn trong Linux, trước tiên bạn cần biết nó là gì.

Đầu vào chuẩn là nơi bạn nhập các lệnh được gửi đến máy tính.Đó cũng là nơi bạn lấy dữ liệu từ máy tính.Bạn có thể sử dụng đầu vào tiêu chuẩn để nhập lệnh hoặc lấy dữ liệu từ máy tính.

Bạn có thể sử dụng các loại tệp khác nhau với đầu vào chuẩn trong Linux: tệp văn bản, tệp nhị phân và thư mục.Khi bạn sử dụng tệp văn bản với đầu vào chuẩn trong Linux, Windows sẽ coi nó như thể đó là tệp văn bản bình thường trên ổ cứng của bạn.Khi bạn sử dụng tệp nhị phân với tiêu chuẩn inLinux, Windows sẽ coi nó như thể đó là một tệp thực thi trên ổ cứng của bạn (một chương trình thực hiện điều gì đó). Whenyouuse adirectorywithstandardinputinLinux, Windowsseesitasadirectoryonyourharddriveinsteadofanexecutablefile. (Điều này hữu ích khiyouwanttocopyadirectoryfromonecomputescapeaosystemwithoutworryingabouttheprogramsthatareinsideit.

Vị trí mặc định của đầu vào chuẩn trong Linux là gì?

Vị trí mặc định của đầu vào chuẩn trong Linux là / dev / null.Điều này có nghĩa là bất kỳ lệnh nào bạn nhập vào thiết bị đầu cuối sẽ bị bỏ qua.

Làm cách nào để bạn thay đổi vị trí của đầu vào chuẩn trong Linux?

Trong Linux, đầu vào tiêu chuẩn là văn bản bạn nhập khi đăng nhập hoặc bắt đầu một lệnh.Bạn có thể thay đổi vị trí của đầu vào chuẩn bằng cách sử dụng giao diện dòng lệnh (CLI) của thiết bị đầu cuối. Để thực hiện việc này, hãy mở cửa sổ dòng lệnh và nhập:

cd / usr / local / bin

chmod + x stdin_input.sh

./stdin_input.sh

Lệnh đầu tiên thay đổi thư mục làm việc hiện tại của bạn thành / usr / local / bin và tập lệnh thứ hai thêm một tệp mới có tên stdin_input.sh vào thư mục đó.Lệnh thứ ba chạy tập lệnh với các đặc quyền người dùng hiện tại của bạn (nghĩa là, nó sẽ chạy với tư cách là bạn thay vì với tư cách là người chủ). Nếu mọi thứ suôn sẻ, bạn sẽ thấy một thông báo cho biết rằng đầu vào chuẩn đã được chuyển đến / usr / local / bin / stdin_input.Nếu không, hãy xem hướng dẫn khắc phục sự cố của chúng tôi để được trợ giúp thêm.

Tại sao bạn muốn thay đổi vị trí của đầu vào chuẩn trong Linux?

Có một vài lý do tại sao bạn có thể muốn thay đổi vị trí của đầu vào chuẩn trong Linux.Ví dụ: nếu bạn muốn sử dụng một chương trình giả lập đầu cuối khác với chương trình mặc định hoặc nếu bạn muốn chạy một tập lệnh yêu cầu người dùng nhập từ tệp văn bản chứ không phải từ bàn phím.Ngoài ra, nếu bạn đang làm việc trên một dự án yêu cầu nhiều người dùng chia sẻ tệp dữ liệu và lệnh nhập đồng thời, có thể hữu ích khi thiết lập hệ thống của bạn để tất cả các đầu vào của họ đi qua cùng một vị trí.Trong hướng dẫn 400 từ này, chúng ta sẽ khám phá từng lý do chi tiết hơn và giải thích cách bạn có thể thay đổi vị trí của đầu vào chuẩn trên hệ thống Linux của mình.

Tại sao tôi muốn sử dụng một chương trình giả lập đầu cuối khác?

Nếu bạn đang sử dụng môi trường máy tính để bàn hiện có như GNOME hoặc KDE, rất có thể máy tính của bạn được cài đặt sẵn các chương trình đầu cuối như xterm hoặc konsole.Tuy nhiên, nếu bạn đang sử dụng Ubuntu hoặc một bản phân phối Linux khác không đi kèm với các chương trình như vậy được cài đặt theo mặc định, thì có nhiều tùy chọn khác.Ví dụ: một số bản phân phối bao gồm terminator, là chương trình giả lập thiết bị đầu cuối mã nguồn mở dựa trên XH. Làm cách nào để tôi thay đổi vị trí đặt đầu vào tiêu chuẩn của mình?

Thay đổi vị trí đặt đầu vào tiêu chuẩn của bạn đủ dễ dàng - chỉ cần mở cửa sổ Thiết bị đầu cuối (được tìm thấy trong Ứng dụng> Phụ kiện> Thiết bị đầu cuối) và nhập: sudo nano / etc / default / terminal Nếu mọi thứ diễn ra theo đúng kế hoạch - giả sử không có lỗi xảy ra –bạn bây giờ sẽ thấy một cái gì đó tương tự như sau: TERM = xterm-256color Nếu không… Đừng hoảng sợ!Thường có hai lý do chính khiến lệnh này có thể không hoạt động như mong đợi:

Khi chúng tôi đã xác minh rằng các thay đổi mong muốn của chúng tôi đã được thực hiện chính xác, chúng tôi cần cập nhật cấu hình của shell để các cài đặt mới này tự động có hiệu lực bất cứ khi nào chúng tôi đăng nhập: sudo sh -c 'echo "TERM = $ TERM" >> ~ / .bashrc '&& sudo sh -c' echo "xuất TERM = " $ TERM "" >> ~ / .bashrc 'Bây giờ khi chúng tôi đăng nhập lại vào phiên của mình (bằng cách đăng xuất và đăng nhập lại), cả cài đặt mới của chúng tôi sẽ được áp dụng tự động mà chúng tôi không cần can thiệp gì thêm!

Điều gì xảy ra nếu tôi không có đặc quyền quản trị bắt buộc để thực hiện thay đổi?

Nếu vì lý do nào đó mà bạn không có đặc quyền quản trị cần thiết để thực hiện thay đổi đối với / etc / default / terminal, thì vẫn có những cách khác mà bạn có thể đạt được những gì chúng tôi muốn - bằng cách chỉnh sửa tệp hồ sơ người dùng (.profile) của bạn hoặc tập lệnh khởi động toàn cầu (.bash_profile). Để chỉnh sửa hồ sơ người dùng của bạn… Nhập nano ~ / .profile… và thêm ít nhất một dòng có chứa: TERM = xterm-256color Sau khi lưu và đóng Nano, tải lại phiên hiện tại của bạn bằng cách nhập source ~ / .profile bây giờ sẽ dẫn đến xterm là được sử dụng làm trình giả lập thiết bị đầu cuối mặc định của bạn thay thế!Để chỉnh sửa các tập lệnh khởi động chung… Mở lên ~ /.

  1. Nếu bạn không có bất kỳ tùy chọn nào về chương trình giả lập đầu cuối bạn muốn sử dụng, thì chỉ cần thay đổi vị trí của đầu vào tiêu chuẩn sẽ không ảnh hưởng quá nhiều đến quy trình làm việc của bạn.Tuy nhiên, nếu bạn có kế hoạch sử dụng đồng thời nhiều trình giả lập đầu cuối (ví dụ: khi làm việc trên nhiều dự án cùng một lúc), tất cả chúng thường dễ dàng truy cập các tệp dữ liệu và tập lệnh nằm trong cùng một thư mục.Bằng cách này, mọi người có thể nhập lệnh vào thiết bị đầu cuối tương ứng của họ mà không phải lo lắng về các đường dẫn hoặc tên tệp xung đột.
  2. Bạn có thể không có đặc quyền quản trị cần thiết để thực hiện các thay đổi đối với / etc / default / terminal; Tệp được chỉ định trong TERM có thể không tồn tại trên hệ thống của bạn (trong trường hợp đó, hãy thử nhập sudo nano / etc / default / terminal thay thế). Nếu cả hai giải pháp đó đều không hoạt động vì bất kỳ lý do gì thì vui lòng liên hệ để được trợ giúp qua các kênh hỗ trợ của chúng tôi.

Việc thay đổi vị trí của đầu vào chuẩn ảnh hưởng đến các chương trình sử dụng nó như thế nào?

Khi bạn thay đổi vị trí của đầu vào chuẩn, bạn đang ảnh hưởng đến các chương trình sử dụng nó.Ví dụ: nếu bạn di chuyển đầu vào chuẩn vào một tệp, thay vào đó tất cả các chương trình sử dụng đầu vào chuẩn sẽ phải đọc từ tệp đó.Nếu bạn di chuyển đầu vào tiêu chuẩn sang một đường ống, tất cả các chương trình sử dụng đầu vào tiêu chuẩn sẽ gửi đầu ra của chúng qua đường ống đó.

Các chương trình sử dụng các vị trí khác nhau cho đầu vào chuẩn vẫn có thể giao tiếp với nhau được không?

Đầu vào chuẩn trong Linux là vị trí mà đầu vào của người dùng được đọc.Các chương trình sử dụng các vị trí khác nhau cho đầu vào chuẩn của chúng vẫn có thể giao tiếp với nhau, miễn là chúng biết vị trí của đầu vào chuẩn của chương trình khác.

Trong hầu hết các trường hợp, một chương trình sẽ sử dụng cùng một vị trí cho đầu vào chuẩn của nó bất kể nó đang được chạy từ một thiết bị đầu cuối hay từ trong một chương trình khác.Tuy nhiên, có một số ngoại lệ đối với quy tắc này.Ví dụ: nếu một chương trình được khởi động từ giao diện dòng lệnh (CLI), thì chương trình đó sẽ sử dụng đầu ra mặc định của thiết bị đầu cuối thay vì sử dụng đầu vào tiêu chuẩn.

Một ngoại lệ khác xảy ra khi một chương trình đọc dữ liệu từ một tệp.Trong trường hợp này, nội dung của tệp trở thành đầu vào chuẩn của chương trình.

Điều gì xảy ra nếu hai chương trình cố gắng đọc từ cùng một đầu vào chuẩn cùng một lúc?

Trong Linux, đầu vào tiêu chuẩn là bàn phím và thiết bị đầu cuối.Khi hai chương trình cố gắng đọc từ cùng một đầu vào chuẩn cùng một lúc, chúng có thể xung đột với nhau.Điều này có thể gây ra lỗi hoặc hành vi không mong muốn.Để tránh điều này, bạn phải luôn chỉ định chương trình nào sẽ đọc từ đầu vào chuẩn khi bạn khởi động nó.

Có giới hạn nào về số lượng chương trình có thể đọc từ một đầu ra tiêu chuẩn duy nhất cùng một lúc không?Nếu vậy, giới hạn đó là bao nhiêu?Nếu không, tai sao không?

Không có giới hạn về số lượng chương trình có thể đọc từ một đầu vào chuẩn cùng một lúc.Điều này là do hạt nhân Linux cho phép nhiều quá trình chia sẻ cùng một bộ mô tả tệp, được đánh số bắt đầu từ 1.Vì vậy, nếu bạn có bốn quy trình đọc từ đầu vào chuẩn, mỗi quy trình sẽ sử dụng số bộ mô tả tệp là 3, 4, 5 và 6.Nếu bạn muốn cho phép nhiều hơn bốn quy trình truy cập đầu vào tiêu chuẩn cùng một lúc, bạn cần sử dụng một hệ thống con I / O khác như đường ống hoặc bộ nhớ dùng chung.