GNU/Linux >> Belajar Linux >  >> Linux

[Tips Bash] Cara cd dan ls dalam satu perintah

Setiap kali saya cd ke dalam direktori, hal berikutnya yang saya lakukan secara spontan - daftar isi direktori itu menggunakan ls memerintah. Saya tidak tahu apakah Anda semua melakukan ini, tetapi saya kira beberapa dari Anda mungkin memiliki kebiasaan ini. Akan lebih baik jika kita menggabungkan fungsi cd dan ls dalam satu perintah, bukan? Panduan singkat ini menjelaskan cara membuat daftar isi direktori secara otomatis setiap kali Anda memasukkannya ke dalamnya di Linux.

Cara cd dan ls dalam satu perintah di Bash

Harap dicatat bahwa saya tidak berbicara tentang perintah satu baris. Misalnya, Anda dapat melakukan cd dan ls dengan perintah satu baris seperti di bawah ini.

$ cd path-to-dir && ls

Atau,

$ cd path-to-dir ; ls

Ya, itu berhasil! Tapi itu bukan ruang lingkup panduan ini. Kami akan melakukannya dengan bantuan fungsi BASH sederhana . Trik ini akan bekerja di semua distribusi Linux dan Unix-like yang mendukung BASH.

Buka ~/.bashrc . Anda file di editor favorit Anda:

$ nano ~/.bashrc

Tambahkan baris berikut di akhir:

cdls() {
        local dir="$1"
        local dir="${dir:=$HOME}"
        if [[ -d "$dir" ]]; then
                cd "$dir" >/dev/null; ls --color=auto
        else
                echo "bash: cdls: $dir: Directory not found"
        fi
}

Di sini, saya menggunakan nama fungsi sebagai cdls () demi mudah diingat! Anda dapat memberi nama fungsi ini sesuka Anda. Ganti juga ls --color=auto parameter dengan Anda sendiri. Simpan dan tutup file.

Jalankan perintah berikut untuk menerapkan perubahan.

$ source ~/.bashrc

Sekarang daftar isi direktori secara otomatis setiap kali Anda memasukkannya ke dalamnya seperti di bawah ini.

Contoh:

$ cdls /var/log/
alternatives.log  btmp                   dpkg.log   kern.log   syslog               wtmp
apt               cloud-init.log         faillog    landscape  syslog.1
auth.log          cloud-init-output.log  installer  lastlog    tallylog
bootstrap.log     dist-upgrade           journal    lxd        unattended-upgrades
[email protected]:/var/log$ pwd
/var/log

Anda juga dapat menambahkan fungsi yang jauh lebih sederhana berikut di ~/.bashrc . Anda berkas.

cdls() {
        cd "[email protected]" && ls;
}

Sumber ~/.bashrc file untuk menerapkan perubahan. Juga jangan gunakan kedua fungsi secara bersamaan dengan nama yang sama. Gunakan satu fungsi atau gunakan nama yang berbeda (Misalnya cdls dan cl ) untuk setiap fungsi.

Sebelum saya mengetahui trik ini, saya biasanya melakukan:

$ cd /var/log/

Dan kemudian;

$ ls

Atau,

$ cd /var/log/ && ls

Tidak lagi! Sekarang saya dapat membuat daftar konten direktori apa pun setiap kali saya memasukkannya ke dalamnya. Ini berguna ketika Anda sering bekerja dengan banyak direktori.

Satu kerugian trik ini adalah Anda harus menunggu beberapa detik hingga beberapa menit ketika cd masuk ke direktori yang berisi ratusan dan ribuan file. Dalam kasus seperti itu, gunakan cd normal yang normal perintah.

Bacaan yang disarankan:

  • Mengganti Nama File Tanpa Mengetik Nama Lengkap Dua Kali Di Linux
  • Tips Bash - Cara cp atau mv dan cd dalam satu perintah
  • Cara Berbeda Untuk Mencantumkan Konten Direktori Tanpa Menggunakan Perintah ls
  • Fungsi Bash Untuk Mengekstrak Arsip File Berbagai Jenis

Linux
  1. Bagaimana cara menghapus direktori dan folder di Linux?

  2. Bagaimana opsi '-s', '-t', dan '-c' dari perintah tr bekerja di Unix?

  3. Apa itu email, dan bagaimana navigasinya?

  1. Apa itu Perintah Chown di Linux dan Cara Menggunakannya

  2. Apa itu Perintah cURL Dan Bagaimana Cara Menggunakannya?

  3. Cara Mengunci dan Membuka Kunci Pengguna di Linux

  1. Cara Menginstal penggalian di CentOS 7 dan 8

  2. Cara Mengunduh dan Mengekstrak File Tar dengan Satu Perintah

  3. Perintah Tail Linux:Apa Itu dan Bagaimana Cara Menggunakannya