Chủ đề nổi bật
03/08/2018, 10:19

Quản lý thư mục trên Linux

Bài trước mình trình bày cách quản lý file trên Linux, trong bài này mình tiếp tục giới thiệu cách quản lý thư mục trên Linux. 1. Hệ thống ...

Bài trước mình trình bày cách quản lý file trên Linux, trong bài này mình tiếp tục giới thiệu cách quản lý thư mục trên Linux.

1. Hệ thống file và thư mục trên Linux

Trên linux được tổ chức thành các thư mục (folder) theo mô hình phân cấp, tham chiếu đến folder bằng tên và đường dẫn. Các câu lệnh thao tác file cho phép dịch chuyển, sao chép một file hay toàn bộ thư mục cùng với các thư mục con chứa trong nó…

Có thể sử dụng các ký tự, dấu gạch dưới, chữ số, dấu chấm và dấu phảy để đặt tên file và thư mục. Những ký tự khác như /, ?, *, là ký tự đặc biệt được dành riêng cho hệ thống nên tên file và thư mục không được có những chữ này. Chiều dài của tên file có thể tới 256 ký tự.

Trong Linux không có khái niệm phần tên mở rộng (extensions) theo kiểu như của Windows. Do đó có thể đặt tên file tuỳ ý, kể cả tên chứa nhiều dấu chấm ..

File có tên bắt đầu bằng dấu chấm là file ẩn.

Linux phân biệt chữ HOA, chữ thường (case sensitive). Hai file hay folder cùng tên nhưng khác ký tự in hoa sẽ là khác nhau.

2. Quản lý thư mục trên linux

Trong phần này, đầu tiên chúng ta sẽ tìm hiểu qua về thư mục home và khái niệm đường dẫn (pathname). Sau đó là các lệnh giúp quản lý file.

Thư mục home

Mỗi tài khoản người sử dụng có một thư mục của mình gọi là thư mục home. Sau khi đăng nhập hệ thống, người dùng sẽ đứng ở thư mục home của mình. Tên của thư mục này giống với tên tài khoản đăng nhập hệ thống. Thư mục home lưu nhiều cài đặt quan trọng riêng cho người dùng, ví dụ như hình nền Desktop là khác nhau nếu bạn đăng nhập bằng tài khoản khác. Rất nhiều cấu hình phần mềm, cấu hình hệ thống cho riêng user được đặt ở mục home.

Trên Windows bạn cũng có thể thấy là mỗi user (người dùng) có một mục riêng ở C:Users như C:UsersDefault C:UsersAdministrator C:UsersYourComputerName … Mỗi khi bạn login vào một tài khoản khác thì nhiều cấu hình như hình nền Desktop, các phần mềm sẽ khác nhau tùy vào mỗi account.  Để tiện lợi người ta đặt dấu ~ đại diện cho thư mục home, dấu . là thư mục hiện tại và .. là thư mục trên nó một cấp.

Đường dẫn tuyệt đối và đường dẫn tương đối

Trên linux các thư mục được tổ chức theo dạng cây phân cấp, bắt đầu là thư mục gốc /. Vị trí của các file được mô tả bằng đường dẫn (pathname) tới file đó. Ví dụ file keys.txt trên Desktop Windows có đường dẫn như: C:/Users/tyson/Desktop/keys.txt. Dấu ghạch chéo / dùng để phân biệt các cấp (thư mục) dẫn tới file đó. Đường dẫn tuyệt đối là đường dẫn đầy đủ từ thư mục gốc / đến nó. 

Ví dụ đường dẫn tuyệt đối
/etc/passwd
/users/tyson/ko/notes
/media/D/
/mnt/ntfs

Còn đường dẫn tương đối thì gọn hơn ví dụ nếu bạn đang ở Desktop thì đường dẫn tương đối tới file keys.txt sẽ chỉ là Desktop/keys.txt.

Ví dụ đường dẫn tương đối
Documents/notes
Music/Achilles_calling_out.mp3

Thay đổi thư mục làm việc 

Để di chuyển đến thư mục khác bạn dùng lệnh cd. Tham số là tên đường dẫn tới thư mục bạn cần tới.

$cd dirname

Nếu chỉ gõ cd không thì nó sẽ về thư mục home. Đường dẫn đến thư mục có thể là tuyệt đối, như sau:

$cd ../../home/tyson
$

Lệnh trên di chuyển về mục /usr/local/bin. Từ đây để về home bạn có thể gõ như sau:

$cd ../../home/tyson
$

Lệnh sau sẽ đưa bạn về thư mục home của bạn

$cd ~
$

còn muốn vào mục home của người khác thì thêm tên người dùng đó sau dấu ~

$cd ~username
$

tới mục vừa mới truy cập (dấu - đại diện cho thư mục vừa vào)

$cd -
$

Xem bạn đang ở đâu

Để xem thư mục hiện bạn đang làm việc thì dùng lệnh pwd 

$pwd /home/tyson

Liệt kê thư mục để hiện các tệp, thư mục trong một thư mục thì dùng lệnh ls.

Ví dụ lệnh sau hiện hết mục ở root (mục gốc /)

$ls /
bin         initrd.img      selinux  usr 
boot        dev             media     proc     var 
build       disk            lib       mnt     root      sys  
cdrom       etc             opencv    run                
data_local  home           lost+found opt     sbin      tmp

Tạo thư mục mới 

Lệnh sau để tạo thư mục mới.

Thư mục bạn muốn tạo có thể viết dạng đường dẫn tương đối hoặc tuyệt đối. Ví dụ lệnh sau sẽ tạo thư mục mydir trong thư mục hiện tại.

$mkdir mydir

Còn lệnh này tạo thư mục test-dir ở trong thư mục /tmp. Đường dẫn /tmp/test-dir là đường dẫn tuyệt đối.

$mkdir /tmp/test-dir

Lệnh tạo thư mục sẽ không hiện thông báo gì khi các thư mục đã được tạo thành công. Nếu bạn viết nhiều tham số tên thư mục cách nhau bởi dấu cách thì nó sẽ lần lượt tạo ra nhiều thư mục.

$mkdir docs pub

Lệnh trên sẽ tạo 2 thư mục docspub ở mục hiện thời. Tạo thư mục nhiều cấp  Nhiều khi bạn muốn tạo thư mục chứa thư mục con, hay tạo file trong một mục con, ví dụ như 

$mkdir /tmp/tyson/test
mkdir: Failed to make directory "/tmp/tyson/test"; 
No such file or directory

Lúc này bạn chỉ cần thêm tham số -p là được.

$mkdir -p /tmp/tyson/test

Lệnh trên sẽ tạo mọi thư mục con cần thiết.

Xóa thư mục

Lệnh rmdir dùng xóa thư mục

Chú ý là thư mục cần xóa phải rỗng, vì nếu có dữ liệu như file, mục con trong đấy thì bạn sẽ bị mất dữ liệu. Còn nếu bạn chắc chắn muốn xóa hết các mục con thì bạn thêm tham số -r (recursive) để xóa sạch các mục con.

$rm -r dirname

Đổi tên thư mục

Lệnh mv (move) cũng có thể dùng để đổi tên file, thư mục. Cách dùng như sau:

$mv olddir newdir

Lệnh sau đổi tên mydiryourdir

$mv mydir yourdir

3. Tổng kết

Qua bài này các bạn tiếp tục tìm hiểu về hệ thống file trên linux và các lệnh thao tác với thư mục. Các bạn sẽ nhanh chóng biết cách sử dụng những lệnh trên. Nắm được các lệnh cơ bản này là các bạn có thể làm được rất nhiều việc trên linux vì thực tế chỉ hầu hết thời gian là các bạn dùng các lệnh cơ bản này. Bài sau chúng ta sẽ tìm hiểu về quyền hạn hay quyền truy cập đối với file và thư mục trên linux.

BÀI KẾ SAU
BÀI KẾ TIẾP

Nguồn: code24h.com

Bài liên quan
Mới nhất

Thủ thuật VPS - Hosting

BÀI KẾ SAU BÀI KẾ TIẾP

Direct Admin Control Panel

Đây là series hướng dẫn cách sử dụng CMS Direct Admin để quản lý VPS và Hosting, thông qua series này bạn sẽ biết được cách quản lý mã nguồn website của mình như thêm mới, backup, tạo reseller, tạo user .... ...

Linux căn bản

Trong series này bạn và mình sẽ đi tìm hiểu kiến thức Linux căn bản nhé, các kiến thức này chủ yếu nói về hệ điều hành và quy trình hoạt động của nó. Các kiến thức nâng cao mình sẽ trình bày nó ở một series khác. ...

Bài linux lưu trữ

BÀI KẾ SAU BÀI KẾ TIẾP

Thủ thuật Linux

BÀI KẾ SAU BÀI KẾ TIẾP

Cài đặt WordPress trên VPS

Trong series này mình sẽ hướng dẫn các bạn từng bước để cài đặt VPS cho website sử dụng WordPress, đây là series mình biên soạn dựa vào một khóa học bán rất chạy trên UDEMY. Giới thiệu Có bao giờ bạn muốn tự cài VPS để chạy WordPress không? Nếu vậy thì đây là khóa học miễn phí giúp bạn ...

SH - Shell Script là gì?

Nối tiếp chuỗi series học Linux căn bản thì trong phần này chúng ta sẽ tìm hiểu đến kiến thức nâng cao hơn chút xíu đó là lập trình shell script trong Linux, đây là kiến thức bắt buộc bạn phải học khi muốn nẵm vững hệ điều hành Linux nói chung và quản trị Linux server nói riêng. Ok, vì đây là ...

Linux Bash Shell Script

Master Shell Script luôn là ước mơ của các lập trình viên nói chung và lập trình web mảng PHP nói riêng, vì hầu hết website PHP đều chạy trên hệ điều hành Linux. Bản thân mình thì không rành Linux lắm, nhưng cũng như các bạn là muốn mày mò nó một chút để có thể tự quản lý VPS của riêng mình. ...

Cài đặt VPS Ubuntu Server

VPS có chức năng giống như một server vì bản chất nó là một server ảo, vì vậy việc quản lý nó không hề đơn giản mà bắt buộc bạn phải thật rành về hệ điều hành. Trong series này chúng ta sẽ cùng học cách quản lý VPS Linux, cách tạo một server để chạy website. Để học tốt series này thì ...

Vesta Control Panel

BÀI KẾ SAU BÀI KẾ TIẾP