カテゴリー
Linux

Linuxでよく使うコマンドまとめ-通常作業

Linuxで良く使うコマンドをメモ。都度追加していく予定。

SSH接続

ポート番号をデフォルトの22から変更しており、鍵認証で接続する場合。

$ ssh -p [ポート番号] -i [秘密鍵のディレクトリ/id_rsa] [ホスト側ユーザー名]@[IPアドレス]

ファイル・ディレクトリ操作

カレントディレクトリのフルパスを表示

$ pwd

ディレクトリ移動

$ cd

オプション

.. 1つ上

-1つ前

ディレクトリ作成[mkdir]

# mkdir [ディレクトリ名]

サブディレクトリも作成する場合、[-p]オプションをつける
スペース区切りで複数作成
ディレクトリにスペースを含めたい場合は””で囲む

# mkdir -p [ディレクトリ名/ディレクトリ名]

ファイル作成[touch]

ファイルの最終アクセス時刻を変更。
ファイルがなければ空のファイルを作成

# touch [ファイル名]

同じ拡張子のファイルを複数作成
$ touch {index,sample,comtact}.html

オプション

-c ファイルがない場合、新規ファイルを作成しない

ファイルやディレクトリの情報を表示[ls]

# ls

詳細表示[-l]、隠しファイルなど全て表示[-a]する場合

# ls -la

更新順に並べる

# ls -tl

ファイルの移動・ファイルの名前変更[mv]

# mv [移動元パス][移動するファイル名] [移動先パス][移動先のファイル名]

別名で同一ディレクトリ内を移動すると名前が変更になる
下記はtest1.txtをtest2.txtにリネームしている

# mv ./dir/test1.txt ./dir/test2.txt

-i 上書きするを確認

-n 上書きを確認しない

※backup やtrashなどのディレクトリを作成してゴミ箱がわりにした時によく使う

ファイルのコピー

$ cp -i [コピーするファイル名] [コピー先のファイル名]

オプション -rをつけるとディレクトリコピーになる。ディレクトリの中身も一緒にコピーされる

オプション -i で上書きする前にかくにん

$ cp -r mydir mydir2

※ディレクトリ「mydir」を「mydir2」にリネームしてコピー

$ cp *.html html/

拡張子.htmlを全てhtmlディレクトリにコピー

ローカルからリモートにFTPアップ

ローカル環境からサーバーにディレクトリをアップする。
※秘密鍵が必要でポート番号を指定する場合。

$ scp -i [秘密鍵のディレクトリ/id_rsa] -P [ポート番号] -r [ローカル:ディレクトリ] [ユーザー]@XXX.XXX.XXX.XX:[リモート:ディレクトリ]

ファイルの中身表示[less][cat]

内容が長いファイル内容を表示するには[less]が便利

# less [ファイル名]

短い内容を表示するのは[cat]で表示 ※読み方はカット

# cat [ファイル名]

ファイル作成 [cat]

ファイル内容を表示するコマンドcatの出力先をファイルにリダイレクトすることで、新規ファイルを作成

# cat > [ファイル名]
-入力したい内容
[終了はctrl+D]

※注意!すでにあるファイルに対してリダイレクトすると上書き

オプション

-n 行番号をつける

空ファイル作成[touch]

# touch [ファイル名]

ファイル検索

ファイルの中身を検索

$ grep [検索文字] -rl [検索するディレクトリ]

削除

ディレクトリの削除[rmdir][rm]

▼ディレクトリの削除(中身が空じゃないと消せない)

# rmdir [削除するディレクトリのパス]

▼ディレクトリの削除(中のファイルも同時に削除)

# rm -r [削除するディレクトリのパス]

▼エラーメッセージを表示しないでディレクトリごと削除(※実行時注意)

# rm -rf

ファイルの削除[rm]

▼確認メッセージを表示してから削除する

# rm -i [削除するファイルのパス]

ユーザー切り替え

ユーザー名を省略するとrootユーザーに切り替わる。
オプション[-] をつけると環境ごと変更&ホームディレクトリに移動

# su [ユーザー名] -

その他

コマンドのショートカット登録(エイリアス)

▼エイリアス登録

$ alias cpi= 'cp -i'

▼エイリアス一覧

$ alias

▼エイリアス削除

$ unalias cp

 

実行中のアプリ一時停止[ctrl+z]

[fg]コマンドで復帰

# ctrl + z

画面クリア[clear]

# clear

※ショートカットctrl + l でも同じ

シェルの再起動

$ exec $SHELL -l
カテゴリー
Linux

グループ管理でよく使うコマンドまとめ

Linuxにはグループという概念があり、グループごとに権限を指定できます。
グループ管理でよく使いそうなコマンドをまとめたのでメモ。

グループ一覧を確認

グループ一覧は「/etc/group」に記載されています。lessコマンドでファイルの中を表示します。

# less /etc/group

例)
wheel:x:10:centuser,testuser
※wheelグループにcentuserとtestuserが所属している

ユーザーがどのグループに所属しているか確認する

# groups [ユーザー名]

例)
centuser : centuser wheel
※centuserのサブグループは「wheel」
※プライマリグループはユーザー名のグループになる

ユーザーのグループを変更

# usermod [オプション] [グループ名] [ユーザー名]

●オプション

サブグループにユーザーを追加する(※aを追加しないと上書きになるので同時に指定) -aG
プライマリグループにユーザーを追加する -g
シェルを変更する -s

-aGオプションのaをつけないとこうなる

(1)kobanユーザーのサブグループはcentuserである
(2)Wheelグループに-Gオプション(-aなし)でkobanを追加⇒centuserグループがWheelグループで上書きされる
(3)Wheelグループに-aGオプションでkobanを追加⇒Wheelグループが追加される

グループからユーザーを外す

# gpasswd -d [ユーザー名] [グループ名]

グループを追加する

# groupadd [グループ名]

グループを削除する

# groupdel [グループ名]
カテゴリー
javascript

レスポンシブデザイン javascriptでウィンドウのリサイズを検知する

レスポンシブページを作成するとき、javascriptで動的に切り替えるときによく使うコードなのでメモ。最近はCSSでもいろいろできるみたいですが。

$(function() {
  let timer = false;
  let initWidth = parseInt($(window).width());
  const BREAK_POINT = 767;

  function deviceCheck() {
    initWidth = parseInt($(window).width());

    if(initWidth <= BREAK_POINT) {
        console.log('device_sp');
    } else {
      console.log('device_pc');
    }
  }

  function changeResize() {
    if(timer !== false) {
      clearTimeout(timer);
    }
    timer = setTimeout(function() {
      if(initWidth !== $(window).width()) {
    deviceCheck();
    }
      }, 200);
  }
  window.addEventListener('resize', changeResize);
  deviceCheck();
});
カテゴリー
その他

ブックマークレットで楽天のPC版とスマホ版を切り替える

楽天RMSで商品を登録して、スマホ版のページをチェックしたい!って時、URLの末尾に「?force-site=ipn」を追加すればスマホ版に切り替わるのでこれで確認してます。

毎回URLを変更するのは面倒なので、ブックマークレットに登録しました。念のためメモしときます。

これで確認するのは画像が表示されているか?などの簡単なチェックだけです。レイアウトの確認は実機やChromeのモバイルエミュレーターを使用します。

var rakutenURL = location.href;
var urlSP='?force-site=ipn';
if(document.location.href.indexOf(urlSP) > 0){
  changeURL = document.location.href.replace(urlSP,'');
} else {
  changeURL = document.location.href + urlSP;
}
window.open(changeURL);

コードに改行が含まれているとうまく動作しません。
手作業ですべての改行を削除するのは大変なので、ブックマークレットのコードに変換できるサイトを利用します。

いつもお世話になっているサイトはこちら。

https://ytyng.github.io/bookmarklet-script-compress/

カテゴリー
その他

ブックマークレットで本番環境とテスト環境のURLを切り替える

今回はWEB制作でよくあるテスト環境と本番環境のURL切り替えを、ブックマークレットで実装したのでメモしときます。
※動作確認はChromeのみです。

ブックマークレットとは

気に入ったウェブサイトをブラウザのお気に入りに登録すると、通常そのサイトのURLが登録されますが、
URLの代わりにプログラムを登録すると、表示しているページに対してちょっとした動作を自動化できたりします。

var area = location.href; //現在のURLを取得
var urlFlag = false; //変換するURLがあるか判定

function changeUrl(testUrl, honbanUrl) {
  //テストURLがあれば本番に置換、またはその逆
  if(document.location.href.indexOf(testUrl)>0){
    area=document.location.href.replace(testUrl,honbanUrl);
    urlFlag = true; //URLを置換したらフラグを更新
    window.open(area);
  } else if(document.location.href.indexOf(honbanUrl)>0){
    area=document.location.href.replace(honbanUrl,testUrl);
    urlFlag = true; //URLを置換したらフラグを更新
    window.open(area);
  } 
}
//関数実行
changeUrl('www-test.example.com','www.example');
changeUrl('XXX.XXX.X.XXX','www.test.jp');
//変換するURLがなければアラートを出す
if(urlFlag === false) {
  alert('このURLには対応していません!')
}

コードに改行が含まれているとうまく動作しません。
手作業ですべての改行を削除するのは大変なので、ブックマークレットのコードに変換できるサイトを利用します。

いつもお世話になっているサイトはこちら。

https://ytyng.github.io/bookmarklet-script-compress/

※コメントが入っているとうまく変換されない可能性があるので、削除して変換します。

カテゴリー
その他

ブックマークレットでテスト環境のタグが入っていないか確認する

がんばって制作したウェブページをついに本番公開!なのにうっかりテスト環境の測定タグを入れちゃってた!!ってことないですか?

私はあります。。

最近ではGoogleタグマネージャーをはじめとするタグ管理サービスがあるので、そういった事故はなくなってきました。

でも!どうしても!ここのリンクはhttpsから始まる絶対パスをかかないとダメなの!ってことも結構あると思います。でも毎回いちいちコードを開いてチェックとかめんどくさい!1ページ位なら許すけど10ページ以上になるとやってられません。

そこで本番公開した時に、本来あってはイケないコードを検索するブックマークレットを作ったのでメモ。

var htmlTxt = document.getElementsByTagName("html")[0].innerHTML;
var keyword = "www-test";

htmlTxt.replace( /<!--[\s\S]*?-->/g , '');
result=htmlTxt.indexOf(keyword);

if(result !== -1){
	var count = (htmlTxt.split(keyword).length - 1);
	alert(keyword + "が" + count + "個あります。確認してください!");
} else {
	alert("OK!");
}

今回もブックマークレット変換サイトを利用します。

https://ytyng.github.io/bookmarklet-script-compress/

ちなみに100ページ以上のチェックが必要だったら、素直にウェブ解析したほうが良いと思います。。

カテゴリー
その他

ウェブ制作で良く使う正規表現

ウェブ制作以外でも重宝する正規表現。覚えておくと何かと便利ですよね。
いざ使うという時に忘れるので、自分用にメモしておきます。

最後の空白以降を選択する

^\n

利用シーン
余計な空白行を削除する時便利。

最後の文字を取得する

([\s]+)[^\s]+$

参考サイト

特定のコメントに囲まれたコードを選択する

<!--\s*コメントここから(\s|\S)*?コメントここまで\s*-->

利用シーン
測定タグなど、決まったコメントで囲まれたタグを一括削除するのに便利

<結果>

URL一部置換

利用シーン
ドメインと、ファイルの拡張子が一部違う。こんなURLを一括変換するときに便利

<変換前>
href=”https://example.com/category/items00.html”

<変換後>
href=”https://test.jp/items00/”

href="(.*[^/]?/)(.*)\.html
href="https://test.jp/$2/
置換するところ
・ドメイン
・最後のファイルの拡張子を削除してディレクトリにする

<変換前>
href=”https://example.com/category/items00.html”

<変換後>
href=”https://test.jp/items00/”