GNU/Linux >> Belajar Linux >  >> Linux

Shell - Bagaimana menemukan direktori dari beberapa perintah?

Jika Anda menggunakan Bash atau zsh, gunakan ini:

type -a lshw

Ini akan menunjukkan apakah targetnya adalah builtin, fungsi, alias, atau executable eksternal. Jika yang terakhir, itu akan menunjukkan setiap tempat yang muncul di PATH Anda .

bash$ type -a lshw
lshw is /usr/bin/lshw
bash$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
bash$ zsh
zsh% type -a which
which is a shell builtin
which is /usr/bin/which

Di Bash, untuk fungsi type -a juga akan menampilkan definisi fungsi. Anda dapat menggunakan declare -f functionname untuk melakukan hal yang sama (Anda harus menggunakannya untuk zsh, karena type -a tidak).


Seperti ini:

which lshw

Untuk melihat semua perintah yang cocok dengan jalur Anda:

which -a lshw 

PATH adalah variabel lingkungan, dan dapat ditampilkan dengan perintah echo:

echo $PATH

Ini adalah daftar jalur yang dipisahkan oleh karakter titik dua ': '

which perintah memberi tahu Anda file mana yang dieksekusi saat Anda menjalankan perintah:

which lshw

terkadang yang Anda dapatkan adalah jalur ke symlink; jika Anda ingin melacak tautan itu ke tempat eksekusi yang sebenarnya, Anda dapat menggunakan readlink dan berikan output dari which :

readlink -f $(which lshw)

-f parameter menginstruksikan readlink untuk terus mengikuti symlink secara rekursif.

Ini contoh dari mesin saya:

$ which firefox
/usr/bin/firefox

$ readlink -f $(which firefox)
/usr/lib/firefox-3.6.3/firefox.sh

Linux
  1. Cara Menemukan Jumlah File dalam Direktori dan Subdirektori

  2. Bagaimana Mengintegrasikan Perintah Mv Setelah Menemukan Perintah?

  3. Cara menjalankan perintah "find" hanya pada direktori saat ini dan bukan pada sub-direktori

  1. [Linux] :Cara mengecualikan direktori saat menggunakan perintah shell "tar"

  2. Cara mengecualikan direktori di find . memerintah

  3. Perintah mana di shell Linux/UNIX sh yang mengembalikan direktori saya saat ini?

  1. Cara Menemukan Shell Yang Anda Gunakan di Linux

  2. CentOS / RHEL :Bagaimana menemukan pengguna mana yang menjalankan perintah tertentu?

  3. Bagaimana saya bisa menemukan versi shell saya menggunakan perintah Linux?