You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Linuxを利用するならCUIやコマンドラインの使いこなしは必須。長いコマンド名やパラメーターの入力にくじけないよう、Bashのコマンドライン編集/履歴管理を紹介する。 連載目次 bashのコマンドライン編集機能 前回はLinux初心者向けにWindowsのdirコマンドに相当するlsコマンドを解説した。今回からしばらくは、bash(解説)を使いながら、Linuxに慣れていこう。 bash(Linux)を使って作業をする場合、ほとんどの操作はコマンドライン上で、コマンド名や引数などを全て手動で入力して実行する必要がある。 だが長いコマンド名やパラメーターを間違いなく入力するのは、慣れていないと簡単ではない。それでも、同じコマンドをそのまま再実行したり、コマンドや引数などを少し変えてもう一度実行したりするというのも、CUIではよくある作業だ。 ユーザーの環境にもよるが、ほとんどのbash環境
sudo su と sudo -s はほぼ同じ。実行されるシェルが異なることがある。 sudo su - と sudo -i もほぼ同じ。環境変数のクリア的な意味だと sudo su - の方が強い。 以下は別に読まなくてもいい。 su 別のユーザーでシェルを実行するコマンド。自分は「す」とか「えすゆー」とかと呼んでる。 元は super user とか switch user とか substitute user の略だったらしい。 デフォルトでは root になるが、引数でユーザー名を指定するとそのユーザーになる。 新ユーザーのデフォルトのシェルとして設定されているシェルが実行される。 入力するパスワードは新ユーザーのパスワード。 ~% su Password: (rootのパスワード) root@hostname:/home/tmtms# id uid=0(root) gid=0(r
シェルスクリプトで実行しているディレクリ名を取得する場合「dirname ${0}」でディレクトリ名を取得できます。 但し、実行時に相対パスで実行するとディレクトリ名も相対パスとなります。 下記のスクリプトでは、「$0」で実行したコマンド名が取得できます。その値を「dirname」コマンドでディレクトリ名を取得していますので、相対パスで実行した場合は相対パスとなります $ vi /home/admin/bin/test.sh #!/bin/bash dirname ${0} $ sh bin/test.sh bin 絶対パスで実行しているディレクトリ名を取得するには、「cd」コマンドでシェルスクリプトの実行しているディレクトリに移動してから、「pwd」で絶対パスを実行すれば取得できます $ vi /home/admin/bin/test.sh #/bin/bash cd `dirname
コマンドのパスを知りたいんじゃなく、コマンドの存在をチェックしたいだけならwhichよりhashを使ったほうが良いかもっていう話。→追記: typeが最強っぽい。 追記: command -vも良い。プログラムの存在チェックorパスを探したいだけなら互換性を考えると一番良いかも。 比較してみる whichよりhashよりtype=command -vが高速→typeまたはcommand -vの勝ち whichは実ファイルという実体があるプログラムです。hashとtypeはbashの組み込みコマンドです。なので当然ですがプログラムの起動コストがない分hashやtypeの方が速いです。 $ time bash -c 'for((i=0;i<10000;i++));do which perl; done >/dev/null' real 0m7.739s user 0m2.928s sys 0m
サーバーでsshdサービスを使っていると、招かれざる人(大抵bot)も相応の頻度でアクセスしてくる。何時何処からどのようなアクセスがあるのかを把握する為にログファイルを確認することは大事。 sshd のログファイルのパスはCentOS / Fedora系ではデフォルトでは /var/log/secure となる。。 # cat /var/log/secure 尚、ssh のログインに失敗/成功したユーザ数は以下の様なコマンド等でカウントできる。 # grep -c invalid /var/log/secure # grep -c Failed /var/log/secure # grep -c Accepted /var/log/secure
$ mkdir /very/_very/Very-long/directory_name/20170915 なんて操作をしたあと、そのディレクトリにcdしたい場合ってまれによくありますよね。 どんなやり方があるか考えてみました。 1. コピペする そのまんまですが、これをやりたくなくてこの blog を書いてます。 2. TAB 補完で頑張る これも無いわけではないですが、間違えたりすることを考えると正直あんまりやりたくないです。 3. 上矢印キーで前コマンドを呼び出し、右矢印キーで先頭に戻ってmkdirをcdに書き直す よく見る方法ですが、もうすこし少ない手数でできないでしょうか。 4. 上矢印キーで前コマンドを呼び出し、Ctrl-Aで先頭に戻ってCtrl-Dx5 のあとにcd BASH のキーバインドはデフォルトだと emacs モードなので、このやり方が出来ます。 でもまだちょっと手
NB: If you don't want to transfer at least 10s of GB across a network, this is probably not the the tool you want. Use rsync alone if a sync, 'tar and netcat' if a fresh copy, or scp if the copy needs to be encrypted. parsyncfp is the offspring of my parsync (more info here) and Ganael LaPlanche's fpart, which collects files based on size or number into chunkfiles which can be fed to rsync on a ch
基本はdfコマンドだが Linuxサーバは基本的にさまざまな操作をターミナルで行えるようになっている。WindowsプラットフォームのようにGUIが必須ではないというのが特徴だ。しかし、GUIに慣れたユーザーからすると、コマンドの出力はいささかシンプルすぎて直感性に欠けると感じるかもしれない。 また、サーバ管理において、ディスクストレージの空き容量の管理は重要だ。空き容量が足りなくなるとソフトウェアが正常に動作しなくなる。ストレージの空き容量は典型的にはdfというコマンドで確認できるが、GUIに慣れていると、dfコマンドの出力は多少物足りないかもしれない。 dfコマンドの実行サンプル そんな場合はdufコマンドを試してみるとよいだろう。It's FOSSが「Check Your Disk Usage Using 'duf' Terminal Tool in Linux」において、dufコマ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く