タグ

unixに関するnilabのブックマーク (55)

  • デフォルトのShell を変更する

    UNIX用のシェルにはBourne Shell、C Shell、Korn Shell、bashなど幾つかの種類が存在し、Red Hat Linux のデフォルトのshell はbash が採用されています。Shell によってコマンドや操作方法が変わってくることもあるので、できるなら普段、使い慣れているShell を使いたいものです。あるいは、勉強のために他のShell もいじってみたい方もいるでしょう。目的は人それぞれですが、ここでは、そのデフォルトShell の変更方法について説明していきます。 ■Shell の種類を確認する 使用できるシェルの種類を調べるには、/etc/shells を参照するか、もしくは、chsh -l コマンドを実行します。 # cat /etc/shells もしくは、chsh -l /bin/sh /bin/bash /sbin/nologin /bin/b

    nilab
    nilab 2016/01/12
    「使用できるシェルの種類を調べるには、/etc/shells を参照するか、もしくは、chsh -l コマンドを実行」「シェルを変更するには、chsh コマンドを使用」
  • cpで大量のファイルをコピーした(4億3200万件、39TB)

    GNUのcpを使って大量のファイルをコピーしたところ、cpの設計上の問題で、極めてコピーが遅かったというお話。 My experience with using cp to copy a lot of files (432 millions, 39 TB) よう。俺は最近、大量のファイルをコピーする必要があったんだが、UNIXは20年もやってきた俺の経験からも、cpの挙動には驚かされたし、俺の意見はコミュニティに共有されるべきだと思う。 環境:古いDellのサーバー(2コア、初期メモリ2GB、追加して10GB、Ubuntu Trusty)と、新しいDellのストレージ格納機(MD 1200)にある、12個の4TBディスクでRAID 6が設定してあって、全体で40TBの要領を持ち、二つのドライブが同時に失敗しても問題ない環境。サーバーは遠隔地バックアップに使われていて、ディスクへの書き込みし

    nilab
    nilab 2014/09/12
    本の虫: cpで大量のファイルをコピーした(4億3200万件、39TB) : 「ハッシュテーブルをリサイズするが、その間にI/Oを一切行わないというのと、終了時にご丁寧にもハッシュテーブルで確保したメモリを破棄しようとする」
  • UNIX/コマンド/テキスト処理/uniq - 会津大学UNIXウィキ

    aa cc aa cc bb cc dd ee % uniq [file1] aa cc bb cc dd ee % uniq -c [file1] 2 aa cc 1 bb cc 1 dd ee

    nilab
    nilab 2014/07/10
    「uniq コマンドを使用することで、重複行を1つにまとめることができます」uniq - 重複行を1つにまとめる - 会津大学UNIXウィキ
  • wgetやscpに帯域制限をかける - matabii's blog

    Linuxに限らずですが、ダウンロードやネットワーク越しでファイルのコピーを行うと、標準ではベストエフォートで頑張っちゃうので回線やディスクに負荷を与えてしまいます。 自分専用マシンでは問題無いですが、サーバでサービスを提供してたりすると数秒の負荷も無視出来ないので気を使います。そこで、有名コマンドで使用する帯域に制限をかける方法。 ・wget --limit-rateのオプションで制御可能。単位はbyte/秒 wget --limit-rate=100000 http://XXXXXX.com/aaa.tgz これで100KB/秒で転送。・scp -lオプションで制御可能。単位はKbit/秒 scp -l 800 root@XXXXXX.com:/aaa/aaa.tgz ./ これで100KB/秒で転送。・rsync --bwlimitオプションで制御可能。単位はKbyte/秒 rsyn

    wgetやscpに帯域制限をかける - matabii's blog
    nilab
    nilab 2014/07/08
    wgetやscpに帯域制限をかける - isherの日記 : wget --limit-rate=100000 http://XXXXXX.com/aaa.tgz : scp -l 800 root@XXXXXX.com:/aaa/aaa.tgz ./ : rsync -av --bwlimit=200 root@XXXXXX.com:/aaa/ ./aaa/
  • [ヅ] vi / vim の読み込み専用コマンド view (2014-01-30)

    nilab
    nilab 2014/01/30
    いまでも自分はよく使うコマンドだけど、IT世間的には使っている人はどれぐらいいるんだろうか。 / [ヅ] vi / vim の読み込み専用コマンド view (2014-01-30)
  • curlでファイルをダウンロードする - ksaitoの日記

    Webからファイルをダウンロードするときwgetを使います。 wgetは、リダイレクトに対応していないので、リダイレクトを使っているサイトの場合には、curlを使います。 オプションをいつも忘れてしまうので、書いておきます。 -Lがリダイレクトに対応、-Oがファイルに保存(指定しないと標準出力です。) $ curl -L -O [URL]

    curlでファイルをダウンロードする - ksaitoの日記
    nilab
    nilab 2013/10/10
    curlでファイルをダウンロードする - ksaitoの日記 : 「-Lがリダイレクトに対応、-Oがファイルに保存(指定しないと標準出力です。) $ curl -L -O [URL]」
  • ファイルを結合するには

    splitコマンドで分割したファイル(ファイルを分割するには参照)を、元通りに結合するには、catコマンドを使用する。通常、catコマンドはファイルの中身を画面に表示するときに使用するが、来は複数のファイルを連結するためのコマンドなのだ(catの名前はconcatenateから付けられた)。一般的には、ワイルドカードを使用して以下のように結合する。

    nilab
    nilab 2013/09/27
    「通常、catコマンドはファイルの中身を画面に表示するときに使用するが、本来は複数のファイルを連結するためのコマンドなのだ(catの名前はconcatenateから付けられた)」ファイルを結合するには
  • 操作手順をログ記録したい~scriptコマンド~

    ツールをインストールするなど,シェル上で操作する入出力される情報は,後でどのような操作を行ったかを把握する際に便利なものだ。 次のようにscriptコマンドを利用すれば,ファイルとして保存することができる。ここでは例として「messages.log」というファイル名にしたが,自由に指定しよう。

    操作手順をログ記録したい~scriptコマンド~
    nilab
    nilab 2013/09/19
    ITmedia エンタープライズ : Linux Tips「操作手順をログ記録したい~scriptコマンド~」 : $ script messages.log : 「ログ記録を終了させたい場合には,「exit」と入力するか,「Ctrl」+「D」キーを押せばよい」
  • Read-only file systemで変更できない - YUJimny備忘録

    root権限でchmodなどを入力しても「Read-only file system」と表示されて変更ができない場合、 mount -o rw,remount /dev/block/mtdblock3 /system と入力すると、変更できるようになります(上記は、/system での例)。 # 2011/10/13追記 adb remount これでもいいみたいですね。 ※2012/5/6 追記 remountは使える環境(機種)と使えない環境があるみたいです。 参考URL http://www.adakoda.com/adakoda/2009/03/android-read-only-file-system.html

    Read-only file systemで変更できない - YUJimny備忘録
    nilab
    nilab 2013/08/01
    Read-only file systemで変更できない - YUJimny備忘録 : 「root権限でchmodなどを入力しても「Read-only file system」と表示されて変更ができない場合」 mount, remount
  • 実行中のプロセスをバックグラウンドに移したい

    例えば,kterm上でコマンド「setiathome」を実行したとしよう。このプログラムは,常に動作しつづける種類のため,通常は終了をさせるまではプロンプト表示に戻らない。しかし,次の作業に移りたいといった場合には,現在のプロセスを停止せずに処理をバックグラウンドへ移せばよい。 キーボードで,「Ctrl」+「Z」をタイプする。動作中のプロセスは,これでサスペンド(一時停止)状態になる。続いて,次のコマンドを実行すればバックグラウンドに移すことが可能だ。

    実行中のプロセスをバックグラウンドに移したい
    nilab
    nilab 2013/04/26
    ITmedia エンタープライズ : Linux Tips「実行中のプロセスをバックグラウンドに移したい」 : 「キーボードで,「Ctrl」+「Z」をタイプする。動作中のプロセスは,これでサスペンド(一時停止)状態に」 # bg
  • UNIX Q&A集

    UNIXを使用した時のQ&Aについてまとめてあります。 このQ&Aは、実際に発生した質問とその回答を掲載しています。 Q.CGIで、root権限を必要とするコマンドを動かしたいのですが? CGIは、webmasterユーザで動作するため、root権限を必要とするコマンドが使用できません。 A.setuid関数とsetuidビットを使うことで可能です。 以下に、root_commandというroot権限を必要とするコマンドを、suid_commandという名前で、一般ユーザが実行できるようにする方法を説明します。 まず、setuid関数を使用して、cプログラムを作成します。 unix> vi suid_command main() { setuid(0); setgid(0); system("./root_command"); } これをコンパイルします。 unix> cc -o suid

    nilab
    nilab 2012/11/28
    UNIX Q&A集
  • シンボリックリンクの作成・削除 - LostMemories

    日頃感じていることや、身の回りで起きる少し変わったことを紹介します。 携帯版は、http://trialpc.net/mt/mt4i.cgi?id=1 です。 Linuxなどを扱っているとシンボリックリンクを利用することが非常に多いです。そんなときに「どうやってやるんだっけ?」とならないために、メモを残しておきます。ちなみに、シンボリックリンクというのは、ファイルやディレクトリの別名だと思っていただいたらいいです。 [web] シンボリックリンク - IT用語辞典 で、シンボリックリンクを作成の仕方ですが、基的には次のような感じ。 $ ln -s (リンクを張られるファイル名) (リンク名) 覚え方は、英語の単語の call と同じだと思えばいいんじゃないでしょうか。I call him Tom. みたいな感じ。 削除は普通のファイルのようにして消せばよいです。 $ rm (削除するリ

    nilab
    nilab 2012/04/13
    リンク名は省略できる(ファイル名と同じになる)ので、省略できないものが第一引数になると覚える(`・ω・´)シャキーン 「$ ln -s (リンクを張られるファイル名) (リンク名)」シンボリックリンクの作成・削除
  • xargs - Wikipedia

    xargs(エックスアーグズ)は、UNIX 系オペレーティングシステムに用意されているコマンドで、標準入力を読み込み、それを引数として指定したコマンドを実行する。 概要[編集] xargs は、改行等で区切られた標準入力を読み込み、空白で区切られた1行の文字列へ加工し、それを引数として指定したコマンドへ渡して実行させる。 % (echo Bravo.txt ; echo Charlie.txt) | xargs -- chmod a-x Alpha.txt というコマンドは次のものと等価である。 % chmod a-x Alpha.txt Bravo.txt Charlie.txt 上記の例は echo で生成させたファイルパスを xargs に与えるものだが、find コマンドで階層的に検索して取得したファイルパスを xargs に与えることもできる。 % find path -type

    nilab
    nilab 2012/03/13
    「非常に長い引数のリストはコマンドに渡すことが出来ないが、xargsを使うことによって引数リストをシステムが受け入れられるサイズに分割してコマンドに渡してくれる」xargs - Wikipedia
  • linux(UNIX) の grep で、あるディレクトリ以下を再帰的に見て、全ての *.html ファイルに grep をかける方法

    linux(UNIX) の grep で、あるディレクトリ以下を再帰的に見て、全ての *.html ファイルに grep をかける方法を教えてください。 簡単な事なのかもしれませんが、コマンドから打つ場合、どのようにすればよいか、分かりません。 Windows秀丸のgrepなら簡単に出来るのですが。。。 どなたか教えてくださいませ。。。

    linux(UNIX) の grep で、あるディレクトリ以下を再帰的に見て、全ての *.html ファイルに grep をかける方法
    nilab
    nilab 2012/03/13
    linux(UNIX) の grep で、あるディレクトリ以下を再帰的に見て、全ての *.html ファイルに grep をかける方法 - Linux系OS - 教えて!goo : 「find あるディレクトリ -iname "*.html" -exec grep -Hn pattern {} \;」
  • あるディレクトリ以下を再帰的に grep する方法

    【この記事の所要時間 : 約 2 分】 あるディレクトリ以下を再帰的に grep するには、いくつかの方法があるが、よく使うのは、検索したいあるディレクトリまで行ってから以下のコマンドを打つやり方である。なぜこれを使うのかといえば、一番最初にOJTで当時の先輩に教えてもらったやり方だからだ。 find ./ -name ‘*’ | xargs grep hogehoge 拡張子がphpのものだけならば、以下のようにする。 find ./ -name ‘*.php’ | xargs grep hogehoge 同じように拡張子がtxtのものだけならば、以下のようにする。 find ./ -name ‘*.txt’ | xargs grep hogehoge あんまりコマンドを教えてもらった記憶はないが、これだけは記憶に残っている。 なぜだろうか。

    あるディレクトリ以下を再帰的に grep する方法
    nilab
    nilab 2012/03/13
    あるディレクトリ以下を再帰的に grep する方法 - Shoulder.jp : 「find ./ -name '*' | xargs grep hogehoge」
  • ln コマンドでシンボリックリンク作成

    Landscape トップページ | < 前の日 2003-04-25 2003-04-26 次の日 2003-04-27 > Landscape - エンジニアのメモ 2003-04-26 ln コマンドでシンボリックリンク作成 当サイト内を Google 検索できます * ln コマンドでシンボリックリンク作成この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Linux] [unix] TARGET へのリンクを DIRECTORY に作成する。いつも TARGET と DIRECTORY の順番で迷ってしまうのでメモ。 $ ln -s TARGET DIRECTORY man ln によると、TARGET だけを指定したときはカレントディレクトリに TARGET へのリンクを作成するとのことなので、一引数だけの指定をした方が良いかもしれない。

    nilab
    nilab 2012/03/07
    ln コマンドでシンボリックリンク作成 : 「$ ln -s TARGET DIRECTORY」「TARGET だけを指定したときはカレントディレクトリに TARGET へのリンクを作成する」 ln -s 実体ファイル シンボリックリンクの場所
  • 端末シェル操作の基本的な流れについて(後半) - 試験運用中なLinux備忘録・旧記事

    「端末シェル操作の基的な流れについて(前半)」の続き。 シェルから抜ける ログアウト時におけるサスペンド/バックグラウンド状態のジョブの挙動について 履歴について シェルから抜けるシェルから抜けるには、プロンプトが出ていてかつ入力文字列のないときにCtrl+Dを押すかexitコマンド*1を実行する。 $ (Ctrl+D) (もしくは) $ exit ログアウト時におけるサスペンド/バックグラウンド状態のジョブの挙動について「シェル上のプロセスの動作状態(フォアグラウンド/バックグラウンド/サスペンド)とその制御について(前半)」「シェル上のプロセスの動作状態(フォアグラウンド/バックグラウンド/サスペンド)とその制御について(後半)」で扱っているサスペンド状態のプロセス(ジョブ)がある場合は (bashの場合) There are stopped jobs. (zshの場合) zsh:

    端末シェル操作の基本的な流れについて(後半) - 試験運用中なLinux備忘録・旧記事
    nilab
    nilab 2012/02/23
    履歴数の内部保持数とファイルへの記録数を指定する変数。 bash は HISTSIZE, HISTFILESIZE   zsh は HISTSIZE, SAVEHIST / 端末シェル操作の基本的な流れについて(後半) - 試験運用中なLinux備忘録
  • Cシェル変数:savehist: UNIX/Linuxの部屋

    シェルを終了すると、そのとき保持しているヒストリ情報が ~/.history に書き込まれる。次回シェルを起動したときに ~/.history が読まれて、前回のヒストリ情報を引き続き使う。savehist はシェルの終了時に ~/.history に保存するコマンドの数を指定する。

    nilab
    nilab 2012/02/23
    UNIXの部屋 コマンド検索 : savehist (*BSD/Linux):savehist ログアウト時に~/.history に保存する履歴の数 : シェルを終了すると、そのとき保持しているヒストリ情報が ~/.history に書き込まれる : % set savehist=1000
  • libharu, how to compile (undefined reference to)

    nilab
    nilab 2012/01/17
    libharu, how to compile (undefined reference to) [Archive] - CodeGuru Forums : "./a.out: error while loading shared libraries: libhpdf-2.2.1.so: cannot open shared object file: No such file or directory" : export LD_LIBRARY_PATH=/home/hoge/lib で解決。
  • rcpコマンドの使い方: UNIX/Linuxの部屋

    リモートホストからローカルホストへ、またはその逆の、ローカルホストからリモートホストへ、ファイル・ディレクトリをコピーすることができる。

    rcpコマンドの使い方: UNIX/Linuxの部屋
    nilab
    nilab 2012/01/13
    UNIXの部屋 コマンド検索:rcp (*BSD/Linux) : 「ローカルのファイルは、普通通り指定すればよいが、リモートのファイルは ログインネーム@ホスト名:ファイル名(ディレクトリ名) という形式で指定する」