In kí tự trong linux
Nếu bạn muốn thành thạo Bash shell trên Linux, macOS hoặc một hệ thống giống UNIX khác, các ký tự đặc biệt (như ~, *, |, và>) là rất quan trọng. Chúng tôi sẽ giúp bạn làm sáng tỏ những chuỗi lệnh khó hiểu này của Linux và trở thành người hùng của chữ tượng hình. Show
Có một tập hợp các ký tự Bash shell xử lý theo hai cách khác nhau. Khi bạn gõ chúng vào shell, chúng sẽ hoạt động như các hướng dẫn hoặc lệnh và yêu cầu shell thực hiện một chức năng nhất định. Hãy coi chúng là các lệnh đơn ký tự. Đôi khi, bạn chỉ muốn in một ký tự và không cần nó hoạt động như một biểu tượng ma thuật. Có một cách bạn có thể sử dụng một ký tự để đại diện cho chính nó thay vì chức năng đặc biệt của nó. Chúng tôi sẽ cho bạn biết những ký tự nào là ký tự “đặc biệt” hoặc “meta-”, cũng như cách bạn có thể sử dụng chúng theo chức năng và nghĩa đen. ~ Danh mục Trang chủDấu ngã (~) là viết tắt của thư mục chính của bạn. Nó có nghĩa là bạn không phải nhập đường dẫn đầy đủ đến thư mục chính của mình trong các lệnh. Dù bạn đang ở đâu trong hệ thống tệp, bạn có thể sử dụng lệnh này để truy cập thư mục chính của mình: cd ~ Bạn cũng có thể sử dụng lệnh này với các đường dẫn tương đối. Ví dụ: nếu bạn đang ở đâu đó trong hệ thống tệp không nằm trong thư mục chính và muốn thay đổi thành thư mục lưu trữ trong thư mục công việc của mình, hãy sử dụng dấu ngã để thực hiện: cd ~/work/archive . Thư mục hiện tạiDấu chấm (.) Đại diện cho thư mục hiện tại. Bạn sẽ thấy nó trong danh sách thư mục nếu bạn sử dụng tùy chọn -a (tất cả) với ls. ls -a Bạn cũng có thể sử dụng dấu chấm trong các lệnh để biểu thị đường dẫn đến thư mục hiện tại của bạn. Ví dụ: nếu bạn muốn chạy một tập lệnh từ thư mục hiện tại, bạn sẽ gọi nó như sau: ./script.sh Điều này yêu cầu Bash tìm tệp script.sh trong thư mục hiện tại. Bằng cách này, nó sẽ không tìm kiếm các thư mục trong đường dẫn của bạn để tìm tệp thực thi hoặc tập lệnh phù hợp. .. Thư mục chínhDấu chấm kép hoặc “dấu chấm kép” (..) đại diện cho thư mục mẹ của thư mục hiện tại của bạn. Bạn có thể sử dụng điều này để tăng một cấp trong cây thư mục. cd .. Bạn cũng có thể sử dụng lệnh này với các đường dẫn tương đối — ví dụ: nếu bạn muốn lên một cấp trong cây thư mục, rồi nhập một thư mục khác ở cấp đó. Bạn cũng có thể sử dụng kỹ thuật này để di chuyển nhanh chóng đến một thư mục ở cùng cấp trong cây thư mục với thư mục hiện tại của bạn. Bạn nhảy lên một cấp, rồi lùi một cấp vào một thư mục khác. cd ../gc_help / Dấu phân cách thư mục đường dẫnBạn có thể sử dụng dấu gạch chéo lên (/) – thường được gọi là dấu gạch chéo – để tách các thư mục trong tên đường dẫn. ls ~/work/archive Một dấu gạch chéo ngược đại diện cho đường dẫn thư mục ngắn nhất có thể. Bởi vì mọi thứ trong cây thư mục Linux đều bắt đầu từ thư mục gốc, bạn có thể sử dụng lệnh này để di chuyển đến thư mục gốc một cách nhanh chóng: cd / # Nhận xét hoặc Cắt chuỗiThông thường, bạn sử dụng dấu thăng hoặc dấu số (#) để cho shell biết những gì sau đây là một nhận xét và nó không nên tác động lên nó. Bạn có thể sử dụng nó trong các tập lệnh shell và — ít hữu ích hơn — trên dòng lệnh. # This will be ignored by the Bash shell Tuy nhiên, nó không thực sự bị bỏ qua vì nó đã được thêm vào lịch sử lệnh của bạn. Bạn cũng có thể sử dụng hàm băm để cắt một biến chuỗi và xóa một số văn bản ngay từ đầu. Lệnh này tạo một biến chuỗi được gọi là this_string. Trong ví dụ này, chúng tôi gán văn bản “Dave Geek!” vào biến. this_string="Dave Geek!" Lệnh này sử dụng tiếng vọng để in các từ “Hướng dẫn” ra cửa sổ đầu cuối. Nó truy xuất giá trị được lưu trữ trong biến chuỗi thông qua mở rộng tham số. Bởi vì chúng tôi nối hàm băm và văn bản “Dave”, nó sẽ cắt bớt phần đó của chuỗi trước khi nó được chuyển sang tiếng vọng. echo How-To ${this_string#Dave} Điều này không thay đổi giá trị được lưu trữ trong biến chuỗi; nó chỉ ảnh hưởng đến những gì được gửi tới echo. Chúng ta có thể sử dụng echo để in giá trị của biến chuỗi một lần nữa và kiểm tra điều này: echo $this_string ? Ký tự đại diện đơnBash shell hỗ trợ ba ký tự đại diện, một trong số đó là dấu chấm hỏi (?). Bạn sử dụng các ký tự đại diện để thay thế các ký tự trong các mẫu tên tệp. Tên tệp có chứa ký tự đại diện tạo thành một mẫu phù hợp với một loạt tên tệp, thay vì chỉ một. Ký tự đại diện dấu chấm hỏi đại diện cho chính xác một ký tự. Hãy xem xét mẫu tên tệp sau: ls badge?.txt Điều này được dịch là “liệt kê bất kỳ tệp nào có tên bắt đầu bằng ‘huy hiệu’ và theo sau là bất kỳ ký tự đơn nào trước phần mở rộng tên tệp.” Nó phù hợp với các tệp sau đây. Lưu ý rằng một số có số và một số có các chữ cái sau phần “huy hiệu” của tên tệp. Ký tự đại diện dấu chấm hỏi sẽ khớp với cả chữ cái và số. Tuy nhiên, mẫu tên tệp đó không khớp với “huy hiệu.txt” vì tên tệp không có một ký tự duy nhất giữa “huy hiệu” và phần mở rộng tệp. Ký tự đại diện dấu chấm hỏi phải khớp với một ký tự tương ứng trong tên tệp. Bạn cũng có thể sử dụng dấu chấm hỏi để tìm tất cả các tệp có một số ký tự cụ thể trong tên tệp. Điều này liệt kê tất cả các tệp văn bản chứa chính xác năm ký tự trong tên tệp: ls ?????.txt * Ký tự đại diện trình tự ký tựBạn có thể sử dụng dấu hoa thị ls badge* ký tự đại diện đại diện cho bất kỳ chuỗi ký tự nào, kể cả ký tự không. Hãy xem xét mẫu tên tệp sau: Một Nó khớp với “huy hiệu.txt” vì ký tự đại diện đại diện cho bất kỳ chuỗi ký tự nào hoặc không có ký tự nào. ls source.* [] MộtBộ ký tự đại diện Như đã đề cập ở trên, bạn sử dụng dấu chấm hỏi để đại diện cho bất kỳ ký tự đơn nào và dấu hoa thị để đại diện cho bất kỳ chuỗi ký tự nào (bao gồm không có ký tự nào). [] Bạn có thể tạo một ký tự đại diện với dấu ngoặc vuông ( ) và các ký tự chứa chúng. Khi đó, ký tự có liên quan trong tên tệp phải khớp với ít nhất một trong các ký tự trong bộ ký tự đại diện. ls badge_0[246].txt Một ls badge_[01][789].txt Một ls badge_[23][1-5].txt Một; Dấu phân tách lệnh Shell ls > count.txt; wc -l count.txt; rm count.txtMột count.txt; wc -l count.txt; lệnh rm count.txt ”trong cửa sổ đầu cuối ‘width =” 646 ″ height = ”122 ″ onload =” pagespeed.lazyLoadImages.loadIfVosystemAndMaybeBeacon (this); ” onerror = ”this.onerror = null; pagespeed.lazyLoadImages.loadIfVosystemAndMaybeBeacon (this);”> Lưu ý rằng lệnh thứ hai chạy ngay cả khi lệnh đầu tiên không thành công, lệnh thứ ba chạy ngay cả khi lệnh thứ hai không thành công, v.v. cd ./doesntexist && cp ~/Documents/reports/* . MỘT& Quy trình nền Sau khi bạn nhập một lệnh trong cửa sổ dòng lệnh và nó hoàn tất, bạn quay lại dấu nhắc lệnh. Thông thường, điều này chỉ mất một hoặc hai giây phút. Nhưng nếu bạn khởi chạy một ứng dụng khác, chẳng hạn như gedit, bạn không thể sử dụng cửa sổ đầu cuối của mình cho đến khi bạn đóng ứng dụng. gedit command_address.page & MỘT Bash hiển thị cho bạn ID quy trình của những gì đã khởi chạy, sau đó đưa bạn trở lại dòng lệnh. Sau đó, bạn có thể tiếp tục sử dụng cửa sổ đầu cuối của mình. sort |