Thông thường chúng ta tạo các tệp và thư mục [hay có thể nói là thư mục] trong máy của mình để sắp xếp chúng ngăn nắp, để khi cần, chúng ta có thể dễ dàng tìm kiếm chúng. Đôi khi chúng tôi lưu chúng với tên có khoảng trắng, ví dụ: chúng tôi lưu tệp có tên “tệp của tôi” trong trường hợp này, thiết bị đầu cuối Linux sẽ tạo ra lỗi. Các tệp có thể không được lưu với khoảng trắng trong Linux không? . chúng tôi có thể nhưng chúng sẽ được truy cập khác nhau trong thiết bị đầu cuối
Bài viết này tập trung vào những lỗi chúng ta gặp phải khi truy cập các tệp và thư mục có khoảng trắng trong tên của chúng và cách tránh những lỗi đó
Cách tạo một tệp có khoảng trắng trong tên của nó trong Linux
Để hiểu cách tham chiếu tên tệp có dấu cách trong Linux, chúng tôi sẽ xem xét một ví dụ. Đầu tiên, chúng ta sẽ mở terminal
Sau đó tạo một tệp có tên “tệp của tôi” bằng cách sử dụng lệnh touch
touch my file
Bây giờ hãy xem tệp có được tạo hay không bằng cách sử dụng lệnh “ls”. Chúng tôi quan sát thấy rằng thay vì một, hai tệp đã được tạo, một tệp có tên “của tôi” và tệp thứ hai có tên “tệp”
Để sử dụng khoảng trắng trong tên, chúng tôi sử dụng dấu ngoặc kép [‘ ’] hoặc chuỗi thoát [\]. Bây giờ chúng ta lại tạo một tệp khác bằng cách sử dụng [‘ ’] và một tệp khác bằng cách sử dụng [\]
touch 'my file'
touch test\ file
Bây giờ một lần nữa sử dụng lệnh “ls” để xem các tập tin
Các tập tin đã được tạo. Hãy kiểm tra xem chúng ta có gặp lỗi tương tự khi tạo thư mục bằng cách sử dụng khoảng trắng hay không. Chúng tôi sẽ tạo một thư mục bằng cách sử dụng không gian bằng lệnh mkdir
mkdir new collection
Chúng ta sẽ xem thư mục đã được tạo hay chưa bằng lệnh “ls”. Nó tạo ra hai thư mục thay vì một
Chúng ta có thể khắc phục điều này giống như cách chúng ta đã làm trong phương thức tạo tệp bằng cách sử dụng [‘ ‘] hoặc [\]. Một lần nữa, hãy tạo một thư mục bằng cách sử dụng [‘ ‘] hoặc [\] này
mkdir my\ new\ collection
Bây giờ chúng ta sẽ kiểm tra kết quả
Cách tham chiếu tên tệp có dấu cách trong Linux
Vì vậy, chúng ta có thể thấy rằng thư mục đã được tạo theo yêu cầu của chúng tôi. Bây giờ nếu chúng ta muốn xem nội dung của tệp, chúng ta chỉ cần sử dụng con mèo và tên tệp có dấu cách;
cat test file
Chúng ta nên sử dụng "\". Ví dụ: chúng tôi muốn xem nội dung của tệp thử nghiệm bằng cách sử dụng lệnh cat
cat test\ file
Tệp trống nên không hiển thị kết quả nhưng lệnh chạy thành công. Chúng tôi cũng có thể mở tệp bằng cách sử dụng dấu nháy đơn [‘ ’] hoặc dấu ngoặc kép [“ ”] như
cat "test file"
[OR]cat 'test file'
Xóa tên tệp bằng Spaces trong Linux
Tương tự, bạn cũng có thể xóa một tệp và thư mục có khoảng trống trong tên của chúng bằng cách sử dụng dấu nháy đơn [ ‘ ’ ], dấu ngoặc kép [“ ”] hoặc chuỗi thoát [ \ ]
rm -f 'test file'
Tương tự, bạn có thể xóa một thư mục có dấu cách trong tên
________số 8Sự kết luận
Chúng tôi tạo các tệp và thư mục mà không bận tâm đến những tên có thể có khoảng trắng. Thiết bị đầu cuối Linux xử lý các tệp và thư mục khác nhau có khoảng trắng trong tên của chúng. Vì vậy, bài viết này đã giải quyết vấn đề. Nếu chúng ta muốn đặt tên cho một tệp hoặc thư mục có khoảng trắng, chúng ta có thể thực hiện bằng cách sử dụng dấu nháy đơn [ ‘ ’ ], dấu ngoặc kép [“ ”] hoặc chuỗi thoát [ \ ]
Một điều bạn sẽ nhận thấy rằng các tệp trong Linux thường không chứa tên. Giáo viên hoặc đồng nghiệp của bạn sử dụng dấu gạch dưới thay vì khoảng trắng trong tên tệp và thư mục
Không phải là bạn không thể sử dụng khoảng trắng trong tên tệp trong thiết bị đầu cuối Linux. Chỉ là nó tạo thêm nỗi đau và đó là lý do tại sao bạn nên tránh nó bất cứ khi nào có thể
Tại sao? . Bạn biết cú pháp chung cho các lệnh Linux
command [options] argument1 argument2
Ở đây, các đối số được phân tách bằng dấu cách. Nếu bạn cố gắng sử dụng trực tiếp các tên tệp có khoảng trắng, nó sẽ được coi là các đối số riêng biệt thay vì chỉ một đối số
Trong ảnh chụp màn hình ở trên, khi tôi cố gắng sử dụng lệnh
02, nó không hiểu rằngtouch 'my file'
touch test\ file
03 là một đối số. Nó coitouch 'my file'
touch test\ file
04 vàtouch 'my file'
touch test\ file
05 là các tên tệp khác nhautouch 'my file'
touch test\ file
Làm thế nào để bạn đối phó với khoảng trắng trong tên tập tin?
Bọc toàn bộ tên tệp giữa dấu ngoặc kép
0touch 'my file'
touch test\ file
Thoát mọi khoảng trắng bằng phím dấu gạch chéo ngược
5touch 'my file'
touch test\ file
Tôi sẽ trình bày chi tiết
⚠️
Hoàn thành tab cũng thường hoạt động với khoảng trắng. Thiết bị đầu cuối của bạn có thể hiển thị tên tệp với khoảng trắng được thoát bằng dấu gạch chéo ngược nếu bạn nhấn phím tab cho tên tệp
Đọc một tệp có khoảng trắng trong tên tệp
Để sử dụng tên tệp có khoảng trắng trong đó, bạn có thể đặt nó trong dấu ngoặc kép như thế này
6touch 'my file'
touch test\ file
Bạn cũng có thể thoát khỏi mọi khoảng trống bằng dấu gạch chéo ngược nhưng nó hoạt động nhiều hơn và khó hiểu hơn so với phương pháp trước đó
7touch 'my file'
touch test\ file
Về cơ bản, bạn đặt một
06 trước mỗi khoảng trống trong tên tệptouch 'my file'
touch test\ file
Bạn cũng có thể sử dụng dấu ngoặc đơn thay vì dấu ngoặc kép
9touch 'my file'
touch test\ file
Dấu nháy đơn bỏ qua mọi ký tự đặc biệt. Dấu ngoặc kép bỏ qua tất cả ngoại trừ $, dấu ngoặc kép và dấu gạch chéo ngược. Thông tin thêm về nó trong một số hướng dẫn khác.
Tạo một tệp có khoảng trắng trong tên tệp
Bây giờ, bạn cần gõ dấu cách vào terminal để tạo tên tệp ở đây. Sử dụng lại dấu gạch chéo ngược hoặc dấu ngoặc kép
Tương tự như phần trước, bạn có thể tạo tệp mới có dấu cách trong tên tệp bằng dấu ngoặc kép
mkdir new collection
0Hoặc dấu gạch chéo ngược cũng vậy
mkdir new collection
1Sự khác biệt giữa trích dẫn đơn và trích dẫn kép trong Bash Shell
Dấu ngoặc kép là một phần không thể thiếu của shell scripting và lệnh Linux nhưng chúng thường có thể gây nhầm lẫn cho người dùng mới. Bài viết này sẽ làm sáng tỏ những câu trích dẫn cho bạn
Xử lý không gian trong tên thư mục
Bạn có thể tạo một thư mục có khoảng trống trong tên của nó giống như cách bạn tạo một tệp
mkdir new collection
2Bây giờ nếu bạn muốn chuyển sang thư mục này, bạn sẽ có một đường dẫn có dấu cách
Nhưng đó không còn là vấn đề với bạn nữa. Để cd vào một thư mục có khoảng trống, hãy sử dụng lại dấu ngoặc kép hoặc dấu gạch chéo ngược
mkdir new collection
3Về cơ bản, bất cứ khi nào bạn phải xử lý khoảng trắng trong tên, bạn sử dụng dấu ngoặc kép hoặc phím gạch chéo ngược
Giả sử bạn phải sao chép một tệp
07 từtouch 'my file'
touch test\ file
08 này. Đây là những gì bạn có thể làmtouch 'my file'
touch test\ file
00touch 'my file'
touch test\ file
Bây giờ nó bắt đầu hơi khó hiểu đúng không? . Nó có thể đe dọa người dùng mới hoặc thậm chí là người dày dạn kinh nghiệm nếu có quá nhiều dấu gạch chéo đó.
Nó thậm chí còn lộn xộn hơn khi có dấu gạch chéo ngược trong tên tệp. Sau đó, bạn sẽ thấy các dấu nháy ngược kép
Đây là lý do tại sao bạn nên cố gắng tránh sử dụng khoảng trắng hoặc các ký tự đặc biệt khác trong tên tệp. Để tách các từ trong tên tệp, hãy sử dụng dấu gạch dưới
01touch 'my file'
touch test\ file
Điều này làm cho tên tệp dễ đọc hơn và bạn sẽ không phải nỗ lực thêm để xử lý các khoảng trống đó trong tên tệp