Một tài liệu tham khảo Bash / shell có thể tìm kiếm và in được — điều hướng, tệp, pipe, biến, vòng lặp, điều kiện và các one-liner tiện dụng. Miễn phí.

Điều hướng

8
pwd
In thư mục làm việc
ls -la
Liệt kê mọi tệp kèm chi tiết
cd /path
Chuyển thư mục
cd -
Về thư mục trước
cd ~
Về thư mục home
tree -L 2
Hiện cây thư mục (2 cấp)
pushd / popd
Push và pop ngăn xếp thư mục
ls -lhS
Liệt kê theo kích thước, dễ đọc

Tệp & thư mục

10
touch file.txt
Tạo tệp rỗng
mkdir -p a/b/c
Tạo thư mục lồng nhau
cp -r src dest
Sao chép đệ quy
mv old new
Di chuyển hoặc đổi tên
rm -rf dir
Xóa đệ quy (cẩn thận!)
ln -s target link
Tạo liên kết tượng trưng
cat file.txt
In nội dung tệp
head -n 20 / tail -n 20
20 dòng đầu / cuối
tail -f log.txt
Theo dõi tệp khi nó lớn dần
less file.txt
Xem tệp theo trang

Tìm kiếm & tìm

8
grep 'pattern' file
Tìm một mẫu trong tệp
grep -rin 'text' .
Đệ quy, không phân biệt hoa thường, đánh số
find . -name '*.php'
Tìm tệp theo tên
find . -type f -mtime -1
Tệp sửa trong ngày qua
find . -size +10M
Tệp lớn hơn 10 MB
which node
Định vị tệp thực thi
locate file.txt
Tìm qua cơ sở dữ liệu đã lập chỉ mục
grep -v 'skip' file
Đảo khớp (loại trừ dòng)

Xử lý văn bản

9
wc -l file
Đếm dòng
sort file | uniq -c
Sắp xếp rồi đếm trùng lặp
cut -d',' -f1 file
Trích một cột CSV
awk '{print $1}' file
In trường đầu tiên
sed 's/old/new/g' file
Thay thế văn bản
tr 'a-z' 'A-Z'
Chuyển đổi ký tự
diff a.txt b.txt
So sánh hai tệp
tee out.txt
Ghi vào tệp và stdout
xargs -I{} cmd {}
Dựng lệnh từ đầu vào

Pipe & chuyển hướng

9
a | b
Đưa đầu ra của a vào b
cmd > file
Chuyển hướng stdout (ghi đè)
cmd >> file
Chuyển hướng stdout (nối thêm)
cmd 2> err.log
Chuyển hướng stderr
cmd > out 2>&1
Chuyển hướng cả hai luồng
cmd < input.txt
Đọc stdin từ một tệp
cmd1 && cmd2
Chạy cmd2 chỉ khi cmd1 thành công
cmd1 || cmd2
Chạy cmd2 chỉ khi cmd1 thất bại
cmd &
Chạy ở chế độ nền

Quyền & quyền sở hữu

8
chmod 755 file
Đặt rwx cho chủ, rx cho người khác
chmod +x script.sh
Cho phép thực thi tệp
chmod -R 644 dir
Đổi quyền đệ quy
chown user:group file
Đổi chủ và nhóm
umask 022
Mặt nạ quyền mặc định
sudo cmd
Chạy lệnh với quyền root
stat file
Hiện metadata của tệp
ls -l file
Xem các bit quyền

Tiến trình & hệ thống

9
ps aux
Liệt kê tiến trình đang chạy
top / htop
Giám sát tiến trình trực tiếp
kill -9 PID
Buộc kill một tiến trình
pkill -f name
Kill tiến trình theo tên
jobs / fg / bg
Quản lý tác vụ nền
df -h
Dung lượng đĩa đã dùng
du -sh dir
Kích thước một thư mục
free -h
Mức dùng bộ nhớ
uname -a
Thông tin hệ thống và kernel

Biến & mở rộng

9
NAME='value'
Đặt biến (không khoảng trắng)
echo \"$NAME\"
Dùng một biến
export PATH=\"$PATH:/x\"
Export sang tiến trình con
$(command)
Thay thế lệnh
${VAR:-default}
Mặc định nếu chưa đặt
$1 $2 $@
Đối số vị trí của script
$?
Mã thoát của lệnh cuối
read -p 'Name: ' x
Đọc đầu vào người dùng
echo {1..5}
Mở rộng ngoặc nhọn

Viết script

9
#!/usr/bin/env bash
Dòng shebang
set -euo pipefail
Chế độ nghiêm ngặt an toàn hơn
if [ -f file ]; then ...; fi
Điều kiện theo kiểm tra tệp
[ \"$a\" = \"$b\" ]
So sánh chuỗi
for f in *.txt; do ...; done
Lặp qua các tệp
while read line; do ...; done < file
Đọc tệp từng dòng
case \"$x\" in a) ...;; esac
Nhánh đa hướng
function greet() { echo hi; }
Định nghĩa một hàm
trap cleanup EXIT
Chạy trình xử lý khi thoát

Không có mục nào khớp với “:q”.


Cần trợ giúp?
Gặp sự cố với công cụ này? Hãy cho đội ngũ của chúng tôi biết.
Báo cáo sự cố

Thêm công cụ miễn phí này vào trang web của riêng bạn — sao chép và dán mã bên dưới.