Hướng dẫn các lệnh cơ bản về quản lý tập tin trong Linux
Giới thiệu
Trên Linux chúng ta quản lý file và thư mục bằng dòng lệnh, trong bài viết này sẽ hướng dẫn chúng ta các lệnh quản lý file cơ bản sẽ giúp chúng ta tạo và quản lý các file trên hệ thống.
Tổng quan về file trên hệ thống linux
File thông thường.
Đây là loại file phổ biến nhất, các file này chứa các thông tin mà chúng ta có thể đọc đươc, hướng dẫn chương trình và ký tự ASCII.
Ví dụ về các file thông thường bao gồm:
- File văn bản đơn giản, file pdf
- Các file đa phương tiện như file hình ảnh, nhạc và video
- Tập tin nhị phân
- File nén hoặc nén ...
File đặc biệt.
Đây là các file đại diện cho các thiết bị vật lý như ổ đĩa được gắn kết, máy in, ổ đĩa CD và bất kỳ thiết bị đầu vào và đầu ra I/O.
Thư mục.
Thư mục là một loại file đặc biệt lưu trữ cả file thông thường và file đặc biệt theo thứ tự phân cấp bắt đầu từ thư mục gốc (/). Thư mục tương đương với một thư mục trong hệ điều hành Windows. Thư mục được tạo bằng lệnh mkdir.
Cấu trúc phân cấp của Linux bắt đầu từ thư mục gốc và phân nhánh ra các thư mục khác như hình dưới. Giải thích các thư mục.
Thư mục /root là thư mục chính cho người dùng gốc.
Thư mục /dev chứa các file thiết bị như /dev/sda.
Thư mục /boot chứa các file khởi động.
Thư mục /usr chứa các ứng dụng và tiện ích người dùng
Thư mục /var chứa các file log của các ứng dụng hệ thống khác nhau.
Thư mục / etc chứa các file cấu hình hệ thống.
Thư mục /home là nơi đặt các thư mục người dùng. Chúng bao gồm Máy tính để bàn, Tài liệu, Tải xuống, Nhạc, Công khai và Video.
Thư mục / opt chứa các gói ứng dụng bổ trợ.
Thư mục /media lưu trữ các file cho các thiết bị di động như ổ USB.
Thư mục /mnt chứa các thư mục con hoạt động như các điểm gắn kết tạm thời cho các thiết bị gắn kết như CD-ROM.
Thư mục /proc là một hệ thống file ảo chứa thông tin về các tiến trình hiện đang chạy.
Thư mục /bin chứa các file nhị phân lệnh của người dùng.
Thư mục /lib lưu trữ hình ảnh thư viện được chia sẻ và các mô-đun hạt nhân.
Lệnh pwd
pwd là một lệnh in ra thư mục làm việc hiện tại theo thứ tự phân cấp, bắt đầu bằng thư mục gốc trên cùng (/).
Đầu ra chúng ta thấy chúng ta đang ở thư mục root, đường dẫn tuyệt đối là /root.
Lệnh cd
cd
viết tắt của change directory, dùng để thay đổi hoặc điều hướng các thư mục.
Ví dụ để đều hướng đến thư mục /var/www
chúng ta dùng lệnh như sau:
Để đi lên trên một thư mục chúng ta hãy nối hai dấu chấm.
Để quay lại thư mục chính, chúng ta hãy chạy lệnh cd mà không có bất kỳ đối số nào.
Lệnh hiển thị danh sách các file/thư mục ls
Lệnh này hiển thị các file và thư mục ra màn hình.
Như hình trên thì folder là màu xanh dương, và file thì màu trắng.
Nếu chúng ta muốn hiện đầy đủ thông tin về file, folder hơn thì chúng ta thêm tham số -l
.
Để hiển thị các file ẩn, chúng ta dùng tham số -a
. File ẩn là những file môi trường có bắt đầu bằng dấu .
(ví dụ: ., .., .profile, .bashrc).
Ngoài ra, chúng ta có thể kết hợp nhiều tham số với nhau, ví dụ kết hợp tham số - l
để hiện thị đầy đủ thông của file, folder và tham số - a
để hiển thị file ẩn.
Và chúng ta có thể kết hợp thêm tham số -h
để hiển thị kích thước file dưới dạng Kilobyte, Megabyte, Gigabyte.
Lệnh tạo file touch
123hostvn
Là tên file chúng ta muốn tạo.
Tạo nhiều file mới touch.
Ngoài ra chúng ta có thể tạo nhiều file cùng một lúc, được cách nhau bằng dấu cách ví dụ như:
Lệnh copy file/thư mục cp
cp
Là lệnh dùng để copy file, thư mục từ vị trí này sang vị trí khác.
Copy tập tin.
Để copy tập tin chúng ta dùng lệnh với cú pháp sau:
cp <file-path> <folder-path>
Ví dụ chúng ta copy file 123host.txt
vào thư mục /var/www/demo-123host/
chúng ta dùng lệnh như sau:
Copy thư mục.
Để sao chép một thư mục, chúng ta thêm tham số -R
để copy tất cả nội dung của thư mục với cú pháp như sau:
cp -R <folder-path> <folder-path>
Ví dụ chúng ta copy thư mục wordpress
vào thư mục /var/www/demo-123host/
chúng ta dùng lệnh như sau:
Lệnh di chuyển file/thư mục mv
mv
là lệnh di chuyển file, thư mục từ vị trí này sang vị trí khác. Nó có thể dùng để đổi tên file, thư mục tùy thuộc vào cách chúng ta sử dụng.
Di chuyển file.
Để di chuyển file từ vị trí này sang vị trí khác, chúng ta dùng cú pháp lệnh như sau:
mv <file-path> <folder-path>
Ví dụ chúng ta muốn di chuyển file 123host.txt
vào thư mục /var/www/demo-123host/
chúng ta dùng lệnh như sau:
Để đổi tên file chúng ta dùng cú pháp lệnh mv
như sau:
mv <filename1> <filename2>
Ví dụ chúng ta muốn đổi tên file 123host.txt
thành new-123host.txt
chúng ta dùng lệnh như sau:
Ngoài ra, chúng ta có thể di chuyển và đổi tên file cùng một lúc bằng cách chỉ định thư mục đích và tên file khác.
Ví dụ chúng ta di chuyển file config-example
đến thư mục /var/www/demo-123host/
và đổi tên thành config
chúng ta dùng lệnh như sau:
Di chuyển thư mục.
Để di chuyển thư mục từ vị trí này sang vị trí khác trên Linux chúng ta dùng cú pháp lệnh mv
như sau:
mv <folder-path> <folder-path>
Ví dụ chúng ta di chuyển thư mục wordpress
vào thư mục /var/www/demo-123host
chúng ta dùng lệnh như sau:
Chúng ta cũng có thể đổi tên thư mục với cú pháp như sau:
mv <foldername1> <foldername2>
Ví dụ chúng ta đổi tên thư mục 123host
thành new-123host
chúng ta dùng lệnh như sau:
Tương tự như file, chúng ta có thể di chuyển và đổi tên thư mục cùng một lúc bằng cách chỉ định thư mục đích và tên thư mục khác.
Ví dụ chúng ta muốn di chuyển thư mục wordpress
vào thư mục /var/www/demo-123host/
và đổi tên thành public-html
chúng ta sử dụng lệnh như sau:
Lệnh xóa file rm
Lệnh rm (xóa) cần phải cẩn thận vì trên linux một khi đã xóa file thì rất khó lấy lại được.
123hostvn
: Là file chúng ta muốn xóa
Chúng ta còn có các tham số lệnh rm như sau
-i
: Xác nhận mỗi tập tin trước khi xóa-f
: (force) xóa file không cần nhắc
Lệnh tạo thư mục mkdir
123host
: Là tên thư mục chúng ta muốn tạo
Tạo nhiều thư mục bằng mkdir.
Nếu chúng ta muốn tạo nhiều thư mục cùng lúc, chúng ta có thể thêm nhiều tên thư mục và cách nhau bởi dấu cách.
Tạo thư mục cha bằng mkdir.
Để tạo một thư mục kèm theo thư mục cấp cha của nó phải được tạo ra ngay cả khi cấp thư mục cha chưa tồn tại. Thì chúng ta hãy dùng tham số -p
. Ví dụ như thư mục /123host-demo chưa được tạo, bây giờ chúng ta muốn tạo thư mục của nó /123host-demo/123hostvn thì lệnh sẽ tạo luôn thư mục cha và thư mục con.
Cách cấp quyền khi tạo thư mục bằng mkdir
Để tạo một thư mục với phân quyền cụ thể, chúng ta sử dụng tham số -m
.
Ví dụ trên, chúng ta đã tạo ra thư mục 123host
với quyền 755
.
Nếu bạn dùng tham số -m
mà không đi kèm giá trị phân quyền thì thư mục sẽ được tạo ra theo giá trị umask mặc định.
Hiển thị quá trình tạo thư mục.
Với tham -v
của lệnh mkdir sẽ buộc lệnh phải in ra các thông tin như khởi tạo thư mục thành công hay không ? khởi tạo thất bại? thư mục đã tồn tại.
Lệnh xóa thư mục trong Linux rmdir hoặc rm
Để xóa thư mục trống thì chúng ta có thể sử dụng lệnh rmdir và rm như sau:
Hoặc
123hostvn
: là thư mục chúng ta muốn xóa
Để xóa thư mục có dữ liệu bên trong thì chúng ta dùng lệnh rm.
r
: Là tham số xóa đệ quy.f
: (force) Để xóa mà không cần nhắc.123hostvn
: Là thư mục chúng ta cần xóa.
Sự khác biệt giữa lệnh rmdir
và rm -r
.
Lệnh
rmdir
chỉ dùng để xóa thư mục trống.Lệnh
rm -r
dùng để xóa thư mục, và tất cả nội của nó.
Lệnh tìm kiêm vị trí file find và locate
Để tìm kiếm vị trí của một file cụ thể chúng ta sử dụng lệnh find hoặc locate
Lệnh find.
Lệnh find là lệnh tìm kiếm một file ở một vị trí cụ thể với 2 đối số đầu vào là đường dẫn thư mục cần tìm kiếm và tên file. Cú pháp như sau:
find </path/to/search> -name <filename>
Ví dụ chúng ta tìm kiếm file 123host.txt
trong thư mục /var/www/demo-123host
.
Lệnh locate.
Lệnh locate, giống như lệnh find đóng vai trò tương tự là tìm kiếm file, nhưng chỉ lấy một đối số đầu vào là tên file như sau:
locate <filename>
Ví dụ chúng ta cần tìm kiếm file 123host.txt
.
Lệnh locate
tìm kiếm bằng cách sử dụng cơ sở dữ liệu của tất cả các tệp và thư mục có thể có trong hệ thống.
Lệnh locate nhanh hơn nhiều so với lệnh find. Tuy nhiên, lệnh find mạnh hơn nhiều và hoạt động trong các tình huống mà locate không tạo ra kết quả mong muốn.
Tổng kết
Chúng ta đã tìm hiểu xong các lệnh cơ bản về quản lý tập tin trong Linux, hy vọng nó sẽ giúp ích được cho các bạn quản lý tập tin trên Linux.
Tính năng đang được phát triển