Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình Bash

15 ví dụ thực tế về lệnh 'ls' Unix để quản lý tệp hiệu quả

15 ví dụ thực tế về lệnh  ls  Unix để quản lý tệp hiệu quả ls – Người dùng Unix và quản trị viên hệ thống không thể sống thiếu lệnh hai chữ cái này. Cho dù bạn sử dụng nó 10 lần một ngày hay 100 lần một ngày, việc biết sức mạnh của lệnh ls có thể khiến hành trình dòng lệnh của bạn trở nên thú vị.

Trong bài viết này, chúng ta hãy xem lại 15 ví dụ thực tế về lệnh ls mạnh mẽ.

1. Mở tệp đã chỉnh sửa lần cuối bằng ls -t

Để mở tệp đã chỉnh sửa gần đây nhất trong thư mục hiện tại, hãy sử dụng kết hợp các lệnh ls, head và vi như hiển thị bên dưới.

ls -t sắp xếp tệp theo thời gian sửa đổi, hiển thị tệp được chỉnh sửa cuối cùng trước tiên. đầu -1 chọn tập tin đầu tiên này.

$ vi first-long-file.txt
$ vi second-long-file.txt
$ vi `ls -t | head -1`
[Note: This will open the last file you edited (i.e second-long-file.txt)]

2. Hiển thị một tệp trên mỗi dòng bằng ls -1

Để hiển thị một mục trên mỗi dòng, hãy sử dụng tùy chọn -1 như hiển thị bên dưới.

$ ls -1
bin
boot
cdrom
dev
etc
home
initrd
initrd.img
lib

3. Hiển thị tất cả thông tin về tệp/thư mục bằng ls -l

Để hiển thị thông tin danh sách dài về tập tin/thư mục.

$ ls -l
-rw-r----- 1 ramesh team-dev 9275204 Jun 13 15:27 mthesaur.txt.gz
  • Ký tự thứ 1 – Loại tệp: Ký tự đầu tiên chỉ định loại tệp.
    Trong ví dụ trên, dấu gạch nối (-) ở ký tự thứ 1 cho biết đây là file bình thường. Sau đây là các tùy chọn loại tệp có thể có trong ký tự đầu tiên của đầu ra ls -l.
    • Giải thích hiện trường
    • – tập tin bình thường
    • d thư mục
    • tệp ổ cắm
    • l tập tin liên kết
  • Trường 1 – Quyền đối với tệp: Ký tự 9 tiếp theo chỉ định quyền của tập tin. Mỗi 3 ký tự đề cập đến quyền đọc, ghi, thực thi đối với người dùng, nhóm và thế giới. Trong ví dụ này, -rw-r—– biểu thị quyền đọc-ghi đối với người dùng, quyền đọc đối với nhóm và không có quyền đối với người khác.
  • Trường 2 – Số lượng liên kết: Trường thứ hai chỉ định số lượng liên kết cho tệp đó. Trong ví dụ này, 1 chỉ biểu thị một liên kết đến tệp này.
  • Trường 3 – Chủ sở hữu: Trường thứ ba chỉ định chủ sở hữu của tệp. Trong ví dụ này, tệp này thuộc sở hữu của tên người dùng ‘ramesh’.
  • Trường 4 – Nhóm: Trường thứ tư chỉ định nhóm của tệp. Trong ví dụ này, tệp này thuộc nhóm ”team-dev’.
  • Trường 5 – Kích thước: Trường thứ năm chỉ định kích thước của tập tin. Trong ví dụ này, ‘9275204’ cho biết kích thước tệp.
  • Trường 6 – Ngày và giờ sửa đổi lần cuối: Trường thứ sáu chỉ định ngày và giờ sửa đổi tệp cuối cùng. Trong ví dụ này, '13 tháng 6 15:27' chỉ định thời gian sửa đổi cuối cùng của tệp.
  • Trường 7 – Tên tệp: Trường cuối cùng là tên của tập tin. Trong ví dụ này, tên tệp là mthesaur.txt.gz.

4. Hiển thị kích thước tệp ở định dạng mà con người có thể đọc được bằng ls -lh

Sử dụng ls -lh (h là viết tắt của dạng con người có thể đọc được), để hiển thị kích thước tệp ở định dạng dễ đọc. tức là M cho MB, K cho KB, G cho GB.

$ ls -l
-rw-r----- 1 ramesh team-dev 9275204 Jun 12 15:27 arch-linux.txt.gz*
$ ls -lh
-rw-r----- 1 ramesh team-dev 8.9M Jun 12 15:27 arch-linux.txt.gz

5. Hiển thị thông tin thư mục bằng ls -ld

Khi bạn sử dụng “ls -l”, bạn sẽ nhận được thông tin chi tiết về nội dung thư mục. Nhưng nếu bạn muốn biết chi tiết về thư mục thì bạn có thể sử dụng tùy chọn -d. Ví dụ:nếu bạn sử dụng ls -l /etc sẽ hiển thị tất cả các tệp trong thư mục etc. Tuy nhiên, nếu bạn muốn hiển thị thông tin về thư mục /etc/, hãy sử dụng tùy chọn -ld như hiển thị bên dưới.

$ ls -l /etc
total 3344
-rw-r--r-- 1 root root 15276 Oct 5 2004 a2ps.cfg
-rw-r--r-- 1 root root 2562 Oct 5 2004 a2ps-site.cfg
drwxr-xr-x 4 root root 4096 Feb 2 2007 acpi
-rw-r--r-- 1 root root 48 Feb 8 2008 adjtime
drwxr-xr-x 4 root root 4096 Feb 2 2007 alchemist
$ ls -ld /etc
drwxr-xr-x 21 root root 4096 Jun 15 07:02 /etc

6. Sắp xếp các tệp dựa trên thời gian sửa đổi lần cuối bằng ls -lt

Để sắp xếp tên tệp được hiển thị theo thứ tự thời gian sửa đổi lần cuối, hãy sử dụng tùy chọn -t. Bạn sẽ thấy hữu ích khi sử dụng nó kết hợp với tùy chọn -l.

$ ls -lt
total 76
drwxrwxrwt 14 root root 4096 Jun 22 07:36 tmp
drwxr-xr-x 121 root root 4096 Jun 22 07:05 etc
drwxr-xr-x 13 root root 13780 Jun 22 07:04 dev
drwxr-xr-x 13 root root 4096 Jun 20 23:12 root
drwxr-xr-x 12 root root 4096 Jun 18 08:31 home
drwxr-xr-x 2 root root 4096 May 17 21:21 sbin
lrwxrwxrwx 1 root root 11 May 17 20:29 cdrom -> media/cdrom
drwx------ 2 root root 16384 May 17 20:29 lost+found
drwxr-xr-x 15 root root 4096 Jul 2 2008 var

7. Sắp xếp các tệp dựa trên thời gian sửa đổi lần cuối (Theo thứ tự ngược lại) bằng ls -ltr

Để sắp xếp tên tệp trong lần sửa đổi gần đây nhất theo thứ tự ngược lại. Điều này sẽ hiển thị tệp được chỉnh sửa cuối cùng ở dòng cuối cùng, điều này sẽ rất hữu ích khi danh sách vượt ra ngoài một trang. Đây là cách sử dụng ls mặc định của tôi. Bất cứ khi nào tôi làm ls, tôi luôn sử dụng ls -ltr vì tôi thấy điều này rất tiện lợi.

$ ls -ltr
total 76
drwxr-xr-x 15 root root 4096 Jul 2 2008 var
drwx------ 2 root root 16384 May 17 20:29 lost+found
lrwxrwxrwx 1 root root 11 May 17 20:29 cdrom -> media/cdrom
drwxr-xr-x 2 root root 4096 May 17 21:21 sbin
drwxr-xr-x 12 root root 4096 Jun 18 08:31 home
drwxr-xr-x 13 root root 4096 Jun 20 23:12 root
drwxr-xr-x 13 root root 13780 Jun 22 07:04 dev
drwxr-xr-x 121 root root 4096 Jun 22 07:05 etc
drwxrwxrwt 14 root root 4096 Jun 22 07:36 tmp

8. Hiển thị các tập tin ẩn bằng ls -a (hoặc) ls -A

Để hiển thị tất cả các tệp ẩn trong thư mục, hãy sử dụng tùy chọn '-a'. Các tệp ẩn trong Unix bắt đầu bằng '.' trong tên tệp của nó.

$ ls -a
[rnatarajan@asp-dev ~]$ ls -a
. Debian-Info.txt
.. CentOS-Info.txt
.bash_history Fedora-Info.txt
.bash_logout .lftp
.bash_profile libiconv-1.11.tar.tar
.bashrc libssh2-0.12-1.2.el4.rf.i386.rpm

Nó sẽ hiển thị tất cả các tệp bao gồm '.' (thư mục hiện tại) và '..' (thư mục mẹ). Để hiển thị các tệp bị ẩn, nhưng không hiển thị ‘.’ (thư mục hiện tại) và ‘..’ (thư mục mẹ), hãy sử dụng tùy chọn -A.

$ ls -A
Debian-Info.txt Fedora-Info.txt
CentOS-Info.txt Red-Hat-Info.txt
.bash_history SUSE-Info.txt
.bash_logout .lftp
.bash_profile libiconv-1.11.tar.tar
.bashrc libssh2-0.12-1.2.el4.rf.i386.rpm
[Note: . and .. are not displayed here]

9. Hiển thị tệp đệ quy bằng ls -R

$ ls /etc/sysconfig/networking
devices profiles
$ ls -R /etc/sysconfig/networking
/etc/sysconfig/networking:
devices profiles
/etc/sysconfig/networking/devices:
/etc/sysconfig/networking/profiles:
default
/etc/sysconfig/networking/profiles/default:

Để hiển thị đệ quy tất cả các tệp, hãy sử dụng tùy chọn -R. Khi bạn thực hiện việc này từ /, nó sẽ hiển thị đệ quy tất cả các tệp không bị ẩn trong toàn bộ hệ thống tệp.

10. Hiển thị số Inode của tệp bằng ls -i

Đôi khi bạn có thể muốn biết số lượng duy nhất của một tập tin để bảo trì nội bộ. Sử dụng tùy chọn -i như hiển thị bên dưới để hiển thị một số. Sử dụng số inode, bạn có thể xóa các tệp có ký tự đặc biệt trong tên như được giải thích trong ví dụ số 6 của bài viết lệnh tìm.

$ ls -i /etc/xinetd.d/
279694 chargen 279724 cups-lpd 279697 daytime-udp
279695 chargen-udp 279696 daytime 279698 echo

11. Ẩn ký tự điều khiển bằng ls -q

Để in dấu chấm hỏi thay vì các ký tự điều khiển không phải đồ họa, hãy sử dụng tùy chọn -q.

ls -q

12. Hiển thị UID và GID tệp bằng ls -n

Liệt kê kết quả đầu ra như -l, nhưng hiển thị uid và gid ở định dạng số thay vì tên.

$ ls -l ~/.bash_profile
-rw-r--r-- 1 ramesh ramesh 909 Feb 8 11:48 /home/ramesh/.bash_profile
$ ls -n ~/.bash_profile
-rw-r--r-- 1 511 511 909 Feb 8 11:48 /home/ramesh/.bash_profile
[Note: This display 511 for uid and 511 for gid]

13. Phân loại trực quan các tệp có ký tự đặc biệt bằng ls -F

Thay vì thực hiện 'ls -l' và sau đó kiểm tra ký tự đầu tiên để xác định loại tệp. Bạn có thể sử dụng -F để phân loại tệp với các ký tự đặc biệt khác nhau cho các loại tệp khác nhau.

$ ls -F
Desktop/ Documents/ Ubuntu-App@ firstfile Music/ Public/ Templates/

Vì vậy, trong kết quả đầu ra ở trên,

  • / – thư mục.
  • không có gì – tập tin bình thường.
  • @ – tập tin liên kết.
  • * – Tệp thực thi

14. Phân loại trực quan các tệp có màu bằng ls -F

Nhận dạng loại tệp theo màu sắc hiển thị là một loại khác trong phân loại tệp. Trong các thư mục đầu ra ở trên được hiển thị bằng màu xanh lam, các liên kết mềm được hiển thị bằng màu xanh lá cây và các tệp thông thường được hiển thị ở màu mặc định.

$ ls --color=auto
Desktop Documents Examples firstfile Music Pictures Public Templates Videos

15. Bí danh lệnh ls hữu ích

Bạn có thể chọn một số tùy chọn ls bắt buộc ở trên và đặt nó làm bí danh. Chúng tôi đề xuất như sau.

  • Liệt kê dài tệp có kích thước ở dạng con người có thể hiểu được.
    alias ll="ls -lh"
  • Phân loại loại tệp bằng cách thêm các ký tự đặc biệt.
    alias lv="ls -F"
  • Phân loại loại tệp theo cả màu sắc và ký tự đặc biệt.
    alias ls="ls -F --color=auto"

Các bài viết tuyệt vời về Linux

Sau đây là một vài 15 ví dụ tuyệt vời các bài viết mà bạn có thể thấy hữu ích.

  • Hãy nắm bắt Grep! – 15 ví dụ về lệnh Grep thực tế
  • Linux Crontab:15 ví dụ về công việc Cron tuyệt vời
  • Mẹ ơi, con tìm thấy rồi! — 15 ví dụ thực tế về lệnh tìm kiếm Linux
  • 15 ví dụ để nắm vững lịch sử dòng lệnh Linux