Thứ Sáu, 28 tháng 7, 2023

Các lệnh quản lý file trên Linux

Bài này chúng ta sẽ tìm hiểu về các lệnh quản lý file trên Linux, các thao tác xem, tạo mới hay sửa, xóa file. Đó là những thao tác cơ bản nhất khi làm việc trên môi trường linux.

Một đặc điểm mà nhiều người rất thích trên Linux đó là có thể dễ dàng quản lý tài nguyên bằng dòng lệnh command line, trông rất chuyên nghiệp, đương nhiên bạn sẽ phải mất nhiều thời gian để nhớ những lệnh đó.

Và để giúp các bạn ôn tập kiến thức thì trong bài này mình sẽ hướng dẫn cách quản lý file trên Linux thông qua lệnh command line.

Mục lục

  • 1. Hệ thống file trên Linux
  • 2. Các lệnh thao tác file trên Linux
    • Giải thích kết quả hiển thị
    • Kiểu file (ký tự đầu tiên trong cột 1)
    • Các ký tự meta
    • File ẩn ls -a
    • Tạo file mới touch và vim
    • Sửa file
    • Xem nội dung file
    • Copy file cp
    • Di chuyện mv
    • Xóa file rm

1. Hệ thống file trên Linux

Trên hệ điều hành Windows các bạn hẳn rất quen thuộc với trình quản lý file Windows Explorer. Theo đó có thể thấy hệ thống file sẽ được tổ chức dạng phân cấp, đầu tiên là các ổ đĩa như C, D, E, ... sau đó là các thư mục con trong đó, và trong mục con là file hay các mục con khác. Hệ thống file trên linux cũng tổ chức phân cấp như vậy - có phân vùng, file, folder rồi các mục folder con ...

Bài viết này được đăng tại [free tuts .net]

Thao tác với file, folder trên linux thường dùng lệnh. Danh sách dưới đây mô tả các lệnh cơ bản giúp tạo, xóa, sửa, copy, di chuyển file:

LệnhMô tả
lshiện danh sách file

touch, vi

tạo mới file

cat, vi

xem nội dung file
cpcopy file, folder
mvdi chuyển, đổi tên file, folder
rmxóa file

2. Các lệnh thao tác file trên Linux

Dưới đây là các lệnh thao tác file, bắt đầu là lệnh hiện file:

1
$ls

Lệnh này hiện danh sách các file và mục ra màn hình.

quan ly file tren linux1 png

Như hình trên thì folder hiện màu xanh dương in đậm, file thì hiện màu vàng. Muốn hiện đầy đủ thông tin về file, folder hơn thì thêm tham số -l.

Nó hiện ra tên người sở hữu, ngày sửa đổi gần nhất, kích thước file … Tổng cộng 7 cột thông tin được mô tả bên dưới.

1
$ls -l

quan ly file tren linux4 png

quan ly file tren linux3 png

Giải thích kết quả hiển thị

  • ~ Cột 1: Mô tả kiểu file (là folder, files hay link …), quyền truy cập file. Kiểu file thì mình mô tả chi tiết ở bảng bên dưới.
  • ~ Cột 2: Số lượng khối nhớ file chiếm dụng. Nếu là thư mục thì hiện số mục con của nó.
  • ~ Cột 3: Người sở hữu : Tên người sở hữu
  • ~ Cột 4: Nhóm sở hữu : Nhóm sở hữu file, folder. Một nhóm có thể có nhiều user.
  • ~ Cột 5: Kích thước file theo bytes.
  • ~ Cột 6: Thời gian file bị sửa đổi.
  • ~ Cột 7: Tên file, thư mục.

Kiểu file (ký tự đầu tiên trong cột 1)

Ký hiệuÝ nghĩa
-File thông thường như file text (chữ) hay file binary (máy có thể chạy được), hard-link : link cứng (tương đương file gốc) nghĩa là khi file gốc thay đổi thì link cũng thay đổi theo.
bBlock special file. Block input/output device file such as a physical hard drive.
cCharacter special file. Raw input/output device file such as a physical hard drive
dThư mục, chứa các file hoặc thư mục con khác.
llink tới file hoặc thư mục.
pống dẫn - một cơ chế truyền thông liên tiến trình (các bạn chưa care cái này vội)
ssocket để kết nối liên tiến trình (các bạn chưa care cái này vội)

Các ký tự meta

Các ký tự như ?* gọi là ký tự meta.

  • * đại diện cho một chuỗi ký tự dài tùy ý. Ví dụ như *.doc thì là tất cả các file có đuôi là .doc;
  • ? có ý nghĩa tương tự nhưng chỉ đại diện cho 1 ký tự. Ví dụ như tìm các file .php dài 2 ký tự thì cú pháp là ??.php.

Khi kết hợp lệnh ls với các ký tự meta sẽ cho ra những kết quả chính xác hơn.

1
2
3
$ls -l *.mp4                 // list ra các file đuôi .mp4
FreeTut_Alias_1.mp4
FreeTut_Alias_2.mp4

Tìm các file .blade có 3 ký tự trong mục có các file như sau:

1
2
3
4
5
app.blade.php
home.blade.php
welcome.blade.php
$ls ???.blade.*   // file .blade dài 3 ký tự
app.blade.php

File ẩn ls -a

Các file ẩn thường là file config cấu hình hệ thống như: .bashrc.bash_profile là file cấu hình cho user.

Ví dụ mục home (~) có một số file ẩn sau:

1
2
3
4
5
6
7
8
9
10
11
12
13
$ ls -a ~
.goutputstream-TNR9YX        .viminfo
.goutputstream-ZY71ZX        .viminfo.tmp
.gphoto                      .viminft.tmp
.gradle                      .viminfv.tmp
.gstreamer-0.10              .viminfw.tmp
.gtk-bookmarks               .viminfx.tmp
.gtkrc-2.0                   .viminfy.tmp
.gvfs                        .viminfz.tmp
.history_Symfony             .vimrc
.ICEauthority                x264
.icedtea                     .Xauthority
iMacros                      .xchm

Tạo file mới touch và vim

Nhập lệnh:

1
$ vi ten_file

Lệnh trên sẽ mở trình xoạn thảo vim lên. Bạn nhấp phím i để vào chế độ Insert. Sau khi gõ xong thì nhấn phím Esc. Lưu lại thì gõ :w rồi enter. Thoát bằng cách gõ :wp → enter, hoặc nhấn Shift + ZZ.

Lệnh touch cũng tạo được file. Nếu muốn tạo nhiều file cùng lúc thì cứ để dấu cách ra.

1
$touch tên_file1 tên_file2 …

Sửa file

1
$vim file_a

vi là trình soạn thảo nên nó vừa hiển thị nội dung vừa sửa được file.

Xem nội dung file

Ngoài vim ra thì lệnh cat hay dùng để xem nội dung file.

1
$cat ten_file
Ví dụ
1
2
3
4
5
6
7
8
$cat ~/.vimrc
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
   set fileencodings=ucs-bom,utf-8,latin1
endif
 
set nocompatible        " Use Vim defaults (much better!)
set bs=indent,eol,start         " allow backspacing over everything in insert mode
"set ai                 " always set autoindenting on ...

Muốn xem một phần nội dung thì dùng head hoặc tail:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$head -n 10 ~/.vimrc         // xem 10 dòng đầu file
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
   set fileencodings=ucs-bom,utf-8,latin1
endif
 
set nocompatible        " Use Vim defaults (much better!)
set bs=indent,eol,start         " allow backspacing over everything in insert mode
"set ai                 " always set autoindenting on
"set backup             " keep a backup file
set viminfo='20,\"50    " read/write a .viminfo file, don't store more
                        " than 50 lines of registers
 
$tail -n 10 ~/.vimrc         // xem 10 dòng cuối
if &term=="xterm"
     set t_Co=8
     set t_Sb=^[[4%dm
     set t_Sf=^[[3%dm
endif
 
" Don't wake up system with blinking cursor:
let &guicursor = &guicursor . ",a:blinkon0"

Copy file cp

1
cp file_a file_b  // Copy file a → 2 file a, b

Di chuyện mv

Các bạn dùng lệnh mv (move)

1
2
mv file_1 file_2                    // Đổi file_1 thành file_2
mv file_1 file_2 file_3  folder_one // di chuyển 3 file vào thư mục folder_one

Xóa file rm

1
2
3
rm file_1               // Xóa file 1
rm test*                // Xóa hết file bắt đầu = test
rm -rf folder_one       // Xóa thư mục folder_one.

Trên đây là các lệnh cơ bản rất hay dùng khi làm việc trên linux. 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. Một số tình huống đặc biệt như khi số lượng các file quá nhiều (hàng triệu file), kích thước quá lớn (vài chục GB) thì các lệnh trên sẽ không hoạt động hoặc không chạy như ý muốn. Những tình huống như vậy rất hiếm nhưng khá hay, mình sẽ trình bày trong một bài khác.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
Các lệnh quản lý file trên Linux, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master