mobicow

Tampilkan postingan dengan label Linux. Tampilkan semua postingan
Tampilkan postingan dengan label Linux. Tampilkan semua postingan

Kamis, 06 Oktober 2011

>> Pipes - Dapatkan hasil maksimal dari shell anda

Pipa mungkin salah satu fitur yang paling penting yang tersedia di shell Unix. Fitur ini hanya menakjubkan, khusus untuk orang-orang yang tidak akrab dengan konsep yang benar-benar terkejut pipa ketika mereka melihatnya bekerja. Tanpa penundaan lebih lanjut, mari kita ke inti masalah.
Penjelasan:
Pipa seperti namanya adalah semacam tabung berongga (pipa) di mana Anda dapat menempatkan data ke dalam satu ujung dan keluar dari ujung lainnya. Whats menggunakan? Anda akan melihat segera .. Menggunakan pipa Anda dapat menghubungkan dua program. Menggunakan pipa Anda dapat membuat output dari perintah tertentu untuk bertindak sebagai input untuk perintah lain.
Hal ini paling baik dijelaskan dengan menggunakan contoh
$ Ls | grep 'mp3'
Perintah ini pada dasarnya terdiri dari 2 perintah bergabung dengan pipa. Perintah pertama mendapat daftar dari direktori saat ini dan kemudian pipa ke (mengirim ke) perintah kedua yang adalah perintah grep. Perintah grep memilih baris-baris dari daftar direktori (yang diterima dari perintah ls) memiliki string 'mp3' di dalamnya. Jadi pada dasarnya sebagai hasil dari perintah ini Anda akan mendapatkan daftar file / direktori yang memiliki huruf 'mp3' dalam nama mereka.
Anda mungkin berpikir ini tidak benar-benar berguna, ketika Anda bisa menggunakan beberapa bentuk perintah ls sendiri (mungkin lebih pendek) untuk mendapatkan beberapa pekerjaan dilakukan. Penggunaan pipa menjadi jelas seperti yang Anda desain perintah yang lebih kompleks.

Ambil perintah berikut. Yang satu ini juga sederhana, tetapi Anda akan mendapatkan ide di balik pipa.
$ Ls | grep 'mp3' | sort-r
Perintah ini akan melakukan hal yang sama seperti yang di atas, tapi kali ini bukannya menampilkan semua file / direktori memiliki string 'mp3' dalam nama mereka, hasil ini diteruskan kepada perintah semacam melalui pipa. Perintah sort dengan opsi-r macam hasil dalam urutan terbalik. Dan akhirnya menampilkan hasilnya.

Jadi seperti yang Anda lihat, pipa membiarkan Anda lulus output dari satu perintah ke perintah lain masukan. Anda dapat membawa pada rantai ini selama yang Anda inginkan (Anda dapat menggunakan pipa antara 5,6,7 .. perintah .. berapa banyak yang Anda inginkan) .. dan Anda bisa mendapatkan output yang sangat disesuaikan. Kemampuan Unix shell ketika pipa yang digunakan secara efektif adalah diserahkan kepada imajinasi Anda.
Singkatnya:
Pada dasarnya pipa dapat digunakan dengan sebagian besar perintah Unix. Tetapi konsep dasar tetap sama - output dari perintah pertama bertindak sebagai input untuk perintah kedua. Anda harus berhati-hati untuk memeriksa bahwa output dari perintah pertama adalah masukan diterima oleh perintah kedua. Ini tidak boleh yang perintah pertama memiliki output dalam beberapa format selain format teks dan perintah kedua bekerja dengan input teks saja. Jika pada semua hal semacam ini terjadi, sebagian besar Anda akan mendapatkan pesan kesalahan atau Anda harus mengetikkan <Ctrl>-C untuk keluar dari eksekusi dari perintah dan kembali ke prompt.

>> Cara menggunakan perintah paling populer di Unix - grep

grep adalah jauh perintah paling populer yang ada di Unix. Meskipun beberapa mungkin berpendapat tentang itu, tetapi sekali Anda mulai menggunakan grep, selalu akan hadir dalam semua perintah kompleks Anda bahwa Anda memikirkan menjalankan di shell prompt. grep singkatan dari ' global regular expression printer ' (printer ekspresi global biasa). Yang tidak masuk akal untuk kebanyakan .. Dengan kata yang masuk akal grep ekstrak garis-garis dari sebuah teks tertentu yang sesuai dengan ketentuan yang ditetapkan oleh pengguna.
Pada dasarnya grep memungkinkan Anda memasukkan pola teks dan kemudian mencari pola ini dalam maka teks yang Anda berikan. Ini akan mengembalikan semua baris yang memiliki pola yang diberikan di dalamnya. grep dapat digunakan dalam 2 cara - Entah sendiri atau bersama dengan pipa
Catatan: Dalam kasus Anda tidak akrab dengan pipa, kemudian lihat Pipes yang menjelaskan pipa. Jika Anda menyebut diri Anda pengguna Linux, Anda harus tahu pipa (pipes).


Menggunakan grep sendiri
$ Grep '12 .00 '/ home / david / backup / log.txt
Perintah ini pada dasarnya menunjukkan bagaimana Anda dapat menggunakan grep untuk mengekstrak baris yang mengandung string tertentu dari sebuah file teks. (File teks tidak harus diakhiri. Txt) akan mencari Perintah di atas untuk string 12.00 dalam file teks ditentukan dalam perintah, dan menampilkan semua baris yang memiliki string ini di dalamnya.
Perintah di atas dapat digunakan untuk mengetahui semua backup yang terjadi pukul 12.00 (Dalam kasus Anda memiliki file log.txt dalam direktori tersebut dengan daftar semua timing untuk backup yang telah dibuat).

$ Grep-v '12 .00 '/ home / david / backup / log.txt
Perintah di atas sekarang akan menampilkan semua baris dalam file teks, kecuali mereka yang memiliki string 12.00 di dalamnya.

$ Grep-l 'menunda' / code / *. c
Perintah pencarian di atas untuk file-file yang diakhiri dengan huruf 'c.' (Dalam direktori / kode) dan di mana 'menunda' teks hadir. Ini hanya mengembalikan nama-nama file dan bukan garis di mana ia menemukan string.

$ Grep-w "\ <teluk '*
'Melihat \>' $ grep-w *
Pencarian perintah di atas teks dalam cara yang lebih halus. Pencarian Perintah pertama bagi mereka baris di mana setiap kata dalam baris yang diawali dengan huruf 'teluk' dan pencarian perintah kedua bagi mereka baris di mana setiap kata dalam baris yang diakhiri dengan 'menonton' huruf
-
Menggunakan grep dengan pipa
$ Ls-l | grep rwxrwxrwx
Seperti Anda harus mengetahui ls-l menampilkan daftar direktori untuk direktori manapun. Bagian dari perintah grep rwxrwxrwx ekstrak hanya baris yang menampilkan file yang memiliki mereka membaca, menulis, mengeksekusi mengatur hak akses untuk user, kelompok dan orang lain juga. Jadi bukannya mendapatkan daftar semua file dalam direktori, Anda hanya akan melihat file-file yang memiliki r mereka, w, x mengatur hak akses untuk semua orang semua.

Output dari grep juga dapat disalurkan ke program lain sebagai berikut
$ Du | grep 'mp3' | more
Anda harus bisa mengetahui apa perintah di atas tidak ..


$ Grep '^ #' / home/david/script1 | more
Perintah di atas akan menampilkan garis-garis (dari file / home/david/script1) yang dimulai dengan '#'. Istilah '^ #' berarti bahwa # harus hadir sebagai karakter pertama pada sebuah baris. Bagian yang lebih dari perintah harus diketahui oleh Anda. Jika tidak, lebih pada dasarnya menampilkan output halaman pada satu waktu memetikan output melebihi satu halaman.

$ Grep-v '^ [0-9]' / home / david / backup / log.txt | more
Perintah ini akan mencari baris yang memiliki salah satu angka dari 0-9 di dalamnya sebagai karakter pertama pada baris. Ini kemudian mencetak semua baris kecuali orang itu ditemukan awalnya.
Penting: Ini perlu untuk melampirkan pola (seperti yang digunakan dalam 2 perintah di atas) dalam tanda kutip tunggal sehingga shell memahaminya correctly.Otherwise, shell dapat menafsirkan dalam metode lain.


Beberapa tambahan pilihan untuk grep
-V
Membalikkan perilaku normal dari perintah grep - Alih-alih memilih baris, ia menolak garis yang cocok dengan kriteria yang diberikan.
-C
Ini menekan output normal dan hanya mencetak jumlah total baris yang cocok, bukan garis yang sebenarnya.
-I
Mengabaikan kasus teks ketika pencocokan pola yang diberikan.
-W
Memeriksa apakah pola yang diberikan adalah kata dengan sendirinya dan bukan bagian dari kata lain. Jadi jika Anda mencari 'teluk' dan kata 'Baywatch' hadir dalam sebuah file, baris tertentu conatining kata yang tidak akan dikembalikan dalam hasil.
-L
Hanya memberikan nama-nama file di mana pola yang diberikan ditemukan.
-R
Memeriksa pola yang diberikan, secara rekursif dalam direktori yang Anda tentukan setelah opsi-r
Saya harap tutorial ini membantu Anda memulai dengan grep. grep defintely salah satu alat yang memberikan keuntungan atas Linux Sistem Operasi lainnya. Menggunakan grep efektif bersama dengan alat-alat lain memberikan pengguna banyak kekuatan di Unix.

>> Bagaimana menemukan - Ukuran sebuah direktori & ruang disk kosong

Artikel ini menjelaskan 2 perintah sederhana yang kebanyakan orang ingin tahu kapan mereka mulai menggunakan Linux. Mereka menemukan ukuran direktori dan menemukan jumlah ruang disk bebas yang ada pada mesin Anda. Perintah akan Anda gunakan untuk menemukan ukuran direktori 'du'. Dan untuk menemukan ruang disk bebas Anda bisa menggunakan 'df'.
Semua menyajikan informasi dalam artikel ini tersedia di halaman manual untuk du dan df. Dalam kasus Anda bosan membaca halaman manual dan Anda ingin mendapatkan pekerjaan Anda dilakukan dengan cepat, maka artikel ini adalah untuk Anda.
-
'Du' - Menemukan ukuran direktori
$ Du
Mengetik di atas pada prompt memberikan Anda daftar direktori yang ada di direktori saat ini bersama dengan ukuran mereka. Baris terakhir output memberi Anda ukuran total dari direktori saat ini termasuk subdirektorinya. Ukuran yang diberikan mencakup ukuran file dan direktori yang ada di direktori saat ini serta semua subdirektorinya. Perhatikan bahwa secara default yang diberikan adalah ukuran dalam kilobyte.

$ Du / home / david
Perintah di atas akan memberikan ukuran direktori dari direktori / home / david

$ Du-h
Perintah ini memberikan output yang lebih baik dari standar satu. Option '-h' singkatan format yang mudah dibaca manusia. Jadi ukuran dari file / direktori yang kali ini bersufiks dengan 'k' jika yang kilobyte dan 'M' jika yang Megabyte dan 'G' jika Gigabytes nya.

$ Du-ah
Perintah ini akan menampilkan dalam output, bukan hanya direktori tetapi juga semua file yang ada di direktori saat ini. Perhatikan bahwa 'du' selalu menghitung semua file dan direktori sambil memberikan ukuran akhir di baris terakhir. Tapi '-a' menampilkan nama file bersama dengan nama direktori pada output. '-H' sekali lagi format yang mudah dibaca manusia.

$ Du-c
Ini memberi Anda grand total sebagai baris terakhir dari output. Jadi jika Anda menempati direktori 30MB yang 2 baris terakhir dari output akan
30M.
Total 30M
Baris pertama akan menjadi garis standar terakhir dari output 'du' yang menunjukkan ukuran total dari direktori dan garis lain menampilkan ukuran yang sama, diikuti oleh string 'total'. Hal ini bermanfaat dalam kasus Anda ini perintah bersama dengan perintah grep untuk hanya menampilkan ukuran total akhir dari sebuah direktori seperti yang ditunjukkan di bawah ini.

$ Du-ch | grep Total
Hal ini akan hanya memiliki satu baris dalam output yang menampilkan ukuran total dari direktori saat ini termasuk semua subdirektori.

$ Du-s
Ini menampilkan ringkasan dari ukuran direktori. Ini adalah cara paling sederhana untuk mengetahui ukuran total dari direktori saat ini.

$ Du-S
Ini akan menampilkan ukuran direktori saat ini tidak termasuk ukuran dari subdirektori yang ada dalam direktori tersebut. Jadi pada dasarnya menunjukkan ukuran total semua file yang ada di direktori saat ini.

$ Du - exculde = mp3
Perintah di atas akan menampilkan ukuran direktori saat ini bersama dengan semua subdirektorinya, tetapi akan mengecualikan semua file yang memiliki pola yang diberikan hadir dalam nama file mereka. Jadi dalam kasus di atas jika ada terjadi menjadi file mp3 dalam direktori saat ini atau subdirektori, ukuran mereka tidak akan disertakan saat menghitung ukuran direktori total.
-
'Df' - menemukan disk ruang / penggunaan disk
$ Df
Mengetik di atas, output tabel terdiri dari 6 kolom. Semua kolom yang sangat mudah dipahami. Ingat bahwa 'Ukuran', 'Digunakan' dan 'Tersedia' kolom digunakan sebagai unit kilobyte. Kolom 'Gunakan%' menunjukkan penggunaan sebagai persentase yang juga sangat berguna.

$ Df-h
Menampilkan output yang sama seperti perintah sebelumnya namun '-h' menunjukkan format yang mudah dibaca manusia. Oleh karena itu bukan kilobyte sebagai unit output akan memiliki 'M' untuk Megabyte dan 'G' untuk Gigabytes.
Sebagian besar pengguna tidak menggunakan parameter lain yang dapat dikirimkan ke 'df'. Jadi saya tidak akan membahas mereka.
Aku di dalam gilirannya akan menunjukkan contoh yang saya gunakan pada mesin saya. Saya telah benar-benar disimpan ini sebagai script bernama 'penggunaan' karena saya sering menggunakannya.
Contoh:
Saya punya Linux diinstal pada / dev/hda1 dan saya telah terpasang saya partisi Windows juga (secara default setiap kali Linux boot). Jadi 'df' secara default menunjukkan saya penggunaan disk Linux saya serta partisi Windows. Dan saya hanya tertarik pada penggunaan disk dari partisi Linux. Ini adalah apa yang saya gunakan:
$ Df-h | grep / dev/hda1 | cut-c 41-43
Perintah ini menampilkan berikut ini pada mesin saya
45%
Pada dasarnya perintah ini membuat 'df' menampilkan penggunaan disk dari semua partisi dan kemudian ekstrak baris dengan / dev/hda1 karena saya hanya tertarik dalam hal itu. Kemudian memotong karakter dari 41 ke kolom ke-43 karena mereka adalah kolom yang menampilkan penggunaan dalam%, yang adalah apa yang saya inginkan.
 

>> Mengatur PATH

Artikel ini menjelaskan bagaimana mengatur variabel PATH anda di bawah Linux. Ini memiliki penggunaan yang sama seperti yang dari pengaturan variabel PATH di DOS. Di Linux juga, memodifikasi PATH akan menambahkan direktori baru ke path pencarian default Anda.
Jadi dalam hal Anda memiliki dieksekusi tertentu dalam sebuah direktori tertentu, maka jika Anda menambahkan direktori yang ke PATH anda, maka anda hanya perlu mengetik nama executable pada prompt bukan path absolut untuk kemudian dieksekusi itu. Got it? Baca contoh di bawah ini untuk mencari tahu apa yang sebenarnya saya berbicara tentang ..


Anggapan
Misalkan Anda memiliki program dengan nama 'Tetris' dalam folder bernama / usr / local / permainan. Jadi untuk menjalankan program ini Anda harus ketik berikut ini pada prompt
$ / Usr / local / games / tetris
Perintah di atas akan mengeksekusi program anda. Tapi mengetik ini setiap kali Anda ingin bermain permainan ini indah membuat sedikit rumit. Ini akan jauh lebih baik jika Anda hanya bisa mengetik "tetris".


Solusi
Sebuah solusi akan menambahkan / usr / local direktori / game ke PATH anda, sehingga seterusnya waktu berikutnya Anda hanya akan perlu mengetikkan 'Tetris' pada prompt bukan path absolut.

Untuk menambahkan direktori ini ke PATH anda Anda harus mengedit sebuah file yang bernama 'bash_profile' yang akan hadir dalam direktori Home Anda (di Linux Redhat 6.2). Jadi jika ada pengguna dengan nama David kemudian file ini sebagian besar akan ditemukan di / home / David / .bash_profile
Catatan: Periode sebelum nama dari file (.). Periode ini membuat file file tersembunyi. Jadi ingat untuk melihat file yang tersembunyi juga saat melihat daftar direktori (opsi ini akan berada di beberapa menu di X, di cukup gunakan meminta 'ls-a' untuk melihat file yang tersembunyi).
File ini akan memiliki baris tertentu dimulai dengan PATH string. Untuk misalnya file yang saya miliki di mesin saya memiliki garis seperti
PATH = / opsional / bin: $ PATH: $ HOME / bin
Untuk menambahkan direktori / usr / local / permainan untuk ini saya harus memodifikasi baris ini sebagai berikut
PATH = / usr / local / permainan: opsional / bin: $ PATH: $ HOME / bin
Setelah Anda telah memodifikasi file ini, simpan dan kemudian jalankan sebagai berikut
. $ HOME / .bash_profile
Catatan: Untuk menjalankan script ini pada dasarnya pada jenis $ prompt periode '. 'Meninggalkan ruang dan kemudian ketik $ HOME / tekan Setelah ini dilakukan <Tab> Kunci. Melakukan hal itu akan menggantikan apa yang pernah anda telah mengetik dengan path ke direktori home Anda. Setelah ini terjadi semua yang harus Anda lakukan adalah menambahkan sebuah bash_profile. Dengan apa yang sudah ada di prompt dan akhirnya tekan <Enter>
Pada mengeksekusi script Anda tidak akan melihat pesan pada output, tapi kemudian seterusnya Anda hanya bisa mengetik 'Tetris' pada prompt untuk menjalankan program / ​​usr / local / games / tetris

Jadi sekarang Anda berada pada PATH yang tepat ;-)

>> Akses partisi Windows dari Linux

Pada dasarnya Linux dapat mengakses (setelah proses mount) partisi apapun, yang dapat mengenali filesystem (misalnya Fat 32, Ext2). Windows 95/98 partisi partisi FAT32 dan ini dapat diakses melalui Linux dengan beberapa pengaturan. Artikel ini membantu Anda melakukan itu. Setelah Anda melakukan itu, Anda dapat menyimpan pekerjaan Anda pada partisi ini dan juga mengakses semua data dari partisi ini. Membuat filesystem yang akan terlihat di bawah Linux (atau termasuk filesystem di Linux) adalah mengetahui sebagai 'Mount bahwa filesystem'.
Saya memiliki sekitar 1 GB mp3s pada partisi Windows saya dan membuat salinan duplikat bahwa dalam partisi Linux saya tidak masuk akal. Jadi saat ini saya mengakses partisi FAT32 saya melalui Linux (setelah mounting mereka) dan saya dapat memainkan semua mp3s yang hadir dalam partisi Windows saya, melalui Linux.

Setup:
Setup sistem saya dijelaskan dalam tabel
Linux perangkat
Ukuran
Jenis Keterangan
/ Dev/hda1
2 GB
Win 95 FAT32 C: \ di Windows (Dalam Primary Partition)
/ Dev/hda3
1 GB
Linux asli Terdiri dari / dan / boot (Dalam Primary Partition)
/ Dev/hda4
60MB
Linux Swap (Dalam Primary Partition)
/ Dev/hda5
3GB
Win 95 FAT32 D: \ di Windows
Logical 1 partisi (Dalam Extended Partition)
/ Dev/hda6
2GB
Linux asli Terdiri dari / usr
Logical 2 partisi (Dalam Extended Partition)
Saya partisi / dev/hda5 disediakan untuk mp3s saja. Prosedur di bawah ini memungkinkan saya me-mount partisi itu dan setiap kali aku mulai Linux, semua data pada partisi yang tersedia untuk saya.

Prosedur:

1.
Gunakan Linuxconf untuk melakukan berikut. Anda dapat memulai Linuxconf dari Program Menu Gnome -> Sistem Submenu atau dari K Menu atau dengan mengetikkan 'linuxconf' pada prompt (bash).
2.
Pilih Filesystem dari panel kiri.
3.
Kemudian klik pada drive Akses lokal di panel kiri.
4.
Anda akan ditunjukkan filesystem lokal saat ini yang diakui oleh Linux. Klik tombol Add
5.
Setelah mengklik Tambah Anda akan disajikan dengan jendela tab. Dalam Basis tab bernama (nama ini mungkin
6.
perubahan dalam distribusi Linux masa depan) masukkan nama partisi sebagai / dev/hda5 (hda5 adalah salah satu yang saya inginkan).
7.
Masukkan jenis sebagai vfat (ini membuat nama file yang panjang untuk diakui di Linux)
8.
Pilih mount point sebagai / mnt / win (Klik ya jika meminta Anda untuk membuat direktori)
9.
Dalam tab Options bernama, Hapus 'Tidak me-mount pada saat boot' .. sehingga setiap kali komputer anda mulai filesystem ini tersedia.
10.
Juga Hapus centang 'read only' .. jika Anda ingin menulis ke partisi yang dari dalam Linux
11.
Selesai pengaturan dengan mengklik OK atau Finish.
Sekarang Sistem File baru (partisi Windows Anda) akan tersedia di bawah folder / mnt / win
Penting: Hindari pemasangan C: \ Drive Windows (di mana Anda harus menginstal OS Windows) di Linux. Karena jika Anda menggunakan mode superuser sering, maka Anda mungkin secara tidak sengaja menghapus beberapa file penting Windows yang Anda tidak akan dapat pulih. Windows kemudian mungkin tidak boot waktu berikutnya Anda mencoba. Oleh karena itu selalu me-mount partisi lain hanya dari Anda partisi root Windows.

Catatan: Apapun perubahan yang Anda buat di atas akan terlihat dalam file bernama / etc / fstab. File fstab pada dasarnya menyajikan semua informasi filesystem dalam bentuk tabular. Partisi Windows baru yang baru saja Anda terpasang sekarang akan dianggap sebagai baris baru dalam tabel ini. Juga di masa depan jika Anda ingin menambahkan partisi baru Anda dapat mengedit file ini secara langsung daripada menggunakan linuxconf (untuk pemula, saya sarankan menggunakan linuxconf).