管理人Kのひとりごと

デジモノレビューやプログラミングや写真など

環境変数を設定する(Windows, Linux)

WindowsとLinuxで環境変数(一時的な環境変数)を設定する方法。

※環境変数を確認する方法
www.k-hitorigoto.online

確認環境

Windows

C:\Users\hoge\Desktop>systeminfo | findstr OS
OS 名:                  Microsoft Windows 10 Home
OS バージョン:          10.0.19043 N/A ビルド 19043

Linux

[hoge@localhost ~]$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

設定方法

Windows

CMD
C:\Users\hoge\Desktop>set HOGE=FUGA

C:\Users\hoge\Desktop>echo %HOGE%
FUGA
Powershell
PS C:\Users\hoge> $env:HOGE="FUGA"
PS C:\Users\hoge> Get-ChildItem env:HOGE

Name                           Value
----                           -----
HOGE                           FUGA

Linux

[hoge@localhost ~]$ export HOGE=FUGA
[hoge@localhost ~]$ echo $HOGE
FUGA

参考にしました


bashの「-」て何...?

S3でファイルをコピーせずに表示するときの「-」や、「wget -O -」の「-」て何...?と思ったので調べました。
ずっと気になっていたので書けて良かった。

# こんな感じの使い方です。
aws --endpoint-url http://192.168.0.1:9000 s3 cp s3://test/test.txt - ←この「-」

実行例

[hoge@localhost ~]$ cat test.txt
testtest

↓上記ファイルをS3(今回は代わりにminio)にアップロード
[hoge@localhost ~]$ aws --endpoint-url http://192.168.0.1:9000 s3 cp s3://test/test.txt -
testtest

↑ファイルにコピーせずに内容を確認できる。(ファイルには書き出してないが、S3へのアクセス、データ転送は発生している)

見つけました(「-」は標準入出力でした)

ずばり下記の記事に書いてありました。「-」は標準入出力です。

なので、S3→標準出力だけでなく、標準入力→S3もできるそうです↓

勉強になりました。

CurlとWgetのダウンロード方法備忘

wgetを昔から使ってたのですが、環境によってはcurlのみ使えるということがあります。そのたびに毎度ググっているので、備忘として残しておきます。

  • バージョン
  • コマンド
    • 標準出力に結果を出力する(curl, wget -O -)
    • ファイルをダウンロードする(ファイル名指定なし)(curl -O, wget)
    • ファイルをダウンロードする(ファイル名指定なし)(curl -o, wget -O)
  • 参考URL
続きを読む

zipコマンド、unzipコマンド備忘

zipコマンドを使うとき、第一引数がzipファイル名?固めたいファイル名?となって毎回ググるので備忘。ついでに、unzipコマンドの使い方も備忘。

  • バージョン情報
  • コマンド
    • 検証時の構成
    • フォルダ構成を保って圧縮(zip -r)
    • fileC.txtをfileC.zipとして圧縮(相対パスを指定する際にフォルダ構成を保たずに圧縮)(zip -j)
    • 既存のzipファイルにファイルを追加(zip)
    • zipファイルの中身を解凍せずに確認(unzip -l)
    • ファイルの解凍(unzip)
続きを読む

最終更新日がN日前のファイルを列挙する(PowerShell)

最終更新日がN日前(7日前、3日前など)のファイルを列挙したかったのでPowerShell書きました。

検証環境

PS C:\Users\hoge\> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      19041  1023

ソース

検索結果についてはOut-GridView(表形式のダイアログ)で表示します。

param(
    [string]$targetPath    # 検索対象パス
   ,[int]$expiredDays=7    # 経過日数(デフォルト7日)
)

# エラーがあった時点で処理終了
$ErrorActionPreference = "stop"

function script:main($targetPath) {
    # 引数チェック
    if ($targetPath -eq "") {
        Write-Host "検索対象のパスを入力してください"
        exit 1
    }
    
    $results = (Get-ChildItem -Recurse $targetPath |`
    Where-Object{$_.Attributes -ne "Directory" -and ($_.LastWriteTime -lt (Get-Date).AddDays(-$expiredDays))}) # ディレクトリは探索対象外、最終更新日が$expiredDaysより前のもののみ対象
    
    if($results.Length -eq 0){
        Write-Host "結果がありません"
        exit 1
    }
    
    $results | Select-Object FullName, @{label="SIZE(MB)"; expression={"{0:#,0.00}MB" -f ($_.Length / 1MB)}}, LastWriteTime |` # 日時は最終更新日
    Sort-Object LastWriteTime |` # 最終更新日の昇順でソート
    Out-GridView
    
}

main $targetPath

参考にしました

pig-log.com
www.haruru29.net

ssh_configを整備してVSCodeでSSH接続する

最近VSCodeを使うことが多くなりました。VSCodeの拡張機能「Remote-SSH」を使うとリモートホストにSSH接続し、リモートホストのファイルをVSCodeで編集できます。Remote-SSHを使うために、ssh_configを作成する必要があるためそのメモです。

  • 確認環境
  • 手順
    • ファイルの作成場所
    • 公開鍵で接続する場合
    • パスワード認証で接続する場合
続きを読む