質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.60%

  • UNIX

    375questions

    UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

よく使うUNIXコマンドを教えてください

受付中

回答 16

投稿

  • 評価
  • クリップ 11
  • VIEW 2,304

gaaamii

score 44

「これがやりたい」「じゃあこうだ!ッターーン!!」って感じで瞬時に効率的なUnixコマンドを選択できるような人間になりたいんですが、どうやってそういうのを身につけたらいいかわかりません。

みなさんは普段どんなコマンド打ってますか?お気に入りのものを教えて下さい。定番のものから変態的なものまでなんでも回答して下さい。UNIXコマンドでなくて、シェルスクリプトでもmakefileでも便利ツールのコマンドでもなんでもいいです。シェル上で気持ちよくなれるようなものが知りたいです。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 16

+6

古いタイプのBourne Shellしか使えない環境で使うことが多いので、伝統的なコマンドが主になります。

alias find grep ls chmod chown cd pwd date more
vi xargs kill touch netstat ps while for test mv
cp tee tar ln cat head tail time rm rmdir
(思いついた順、スクリプト言語処理系は除く)


オプション使用と複数コマンドの組み合わせも書いてみました。
※GNUではもっと素直に書ける場合があります。

sh -x script.sh | tee -a out.log

find . -name \*.ext | xargs ls -l

tail -f access_log | fgrep XXX

GNUバージョンでは使えるオプションが使えなかったりして、苦労しています。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/01/14 13:56

    #GNUバージョンでは使えるオプションが使えなかったりして、苦労しています。
    GNUだと
    find . -name \*.ext | xargs ls -l

    find . -name \*.ext -ls -l
    が使えますからね。

    キャンセル

  • 2015/01/14 14:31

    tsuntsunさん
    コメントありがとうございます。
    GNUの場合も書いておいた方が親切でしたね。

    キャンセル

+4

よく使用する奴です。
思いついたやつを書き出しただけですので、他にもあるかもしれません。
ls
cd
pwd
history
mkdir
chmod
chgrp
chown
rm
cat
tail
which
vi
grep
find
source
wget
curl
ssh
mv
うーん、普通ですね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/01/10 00:33

    いえいえ、参考になります。historyって打ち込んだコマンドの履歴が見れるやつですよね。
    どんな場面で使ってますか?

    キャンセル

  • 2015/01/10 00:37

    grepとの組み合わせでよく使用します。
    $ history | grep git
    このような形で過去に使用したgitコマンドを確認したりしています。

    キャンセル

  • 2015/01/10 01:57

    なるほどー。便利そうですね!ありがとうございます。

    キャンセル

  • 2015/01/14 13:14

    コマンドではないですが、History関係ということで
    ! を使うと直前に行ったコマンドが再実行されます。

    !cp ・・・履歴をさかのぼって、最新のcp コマンドを再実行してくれます。
     ※cpの部分は前方一致なので、他にcから始まるものがなければ !c でもOKです。
    historyも2回目以降は !hist と打ったりします(history は alias切ればいいんですけどね。)
    !100 ・・・Historyコマンドで表示された番号(例:100番)を再実行してくれます。

    キャンセル

+4

まだ上がっていないところだとtreeコマンドがおすすめです。ディレクトリの階層構造が簡単に一覧できます。-Lオプションでどの階層まで表示するか指定できます。findよりもずっと見やすいです。

$ tree -L 2 /usr/local/heroku
/usr/local/heroku
├── bin
│   └── heroku
├── data
│   └── cacert.pem
├── lib
│   ├── heroku
│   └── heroku.rb
├── ruby
│   ├── bin
│   ├── include
│   ├── lib
│   └── share
└── vendor
    └── gems

もともとMS-DOS由来のコマンドのようで、MacやCent OSにはデフォルトで入っていないのでbrew install treeなりyum install treeなりでインストールする必要があります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

取得したものをテキストとして加工する用途(間接的なのも含まれますが)でのコマンド的なものを並べてみます。(何かを取得するコマンド自体は丸暗記するぐらいしか使いこなす方法が思いつきません。)

  • grep, egrep
  • sed, perl -p -e, perl -p -i -e
  • head, tail, sed -n
  • cut -f, awk, awk -F '\t'
  • bashの文字列処理
  • expr, $(()), bc
  • cat, ヒアドキュメント, read, while, for, echo, printf
  • test("["とか"[["も), if, elif, case
  • &&, ||
  • xargs -i -P -n, Perlでマルチスレッド処理, Perlでマルチプロセス処理
  • nohup, trap
  • exec, {}, (), ``, $(), &, <, >, 2>, >&2, 2>&1
  • od, xxd
  • vim -R -
  • expect

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

screen
top
df
(あえて)sl
clear
locate
find
git
単体より組み合わせてスクリプト大量生産が楽しいです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

% tail -n 1500  .zsh_history | awk -F \; '{print $2;}' | awk -F ' ' '{print $1;}'|sort |uniq -c  |sort -nr | head -n 10
 240 git
 117 vi
  71 ll
  67 cd
  63 cat
  57 find
  52 rails
  50 rm
  49 mv
  48 ncrack

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

NW機器のログとかSVのログを処理することが多いので、
編集は大体
sed 
vi(vim)
抜き出したりの加工は
awk 
cat / zcat と、以外パイプで
uniq
sort
閲覧は
less
文字数確認は
wc  -l
圧縮/解凍は
tar cfvz / tar xvzf 

実務でホントよく使うのはそれくらいですかね。
後は基本的なコマンド出てると思うので。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

大体出てしまっていますが、特定文字列を含むファイルを探す時に、

find . -type f  | xargs grep -n moji

を、良く使います

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

わぁ~だいたい上がっちゃってますが・・・。

私はssh、ps aux、kill、tail、辺りですかね。
もちろんlsとか基本的なものも使用しますが。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

/etc/network/interfaces を編集して。
$ service networking restart
とかどうでしょうか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

すごくメジャーなものばかりですが
ls -al
cd ~/
cat
vim
ssh
pwd

たまに
ping
hostname
ifconfig

ってところですね
あとはsvn系のコマンドですね(笑)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

ip route
dig
hostname
ifconfig
ls -lsha
wget
tail -f
free -m
du -sh
whoami
今使ってるところです

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

watchとかどうでしょう。
-nで指定した秒数間隔で以降のコマンドを実行します。
まれに使う程度ですが、知っておくとちょっと便利です。

(例)
watch -n 1 "df -h /"

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

less
df -h
ls -lh
vmstat 5 | tee logfile.log
tail -f logfile.log | grep ERROR
history | grep hoge
wc -l logfile.log
とか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

目的が「瞬時に効率的なUnixコマンドを選択できるような人間になりたい」だとすると、
ここに書かれているコマンドを全部覚えても実現は難しいと思います。
コマンドを覚えたからできるようになるのではなく、そのコマンドを使う状況に慣れるからできるようになるのです。

単にコマンドを思い出せる限り書き出してみろと言われてもそんなにたくさんは書けません。
しかし「何をしたいのか」が100通り提示されればおそらく100通り以上のコマンドを書き出せます。


投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

cat
su
pwd
あとはaliasそのまんまです^↓^

c++     (clang++ -Ofast -pipe -Weverything)
c++11   (clang++ -std=c++11 -Ofast -pipe -Weverything)
c++14   (clang++ -std=c++14 -Ofast -pipe -Weverything)
c11     (clang -std=c11 -Ofast -pipe -Weverything)
c99     (clang -std=c99 -Ofast -pipe -Weverything)
cc      (clang -Ofast -pipe -Weverything)
df      (df -h)
dsas    (objdump -d)
g++     (g++6 -O2 -ansi -pipe -Wall -Wl,-rpath=/usr/local/lib/gcc6)
gcc     (gcc6 -O2 -ansi -pipe -Wall -Wl,-rpath=/usr/local/lib/gcc6)
fsplit  fbsplit
fstat   fbstat
h       (history 50)
isql    isql-fb
j       (jobs -l)
la      (ls -aF)
less    lv
lf      (ls -FA)
ll      (ls -lAF)
ls      (ls -FG)
man     (env LC_CTYPE=ja_JP.eucJP jman)
mv      (mv -i)
rm      (rm -i)
sc      scheme48
top     htop
tr      traceroute
vi      vim
view    (vim -R)
wh      whereis


ちなみに環境はFreeBSDです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.60%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    Linuxコマンドのパラメタ"$_"とは何?

    わからないことがあって技術ブログを検索している際に、まれに "mkdir hoge && cd $_" というようなコマンドに出くわします。 この$_が何なのか調べたいのですが短す

  • 解決済

    PHPのスクリプトを使って、中身の入っているフォルダを削除する方法は?

    フォルダに1つでもファイルが入っているとrmdir()関数が失敗してしまいます。 下記のコードを使って、ディレクトリの中のファイル全てをループさせることはできました。 forea

  • 解決済

    Vagrantのインストールについて

    VirtualBoxとVagrantを使ってwindows7に仮想環境を構築しようとしているところで、解決できない問題があるので質問させていただきます。 Vagrantをインスト

  • 解決済

    getoptコマンド

    教えてほしいこと getoptコマンドが使えないUNIXってどのくらいあるのでしょうか? オプション付きのシェルスクリプトを作成するときは、getopts, getoptを使う

  • 解決済

    git gitbash

    gitとgitbashの違いは何ですか?? gitがver管理をするツールだということがわかりました。 gitbashは、git機能がついたbashというシェル という理解でいいで

  • 解決済

    Gitで~(チルダ)というディレクトリ名以下が無視される

    お世話になります。 Gitでファイル管理をする中で、「~(チルダ)」というディレクトリがありまして、そのディレクトリ以下の更新がGitに全く反映されないようです。 命名の仕方もどう

  • 解決済

    ターミナルが消えてなくなる

    コントロール作成中、exitで出ると、ターミナルが閉じてなくなるのは、なぜでしょう? 何か、操作ミスがあるのでしょうか?

  • 解決済

    killコマンドで終了できない。

     前提・実現したいこと kill PID でプロセス終了できるはずですが、できないのでご教授お願い致します。  試したこと root@13418c6f21d2:/# ps -a

同じタグがついた質問を見る

  • UNIX

    375questions

    UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。