Skip to main content

Posts

Grep, SilverSearcher (ag), RipGrep (rg) và file ẩn

Trên *NIX, một file được gọi là file ẩn (hidden file) khi tên của nó bắt đầu với dấu chấm (.). Các file phổ biến thường gặp là các file để cấu hình các phần mềm, ví dụ: .vimrc .bashrc .gitignore .gitlabci,yml ... Image by OpenClipart-Vectors from Pixabay Khi muốn tìm một từ khóa bất kỳ trong các file ở thư mục hiện tại, ta có thể dùng grep: grep -Rin noi_dung .  # dấu chấm đại diện cho thư mục hiện tại $ mkdir testdir; echo pika > testdir/.filepassword $ cd testdir/ $ grep -Rin pika . ./.filepassword:1:pika Một nhược điểm của grep so với các chương trình "hiện đại" hơn như SilverSearcher (ag) hay RipGrep (rg) là

Cài Unbound làm caching DNS resolver trên máy ảo OpenBSD 6.6

 DNS Server ( recursive name server) Người dùng máy tính đặc biệt ở Việt Nam đã từng biết đổi DNS để vào Facebook những ngày mạng còn "chậm". Những con số như 8.8.8.8 (Google DNS), 208.67.222.222 (OpenDNS) hay 1.1.1.1 (Cloudflare DNS) không còn lạ gì. Những địa chỉ IP này có chạy 1 DNS server làm nhiệm vụ trả lời IP tương ứng của các domain được hỏi. Ví dụ facebook.com có (những) IP là gì? $ nslookup facebook.com 8.8.8.8 Server:        8.8.8.8 Address:    8.8.8.8#53 Non-authoritative answer: Name:    facebook.com Address: 31.13.95.36 Name:    facebook.com Address: 2a03:2880:f102:83:face:b00c:0:25de authoritative name server vs recursive resolver Chương trình chạy ở 8.8.8.8 sẽ tìm địa chỉ IP tương ứng với domain facebook.com như bạn đã yêu cầu. Đây là một dịch vụ "trung gian", nó sẽ đi hỏi các "root nameservers" (.com, .org...) để tìm câu trả lời, bản thân nó không có câu trả lời. ...

Vagrant - vẫn là công cụ quản lý máy ảo tuyệt vời ở năm 2020

- What??? - Yeah!!! Vagrant không phải mới, không phải lạ, ra đời cỡ 10 năm trước hay hơn. Vagrant là gì / ˈveɪɡr(ə)nt/ A person without a settled home or regular work who wanders from place to place and lives by begging. Vagrant là công cụ để quản lý (tạo/bật/tắt) máy ảo, chạy ngon lành trên các hệ điều hành phổ biến. Vagrant là công cụ không thể thiếu của developer thời trước khi có Docker. Bạn có thể tạo một máy ảo nhanh nhất trong bao nhiêu phút? - Tải file ISO , vd Ubuntu - Cài Virtualbox, hay KVM hay VMWare - Cài máy ảo, format ổ đĩa, next next next ..., tùy vào từng hệ điều hành sẽ phải thao tác khác nhau. Hoặc đơn giản với vagrant: - Cài KVM hay Virtualbox hay VMWare - Chạy lệnh: vagrant init - Sửa file Vagrantfile vừa được tạo, thay box "base" bằng box mong muốn, ví dụ  "generic/ubuntu1804" (tìm các "box" trên https://vagrantcloud.com/search) - Chạy lệnh: vagrant up - Vagrant sẽ tải "box" về máy trong lần đ...

Service Discovery với Consul - từ con tới sồ

### Consul là gì https://www.consul.io/ Cách đọc: / ˈkänsəl/ /ˈkɑnsəl / - không phải con sun ``` $ apt-cache search consul | grep ^consul consul - tool for service discovery, monitoring and configuration ``` Consul là một phần mềm còn khá mới (bản 1.0 từ 2017 https://github.com/hashicorp/consul/tree/v1.0.0), được ra đời ban đầu như một giải  pháp cho "Service Discovery", kèm KeyValue storage. Sau này phát triển thêm nhiều tính năng khác như Service Mesh.   #### Service Discovery là gì

Gỡ các phần mềm cài sẵn trên điện thoại SamSung Galaxy - với Ubuntu

Nếu lỡ có mua một máy điện thoại SamSung, bạn sẽ chịu một cảm giác cực kỳ khó chịu khi máy có cài "giúp sẵn" một đống phần mềm mà thậm chí không có lựa chọn để gỡ (uninstall) trên máy: - Facebook: yup, không phải ai cùng muốn cài facebook trên điện thoại cả. - MS Office - MS LinkedIn - SamSung Bixby  thậm chí có cả Zalo hay Lazada mà mình chưa từng dám bấm vào, cũng không có option để gỡ đi. Không có sẵn không có nghĩa là không thể, và ta lại phải thò tay vào chọc. Trên Ubuntu 18.04, cài adb ( Android Debug Bridge) - một phần mềm không thể thiếu của lập trình viên Android, và cài rất dễ dàng qua apt-get: $ sudo apt-get install -y android-tools-adb android-tools-fastboot Cài xong sẽ gõ được lệnh adb:

zombie - những xác chết biết đi mà không thể kill

top  top là câu lệnh để hiển thị các process đang chạy trên một máy tính *NIX. Trên Windows sử dụng chương trình "Task Manager" để làm nhiệm vụ tương tự. top rất dễ dùng, gõ `top` rồi ngồi nhìn màn hình update thông tin mỗi 3s, và bấm q để kết thúc. Thế nhưng top cũng là một chương trình chứa rất nhiều thông tin, mà hỏi ra mỗi dòng có nghĩa là gì, cũng đủ để viết vài bài thật dài ... htop là một lệnh tương tự top , nhưng có giao diện dòng lệnh thân thiện hơn, màu mè hơn. htop không được cài sẵn trên mọi máy tính giống như top , người dùng phải tự cài thêm. $ whatis top top (1)              - display Linux processes

kill - signal trên OS: SIGINT vs SIGTERM vs SIGKILL vs SIGHUP

kill Lệnh kill không lạ gì với người dùng Linux/MacOS. Ngay từ những ngày đầu học dùng dòng lệnh trên các hệ điều hành này, người dùng đã biết dùng kill để "giết" một chương trình đang chạy (một process). Câu lệnh này quá cơ bản, dẫn đến dễ bị bỏ qua việc tìm hiểu nó kỹ càng. Để kill 1 chương trình đang chay, người dùng sẽ tìm PID (process ID - một số nguyên dương được hệ điều hành cấp cho chương trình lúc bắt đầu chạy) bằng lệnh: ps xau | grep tên_chương_trình Ví dụ: $ ps xau | grep -i firefox hvn      12537  8.9  4.4 3202268 358612 ?      Sl   23:17   0:47 /home/hvn/Downloads/firefox/firefox-bin 12537 chính là số PID. Sau đó gõ lệnh: kill 12537 và nếu chương trình vẫn chạy, thì dùng biện pháp mạnh: kill -9 12537  sẽ đảm bảo nhanh, gọn, sạch sẽ, xong. Nhưng bên dưới là cả một chủ đề không quá đơn giản đến vậy.

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