Kadang-kadang diperlukan untuk dengan cepat menentukan detail seperti nama kernel, versi, nama host, dll dari kotak Linux yang Anda gunakan.
Meskipun Anda dapat menemukan semua detail ini di masing-masing file yang ada di bawah sistem file proc, lebih mudah menggunakan utilitas uname untuk mendapatkan informasi ini dengan cepat.
Sintaks dasar dari perintah uname adalah :
uname [OPTION]...
Sekarang mari kita lihat beberapa contoh yang menunjukkan penggunaan perintah 'uname'.
uname tanpa opsi apa pun
Ketika perintah 'uname' dijalankan tanpa opsi apa pun maka ia hanya mencetak nama kernel. Jadi output di bawah ini menunjukkan bahwa kernel 'Linux' yang digunakan oleh sistem ini.
$ uname Linux
Anda juga dapat menggunakan uname -s, yang juga menampilkan nama kernel.
$ uname -s Linux
Dapatkan nama host node jaringan menggunakan opsi -n
Gunakan opsi uname -n untuk mengambil nama host node jaringan dari kotak Linux Anda.
$ uname -n dev-server
Output di atas akan sama dengan output dari perintah hostname.
Dapatkan rilis kernel menggunakan opsi -r
Perintah uname juga dapat digunakan untuk mengambil informasi rilis kernel. Opsi -r dapat digunakan untuk tujuan ini.
$ uname -r 2.6.32-100.28.5.el6.x86_64
Dapatkan versi kernel menggunakan opsi -v
Perintah uname juga dapat digunakan untuk mengambil informasi versi kernel. Opsi -v dapat digunakan untuk tujuan ini.
$ uname -v #1 SMP Wed Feb 2 18:40:23 EST 2011
Dapatkan nama perangkat keras mesin menggunakan opsi -m
perintah uname juga dapat digunakan untuk mengambil nama perangkat keras mesin. Opsi -m dapat digunakan untuk tujuan ini. Ini menunjukkan bahwa ini adalah sistem 64-bit.
$ uname -m x86_64
Dapatkan jenis prosesor menggunakan opsi -p
Perintah uname juga dapat digunakan untuk mengambil informasi jenis prosesor. Opsi -p dapat digunakan untuk tujuan ini. Jika perintah uname tidak dapat mengambil informasi jenis prosesor maka akan menghasilkan 'tidak diketahui' di output.
$ uname -p x86_64
Terkadang Anda mungkin melihat 'tidak diketahui' sebagai output dari perintah ini, jika uname tidak dapat mengambil informasi tentang jenis prosesor.
Dapatkan platform perangkat keras menggunakan opsi -i
Perintah uname juga dapat digunakan untuk mengambil informasi platform perangkat keras. Opsi -i dapat digunakan untuk tujuan ini. Jika perintah uname tidak dapat mengambil informasi platform perangkat keras maka akan menghasilkan 'tidak diketahui' di output.
$ uname -i x86_64
Terkadang Anda mungkin melihat 'tidak diketahui' sebagai output dari perintah ini, jika uname tidak dapat mengambil informasi tentang platform.
Dapatkan nama sistem operasi menggunakan opsi -o
Perintah uname juga dapat digunakan untuk mengambil nama sistem operasi. Opsi -o dapat digunakan untuk tujuan ini.
Misalnya :
$ uname -o GNU/Linux
Dapatkan semua informasi menggunakan opsi uname -a
Semua informasi yang sejauh ini telah kita pelajari untuk diakses menggunakan flag yang berbeda dapat diambil sekaligus. Opsi -a dapat digunakan untuk tujuan ini.
$ uname -a Linux dev-server 2.6.32-100.28.5.el6.x86_64 #1 SMP Wed Feb 2 18:40:23 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
Nilai tidak diketahui dalam keluaran uname
Saat menulis artikel ini, saya agak penasaran mengapa utilitas uname mengembalikan 'tidak diketahui' untuk jenis prosesor (-p) dan platform perangkat keras (-i) di laptop saya yang menjalankan Ubuntu. Saya meneliti sedikit tentang masalah ini.
Satu penjelasan yang saya temukan adalah bahwa perintah uname menggunakan fungsi uname() (man 2 uname) yang membaca semua informasi dari struktur kernel berikut:
struct utsname { char sysname[]; /* Operating system name (e.g., "Linux") */ char nodename[]; /* Name within "some implementation-defined network" */ char release[]; /* OS release (e.g., "2.6.28") */ char version[]; /* OS version */ char machine[]; /* Hardware identifier */ #ifdef _GNU_SOURCE char domainname[]; /* NIS or YP domain name */ #endif };
Karena informasi tentang jenis prosesor dan platform perangkat keras tidak ada dalam struktur ini, maka perintah uname mengembalikan 'tidak diketahui' untuk mereka.
Penjelasan lain yang saya temukan adalah bahwa di dalam uname.c penanganan opsi -p seperti :
... ... ... char const *element = unknown; #if HAVE_SYSINFO && defined SI_ARCHITECTURE { static char processor[257]; if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor)) element = processor; } #endif ... ... ...
Makro HAVE_SYSINFO dan SI_ARCHITECTURE tidak didefinisikan di mana pun di kernel dan karenanya tidak diketahui dikembalikan. Hal yang sama berlaku untuk opsi -i.
Saya tidak yakin tentang masalah sebenarnya tetapi kita dapat dengan aman berasumsi bahwa opsi -p dan -i bukan standar dan hanya ekstensi dan karenanya harus dihindari saat menggunakan perintah uname dalam skrip.