Skip to main content

Posts

Showing posts with the label find

[CLI/Python] find prune path - cắt giảm bài toán tìm kiếm 10 lần

`find` là câu lệnh dùng để tìm file dựa theo tên, vốn không kém tiếng "khó dùng", nhưng vẫn được dùng, do nó được cài sẵn ở mọi hệ điều hành Unixoid (Unix/Linux). find - huyền thoại Một lệnh find đơn giản để tìm các file .py trong thư mục /usr $ time -p find /usr/ -name '*.py' | wc -l 11013 real 0,39 user 0,15 sys 0,24 11013 file này gồm file từ nhiều thư mục khác nhau. $ time -p find /usr/ -name '*.py' | cut -f-3 -d '/' | sort | uniq -c | sort -nr | head    9286 /usr/lib    1644 /usr/share      78 /usr/src       5 /usr/local real 0,39 user 0,17 sys 0,24

[CLI] xargs - câu lệnh để xây dựng câu lệnh

Trên UNIX-like OS, không phải câu lệnh nào cũng nhận đầu vào qua stdin, và như thế có vẻ không tiện lắm để output của câu lệnh trước làm input cho câu lệnh sau - một tính năng tuyệt vời "pipeline" của shell. grep có thể lấy output của chương trình khác thành input của mình, ví dụ: $ ps -fU root | grep -E '[g]etty|^UID' UID        PID  PPID  C STIME TTY          TIME CMD root       850     1  0 17:19 tty4     00:00:00 /sbin/getty -8 38400 tty4 root       855     1  0 17:19 tty5     00:00:00 /sbin/getty -8 38400 tty5 root       864     1  0 17:19 tty2     00:00:00 /sbin/getty -8 38400 tty2 root       865     1  0 17:...

[cmd] find - tìm thấy mà không xoá được, why?

Đọc giả cuteanlame có một directory chứa các file sau: # find /tmp/findtest -name '*-*' -or -name '*_*' /tmp/findtest/meomeo_1 /tmp/findtest/meomeo_2 /tmp/findtest/gaugau-3 /tmp/findtest/meomeo_3 /tmp/findtest/gaugau-2 /tmp/findtest/gaugau-1 Bạn ấy muốn xoá các file có dấu "-" và dấu "_" trong tên, nên bạn làm thế này: # find /tmp/findtest -name '*-*' -or -name '*_*' -delete Nếu nhìn vào câu lệnh trên bạn đọc chính xác được lệnh find sẽ làm gì thì bạn không cần đọc tiếp bài này nữa. Và cũng xin chúc mừng vì bạn còn có thể dùng lệnh ``find`` tốt hơn rất nhiều người, thậm chí cả những superuser với kinh nghiệm dùng Linux 20 năm.

find - tìm hoài mà không thấy

người hãy nói vì sao em không tìm được nó là tại làm sao: root@elasticsearch-1:~# ls -l /var/run/crond.pid ; find /var/run -name 'cron*' | wc -l -rw-r--r-- 1 root root 6 Jun 11 12:08 /var/run/crond.pid 0 Câu lệnh trên: khi dùng lệnh ls cho thấy file  /var/run/crond.pid có tồn tại, nhưng khi dùng lệnh find thì tìm không ra. Hacker  +Lam Tung   đã tìm ra một giải pháp (thêm dấu / ở cuối path): root@elasticsearch-1:~# find /var/run/ -name 'crond*' /var/run/crond.reboot /var/run/crond.pid Bài viết thực hiện trên: $ lsb_release -a; find --version | grep find No LSB modules are available. Distributor ID: Ubuntu Description:    Ubuntu 12.04.4 LTS Release:        12.04 Codename:       precise find (GNU findutils) 4.4.2 Vậy tại sao find lại không tìm được, sau một hồi điều tra, thám tử cô nan đã tìm ra:

[cmd] find, cách dùng đơn giản nhất thay thế ls và tree

bạn thường xuyên dùng ls bạn thỉnh thoảng dùng tree bạn có thể đã nghe nói đến find nhưng chưa bao giờ dùng (thú thật cái interface của lệnh này nó không bình thường giống các lệnh khác) ví dụ muốn tìm theo tên file abc* thì phải gõ find /xyz -name 'abc*' Vậy nhưng bạn có thể dùng find thay cho ls (không nói đến ls -l , ls -Fhtl ) hay lệnh tree chỉ với mỗi dòng: find thu_muc_nao_do hay chỉ gõ mỗi

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG