Arahan Bash / Terminal
Arahan penting untuk navigasi, fail, carian, kebenaran, proses, rangkaian dan arkib
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 |