Banyak pengguna Linux telah mengalami rasa pencapaian yang bertahan lama setelah menyusun perintah yang sangat cerdas yang mencapai banyak tindakan hanya dalam satu baris atau yang berhasil melakukan dalam satu baris apa yang biasanya membutuhkan 10 klik dan sebanyak mungkin jendela dalam antarmuka pengguna grafis (GUI). Selain sebagai barang legenda, one-liners adalah contoh bagus mengapa terminal dianggap sebagai alat yang sangat kuat.
Pada akhir artikel ini, Anda akan memiliki:
- Daftar 20 perintah yang akan membuat tugas Anda lebih mudah saat bekerja di Linux
- Pemahaman tentang kemungkinan menggabungkan perintah sederhana untuk membuat perintah yang lebih kuat
- Lebih menyenangkan dari yang Anda harapkan menjalankan perintah ini
Tanpa urutan kepentingan tertentu, ini adalah 20 one-liner teratas kami untuk terminal Linux. Meskipun kami telah membagi beberapa perintah yang lebih panjang dengan \
simbol agar lebih mudah dibaca, Anda dapat memasukkan semuanya dalam satu baris di terminal Anda karena, bagaimanapun, semuanya adalah satu baris.
1. Terapkan perintah pada file dengan nama berbeda
{}
shell cangkang operator sangat bagus untuk ini. Berikut adalah contoh dengan tiga direktori yang diapit {}
:
$ mkdir -p -v /home/josevnz/tmp/{dir1,anotherdir,similardir}
2. Edit file di tempat
Apakah Anda ingin mengganti string pada satu atau lebih file tanpa menggunakan editor? Oke, sed
untuk menyelamatkan:
$ sed -i 's#ORIGINAL_VALLUE#NEW_VALUE#g' myfile1 myfile2
Tapi tunggu, pecinta Perl akan memberi tahu Anda bahwa mereka dapat melakukan hal yang sama:
$ perl -p -i -e 's#ORIGINAL#NEW_VALUE#' myfile1 myfile2
3. Bagikan file dengan cepat menggunakan server web
Angkat tangan Anda jika Anda belum pernah menggunakan ini setidaknya sekali untuk berbagi direktori dengan cepat:
$ cd $mydir && python3 -m http.server 8888
4. Temukan kegagalan dengan journalctl
Terkadang barang pecah. Anda dapat menemukan kesalahan terbaru menggunakan kombinasi journalctl
, bersama dengan alat klasik sort
dan uniq
:
$ journalctl --no-pager --since today \
--grep 'fail|error|fatal' --output json|jq '._EXE' | \
sort | uniq -c | sort --numeric --reverse --key 1
898172 "/usr/bin/dockerd"
752 "/usr/local/sbin/node_exporter"
30 "/usr/bin/gnome-shell"
26 "/usr/bin/cat"
22 "/usr/libexec/gsd-media-keys"
[...]
Dalam hal ini, tampaknya daemon Docker tidak bahagia.
[ Unduh eBuku ini untuk bersiap menghadapi ujian jarak jauh Red Hat Anda. ]
5. Buat cadangan melalui transfer file terenkripsi
Gunakan ssh
dan tar
untuk membuat cadangan yang aman. Mereka pergi bersama seperti selai kacang dan jeli:
$ tar --create --directory /home/josevnz/tmp/ --file - *| \
ssh raspberrypi "tar --directory /home/josevnz \
--verbose --list --file -"
Anda dapat menambahkan cita rasa ke pekerjaan pencadangan dengan kompresi dan enkripsi—sama seperti menambahkan bahan ke sandwich Anda.
6. Tulis file instan
Ini adalah trik hebat saat Anda perlu menulis dokumen multibaris:
$ cat<<DOC>/my/new/file
Line1
Line2
A $VARIABLE
DOC
Anda juga dapat cat > file
, dan setelah selesai mengedit, masukkan saja karakter EOF (Ctrl+D ):
[josevnz@dmaf5 temp]$ cat > testfile
This is a test
multiple lines
and here we go
[josevnz@dmaf5 temp]$
7. Cari file, dan sertakan beberapa ekstensi dan kecualikan yang lain
Contoh ini menggunakan grep
cara untuk mencari file tertentu. Cukup cepat dan mudah diingat:
$ grep -R 'import' --include='*.java' --color MySourceCodeDir
Atau Anda dapat mencoba find
cara (gunakan xargs
untuk menangani banyak pertandingan dengan benar):
$ find MySourceCodeDir/ -name '*.java' -type f -print| xargs \
grep --color 'import
Mengapa find
, Anda mungkin bertanya? Anda dapat menggabungkan find
dengan -exec
untuk menjalankan tindakan pada file Anda terlebih dahulu dan kemudian meneruskan hasilnya ke filter. Kemungkinan pemrosesan tidak terbatas di sini.
8. Memantau memori tanpa top atau htop
Yang ini hampir selingkuh. Itu mengulangi perintah, seperti free
, setiap lima detik dan soroti perbedaannya:
$ watch -n 5 -d '/bin/free -m'
9. Tampilkan ukuran partisi disk
Gunakan lsbk
(daftar blok) dan jq
(untuk memanipulasi JSON pada baris perintah) untuk menampilkan informasi partisi:
$ lsblk --json | jq -c '.blockdevices[]|[.name,.size]'
["loop0","55.5M"]
["loop1","156M"]
["loop2","32.3M"]
["zram0","4G"]
["nvme0n1","476.9G"]
10. Menampilkan jenis file dengan cepat
Apa itu fungsi dipanggil dengan wi
. Ini dengan cepat memberi tahu Anda jenis file.
Untuk memeriksa satu file:
$ function wi { test -n "$1" && stat --printf "%F\n" "$1"; }
Untuk memeriksa beberapa file:
$ function wi { test "$#" -gt 0 && stat --printf "%n: %F\n" "$@"; }
CATATAN :Fungsi lebih unggul dan dapat melakukan pekerjaan yang sama sebagai alias.
11. Menampilkan ukuran RPM yang terpasang
Jika Anda memiliki sistem berbasis RPM, cepat atau lambat, Anda akan memformat kueri Anda. Ini contohnya:
$ rpm --queryformat='%12{SIZE} %{NAME}\n' \
-q java-11-openjdk-headless
[ Latih dan uji kursus dan ujian terbaru kami dari Pelatihan &Sertifikasi Red Hat:Jalur keterampilan Red Hat Enterprise Linux. ]
12. Menampilkan ukuran total sekelompok file
Dalam hal ini, find
perintah bertindak sebagai filter, menampilkan ukuran setiap file dalam byte, dan terakhir, menampilkan ukuran total:
$ t=0; for n in $(find ~/Documents -type f -name '*.py' -print | xargs \
stat --printf "%s "); do ((t+=n)); done; echo $t
Atau, jika Anda menginginkan suatu fungsi (lebih baik), coba pendekatan ini:
$ function size { t=0; test -d "$1" && for n in $(find $1 \
-type f -name '*.py' -print| \
xargs stat --printf "%s "); do ((t+=n)); done; echo $t; }
size $mydir
13. Perbarui semua repositori Git pada direktori
Anda sudah tahu betapa bergunanya Git. Berikut trik agar lebih efisien dengan pembaruan Anda:
$ for i in */.git; do cd $(dirname $i); git pull; cd ..; done
14. Buka direktori web menggunakan wadah
Kontainer sangat penting saat ini. One-liner ini mengekspos direktori melalui Podman:
$ podman run --rm -v .:/usr/share/nginx/html:ro,Z \
-p 30080:80 -d nginx
15. Periksa cuaca
Gunakan fungsi ini untuk mengetahui apakah Anda membutuhkan jaket hari ini:
weather() { curl -s --connect-timeout 3 -m 5 http://wttr.in/$1; }
16. Menampilkan 10 alamat IP teratas yang mengenai server web
Berikut adalah tugas yang sering digunakan admin web dengan Nginx (mungkin juga bekerja dengan Apache) untuk mengambil 10 alamat protokol internet teratas yang mengenai server web dari log akses:
$ cat /var/log/nginx/access.log | cut -f 1 -d ' ' | sort | \
uniq -c | sort -hr | head -n 10
17. Putaran mengapung di Bash dengan bantuan Python
Anda dapat melakukan hal-hal keren dengan Python, tetapi contoh ini hanya membulatkan angka:
$ echo "22.67892" | python3 -c "print(f'{round(float(input()))}')"
23
18. Jalankan kalkulator mini
Fungsi ini mendefinisikan kalkulator cepat pada baris perintah dengan presisi variabel (standarnya adalah 2). Ini menggunakan bc. Buat fungsi seperti ini:
$ function qqbc() { echo "scale=${2:-2}; $1" | bc -l
Selanjutnya, lakukan perhitungan cepat:
$ qqbc "2/3"
.66
Jika Anda membutuhkan presisi tambahan, cukup tentukan parameter kedua:
$ qqbc "2/3" 4
.6666
Alat ini disebut qqbc
karena ini merupakan peningkatan dari fungsi lama qbc
.
19. Mengonversi CSV ke JSON
Trik ini adalah modifikasi dari resep populer untuk mengonversi file CSV ke format JSON:
$ python3 -c \
"import csv,json,sys;print(json.dumps(list(csv.reader(open(sys.argv[1])))))" \
covid19-vaccinations-town-age-grp.csv
20. Instal dan jalankan perintah dengan Docker
Jika Anda telah menginstal Docker dan Anda ingin menjalankan perintah tanpa menginstal banyak dependensi pada sistem Anda (saat menjalankan cepat), mungkin ini yang Anda butuhkan:
$ docker run --rm --interactive curlimages/curl curl \
--verbose --location --fail --silent --output - \
https://example.com
Perintah menjalankan versi terbaru curl
dari wadah, dan kemudian mengeluarkannya. Perhatikan bahwa perintah diakhiri dengan tanda hubung (-
), yang memberi tahu curl
untuk output ke terminal Anda. Kemungkinannya tidak terbatas di sini.
Menutup
Kemampuan untuk membangun kombinasi yang kuat dari perintah sederhana adalah salah satu alasan mengapa Unix dan Linux sangat populer.
Untung. tidak sulit untuk mempelajari one-liners ini. Berfokuslah untuk mengingat apa yang dilakukan perintah sederhana, lalu pikirkan bagaimana Anda dapat menggabungkan banyak perintah sederhana untuk membuat resep yang kuat.
Selalu periksa man
atau gunakan info
perintah untuk mencari tahu apa lagi yang bisa dilakukan alat. Anda mungkin terkejut mengetahui bahwa satu alat dapat melakukan segalanya tanpa menggabungkannya dengan utilitas lain.
Ada banyak situs di internet dengan banyak contoh satu baris. Kami berharap contoh-contoh ini akan mengarahkan Anda untuk menulis satu kalimat yang lebih baik.