約 1,345,531 件
https://w.atwiki.jp/kapper1224/pages/91.html
Unix ASCII games こちらに情報を集約しているサイトがあります。 とても詳しいです。 Unix ASCII games 他にもポケモンLikeなPokete Pokete -- Grey Edition
https://w.atwiki.jp/sevenlives/pages/2426.html
■ システム管理コマンド su? shutdown? cal? date? which? wc? echo? type? useradd? userdel? passwd? ■ ファイル・ディレクトリ管理コマンド cd ls pwd? mkdir? touch? rm? grep? chmod chown? chgrp? getty ■ プロセス管理コマンド ps? kill? crontab? ■ デバイス管理コマンド mount? umount? UNIX Linux シェル? カーネル
https://w.atwiki.jp/sfrontier/pages/76.html
Unix Book_Unix 作成日 2007/11/06 H.Naito 更新日 2007/11/06 H.Naito この本の目的とするところ 感想 イントロダクション 第1章 UNIX の考え方 たくさんの登場人物たち1.1 UNIX の考え方 簡単なまとめ 第2章 人類にとっての小さな一歩2.1 【定理1】スモール・イズ・ビューティフル 2.2 やさしいソフトウェア工学 2.3 【定理2】一つのプログラムには一つのことをうまくやらせる 第3章 楽しみと実益をかねた早めの試作3.1 【定理3】できるだけ早く試作を作成する 3.2 人間による三つのシステム 3.3 人間による第一のシステム 3.4 人間による第二のシステム 3.5 人間による第三のシステム 3.6 第三のシステムの構築 第4章 移植性の優先順位4.1 【定理4】効率より移植性 4.2 事例研究 - Atari 2600 4.3 【定理5】数値データはASCIIフラットファイルに保存する 4.4 事例研究 - あるUNIXプログラマの道具袋 第5章 これこそ梃子の効果!5.1 【定理6】ソフトウェアの梃子を有効に活用する 5.2 【定理7】シェルスクリプトを使うことで梃子の効果と移植性を高める 第6章 対話的プログラムの危険性6.1 【定理8】過度の対話的インタフェースを避ける 6.2 【定理9】すべてのプログラムをフィルタする 6.3 UNIX環境 プログラムをフィルタとして使う 第7章 さらなる10のUNIXの考え方7.1 (1) 好みに応じて自分で環境を調整できるようにする 7.2 (2) オペレーティングシステムのカーネルを小さく軽くする 7.3 (3) 小文字を使い、短く 7.4 (4) 木を守る 7.5 (5) 沈黙は金 7.6 (6) 並行して考える 7.7 (7) 部分の総和は全体よりも大きい 7.8 (8) 90パーセントの解を目指す 7.9 (9) 劣るほうが優れている 7.10 (10) 階層的に考える 第8章 一つのことをうまくやろう8.1 UNIXの考え方 総括 第9章 UNIXとその他のオペレーティングシステムの考え方9.1 Atariホームコンピュータ - 芸術としての人間工学 9.2 MS-DOS - 7000万人以上のユーザが間違っているはずがない 9.3 OpenVMS - UNIX へのアンチテーゼ? 勉強の成果!? ( メモ ) を残します。 by 内藤 この本の目的とするところ 感想 ( まだ読みかけだけど・・・ ) 論点が明確で主張しているポイントが感覚に合う。 しかし、ほとんどが同じ事柄への説明を言葉を変えて説明しているので、冗長な部分が多分にある。 また、一方で、文章の展開に論理的な飛躍があったり、今語られている内容とは関係のない内容が突然まぎれることがある。 翻訳の問題というよりは、著者の論理展開の問題だと思う。 Unix の設計思想の部分を分解して説明している。Unix の設計思想は、他のソフトウェアの設計思想にも適応することで、より柔軟なシステムが 構築できるのではないかと思う。 Java などのマルチプラットフォーム思想や Write once, run anywhere という発想と反する部分があるように感じるが、上手く組み合わせることで 汎用性の高い、柔軟なシステムの構築が可能になるかもしれない。 この辺については、さらに研究を深めたい。 2007/11/06 内藤 イントロダクション UNIX の創造者たちは、「ユーザははじめからコンピュータを使える」という前提をたて、「何をしているかわからないのなら、ここにいるべきではない」というアプローチを選んだ。 その結果として、初期の Unix は、広汎な支持を得ることに失敗した。 しかし、1980年初頭あたりから、「どのオペレーティングシステムよりも柔軟で移植性に富み、性能の高いオペレーティングシステムができる」という噂のもと、コンピュータ業界に浸透していった。 第1章 UNIX の考え方 たくさんの登場人物たち Unix は、初期バージョンに MIT で開発された Multics から多くの特徴を取り入れた。( ex. タイムシェアリングシステム ) Unix の発明者、ケン=トンプソンが採用した方法( 後の Unix システム開発者たちの先例となる ) よいプログラマは素晴らしいソフトウェアを書く。 偉大なプログラマは、その素晴らしいプログラムを「盗む」( 独自技術症候群にならない。アイディアをみなで分かち合う ) 偉大なプログラムは、追い詰められた人間が書く。 あるアプリが「実用的」で「実現方法を知るエキスパートが回りにいない」で、それを「『正しく』やる時間がない」場合に、すばらしいソフトウェアが書かれる可能性が高くなる。 1.1 UNIX の考え方 簡単なまとめ 第2章以降の簡単な解説。 第2章 人類にとっての小さな一歩 2.1 【定理1】スモール・イズ・ビューティフル プログラムを書くときは、小さなものから始めて、それを小さなままに保っておく。シンプルさを追求する。 小さなプログラムを組み合わせることで、大きくて複雑な作業を簡単に処理する。 2.2 やさしいソフトウェア工学 小さなプログラム = 一つのことを上手くこなすことを目的としたプログラム( 目的の作業に直結したプログラム ) 小さなプログラムは可読性が高い。 書かれているアルゴリズムが簡潔なので、わかりやすい。 小さなプログラムは保守がしやすい。 そのプログラムで実行する処理が明確なので、保守しやすい。 小さなシステムはシステムリソースにやさしい 実行イメージがわずかなメモリしか占有しない( 軽いプロセスとして実行される ) スワップやページングが劇的に減り、性能が大幅に向上する ちいさなプログラムは消費するディスク容量も小さい 2.3 【定理2】一つのプログラムには一つのことをうまくやらせる 一つのことをうまくやるようにアプリを書けば、それは必然的に、小さなプログラムになる。 現在の仕事に集中することによって、やろうとしていることの本質をつかめる。 一つのことをうまくやるようにプログラムを作れないのであれば、おそらく問題をまだ完全には理解していない。 第3章 楽しみと実益をかねた早めの試作 エンジニアという職業は、たいていの人間が学び続けているという良い例だ。 エンジニアたちが自分たちの専門分野について完璧な知識をもっていたら、品質保証部門は必要ない。 ソフトウェア技術者たちは、特に急激な学習曲線を求められる。しかし、ソフトウェア技術者が何かを習得するには、長い時間がかかる。 仕様変更はよくあることだ。最初は上手くいかないと考えて、開発の初期段階で変更を行う方が安上がりだ。 ソフトウェア開発は、他の開発業種に比べてより多くの改訂と修正を必要とする。それはソフトウェアが抽象的な考えを扱うからだ。 3.1 【定理3】できるだけ早く試作を作成する 試作の目的は、「第三のシステム」に早く到達することだ。 ※ 第三のシステムに関しては後述。 試作の利点 ある方針の適否を早期に発見できる 何がうまくいくかがわかる 何がうまくいかないかがわかる 動くはずだという憶測ではなく、具体的な目標をプロジェクトのメンバーに伝えることができる ユーザにプレゼンすることで、設計上のミスを発見できる 試作の欠点・懸念点 設計を完全にしてからコーディングをしろ!!という一般論と対立している。 3.2 人間による三つのシステム 3.3、3.4、3.5 への導入部。人間の活動時期を3つの時期に分けられるように、システムの成熟も3つの時期に分けられる。 3.3 人間による第一のシステム 時間的に追い詰められた人間が第一のシステムを創る。 追い詰められた開発者は、当然、「正しく」やれる時間がない。そこで型破りな即興を講じ、細かい点は次期リリースの時に機能追加しようとする。 第一のシステムは、一人か、またはせいぜい数人からなる小さなグループで創られる [理由] まわりの人間に理解ができないから [理由] 第一のシステムは失敗する確立が極めて高いから チームが大きくなりすぎると、意思疎通がとりにくくなり、生産性が低下する。個性の衝突も起きる。メンバーそれぞれの思惑を実行に移す。縄張りができる。 第一のシステムの特徴 プログラムの単純さと速度を最優先にしているので、性能がいい。 プログラムの移植性を無視している。 実装された機能に対する仕事だけはできるが、それ以外の仕事はほとんど何もできないソフトウェア。 第一のシステムのコンセプトは人間の想像力を刺激する 3.4 人間による第二のシステム 「専門家」が、第一のシステムで証明されたアイデアを用いて第二のシステムを作る 専門家たちの委員会による設計が行われる。( 公開の場で進められる ) が、重要な問題で意見の一致が見られることはない。 その結果、様々な人たちの様々な思惑がつまった、機能は多いし、柔軟性もあるが、「重い」ソフトウェアが作成される。 3.5 人間による第三のシステム 第三のシステムは第二のシステムへの反抗から生まれる 第一のシステムのコンセプトは、第三のシステムが登場するころには、万人に受け入れられ、「それは普通の方法だ」と認められている。 第三のシステムでは、本当に必要な機能だけが残され、そこそこのリソースで多くを達成できるようになる。 3.6 第三のシステムの構築 Unix 的な開発プロセスは以下のようなもの 短い( 長くて3~4ページ )機能仕様書を書く コーディングする 目的を達成できるまで、テストして書きなおす。 詳細なドキュメントを( 必要なら )書く 従来型の開発プロセスは以下のようなもの システム設計を考える 試作を作成して、仮説をテストする 詳しい機能仕様書と設計仕様書を書く コーディングする テストする バグと設計ミスを修正し、その度に仕様書を更新する 設計は重要だが、設計の細部は都度かわるものなので、取り掛かる前に、詳細を文章化していても意味がない。 第4章 移植性の優先順位 4.1 【定理4】効率より移植性 4.2 事例研究 - Atari 2600 4.3 【定理5】数値データはASCIIフラットファイルに保存する 4.4 事例研究 - あるUNIXプログラマの道具袋 第5章 これこそ梃子の効果! 5.1 【定理6】ソフトウェアの梃子を有効に活用する 5.2 【定理7】シェルスクリプトを使うことで梃子の効果と移植性を高める 第6章 対話的プログラムの危険性 6.1 【定理8】過度の対話的インタフェースを避ける 6.2 【定理9】すべてのプログラムをフィルタする 6.3 UNIX環境 プログラムをフィルタとして使う 第7章 さらなる10のUNIXの考え方 7.1 (1) 好みに応じて自分で環境を調整できるようにする 7.2 (2) オペレーティングシステムのカーネルを小さく軽くする 7.3 (3) 小文字を使い、短く 7.4 (4) 木を守る 7.5 (5) 沈黙は金 7.6 (6) 並行して考える 7.7 (7) 部分の総和は全体よりも大きい 7.8 (8) 90パーセントの解を目指す 7.9 (9) 劣るほうが優れている 7.10 (10) 階層的に考える 第8章 一つのことをうまくやろう 8.1 UNIXの考え方 総括 第9章 UNIXとその他のオペレーティングシステムの考え方 9.1 Atariホームコンピュータ - 芸術としての人間工学 9.2 MS-DOS - 7000万人以上のユーザが間違っているはずがない 9.3 OpenVMS - UNIX へのアンチテーゼ?
https://w.atwiki.jp/hwang20/pages/72.html
ファイルの操作 % uname –s :UNIXの種類を調べる % logout:ログアウト % exit:終了 % passwd:パスワ-ドの変更 % man コマンド名:コマンドのマニュアルを表示 % ls:ディレクトリ内の一覧表示 -a:all (すべて) -A:特殊なファイルの表示 (同上) -F:ファイルとディレクトリを区別して表示 -l:ファイルとディレクトリの詳しく表示 -t:最終修正時刻の新しい順で表示する -R:再帰的に表示する -r:並び替えを逆順にする % pwd:カレントディレクトリを絶対パスで表示 % cd:カレントディレクトリの変更 % mkdir:ディレクトリを新たに作成 -p:親ディレクトリも同時に作成 % rmdir:ディレクトリの削除 -p:親ディレクトリも同時に削除 % rm:ファイルやディレクトリの削除 - i:削除するかどうかの確認メッセ-ジの表示 -r:中にあるファイルやディレクトリも下の階層まで削除 -f:メッセ-ジは表示されずに削除する % cat:ファイルの中身の表示(複数のファイルを連結表示する場合は、 複数のファイル名を指定すること) -n:行番号付きで中身を表示 -b:空行はカウントせずに行番号が表示される。 % more:ファイルの中身を1画面ずつスクロ-ルして表示 b:後ろに1画面スクロ-ルする q:moreを終了する Enterキ-:前に1行スクロ-ルする %less:ファイルの中身を1画面ずつスクロ-ルして表示 Spaceキ-:前に1画面スクロ-ルする Enterキ-:前に1行スクロ-ルする j:前に1行スクロ-ルする b:後ろに1画面スクロ-ルする k:後ろに1行スクロ-ルする <:ファイルの先頭行へ移動する >:ファイルの最終行へ移動する q:終了する -i:大文字/小文字を区別しなくなる -X:終了時に端末をクリアしない。 % head:ファイルの先頭のみを表示する -n:“n”に数字を書くと行数を指定する。 % tail:ファイルの最後のみを表示する -n:“n”に数字を書くと行数を指定する -f:ファイルの末尾を表示し続ける % wc:ファイルの行数、単語数、ファイルサイズの表示-l:行数だけを表示 -w:単語数だけを表示 % diff:ファイルを比較して違いを表示 -i:大文字/小文字の区別を無視する -c:差異行の前後3行を追加して出力する。 -u:同上 % find:ファイルの検索 -nameオプションと-printオプションの同時指定 -name:ファイル名の一部として一致させたい文字列を引数に取る -print:該当するファイル名をパスで表示する % locate :ファイル名データベースからのファイル検索 ファイルとディレクトリの操作: % cp:ファイルやディレクトリをコピーして指定された名前で保存 -i:本当にコピーするか確認のメッセージを表示 -r:再帰的にファイルやディレクトリをコピーする % mv:ファイルやディレクトリを別のディレクトリへ移動、ファイル名やディレクトリ名を変更。 -f:移動先に同じ名前のファイルやディレクトリがあっても、上書き移動する -i:確認メッセージを表示する
https://w.atwiki.jp/fieds_labo1/pages/62.html
perl UNIXコマンド実行 サーバHDの容量確認 print `df`; バッククォートで囲んだUNIXコマンドを実行し、結果をprintする。 実行結果が複数行にわたり、整形したい場合はopenを使って文字列配列に取り込む。 open(IN,"df|") || die; @s = IN ; close(IN); 後はforeachで1行ずつ処理。
https://w.atwiki.jp/astrophysics/pages/15.html
UNIX COMMANDのメモページ 最終更新0000-00-00 00 00 00 役に立つページ 誰にでも使えるUnix講座 廃版になってしまった本の内容を、ウェブに公開したもの。本は古本にでていたら買うべし。 本 入門 Unix for Mac OS X Macを使いながら、Unixの初歩を学ぶ人向き。一部を除けば、Macに限らず、Unixの初歩を学ぶこともできる。 UNIX Command集 ファイルのコピー ファイルのコピーはcpコマンドを用いる。 cp hoge1 hoge2 ディレクトリごとコピーしたい場合は、-Rオプションを用いる。たくさんファイルがあって、きちんとcopyされていくのを見たい場合は、 cp -Rv hoge1 hoge2 などとすればよい。 ファイルを送りたい ファイルを送るときに便利なコマンド。 scp (-r) P nn [ssh先 Directory name] [持ってきたいDirectory] ファイルをsshで取ってくるときに便利なコマンド。"-r"をつけるとディレクトリを取ってくることができる。"P nn"はポートナンバーnnのこと。 また、rsyncもファイルの転送時に便利なコマンドである。cpやscpと違い、まるまるコピーするわけではなく差分をとって同期するような感じになる。使い方は rsync -avz [ssh先 Directory name] [持ってきたいDirectory] 印刷関連(設定) lpr filename default設定のプリンタにプリント。 lpboth filename 両面印刷をする。 画像関連 pdf2ps filename.pdf filename.ps pdfファイルをpsファイルに変換する。 directoryに色をつけたい defaultで色がついていない時は、.bashrcに alias ls='ls --color' を付け加える。 また、色を変更したい場合は、このページを参考にするとよい。 2つのファイルの差をみたい 2つのファイルの差がどこにあるのかをみたいときは、 diff fileA fileB とすると、違いがある行が羅列される。 違いがないときは、何もでてこない。また、ただdiffのみだとどこが変わったのがわかりづらいので、 diff -y fileA fileB とすることで、2列並列で表示することができる。 X上でコピー&ペースト X上でコピーは、ふつうにドラッグをすればよい。 ペーストは、 shift+ Ins でできる。 また、Emacs上では、 ctrl+k で一行削除+読み込み ctrl+y でペーストとなる。 ちなみに、一行でなくて、何行でもコピペは可能。 新しいウィンドウを開く 1つのウィンドウだけで作業せずに、2つ以上で同時にタスクをこなしたいときには、 xterm として、新しくウィンドウを開けばよい。 ここで、例えばウィンドウにスクロールバーをつけたければ、 xterm -sb というオプションをつければよい。 calコマンドの豆知識 タブ gnome端末で、タブが使える物がある。(共通なのかどうか知らないけれど、僕の使っているものの場合は) ctrl+shift+t で新しいタブが開ける。ちなみに、タブ間の移動は ctrl+pageup(あるいは+pagedown) で移動できる。 ファイルから特定の行だけ抜き出す。 特定の名前が入った行だけを抜き出したいときは、grepコマンドが便利。 grep "hoge" filename とすれば、hogeという言葉が入った行だけを抜き出してくれる。 それ以外にも、hogeかrc(つまりはor検索)が入った行を抜き出したければ、 grep -e "hoge" -e "rc" filename とすればよい。"-e"が複数個を選択するオプションとして使える模様。 and検索をしたければ、 grep "hoge" filename | grep "rc" とすればよい。 個人的にgrep検索をよく使うのは、とあるファイルのある行だけをみたいとき、わざわざファイル全部を見るのは面倒なので、例えば grep PATH .bashrc とかしたり、あるいは、過去に使ったコマンドを検索したいときに、 history | grep emacs などとする。 また、hogeという言葉が入って「いない」検索をしたい場合は、 grep -v hoge filename とすればよい。 また、hogeという言葉が入っていないファイル名だけを表示したい場合は、lオプションを使って、 grep -lv hoge * などとすればよい。大文字小文字を区別しないiオプションを同時に使って、 grep -lvi hoge * は重宝する。 少し凝った検索を行いたい grepだけでもかなり重宝するが、いわゆるメタキャラクタを使った検索をしたい場合はegrepというコマンドを使う。例えば、discとdiskのどちらもを検索したいときは、 egrep dis(c|k) と、orを表す"|"を用いてやればよい。 パーミションを確認する 各ファイルには、読み・書き・実行ができるかどうかが決まっている。これらをパーミションというが、それらを確認するには ls -l filename とすればよい。 パーミションを変更する 自分がユーザの場合、パーミションを変更することができる。 パーミションを変更するには chmod ???? filename とすればよい。????には 0400 所有者が読み込める 0200 所有者が書き込める 0100 所有者が実行できる 0040 groupに属するユーザが読み込める 0020 groupに属するユーザが書き込める 0010 groupに属するユーザが実行できる 0004 その他のユーザが読み込める 0002 その他のユーザが書き込める 0001 その他のユーザが実行できる などが入る。各自、自分が行いたい変更を選べばよい。 ちなみに、「所有者は読み・書き・実行できる」ようにするには、 chmod 0700 filename というように、上のリストの数字をそれぞれ足しあわせればよい。 ファイルの解凍をしたい 各種ファイルの解凍方法は、以下の様になる。 tarのオプションについて、詳しく知りたいときは、ここを参照すること。 tar zxvf filename.tar.gz あるいは、 tar zxvf filename.tgz zipの場合は、 unzip filename.zip となる。 日本語表示を英語にしたい 日本語表示が文字化けする環境の場合で、それらを英語にしたいときは、 setenv LANG C としてみると、英語表示になるはず。 行頭にすぐにうつりたい 長いコマンドやディレクトリやファイル名を打っていて、行頭のミスタイプをなおしたいときは、 ctrl + a で、行頭に戻ることができる。 コマンドを探したい 今使いたいコマンドが、自分が使っているOSに入っているかどうかを確かめたい時は、 which hogehoge と打てばよい。たとえば、ds9が入っているかどうかを確かめたければ、 which ds9 などとすれば、もし入っていれば、そのpath先を探し出してくれる。 ftp ftpコマンドについては、 ここ や ここ が非常に詳しい。 過去のコマンドを表示したい 上矢印で過去のコマンドを表示する方法もあるが、 history とうつと、過去のコマンドが古い方から500個、番号付きで並ぶ。 もし、最新の10件だけでいい、というときは、 export HISTSIZE=10 history などとするとよい。 Bash Shell変数 bash環境では変数を定義することができる。たとえば、 hoge=1988 (=の前後は間を開けない。)とすると、 echo $hoge と打てば、 1988 と表示される。 ただし、 echo hoge としたら、 hoge と表示されるだけなので、注意。もし、変数を取り消したいときは、 unset hoge とすればよい。 Shell変数は今のターミナルでしか受け継がれないので、一般的にどのターミナルで用いたいときは、環境変数を設定しないといけない。 環境変数の表示 現在の環境変数を表示したいときは、 env と打てば、いろいろな環境変数がばーっと並ぶ。 環境変数の定義 環境変数を定義したいときは、 export hoge=aho とすればよい。表示は先ほどと一緒で、 echo $hoge でよい。 自分が使っているShellを忘れてしまった。 自分がどんなShellを使っているのかわすれたら、 echo $SHELL と打てば、あなたが使っているshellが何かわかるはず。 abc順に並べる いわゆる辞書順にテキストファイルを並べ替えたいときは、 sort hoge.txt hoge_new.txt などとすればよい。 数字が小さい順に並べる 数字が小さい順に並べたければ、 sort -n hoge.txt としてやればよい。 指数表示が含まれる数字列を、小さい順に並べる。 こういうときは、 sort -g hoge.txt とすればよい。 n行目の列を基準に、並べ替え (列指定) この場合は、-kオプションを使う sort -kn hoge.txt で、n行目を基準に並べ替えになる。 列のseparatorを指定する この場合は、 sort -t"|" hoge.txt などのように、tオプションを使う。 同じ行が複数あり、それらを1つの行だけ残したい。 そんなときは、uniqコマンドを使う。 例えば、 hoge aho hoge hoge aho aho hoge というテキストファイル(hoge_aho.txt)があるとしたら、いったん sort hoge_aho.txt hoge_aho_new.txt としてやり、 uniq hoge_aho_new.txt hoge_aho_new2.txt とする。もちろん、 sort hoge_aho.txt | uniq hoge_aho_new.txt としてもよい。 自分のIPアドレスを調べる ipconfigを用いる。 ipconfig | grep inet などと用いる。 何がどれくらいメモリを使っているかを調べる こういう場合は、 top と打ってやるだけで、よい。 ファイルの列の数を数えたい wcコマンドというのを使うと、何列あるかを数えてくれる。 ls c* | wc などとすれば、可憐とディレクトリに、頭にcがあるファイルの数がわかる。 pushd 少しだけ違うディレクトリに移って、すぐに元のディレクトリに戻ってくるときは、pushdコマンドがラク。移動する前のディレクトリを覚えていてくれて、 popd でもとに戻ってくる。今、どんなディレクトリが記憶されているかは、 dirs で見ることができる。 * sort -k 2 hoge.txt | paste - hoge2.txt で、hoge.txtの2行目と、hoge2.txtをペーストする。逆にくっつけたい場合は、 sort -k 2 hoge.txt | paste hoge2.txt - とすればよい。 上からn番目までを表示する 上からn番目までを表示したいときは、 head -n と書けばよい。 * ( n=1 ; while [ $n -le 20 ] ; do echo $n ; n=`expr $n + 1 ' ; done) | paste - - - * cut -b 11-14 バイトで、11-14バイト部分だけを取り出す 下からm番目からを表示する こういうときは、 tail -m hoge.txt と書けばよい。ちなみに、上からn番目からをとりたければ、 tail +m hoge.txt あるいは、 tail -n +m hoge.txt とかく。 aliasをつける 普段使っているコマンドに、時たまオプションをつけた作業をさせたいときがある。一回だけだったらともかく、その日にたまたまオプションをつけたコマンドをたくさん打つときがあったら、aliasを使えば良い。 例えば、典型例でいうと、rmを'rm -i'で使いたいときが来たときは、 alias rm='rm -i' と打ってやる。その後、'rm'は必ず'rm -i'としてコマンドは実行される。ただし、logoutしたり、unaliasというのをすると、aliasは外れる。ちなみに、ただ alias と打つと、今aliasされているものの一覧が表示される。 unaliasしたい場合は、unaliasというのを使う。 例えば、先ほどの'rm'を'rm -i'としたものを外したければ、 流れとしては、 alias で現在aliasされているものを確認し、 unalias rm とすればよい。 と ファイルの検索 find, locateなどがよく使われる。 例えば、ここ60分以内に変更された(カレントディレクトリ内にある)ファイルを検索したいときは、 find . -cmin -60 -print などとすればよい。 ファイルを検索し、その中から特定の文字列が含まれているものを検索 そういう場合は、 find . -name "hogehoge" | xargs grep "fuga" というようにすればよい。 複数の条件でファイルを検索したい そういう場合は、 find . \( -name "hoge" -or -name "fuga" \) のように、小括弧で囲むことで、条件を増やすことができる。 ちょっとしたメモを残したい ちょっとしたメモを残したい時、emacsなどを開いていちいち書きこむのが面倒くさいときは、 cat fuga として、 My name is Fuga. Please call me Fuga-chan. ^D と入力しておけば、fugaに文章が残る。 2つのファイルをつなげる hogeのうしろに、fugaというファイルをつけたいときは、 cat hoge fuga newfile とすれば、よい。 ファイルサイズをみたい lsコマンドに、-skオプションをつけると、キロバイト単位で、表示をしてくれる。 ls -sk ファイルの小文字をすべて大文字に変えたい hoge内にあるファイルの小文字をすべて大文字にかえたければ、 tr [ lower ] [ upper ] hoge とすればよい。 ファイル内で使われている文字数を、重複なしで探したい tr -cs "[ alnum ]" "\n" hoge | tr "[ upper ]" "'[ lower ]" | sort | uniq | wc -l とすればよい。 lpstat プリンタに関する情報を取得するコマンドとして、lpstatがある。 lpstat -a で、プリンタに関する前情報を取得することができる。デフォルトのプリンタを表示したいときは、 lpstat -d とすればよい。 epsファイルにする テキストファイルを印刷用に、epsファイルにするには、 enscript -phoge.eps hoge.txt とする。 historyに時刻をつける historyで履歴を見たい時に、そのコマンドを使用した時間も一緒に表示したい場合は、以下のようにする。 HISTTIMEFORMAT='%Y-%m-%d %T '; export HISTTIMEFORMAT として、 history とうつ。いつも表示したいときは、.bash_profileなどに書きこんでしまえば良い。 historyの履歴を変更する historyで保存される履歴の数を変更したい場合は、.bash_profileなどに、 HISTSIZE=10000 などと書いておくと良い。 ディレクトリのみを表示 ファイルやディレクトリを表示するには"ls"コマンドを使用すればよいが、ディレクトリのみ、あるいはファイルのみを表示したいときは、 ls -l | grep "^d" (ディレクトリのみを表示) ls -l | grep -v "^d" (ファイルのみを表示) などとすればよい。もっと簡単に書きたいときは ls -d */ と書くのもあり。スラッシュを省きたいときは、 ls -d */ | [[sed]] 's/\//g' などとすればよい。 天文で用いる座標の変換 skycoorというコマンドがある。これを使いたければ、wcstoolsというのを入れればよい。finkでも取ってこれる。 skycoor -d RA DEC ファイルの順番を逆にする unixコマンドではないが、 perl -pe "print reverse( STDIN )" filename とすればよい。 が、もっと楽なのを友人に教えてもらった。tacが入っていれば、 tac filename でおk. macではdefaultではtacは入っていないらしく、そういうい場合は、 tail -r filename というmac特有のrオプションを使って同じことができる。 ファイルの文字コードを調べる nkfコマンドを使えば、ファイルの文字コードを調べたり、また変換したりできる。 ファイルの文字コードを調べるのは nkf -g filename そして、ファイルの文字コードをShift JISに変換するときは nkf -s filename newfile などとする。 ファイルの下n行のみを削除する tail -r を利用して下n行を消す。 tail -r filename | tail +(n+1) | tail -r 色をつけて表示 背景に色を付ける場合と、文字に色をつける場合がある。 echo "\033[35m hogehoge \033[0m" と書くと、hogehogeがピンク色で表示される。35mが色を指定している。35を33に変えたりいろいろすると、色が変わる。背景色を変更するときは、30番代を40番代に変えればおk。 くわしくは http //www.rep1.co.jp/staff/200vcxg/217rav/bash_lcd_-linux_command_dictio_1.htm などを見るとよい。 環境変数の確認 特定の環境変数($PATHとか)を確認する場合は、 echo $PATH でよいが、今設定されている環境変数一覧を見たい場合は、 printenv とうつとよい。 fitsヘッダの情報を取ってきたい これは実際にはunixのコマンドではないが、dfitsとfitsortというのがある。 dfits fitsort これらを使うと、fitsファイルのヘッダ情報が簡単に取ってくることができる。 dfits hoge.fits で、ヘッダを見ることができる。 dfits *.fits ともできるし、ディレクトリ内のすべてのfitsファイルに対して、observer情報を取ってきたかったら、 dfits *.fits | fitsort OBSERVER などとすればよい。 画像を圧縮・縮小する 多くの場合、convertを用いる。詳しくは コマンドラインで画像を縮小する:ImageMagick convert mogrify を参考のこと。 xargs カレントディレクトリにある.tblファイルをすべて削除したいときは、 rm *.tbl と打てば良いが、あまりにファイル数が多い場合、 bash /bin/rm Argument list too long というのが返ってくることがある。こういう場合は、いったんfindでファイルをリストアップして、xargsでパイプすれば良い。 find . -name "*.tbl" | xargs rm これは、最初にfindで見つかったファイルリストを引数として、rmをする、ということになる。 RA DECなどの座標を銀経・銀緯に変換したい skycoorというものがある。詳しくはmanしてください。 ファイルの書き出しと標準出力を同時に行いたい ファイルに書き出しているデータを、一応目で見える形として、標準出力でも確認をしておきたい。 そういうときに2つ同じようなコマンド ls ls hoge.txt とかしているとアホっぽいし時間もかかるので、以下のようなコマンドが用意されている。 ls | tee hoge.txt これで、標準出力と同じものが"hoge.txt"ファイルにも入る。 シェルスクリプトにおける引数 シェルスクリプトには位置パラメータと呼ばれる変数がすでに用意されており、シェルスクリプトを作成する際に重宝する。具体例でいうと $# $@ $* $0 $1--$n などがある。$#はシェルスクリプトで使用した引数の個数を返してくれる。たとえば、 ./hoge.sh aa bb cc の場合は、3を返してくれる。 $0は使用した引数すべてを返してくれる。 $1,...$nはawkと同じように、1個目…n個目の引数を返してくれる。 メモ nmax=`wc -l std.cat | awk '{print $1}'` ; n=1 ; while [ $n -le $nmax ] ; do ID=`awk '{if(NR=='$n') print $1}' std.cat` ; grep ^$ID std.cat | awk '{printf("echo %s ; xpaset -p ds9 pan to %s %s fk5 ",$1,$2,$3)}' | sh ; read a ; echo $ID $a "x" | awk '{print $1,$2}' match.txt ; n=`expr $n + 1`; done 1183 history | tail -2 |Mail hogehoge@kusastro.kyoto-u.ac.jp
https://w.atwiki.jp/sfrontier/pages/87.html
Unix 作成日 2007/11/20 H.Naito 更新日 2007/11/20 H.Naito General 実用コマンド( Solaris のみ? )OS の種類 / OS の Version / CPU の種類 を知りたい クロック数を知りたい メモリの状態を知りたい NIC の IPアドレスを知りたい General 実用コマンド( Solaris のみ? ) OS の種類 / OS の Version / CPU の種類 を知りたい uname -a クロック数を知りたい psrinfo -v メモリの状態を知りたい /etc/partconf | grep Memory 環境に依存する top NIC の IPアドレスを知りたい ifconfig -a
https://w.atwiki.jp/sakawork/pages/17.html
tar/gzip拡張子 ■tarコマンド ■gzipコマンド ★tar/gzipの組み合わせ★ ■tarコマンド (GNU) ■compressコマンド ■その他 tar/gzip UNIX/Linuxで標準的に使われるtarファイルの展開と圧縮 拡張子 拡張子 .tar tarファイル(tarボールとも)ファイルを一まとめにしたもの .gz gzipファイルgzipで圧縮されたファイル .tar.gz tar.gzファイルtarファイルをgzipで圧縮したファイル .tgz tar.gzファイルと同じ .tar.Z tarファイルをcompressで圧縮したファイル(gzipよりは圧縮率が悪い) ■tarコマンド tarファイル作成・展開 例: tar cvf xxxx.tar FILE [ 圧縮 ]FILE(複数指定可)をxxxx.tarファイルにする tar xvf xxxx.tar :[ 解凍 ]xxxx.tarを展開する tar tf xxxx.tar :[ 閲覧 ]xxxx.tar の内容表示 ■gzipコマンド 例: gzip XXXX :[ 圧縮 ] xxxxファイルを圧縮してxxxx.gzファイルにする gzip -d xxxx.gz :[ 解凍 ]xxxx.gzファイルを展開する ★tar/gzipの組み合わせ★ tar/gzipをそれぞれ行う場合、xxxx.tarファイルが出来てしまうので一手間ですが パイプ・リダイレクションを使うことで中間ファイルを作成しなくて済みます 例: tar cvf - FILE | gzip -c xxxx.tar.gz :[ 圧縮 ] FILE(複数指定可)を xxxx.tar.gz にする gzip -dc xxxx.tar.gz | tar tvf - :[ 閲覧 ] xxxx.tar.gzの内容表示 gzip -dc xxxx.tar.gz | tar xvf - :[ 解凍 ] xxxx.tar.gzのを展開する ■tarコマンド (GNU) GNUtarはgzip対応してますので上記の ★tar/gzipの組み合わせ★ のような手間が要りません 例: tar zcvf FILE xxxx.tar.gz :[ 圧縮 ] FILE(複数指定可)をxxxx.tar.gzにする tar ztf xxxx.tar.gz :[ 閲覧 ] xxxx.tar.gzの内容表示 tar zxvf xxxx.tar.gz :[ 解凍 ] xxxx.tar.gzを展開する ■compressコマンド 例: compress XXXX :[ 圧縮 ] xxxxファイルを圧縮してxxxx.Zファイルにする compress -d xxxx.Z :[ 解凍 ] xxxx.Zファイルを展開する tarコマンドとの組み合わせ例 tar cvf - FILE | compress -c xxxx.tar.Z :[ 圧縮 ] FILE(複数指定可)を xxxx.tar.Z にする compress -dc xxxx.tar.Z | tar tvf - :[ 閲覧 ] xxxx.tar.Zの内容表示 compress -dc xxxx.tar.Z | tar xvf - :[ 解凍 ] xxxx.tar.Zのを展開する ■その他 gunzipコマンド :gzipファイルの解凍コマンド(上記では "gzip -d" に対応) uncompressコマンド :Zファイルの解凍コマンド("compress -d") 上記のコマンドに拘っている人も居るので注意しましょう 私「gzipで解凍してtarで・・・」 相手「gunzipだろ」 私「gzip -dで解凍できます」 相手「だから が★ん★じ★っ★ぷ だって・・・んもーおまえさぁ本当に今までUNIX使ってたのかよwww」 なんて上から目線で言って来る相手が世の中にはけっこう居ます。
https://w.atwiki.jp/mynote/pages/20.html
これだけは覚えておけ!Linuxコマンド ここでは、何万(パーソナルコマンドを加えれば何億?)あるLinux-Unixのコマンドの中から、計算機科学+プログラミングに必要かつ便利なコマンドを上げてあります。 これだけは覚えておけ!Linuxコマンドpaste[ペースト] sed[セッド] awk[オーク] ar [エーアール]【ar】 tee [ティー]【tee】 sudo [須藤さん]【superuser-do】 mail [メール]【mail】 watch [ウオッチ] stty[ターミナル(端末)の環境設定]【set tty】 top 現在のシステム状況を表示する (1) paste[ペースト] 【名前】paste - ファイルを行間で連結する 【書式】paste [-s] [-d delim-list] [--serial] [--delimiters=delim-list] [--help] [--version] [file...] http //hp.vector.co.jp/authors/VA003670/bash/unixtool.htm 使い方として $paste CIP_energy.txt IDO2_energy.txt IDO3_energy.txt All_energy.txt sed[セッド] 【名前】sed - ストリームエディタ 【書式】sed [-e スクリプト] [-f command_file] [-i extension] [file ...] $sed -e '1s/\ /\ CIP_/g' 2.txt 3.txt (一行目(1s)のスペース「 」を「 CIP_」に変換する、全ての(g)スペースを) awk[オーク] 【名前】awk - ファイルを行と列単位で編集するコマンド 【書式】awk '条件文{実行文}' ファイル名 使い方として $awk '{print $1,$2,$3,$4,$5,$6}' IDO3_ele_field_harmo.txt IDO32.txt 何百列もあるIDO3_ele_field_harmo.txtから1~6列のみを間引きする ar [エーアール]【ar】 arはアーカイブの作成、変更、削除などを行います。arは.aでおわる静的ライブラリを作るのに使用されます。 ライブラリとは再利用を目的とした関数の集まりで、/usr/libや/libをみるとたくさんあると思います。なお、このライブラリにどんな関数が含まれているかを調べるには nmコマンドを使います。 $ar -t libmpi.a ライブラリのあるディレクトリで tee [ティー]【tee】 `T' の文字の形のように、1つの流れを2つに分岐させることから tee という名前が付けられた。またはデータの流れが T の字だから tee という名前になった。配管屋はチーズ(tees)と言うらしい。 tee [-ai] [--append] [--ignore-interrupts] [--help] [file...] 標準入力を標準出力とファイルに同時に出力する、makeのログとかを取れるので常用する。ただし,-aオプションをつけないと既存のファイルがあった場合上書きしてしまうので注意が必要。 $ make 2 1 | tee /usr/myname/Desktop/make_log.txt (sh・bash の場合) とすると、コンパイル結果を画面で確認しつつ、ファイル make-log にコンパイルの過程を書き込むことができる。コンパイルが失敗すると、すぐに画面上で確認できる上に、make コマンド終了後にゆっくりログファイルを見て、どこで失敗したかを知ることができる。 sudo [須藤さん]【superuser-do】 特定のコマンドのみを root 権限で実行するためのコマンド。"soo-doo[スードゥー]" と発音するらしいが、日本では(愛着?)を込めて[須藤さん]と呼ぶ人が多い。 $ sudo make install 「あるユーザだけには許可したいが、root 権限を与えたくはない場合に使う。また、誰がどういうコマンドを実行したかは /var/log/messages や /var/log/syslog に記録される。」 らしい、Macではデフォルト設定ではrootになれないので多用します。 mail [メール]【mail】 メールを送る、数値計算が終わった後に携帯等にメールが送られるようにスクリプトに記述しておくと便利。 $mail 123@aiueo.co.jp 学内や社内からだと送れないことがあります yama07 ~ macmini$ mail ***@12345.ne.jp Subject testmail2 -題名 test -本文 EOT ポインタ(カーソル)を先頭に持って行ってCtrl+Dでmailエディタ終了+送信 watch [ウオッチ] watchはコマンドを一定間隔で実行するコマンドです。 $watch -d -n 3 "date" 現在の時間を三秒毎に更新する stty[ターミナル(端末)の環境設定]【set tty】 ターミナル実行中にプログラムを止めたい(killではなく)場合sttyに設定されたように ^S[Ctrl+S]を押してやれば、一時停止する。 デフォルトのキー割当を覚えておくと便利。 yama07 macmini$ stty -a speed 9600 baud; 32 rows; 87 columns; lflags icanon isig iexten echo echoe -echok echoke -echonl echoctl -echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo -extproc iflags -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel -ignbrk brkint -inpck -ignpar -parmrk oflags opost onlcr -oxtabs -onocr -onlret cflags cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow -dtrflow -mdmbuf cchars discard = ^O; dsusp = ^Y; eof = ^D; eol = undef ; eol2 = undef ; erase = ^?; intr = ^C; kill = ^U; lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W; top 現在のシステム状況を表示する (1) 構文 top [-] [d delay] [q] オプション d delay 検査間隔を指定する。単位は秒 q topを最高の優先順位で実行する。ただし,スーパーユーザーである必要がある 説明 CPUのプロセスをリアルタイムで表示する。実行中はシステム上でリソースを最も使用しているプロセスを上から順に表示する。CtrlキーとCキーを同時に押すことで終了する。表示されるステータスは以下の通り。 ステータス PID プロセスID USER プロセスを実行しているユーザー名 PRI 優先度 NI ナイス値 SIZE 仮想イメージの大きさ RSS 使用中の物理メモリー量 SHARE 使用中の共有メモリー量 STAT プロセスのステータス。Rは実行可能,Sは停止,Dは割り込み不可の停止,Tは停止またはトレース中,Zはゾンビ・プロセス,Wはスワップ・アウトしたプロセス,Nはナイス値が正であることを表す LIB ライブラリが使用するページ・サイズ %CPU CPU占有率 %MEM メモリー占有率 TIME プロセス開始からの実行時間 COMMAND タスクのコマンド名
https://w.atwiki.jp/nina_a/pages/51.html
gnuplot このページを編集 グラフをプロットする 2次元の場合 gnuplot plot x**2 複数の関数を同時に表示する場合はカンマ区切りで入力する。 gnuplot plot sin(x), cos(x) 3次元の場合 gnuplot splot sin(x)+y 媒介変数を用いる場合 gnuplot set parametric としてから、plotおよびsplotを用いる。媒介変数としてはplotの場合tを、splotの場合u/vを用いる。 gnuplot plot sin(t), cos(t) 上はのグラフが表示される。 gnuplot splot u, v**2, sin(u)+cos(v) 上はのグラフが表示される。 元に戻すにはunsetを用いる。(これに限らずsetで設定した物を解除するにはunsetを用いる) gnuplot unset parametric 軸に関する設定 値の範囲を指定 gnuplot set {x|y|z}range [start end] 目盛り gnuplot カテゴリ:UNIX