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 đó.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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.

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 ...

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ệnh Mô tả
ls hiện danh sách file

touch, vi

tạo mới file

cat, vi

xem nội dung file
cp copy file, folder
mv di chuyển, đổi tên file, folder
rm xó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:

$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.

$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.
b Block special file. Block input/output device file such as a physical hard drive.
c Character special file. Raw input/output device file such as a physical hard drive
d Thư mục, chứa các file hoặc thư mục con khác.
l link 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)
s socket để 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.

$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:

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:

$ 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:

$ 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.

$touch tên_file1 tên_file2 …

Sửa file

$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.

$cat ten_file
Ví dụ
$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:

$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:
" http://www.linuxpowertop.org/known.php
let &guicursor = &guicursor . ",a:blinkon0"

Copy file cp

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)

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

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.

Cùng chuyên mục:

Cách dùng lệnh Users trong Linux để xem user đang online

Cách dùng lệnh Users trong Linux để xem user đang online

Nếu bạn đang là quản trị viên thì việc quản lý thông tin / xem…

Cách sử dụng lệnh Wall trong Linux

Cách sử dụng lệnh Wall trong Linux

Wall là một công cụ dòng lệnh giúp hiển thị thông báo đến tất cả…

Cách dùng lệnh Whereis trong Linux

Cách dùng lệnh Whereis trong Linux

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm ..

Cách sử dụng lệnh Which trong Linux

Cách sử dụng lệnh Which trong Linux

Linux dùng lệnh which để xác định vị trí file thực thi của lệnh mà…

Cách sử dụng lệnh whoami trong Linux

Cách sử dụng lệnh whoami trong Linux

Giống như tên gọi của nó, lệnh whoami in tên người dùng đang chạy ...

Cách dùng lệnh zcat trong Linux

Cách dùng lệnh zcat trong Linux

Mặc dù tính năng nén file rất hữu ích vì nó giúp ta tiết kiệm…

Hiểu rõ hơn về chmod 777 trong Linux

Hiểu rõ hơn về chmod 777 trong Linux

Bạn đang xây dựng một website và sử dụng tính năng upload ...

Cách sử dụng lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux

Mặc định thì lệnh tail sẽ hiển thị 10 dòng cuối cùng của file, thông…

Cách sử dụng lệnh Head trong Linux

Cách sử dụng lệnh Head trong Linux

Trong quá trình quản trị dữ liệu trên Linux đôi khi bạn muốn xem nhanh…

Cách sử dụng lệnh Whatis trong Linux

Cách sử dụng lệnh Whatis trong Linux

Trong bài này chúng ta sẽ tìm hiểu lệnh whatis trong ...

Cách sử dụng lệnh kill trong Linux

Cách sử dụng lệnh kill trong Linux

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không…

Cách dùng lệnh who trong Linux

Cách dùng lệnh who trong Linux

Who là một công cụ dòng lệnh command-line, được ...

Cách dùng lệnh basename trong Linux

Cách dùng lệnh basename trong Linux

basename là một tiện ích dòng lệnh (command line) dùng để lấy ...

Cách sử dụng lệnh gzip trên Linux

Cách sử dụng lệnh gzip trên Linux

Gzip là một trong những thuật toán nén file phổ biến nhất, nó cho phép…

Cách dùng lệnh wait trong Linux

Cách dùng lệnh wait trong Linux

Wait là lệnh dùng để đợi một thời gian cho tới khi công việc nào…

Cách dùng lệnh ping trong Linux

Cách dùng lệnh ping trong Linux

Lệnh ping là một trong những công cụ được sử dụng nhiều nhất để khắc…

Cách dùng lệnh sleep trong Linux

Cách dùng lệnh sleep trong Linux

sleep là một tiện ích command line cho phép lập trình viên ..

Các ví dụ học Bash Script trong Linux cơ bản nhất

Các ví dụ học Bash Script trong Linux cơ bản nhất

Bash Script đuọc xem là mã code lập trình trên Linux ...

Vòng lặp until trong Shell Script

Vòng lặp until trong Shell Script

Vòng lặp while trong Shell Script

Vòng lặp while trong Shell Script

Trong Linux script, vòng lặp while được sử dụng trong ...

Top