Việc điều hướng và quản lý tệp, thư mục trong hệ thống file là nền tảng thiết yếu cho mọi công việc trên máy tính. Trong môi trường máy chủ đám mây, hầu hết các hệ thống đều sử dụng các shell Linux phổ biến và bộ lệnh Linux chuyên dụng để xử lý file một cách hiệu quả. Bài viết này sẽ cung cấp cho bạn những kỹ năng cơ bản giúp khai thác tối đa khả năng của terminal và các lệnh Linux, từ đó nâng cao hiệu quả làm việc trong lĩnh vực IT.
Nếu bạn đang tìm kiếm một giải pháp máy chủ với giao diện đồ họa thân thiện, hãy khám phá dịch vụ VPS Windows của chúng tôi. Với khả năng tương thích cao và dễ sử dụng, VPS Windows là lựa chọn lý tưởng cho cả người mới và chuyên gia.
Yêu cầu và mục tiêu
Để theo dõi hướng dẫn này, bạn cần có quyền truy cập vào một máy chủ Linux.
Bạn cũng nên nắm được cách hoạt động của terminal và hình thức các lệnh Linux. Hướng dẫn này cung cấp một phần giới thiệu về terminal.
Toàn bộ nội dung trong hướng dẫn này có thể được thực hiện với tài khoản người dùng thường, không phải tài khoản root (không có quyền quản trị). Bạn có thể tìm hiểu cách cấu hình tài khoản này theo hướng dẫn thiết lập máy chủ ban đầu của bản phân phối, ví dụ như cho Ubuntu 22.04.
Khi bạn đã sẵn sàng, hãy kết nối đến máy chủ Linux của mình bằng SSH và tiếp tục theo hướng dẫn bên dưới.
Điều hướng và khám phá
Những kỹ năng cơ bản nhất mà bạn cần làm chủ là di chuyển trong hệ thống tệp và nắm bắt được những gì xung quanh. Trong phần này, bạn sẽ được giới thiệu các công cụ giúp thực hiện việc này.
Xác định vị trí hiện tại với lệnh “pwd”
Khi bạn đăng nhập vào máy chủ, thường bạn sẽ được đưa vào thư mục chính (home directory) của tài khoản người dùng. Thư mục chính là không gian dành riêng cho bạn để lưu trữ tệp và tạo các thư mục con. Đây là vị trí trong hệ thống tệp nơi bạn có toàn quyền kiểm soát.
Để biết thư mục chính của bạn nằm ở đâu trong hệ thống tệp, bạn có thể sử dụng lệnh pwd. Lệnh này hiển thị đường dẫn đầy đủ của thư mục hiện tại:
pwd
Output
/home/sammy
Thư mục chính được đặt theo tên tài khoản người dùng. Thư mục này nằm trong một thư mục gọi là /home, và /home nằm trong thư mục gốc (root) – được biểu thị bằng dấu gạch chéo đơn /.
Xem nội dung của các thư mục với lệnh “ls”
Khi đã biết cách hiển thị thư mục hiện tại, bạn có thể xem nội dung bên trong của một thư mục.
Hiện tại, thư mục chính của bạn có thể không có nhiều thứ, vì vậy bạn có thể chuyển đến một thư mục khác có nhiều nội dung hơn để khám phá. Hãy sử dụng lệnh cd để chuyển đến thư mục đó, sau đó dùng pwd để xác nhận vị trí mới:
cd /usr/share pwd
Output
/usr/share
Bây giờ, khi bạn đang ở trong một thư mục mới, hãy xem những gì bên trong nó bằng lệnh ls:
ls
Output
adduser groff pam-configs applications grub perl apport grub-gfxpayload-lists perl5 apps hal pixmaps apt i18n pkgconfig aptitude icons polkit-1 apt-xapian-index info popularity-contest . . .
Như bạn thấy, có rất nhiều mục trong thư mục này. Bạn có thể thêm các tham số (flags) tùy chọn để thay đổi hành vi mặc định của lệnh. Ví dụ, để liệt kê tất cả nội dung theo dạng chi tiết, bạn có thể dùng tham số -l (cho “long” output):
ls -l
Output
total 440 drwxr-xr-x 2 root root 4096 Apr 17 2022 adduser drwxr-xr-x 2 root root 4096 Sep 24 19:11 applications drwxr-xr-x 6 root root 4096 Oct 9 18:16 apport drwxr-xr-x 3 root root 4096 Apr 17 2022 apps drwxr-xr-x 2 root root 4096 Oct 9 18:15 apt drwxr-xr-x 2 root root 4096 Apr 17 2022 aptitude drwxr-xr-x 4 root root 4096 Apr 17 2022 apt-xapian-index drwxr-xr-x 2 root root 4096 Apr 17 2022 awk . . .
Lịch trình này cho ta nhiều thông tin: cột đầu tiên mô tả loại tệp (nếu ký tự đầu tiên là “d” thì đó là thư mục, còn nếu là “-” thì là tệp thường) và quyền truy cập. Các cột sau đó lần lượt mô tả số liên kết cứng, chủ sở hữu, nhóm chủ, kích thước tệp, thời gian chỉnh sửa cuối cùng và tên của mục.
Để liệt kê tất cả các tệp, bao gồm cả các tệp ẩn, bạn có thể thêm tham số -a. Vì trong thư mục /usr/share không có tệp ẩn thực sự, hãy quay lại thư mục chính của bạn và thử lệnh sau. Bạn có thể quay lại thư mục chính bằng cách gõ lệnh cd không kèm tham số:
cd ls -a
Output
. .. .bash_logout .bashrc .profile
Như bạn thấy, có ba tệp ẩn, cùng với . và .. – đây là các ký hiệu đặc biệt. Các tệp có dấu chấm đầu thường là các tệp cấu hình.
Đối với các ký hiệu . và .., chúng không phải là thư mục thực sự mà là cách tích hợp sẵn để tham chiếu đến các thư mục liên quan: dấu chấm . chỉ thư mục hiện tại và dấu hai chấm .. chỉ thư mục cha. Điều này sẽ rất hữu ích trong phần tiếp theo.
Di chuyển trong hệ thống File với “cd”
Bạn đã thực hiện chuyển thư mục hai lần để minh họa cho một số tính chất của lệnh ls ở phần trước. Hãy xem kỹ hơn về lệnh cd (change directory).
Bắt đầu bằng cách quay trở lại thư mục /usr/share:
cd /usr/share
Đây là ví dụ về thay đổi thư mục bằng cách cung cấp đường dẫn tuyệt đối. Trong Linux, mọi tệp và thư mục đều nằm dưới thư mục gốc – gọi là “root”, được biểu thị bằng dấu / ở đầu đường dẫn. Đường dẫn tuyệt đối chỉ định vị trí của một thư mục so với thư mục gốc; mỗi đường dẫn tuyệt đối đều bắt đầu bằng dấu /.
Thay vào đó, bạn có thể sử dụng đường dẫn tương đối. Đường dẫn tương đối chỉ tham chiếu đến các thư mục so với thư mục hiện tại. Với các thư mục gần với thư mục hiện tại trong cấu trúc cây, cách này thường ngắn gọn hơn và không cần phải xác định vị trí tuyệt đối trong hệ thống. Bất kỳ thư mục nào nằm trong thư mục hiện tại có thể được gọi tên mà không cần dấu / ở đầu. Ví dụ, từ thư mục /usr/share, bạn có thể chuyển đến thư mục locale bằng cách:
cd locale
Bạn cũng có thể di chuyển qua nhiều cấp thư mục với đường dẫn tương đối bằng cách cung cấp phần đường dẫn sau đường dẫn hiện tại. Từ đây, để chuyển đến thư mục LC_MESSAGES nằm trong thư mục en, bạn gõ:
cd en/LC_MESSAGES
Để quay trở lại thư mục cha, sử dụng ký hiệu đặc biệt ... Ví dụ, khi bạn đang ở trong thư mục /usr/share/locale/en/LC_MESSAGES, để quay lại thư mục en, bạn gõ:
cd ..
Thao tác này đưa bạn về thư mục /usr/share/locale/en.
Bạn luôn có thể trở về thư mục chính của mình bằng cách gõ lệnh cd mà không có tham số, hoặc sử dụng ký hiệu ~ thay cho thư mục chính trong các lệnh khác:
cd ~ pwd
Output
cd ~ pwd
Xem các File
Trong phần trước, bạn đã học cách điều hướng trong hệ thống tệp. Có thể bạn đã thấy một số tệp khi dùng lệnh ls trong các thư mục khác nhau. Khác với một số hệ điều hành khác, Linux và các hệ điều hành giống Unix chủ yếu dựa vào các tệp văn bản thuần túy cho hầu hết các thành phần của hệ thống.
Cách chính để xem nội dung tệp trong hướng dẫn này là dùng lệnh less. Đây là một “pager” – công cụ cho phép bạn cuộn qua các trang của một tệp. Trong khi các lệnh trước đó thực thi ngay lập tức và trả bạn về dòng lệnh, less là một ứng dụng sẽ chạy liên tục và chiếm toàn bộ màn hình cho đến khi bạn thoát.
Ví dụ, mở tệp cấu hình /etc/services – một tệp chứa thông tin dịch vụ mà hệ thống biết:
less /etc/services
Khi mở, tệp sẽ được hiển thị trong less sao cho phù hợp với diện tích cửa sổ terminal:
Output
# Network services, Internet style # # Note that it is presently the policy of IANA to assign a single well-known # port number for both TCP and UDP; hence, officially ports have two entries # even if the protocol doesn't support UDP operations. # # Updated from http://www.iana.org/assignments/port-numbers and other # sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services . # New ports will be added on request if they have been officially assigned # by IANA and used in the real-world or are needed by a debian package. # If you need a huge list of used numbers please install the nmap package. tcpmux 1/tcp # TCP port service multiplexer echo 7/tcp . . .
Để cuộn nội dung, bạn sử dụng các phím mũi tên lên/xuống. Để lật sang trang dưới, bạn có thể nhấn phím cách (space), phím “Page Down” hoặc phím tắt CTRL‑f. Để cuộn lên, nhấn “Page Up” hoặc phím tắt CTRL‑b.
Để tìm kiếm văn bản trong tệp, bạn gõ dấu gạch chéo / theo sau là từ cần tìm. Ví dụ, để tìm “mail”, bạn gõ:
Lệnh này sẽ tìm kiếm từ “mail” tiến về phía trước và dừng ở kết quả đầu tiên.
Để chuyển đến kết quả kế tiếp, nhấn phím n (chữ thường).
Để quay lại kết quả trước đó, nhấn N (chữ hoa).
Để thoát khỏi less, bạn gõ q.
Ngoài ra còn có nhiều cách khác để xem nội dung tệp trong các tình huống khác nhau.
- Lệnh
catsẽ in toàn bộ nội dung tệp và trả về ngay dòng lệnh. - Lệnh
headhiển thị 10 dòng đầu tiên của tệp. - Lệnh
tailhiển thị 10 dòng cuối cùng.
Các lệnh này hữu ích khi bạn cần “piping” (chuyển đầu ra của một lệnh làm đầu vào cho lệnh khác) các chương trình khác. Khái niệm này sẽ được đề cập sau trong chuỗi hướng dẫn.
Thao tác với File và thư mục
Trong phần này, bạn sẽ học cách tạo và thao tác với các tệp và thư mục.
Tạo File với “touch”
Nhiều lệnh và chương trình có thể tạo ra tệp. Cách đơn giản nhất là sử dụng lệnh touch, lệnh này sẽ tạo một tệp trống với tên và vị trí bạn chỉ định.
Trước tiên, hãy đảm bảo bạn đang ở trong thư mục chính, vì đây là vị trí bạn có quyền lưu trữ tệp. Sau đó, tạo một tệp có tên file1 bằng lệnh:
cd touch file1
Giờ đây, khi liệt kê các tệp trong thư mục bằng lệnh ls, bạn sẽ thấy tệp vừa tạo:
ls
Output
file1
Nếu bạn dùng lệnh touch trên một tệp đã tồn tại, thời gian “last modified” của tệp đó sẽ được cập nhật. Điều này có thể hữu ích trong một số trường hợp.
Bạn cũng có thể tạo nhiều tệp cùng lúc và sử dụng đường dẫn tuyệt đối. Ví dụ:
touch /home/sammy/file2 /home/sammy/file3 ls
Output
file1 file2 file3
Tạo thư mục với lệnh “mkdir”
Tương tự như lệnh touch, lệnh mkdir (make directory) cho phép bạn tạo ra các thư mục trống.
Ví dụ, để tạo một thư mục trong thư mục chính có tên test, gõ:
cd mkdir test
Để tạo một thư mục con bên trong thư mục test có tên example, gõ:
mkdir test/example
Lưu ý: Để lệnh trên hoạt động, thư mục test phải đã tồn tại. Nếu bạn muốn tạo các thư mục lồng nhau một cách tự động, sử dụng tham số -p (tương tự như “recursive”), ví dụ:
mkdir -p some/other/directories
Lệnh này sẽ tạo thư mục some, sau đó other bên trong some, và cuối cùng là directories bên trong other.
Di chuyển và đổi tên File/thư mục với lệnh “mv”
Bạn có thể di chuyển một tệp đến vị trí mới bằng lệnh mv. Ví dụ, để di chuyển file1 vào thư mục test, gõ:
mv file1 test
Để di chuyển tệp đó trở lại thư mục chính, sử dụng ký hiệu đặc biệt . để chỉ thư mục hiện tại:
cd mv test/file1 .
Lệnh mv cũng được sử dụng để đổi tên tệp hoặc thư mục. Nói chung, di chuyển và đổi tên đều là việc thay đổi vị trí và tên của một mục đã tồn tại.
Ví dụ, để đổi tên thư mục test thành testing, gõ:
mv test testing
Lưu ý: Shell sẽ không ngăn bạn thực hiện các thao tác gây mất mát dữ liệu không mong muốn. Nếu bạn đổi tên một tệp và chọn tên đã tồn tại, tệp ban đầu sẽ bị ghi đè và không thể khôi phục.
Sao chép File và thư mục với lệnh “cp”
Khác với lệnh mv (di chuyển/đổi tên), lệnh cp (copy) tạo ra một bản sao mới của tệp hoặc thư mục đã có.
Ví dụ, để sao chép file3 thành một tệp mới có tên file4, gõ:
cp file3 file4
Output
(Sau lệnh này, bạn có cả file3 và file4.)
Lưu ý: Giống như lệnh mv, nếu tên tệp đích đã tồn tại, nội dung của nó sẽ bị ghi đè bởi tệp nguồn.
Để sao chép toàn bộ thư mục, bạn cần thêm tham số -r (recursive). Ví dụ, để sao chép thư mục some thành một thư mục mới có tên again, gõ:
cp -r some again
Nếu đích là một thư mục đã tồn tại, tệp hoặc thư mục sẽ được sao chép vào bên trong thư mục đích. Ví dụ:
cp file1 again
Lệnh trên sẽ tạo một bản sao của file1 và đặt nó vào bên trong thư mục again.
Xóa File và thư mục với lệnh “rm” và “rmdir”
Để xóa một tệp, bạn sử dụng lệnh rm.
Lưu ý: Hãy cực kỳ cẩn thận khi sử dụng các lệnh xóa, vì không có lệnh “undo” trong shell, do đó việc xóa nhầm có thể khiến dữ liệu quan trọng bị mất vĩnh viễn.
Để xóa một tệp thông thường, chỉ cần truyền tên tệp cho lệnh rm:
cd rm file4
Để xóa các thư mục rỗng, bạn sử dụng lệnh rmdir. Lệnh này chỉ thành công nếu thư mục không có nội dung. Ví dụ, để xóa thư mục example bên trong thư mục testing, gõ:
rmdir testing/example
Để xóa một thư mục không rỗng, sử dụng lệnh rm với tham số -r để xóa đệ quy toàn bộ nội dung bên trong và thư mục đó:
rm -r again
Chỉnh sửa File
Hiện tại, bạn đã biết cách thao tác với tệp như những đối tượng, nhưng chưa học cách chỉnh sửa và thêm nội dung vào chúng.
Nano là một trong những trình soạn thảo văn bản dùng dòng lệnh phổ biến trên Linux, rất thích hợp cho người mới bắt đầu. Nano hoạt động tương tự như lệnh less đã được đề cập ở trên, chiếm toàn bộ màn hình terminal trong suốt quá trình sử dụng.
Trình soạn thảo nano có thể mở tệp đã tồn tại hoặc tạo tệp mới. Nếu bạn quyết định tạo tệp mới, bạn có thể đặt tên cho nó khi gọi nano, hoặc sau đó khi lưu nội dung.
Ví dụ, để mở tệp file1 để chỉnh sửa, gõ:
cd nano file1
Khi mở, nano sẽ hiển thị giao diện của tệp (nếu tệp còn trống, giao diện sẽ hiển thị “[ New File ]”). Giao diện thường trông như sau:
GNU nano 4.8 file1
[ New File ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text ^T To Spell
Ở phần trên cùng, bạn thấy tên ứng dụng và tên tệp bạn đang chỉnh sửa. Ở giữa là nội dung của tệp (hiện tại trống), và ở dưới cùng là danh sách các phím tắt điều khiển. Trong đó, ký hiệu ^ biểu thị phím CTRL.
Để nhận trợ giúp từ bên trong nano, nhấn Ctrl+G.
Khi bạn hoàn tất xem trợ giúp, nhấn Ctrl+X để quay lại tài liệu.
Ví dụ, hãy nhập vào tệp file1 hai câu sau:
Hello there. Here is some text.
Để lưu tệp, nhấn Ctrl+O. Sau đó, nano sẽ yêu cầu xác nhận tên tệp:
File Name to Write: file1 ^G Get Help M-D DOS Format M-A Append M-B Backup File ^C Cancel M-M Mac Format M-P Prepend
Các lựa chọn dưới cùng sẽ thay đổi theo ngữ cảnh. Để xác nhận lưu, nhấn Enter.
Nếu sau khi lưu bạn thực hiện thay đổi thêm và cố gắng thoát, nano sẽ nhắc bạn lưu thay đổi:
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ? Y Yes N No ^C Cancel
Bạn có thể nhấn Y để lưu thay đổi, N để hủy thay đổi và thoát, hoặc Ctrl+C để hủy thao tác thoát. Nếu bạn chọn lưu, bạn sẽ được hỏi lại tên tệp, sau đó nhấn Enter để lưu và thoát.
Sau đó, bạn có thể xem nội dung tệp vừa tạo bằng cách dùng lệnh cat hoặc mở bằng less. Ví dụ:
less file1
Output
Hello there. Here is some text. Another line.
Ngoài nano, bạn có thể gặp các trình soạn thảo khác như vim hoặc vi – những trình soạn thảo tiên tiến với khả năng mạnh mẽ, nhưng có đường cong học tập dốc. Nếu được yêu cầu sử dụng vim hoặc vi, bạn có thể chọn nano như một lựa chọn thân thiện hơn. Để tìm hiểu cách sử dụng vim, hãy tham khảo hướng dẫn bắt đầu với vim của DataOnline.
Kết luận
Qua bài hướng dẫn này, bạn đã thành thạo cách điều hướng máy chủ Linux, kiểm tra các tệp và thư mục, cũng như thực hiện các thao tác quản lý như sao chép, di chuyển, đổi tên và xóa tệp. Bạn cũng đã làm quen với việc chỉnh sửa file qua trình soạn thảo nano – một công cụ thân thiện cho người dùng trong môi trường Linux.
Với những kỹ năng nền tảng này, bạn hoàn toàn có thể mở rộng kiến thức qua các bài hướng dẫn chuyên sâu khác, nhằm tối ưu hóa hiệu quả hoạt động của máy chủ. Bài viết tiếp theo sẽ giúp bạn khám phá cách xem và phân tích các quyền truy cập trên Linux, hỗ trợ bạn nắm vững hơn về bảo mật và quản lý hệ thống.
Để tận dụng tối đa các kỹ năng quản lý file trên Linux, việc thuê máy chủ VPS là một bước đi thông minh. Máy chủ VPS cung cấp môi trường linh hoạt và hiệu suất cao, giúp bạn thực hành và triển khai các dự án một cách hiệu quả.
中文 (中国)
English
