ESC
Arahan Bash / Terminal

Navigasi

Arahan Pilihan Contoh Output Penerangan
ls -la, -lh, -R ls -la /etc senarai fail Senaraikan kandungan direktori; -l format panjang, -a fail tersembunyi, -h saiz mesra pengguna
cd -, ~, .. cd ~/projects tukar direktori Tukar direktori; cd - kembali ke direktori sebelumnya, cd ~ ke direktori rumah
pwd pwd /home/user Paparkan direktori kerja semasa (laluan penuh)
tree -L n, -a tree -L 2 paparan pohon Paparkan struktur pohon direktori; -L hadkan kedalaman (mungkin perlu dipasang)
find -name -type -mtime find . -name '*.log' laluan fail Cari fail atau direktori yang sepadan dengan kriteria
locate -i locate nginx.conf laluan fail Carian fail pantas menggunakan indeks pangkalan data; jalankan updatedb dahulu

Operasi Fail

Arahan Pilihan Contoh Output Penerangan
cp -r, -i, -u cp -r src/ dst/ salin fail Salin fail; -r untuk direktori, -i minta pengesahan sebelum menimpa
mv -i, -n mv old.txt new.txt pindah/namakan semula Pindah atau namakan semula fail; -i minta pengesahan sebelum menimpa
rm -r, -f, -i rm -rf dist/ dipadam Padam fail atau direktori; -r rekursif, -f paksa — gunakan dengan berhati-hati
mkdir -p mkdir -p a/b/c direktori baru Cipta direktori; -p cipta direktori induk mengikut keperluan
touch touch index.html fail kosong Cipta fail kosong atau kemas kini cap masa fail
ln -s ln -s /etc/nginx nginx symlink Cipta pautan keras; -s untuk pautan simbolik (symlink)

Lihat Fail

Arahan Pilihan Contoh Output Penerangan
cat -n, -A cat -n file.txt kandungan fail Papar kandungan fail; -n tambah nombor baris, -A tunjukkan aksara tidak boleh cetak
head -n N head -n 20 log.txt N baris pertama Tunjukkan baris pertama fail (lalai 10 baris)
tail -n N, -f tail -f app.log N baris terakhir Tunjukkan baris terakhir; -f ikuti kandungan baru secara masa nyata
less /search, q less large.log paparan halaman Tatal fail halaman demi halaman; / untuk cari, q untuk keluar, space untuk halaman seterusnya
wc -l, -w, -c wc -l file.txt kiraan Kira kandungan; -l baris, -w perkataan, -c bait/aksara

Carian & Teks

Arahan Pilihan Contoh Output Penerangan
grep -r -i -n -v -E grep -rn 'error' logs/ baris yang sepadan Cari corak teks; -r rekursif, -i tidak sensitif huruf besar-kecil, -n nombor baris
grep -v grep -v 'debug' app.log tidak sepadan Songsangkan padanan — tunjukkan baris yang TIDAK mengandungi corak
grep -E grep -E 'warn|error' log baris yang sepadan Regex lanjutan — gunakan | untuk ATAU, + untuk satu atau lebih
awk '{print $N}' awk '{print $1}' f nilai lajur Pemprosesan teks corak-tindakan; $1 medan pertama, $NF medan terakhir
sed -i 's/a/b/g' sed -i 's/foo/bar/g' f teks diubah suai Penyunting aliran; s/cari/ganti/g menggantikan secara global
sort -n -r -k N sort -n numbers.txt output tersusun Susun baris; -n berangka, -r songsang, -k susun mengikut lajur N
uniq -c, -d sort f | uniq -c baris unik Buang baris pendua bersebelahan; biasanya disambungkan selepas sort

Kebenaran

Arahan Pilihan Contoh Output Penerangan
chmod 755, 644, +x chmod +x script.sh kebenaran diubah Ubah kebenaran fail; 755=rwxr-xr-x, 644=rw-r--r--
chown -R user:group chown -R www-data:www-data /var/www pemilik diubah Ubah pemilik dan kumpulan fail; -R rekursif
ls -la ls -la /var/www senarai kebenaran Tunjukkan kebenaran, pemilik, kumpulan, dan saiz semua fail
umask 022, 027 umask 022 kebenaran lalai Tetapkan topeng kebenaran lalai untuk fail baru (022 → fail 644)
sudo -u user sudo systemctl restart nginx arahan tertinggi Jalankan arahan sebagai superuser; -u untuk jalankan sebagai pengguna lain

Pengurusan Proses

Arahan Pilihan Contoh Output Penerangan
ps aux, -ef ps aux | grep nginx senarai proses Senaraikan proses; aux=semua pengguna, -ef=format penuh
top q, k, M top paparan langsung Monitor proses interaktif; q keluar, k matikan, M susun mengikut memori
htop F3, F9 htop paparan langsung top yang dipertingkat dengan warna; F3 cari, F9 matikan (mungkin perlu dipasang)
kill -9, -15 kill -9 1234 isyarat dihantar Hantar isyarat kepada PID; -15 SIGTERM (teratur), -9 SIGKILL (paksa)
killall -9, -u killall node isyarat dihantar Matikan semua proses mengikut nama
jobs -l jobs -l senarai tugas Senaraikan tugas latar belakang atau yang dihentikan dalam shell semasa
bg / fg %N fg %1 disambung semula bg hantar tugas ke latar belakang, fg bawa ke hadapan

Rangkaian

Arahan Pilihan Contoh Output Penerangan
curl -o -L -X -H -d curl -O https://example.com/f respons Pindahkan data melalui HTTP/FTP; -L ikuti ubah hala, -o simpan ke fail
wget -O -r -q wget -q https://example.com fail disimpan Muat turun fail; -O namakan semula output, -r rekursif, -q senyap
ping -c N ping -c 4 google.com RTT ms Uji sambungan rangkaian; -c hadkan bilangan paket
ssh -i -p -L ssh user@host -p 2222 shell Shell selamat; -i fail kunci, -p port, -L pemajuan port tempatan
scp -r -P -i scp file user@host:~/ disalin Salin selamat melalui SSH; -r rekursif, -P port (huruf besar)
netstat -tuln netstat -tuln senarai port Tunjukkan sambungan rangkaian; -t TCP, -u UDP, -l mendengar, -n nombor
ss -tuln ss -tuln senarai port Pengganti moden untuk netstat; lebih pantas dan lebih terperinci

Arkib & Pemampatan

Arahan Pilihan Contoh Output Penerangan
tar -czf -czf out.tar.gz tar -czf arc.tar.gz dir/ arkib Cipta tarball termampat gzip; c=cipta, z=gzip, f=nama fail
tar -xzf -xzf file.tar.gz tar -xzf arc.tar.gz -C /tmp diekstrak Ekstrak tarball gzip; x=ekstrak, -C direktori destinasi
tar -tf tar -tf archive.tar.gz senarai fail Senaraikan kandungan tarball tanpa mengekstrak
zip -r, -9 zip -r out.zip dir/ fail zip Cipta arkib zip; -r rekursif, -9 mampatan maksimum
unzip -d, -l unzip archive.zip -d out/ diekstrak Ekstrak zip; -d destinasi, -l senaraikan kandungan tanpa mengekstrak
gzip / gunzip -k, -d gzip -k file.txt dimampatkan gzip fail tunggal; -k kekalkan asal, gunzip untuk menyahmampat

Persekitaran & Shell

Arahan Pilihan Contoh Output Penerangan
env env | grep PATH var=nilai Paparkan semua pemboleh ubah persekitaran; sambungkan dengan grep untuk menapis
export export NODE_ENV=production var ditetapkan Tetapkan pemboleh ubah persekitaran untuk sesi semasa dan proses anak
echo $VAR echo $HOME nilai Paparkan nilai pemboleh ubah; gunakan ${VAR} untuk nyahkekaburan dalam rentetan
which which node laluan Tunjukkan laluan penuh boleh laku arahan
alias alias ll='ls -la' pintasan Cipta pintasan arahan; tambah ke ~/.bashrc untuk kekal
source source ~/.bashrc dimuat semula Laksanakan fail dalam konteks shell semasa (juga: . ~/.bashrc)
history !N, !! history | tail -20 senarai arahan Tunjukkan sejarah arahan; !! ulang yang terakhir, !N jalankan arahan ke-N

Rujukan Pantas Git

Arahan Pilihan Contoh Output Penerangan
git init git init my-project repositori dicipta Mulakan repositori Git baru dalam direktori
git clone --depth 1 git clone url repositori diklonkan Klon repositori jauh; --depth 1 untuk klon cetek
git status -s git status -s perubahan Tunjukkan status pokok kerja; -s format ringkas
git add -A, -p git add -p distejkan Stej perubahan; -A semua, -p mod tampalan interaktif
git commit -m, --amend git commit -m 'msg' dikomit Komit perubahan yang distejkan; --amend ubah suai komit terakhir
git push -u origin git push -u origin main ditolak Tolak ke jauh; -u tetapkan cawangan penjejakan hulu
git pull --rebase git pull --rebase disegerakkan Ambil dan integrasikan perubahan jauh; --rebase sebagai ganti gabungan
git log --oneline --graph git log --oneline -10 sejarah Tunjukkan sejarah komit; --oneline padat, --graph cabang visual
git stash pop, list git stash pop dipulihkan Simpan sementara kerja yang belum dikomit; pop untuk memulihkan
git diff --staged git diff --staged diff Tunjukkan perubahan; --staged tunjukkan perubahan yang distejkan tetapi belum dikomit

Soalan Lazim

sh (Bourne Shell) ialah shell Unix asal, diseragamkan oleh POSIX. bash (Bourne Again Shell) ialah penggantinya dan superset, menambah tatasusunan, sintaks ujian lanjutan [[]], pengembangan aritmetik $(( )), sejarah, penyempurnaan tab dan lain-lain. Pada kebanyakan sistem Linux /bin/sh ialah symlink ke bash atau dash (shell ringan POSIX sahaja).

Tiga langkah: (1) Tambah baris shebang sebagai baris pertama: #!/bin/bash. (2) Jadikannya boleh dilaksanakan dengan chmod +x script.sh. (3) Jalankannya dengan ./script.sh (./diperlukan kerana direktori semasa tidak ada dalam $PATH secara lalai). Untuk menjalankannya dari mana-mana, pindahkannya ke direktori dalam PATH anda.

Bash mempunyai tiga strim standard: stdin (0), stdout (1), stderr (2). Alihkan stdout ke fail: command > file.txt (tulis semula) atau command >> file.txt (tambah). Alihkan stderr: command 2> errors.txt. Alihkan kedua-duanya: command > output.txt 2>&1. Buang output: command > /dev/null 2>&1. Paip stdout: command1 | command2.