Chuyển file vào thư mục trong linux

Hệ điều hành Linux đã cung cấp nhiều lệnh để chúng ta có thể làm việc với tập tin và thư mục. Bài viết này sẽ giới thiệu với các bạn về cách tạo thư mục trên linux, tạo tập tin mới hoặc tập tin trống, xem nội dung của tập tin và tìm kiếm tập tin trên linux, thay đổi dấu thời gian của tập tin và di chuyển, xóa và đổi tên tập tin hoặc thư mục. Các lệnh này giúp bạn quản lý dữ liệu và tập tin của mình và đảm bảo rằng dữ liệu chính xác có sẵn tại đúng vị trí từ đây giúp cho các bạn có thể tự học linux một cách dể dàng hơn.

Làm việc với tập tin và thư mục1. Lệnh ls - xem danh sách tập tin thư mục
ls -[tùy chọn] [đường dẫn thư mục muốn xem]

Các tuỳ chọn phổ biến của lệnh ls:

Các tùy chọnÝ nghĩa-LHiển thị danh sách tập tin, thư mục [chỉ hiện thị tên].-lHiển thị danh sách tập tin, thư mục [gồm nhiều cột: filename, size, date,….-aLiệt kê tất cả các tập tin, thư mục, bao gồm những tập tin ẩn.-RLiệt kê tất cả các tập tin, thư mục kể cả các tập tin, thư mục bên trong thư mục cha.

Ngoài ra chúng ta có thể sử dụng "man" để xem các tuỳ chọn của lệnh ls

man ls

1.1. Lệnh grep

Lệnh grep - lọc lại tên tập tin thư mục muốn xem

Lệnh

grep “yum” /root/*.txt
3 của "/" cho kết quả nhiều thông tin, nếu muốn lọc lại tên tập tin thư mục muốn xem chỉ cần thêm
grep “yum” /root/*.txt
4.

lệnh | grep [nhập ký tự muốn lọc]

Ví dụ 1: Muốn xem trong "/" có tập tin, thư mục nào có ký tự là pro thì thực hiện như sau:

ls -l | grep pro

Ví dụ 2: Muốn xem trong thư mục /etc có tập tin, thư mục nào có ký tự là yum thì thực hiện như sau:

ls -l /etc/ | grep yum

Lệnh grep còn được dùng tìm kiếm chuỗi trong file:

grep “ chuoi ” tên file

Lệnh grep còn được dùng tìm kiếm chuỗi trong nhiều file cùng lúc:

grep “ chuoi ” file_pattern

Chú ý: Dùng ký hiệu "*" để thực hiện tìm kiếm nhiều tập tin cùng một lúc.

Ví dụ: Tìm kiếm chuỗi "yum" trong các file có đuôi .txt trong thư mục /root:

grep “yum” /root/*.txt
2. Lệnh cd

Lệnh

grep “yum” /root/*.txt
5 dùng để đổi sang thư mục khác

Các lệnh cd thông dụng

  • Di chuyển về thư mục gốc:
    grep “yum” /root/*.txt
    
    6
  • Di chuyển đến 1 vị trí bất kì khi biết đường dẫn tuyệt đối:
    grep “yum” /root/*.txt
    
    7
  • Di chuyển đến thư mục con nằm trong thư mục hiện tại:
    grep “yum” /root/*.txt
    
    8 hoặc
    grep “yum” /root/*.txt
    
    9
  • Di chuyển đến thư mục mẹ:

    cd ..
    

Hoặc

cd ../.. : di chuyển về thư mục mẹ 2 lần
  • Lệnh cd không có tham số, sẽ đưa bạn về home directory, dù bất kể bạn đang ở đâu:
    grep “yum” /root/*.txt
    
    5 hoặc
    cd ..
    
    1
  • Lệnh cd dùng để quay về thư mục trước:
    cd ..
    
    2
3. Lệnh pwd

Lệnh

cd ..
3 chúng ta sẽ có ful path của thư mục mà chúng ta đang dùng ở hiện tại.

man ls
04. Lệnh mkdir – dùng để tạo thư mục trên Linux

Lệnh

cd ..
4 được sử dụng để tạo một thư mục trong thư mục hiện tại:

man ls
1

Ví dụ: Tạo thư mục tên exampledir trong thư mục hiện tại:

man ls
25. Lệnh xóa tập tin thư mục

5.1: Xóa tập tin:

man ls
3

Ví dụ: Xóa tập tin abc.txt trong /usr/passwd:

man ls
4

5.2: Xóa tập tin mà không cần hỏi:

man ls
5

Ví dụ: Xóa tập tin abc.txt trong /usr/passwd:

man ls
6

5.3: Xóa thư mục:

man ls
7

Ví dụ: Xóa thư mục example trong /usr/bin:

man ls
8

5.4: Xóa thư mục rỗng:

man ls
9

Ví dụ: Xóa thư mục dir trong /usr/bin:

cd ..
5

6. Lệnh copy tập tin, thư mục

6.1: Lệnh sao chép tập tin:

lệnh | grep [nhập ký tự muốn lọc]
0

Ví dụ: Sao chép tập tin abc.txt trong thư mục /root sang /usr:

cd ..
6

6.2: Lệnh sao chép thư mục:

lệnh | grep [nhập ký tự muốn lọc]
1

Ví dụ: Sao chép thư mục /root/networks sang /usr/bin:

lệnh | grep [nhập ký tự muốn lọc]
27. Lệnh mv - dùng di chuyển, đổi tên

Lệnh

cd ..
7 thực hiện nhiệm vụ kép. Nó có thể thực hiện:

7.1:Cần đổi tên một tập tin

lệnh | grep [nhập ký tự muốn lọc]
3

Ví dụ: Đổi tên tập tin test1.txt trong /root thành test.txt:

lệnh | grep [nhập ký tự muốn lọc]
4

7.2: Di chuyển một tập tin đến vị trí khác, trong khi đó nó có thể đổi tên cùng lúc.

lệnh | grep [nhập ký tự muốn lọc]
5

Ví dụ: Di chuyển và đổi tên tập tin test1.txt trong /root sang /etc đổi tên thành test.txt:

cd ..
8

8.Lệnh touch - dùng để tạo tập tin rỗng

Lệnh

cd ..
9 thường được sử dụng để thiết lập hoặc cập nhật quyền truy cập, thay đổi và sửa đổi thời gian của tập tin.Theo mặc định, nó đặt lại dấu thời gian của tập tin để khớp với thời gian hiện tại.

Ngoài ra lệnh

cd ..
9 còn dùng để tạo tập tin rỗng.

lệnh | grep [nhập ký tự muốn lọc]
6

Ví dụ: Tạo tập tin tên test1.txt:

lệnh | grep [nhập ký tự muốn lọc]
7

Lệnh

cd ..
9 còn cung cấp một số tiện ích, như tuỳ chọn -t cho phép bạn đặt ngày thời gian của tệp.

lệnh | grep [nhập ký tự muốn lọc]
8

Ví dụ: Đặt thời gian cho tập tin myfile, ngày 9 tháng 12 và lúc 4 giờ chiều [12091600]:

lệnh | grep [nhập ký tự muốn lọc]
99. Dùng trình soạn thảo vi

Linux có nhiều chương trình cho phép soạn thảo văn bản như: vi, emacs, joe, pico,… chương trình soạn thảo văn bản thông dụng nhất đó là vi.

Khi

cd ../.. : di chuyển về thư mục mẹ 2 lần
2 khởi động sẽ ở chế độ dòng lệnh. Để chuyển đổi từ chế độ dòng lệnh sang chế độ soạn thảo thì nhấn phím insert. Để trở lại chế độ dòng lệnh thì chọn phím ESC.

ls -l | grep pro
0

Ví dụ: Tạo tập tin 123.txt và đặt trong thư mục /usr/bin với nội dung là “ dung trinh soan thao vi”

Bước 1: Dùng lệnh vi để tạo tập tin 123.txt. Nếu tập tin này đã có thì cũng dùng vi để mở và cũng theo cú pháp ở trên.

ls -l | grep pro
1

Bước 2: Nhấn phím i để nhập nội dung “dung trinh soan thao vi”.

Bước 3: Nhấn phím ESC để nhập một trong các yêu cầu sau:

  • cd ../.. : di chuyển về thư mục mẹ 2 lần
    
    3: thoát mà không lưu văn bản.

  • cd ../.. : di chuyển về thư mục mẹ 2 lần
    
    4: Lưu và thoát khỏi tập tin.

Các câu lệnh và tác dụng trong chế độ dòng lệnh của trình soạn thảo vi:

Câu lệnhTác dụng^ hoặc 0Dịch chuyển con trỏ đến vị trí bắt đầu của dòng hiện tại.$Dịch chuyển con trỏ đến vị trí kết thúc của dòng hiện tại.i,aChèn văn bản ngay trước/sau vị trí con trỏ.OMở một dòng mới ngay sau dòng hiện tại.OMở một dòng mới ngay trước dòng hiện tại.XXóa ký tự sau con trỏ.DwXoá một từ [bao gồm cả ký tự trống ngay sau nó].DXoá từ vị trí con trỏ đến kết thúc dòng.d^Xoá từ vị trí bắt đầu dòng đến vị trí ký tự trống hay ký tự bên trái con trỏ.UHuỷ bỏ thay đổi trước đó./patternTìm xâu pattern. Theo hướng tiến.?patternTìm xâu pattern, theo hướng lùi về đầu văn bản.n,NLặp lại việc tìm kiếm theo cùng hướng/ngược hướng.p, PDán đoạn văn bản vừa xoá vào trước/sau con trỏ..Lặp lại câu lệnh cuối.DdXóa dòng có con trỏ chạy.:wGhi lại tất cả các thay đổi của file hiện tại và tiếp tục soạn thảo.:q!Kết thúc, không lưu trữ bất kỳ thay đổi.:ZZLưu thay đổi của file hiện tại và kết thúc.

10. Tạo tập tin có nội dung:
ls -l | grep pro
2

Ghi vào dòng tiếp theo của tập tin có nội dung:

ls -l | grep pro
311. Xem tập tin

Chúng ta sử dụng các lệnh để xem tập tin:

LệnhChức năngcatDùng để xem các tập tin không quá dài.tacDùng để xem nội dung của một tập tin ngước bắt đầu từ dòng cuối.tessDùng để xem tập tin lớn hơn vì đây là chương trình phân trang.tailDùng để in 10 dòng cuối của tập tin theo mặc định. Chúng ta có thể thay đổi số dòng bằng cách thêm -n vào sau tail, n là số dòng bạn muốn.headDùng để in 10 dòng đầu của tập tin theo mặc định. Chúng ta có thể thay đổi số dòng bằng cách thêm -n vào sau head, n là số dòng bạn muốn.

12. Lệnh tìm kiếm
ls -l | grep pro
4

Ví dụ: Tìm vị trí của tập tin xyz.txt trong /etc:

ls -l | grep pro
5

Ngoài việc tìm theo tên [-name], có thể tìm theo các tùy chọn khác như: -type, -user, -atime, -amin, -newer,… Sử dụng lệnh man find để xem chi tiết.

Chú ý: Có thể dùng ký hiệu "*" để thực hiện xóa, tìm kiếm, sao chép... nhiều tập tin cùng một lúc.

12.1: Tìm theo thời gian và size

Find có thêm cả phần lọc kết quả theo thời gian và size nữa.

12.1.1: Size

Ta có thể tìm những file có dung lượng tùy ý, bằng cách dùng -size. Một số option thường dùng:

  • cd ../.. : di chuyển về thư mục mẹ 2 lần
    
    5: bytes
  • cd ../.. : di chuyển về thư mục mẹ 2 lần
    
    6: Kilobytes
  • cd ../.. : di chuyển về thư mục mẹ 2 lần
    
    7: Megabytes
  • cd ../.. : di chuyển về thư mục mẹ 2 lần
    
    8: Gigabytes
  • cd ../.. : di chuyển về thư mục mẹ 2 lần
    
    9: 512-byte blocks

Tìm tất cả các file nặng đúng 100 bytes:

ls -l | grep pro
6

Tìm các file nhỏ hơn 100 bytes:

ls -l | grep pro
7

Hoặc tìm các file nặng hơn 1GB:

ls -l | grep pro
8

12.1.2: Time

Linux lưu trữ 1 vài thông tin liên quan đến thời gian như: thời điểm truy cập, thời điểm chỉnh sửa, và thời điểm thay đổi file.

  • Access Time [thời điểm truy cập]: Lần cuối cùng file được đọc hoặc ghi vào.
  • Modification Time [thời điểm chỉnh sửa]: Lần cuối nội dung file được chỉnh sửa.
  • Change Time [thời điểm thay đổi]: Lần cuối mà inode meta-data của file bị sửa.

Tương đương với các thông tin trên, ta dùng -atime, -mtime, -ctime, và cả "-" và "+" để lọc ra những thời gian trước hay sau thời điểm đó.

Để tìm các file được chỉnh sửa trong vòng 1 ngày trước:

ls -l | grep pro
9

Tìm các file được truy cập trong ngày hôm qua:

ls -l /etc/ | grep yum
0

Các file mà meta-data bị chỉnh sửa lần cuối là 3 ngày trước và hơn:

ls -l /etc/ | grep yum
1

Hoặc tìm theo phút chứ không phải ngày:

ls -l /etc/ | grep yum
2

Lệnh trên sẽ tìm các file được chỉnh sửa trong vòng 1 phút trước.

Lệnh find còn có thể so sánh với 1 file, và trả về những file mới hơn:

ls -l /etc/ | grep yum
3

12.2: Tìm theo Owner và Permission

Chúng ta có thể tìm theo user hay group owner bằng

man ls
00 và
man ls
01.

Tìm các file mà user "test" sở hữu:

ls -l /etc/ | grep yum
4

Hoặc các file mà group "newgroup" sở hữu:

ls -l /etc/ | grep yum
5

Chúng ta cũng tìm được theo permission của file, bằng -perm

Tìm những file có permission 644:

ls -l /etc/ | grep yum
6

hoặc những file có permission ít nhất 644, nghĩa là gồm cả các file có permisson là 744:

ls -l /etc/ | grep yum
7

12.3: Kết hợp find và command khác

Chúng ta còn có thể kết hợp

man ls
02 và các command khác để xử lý những file vừa tìm được với
man ls
03

ls -l /etc/ | grep yum
8

Tìm các file có permission là 644 và chmod sang 755:

ls -l /etc/ | grep yum
9

Tìm 1 file test.py và xóa nó:

grep “ chuoi ” tên file
0

Hoặc xóa các file có đuôi .txt ở dir hiện tại:

grep “ chuoi ” tên file
113. Lệnh nén và giải nén tập tin thư mục

Trong hệ thống Linux tồn tại một số dạng nén cơ bản như: zip,... Dưới đây là một vài ví dụ về cách nén và giải nén với định dạng đó.

Nén và giải nén tập tin có đuôi là .gz

grep “ chuoi ” tên file
2

Ví dụ 1: Nén tập tin test.txt trong thư mục /usr/bin thành test.txt.gz:

grep “ chuoi ” tên file
3

Ví dụ 2: Giải nén tập tin test.txt.gz trong thư mục /usr/bin:

grep “ chuoi ” tên file
414. Lệnh locate

Lệnh

man ls
04 giúp chúng ta tìm kiếm rất nhanh một file bất kì trên hệ thống Linux. Chúng ta thường dùng cú pháp như sau:

grep “ chuoi ” tên file
5

Chương trình

man ls
04 có tên gói cài đặt là
man ls
06

Cú pháp cài đặt chương trình

man ls
04 như sau:

  • Đối với CentOS/RHEL

    grep “ chuoi ” tên file
    
    6
  • Đối với Debian/Ubuntu

    grep “ chuoi ” tên file
    
    7

Một số ví dụ về lệnh

man ls
04:

Ví dụ 1: Tìm một file với lệnh

man ls
04

grep “ chuoi ” tên file
8

Ví dụ 2: Hiển thị đếm số lượng kết quả sử dụng tùy chọn

man ls
10

grep “ chuoi ” tên file
9

Ví dụ 4: Hiển thị kết quả tên file chữ hoa chữ thường

Theo mặc định thì

man ls
04 chỉ tìm ra những file có chữ thường. Nhưng trong một số trường hợp thì chúng ta muốn tìm kiếm file có chữ thường chữ hoa chúng ta sử dụng tùy chọn
man ls
12. Cú pháp như sau:

grep “ chuoi ” file_pattern
0

Ví dụ 5: Giới hạn kết quả xuất ra

Nếu không giới hạn kết quả xuất ra sẽ ra rất nhiều kết quả liên quan. Như ví dụ sau

grep “ chuoi ” file_pattern
1

Để giới hạn số lượng xuất ra chúng ta sử dụng tùy chọn

man ls
13. Ví dụ chúng ta muốn xuất 5 dòng thì chúng ta thực hiện như sau:

grep “ chuoi ” file_pattern
2

Để cập nhật lại dữ liệu cho

man ls
04 chúng ta chay lệnh sau:

grep “ chuoi ” file_pattern
315. Lệnh which và lệnh whereis

15.1. Lệnh which

Lệnh

man ls
15 xác định vị trí một chương trình trong đường dẫn của người dùng.

Một số cú pháp của lệnh

man ls
15:

Tìm kiếm biến môi trường PATH và hiển thị vị trí của bất kỳ tập tin thực thi phù hợp nào

grep “ chuoi ” file_pattern
4

Nếu có nhiều tập tin thực thi khớp, hiển thị tất cả:

grep “ chuoi ” file_pattern
5

15.2 Lệnh whereis

Lệnh

man ls
17 rất hữu ích để tìm kiếm các trang nhị phân, nguồn các lệnh trong hệ thống Linux. Cú pháp như sau:

grep “ chuoi ” file_pattern
6

Ví dụ 1: Nó định vị các trang nhị phân, nguồn và man của lệnh

man ls
18 và nó hiển thị các đường dẫn trong đó các trang nhị phân, lệnh man có sẵn trong hệ thống.

grep “ chuoi ” file_pattern
7

Ví dụ 2: Xác định vị trí của tập tin nhị phân lệnh

man ls
19 tuỳ chọn
man ls
20

grep “ chuoi ” file_pattern
8

Ví dụ 3: Xác định vị trí của trang man lệnh

man ls
19 tuỳ chọn
man ls
22

grep “ chuoi ” file_pattern
916. Lệnh type

Lệnh

man ls
23 trong Linux được sử dụng để tìm hiểu một lệnh mà chúng ta nhập sẽ diễn giải là một lệnh tích hợp, lệnh bên ngoài hoặc bí danh[alias] của shell hiện tại. Cú pháp của lệnh này là:

Chủ Đề