タグ

bashに関するWindyWindriyasのブックマーク (25)

  • Linux Bash Shell Scripting Tutorial Wiki

    Linux Bash Shell Scripting Tutorial Written by Vivek Gite. Copyright 1999-2017 Vivek Gite and its contributors. Some rights reserved. Chapter 1: Quick Introduction to Linux What Is Linux? Who created Linux? Where can I download Linux? How do I Install Linux? Linux usage in everyday life What is Linux Kernel? What is Linux Shell? Unix philosophy But how do you use the shell? What is a Shell Script

  • シェルスクリプト-スペースが含まれる文字列を扱う CapmNetwork

    シェルスクリプト-スペースが含まれる文字列を扱う シェルにおけるスペース(空白文字)の動作 シェルは、引数にスペースを含む場合、スペースを一つのかたまり(意味のある文字列)の区切りとして認識します。 例えば、「Program Files」というディレクトリに移動する場合、以下のコマンドを実行しても、「Program」というディレクトリに移動する動作となります。 $ cd Program Files 「Program Files」ディレクトリに移動するためには、「""(ダブルクォーテーション)」でくくるか、スペース文字をエスケープする必要があります。 $ cd "Program Files" $ cd Program\ Files シェルスクリプトにおけるスペース(空白文字)の動作 シェルスクリプトにおいても、スペース(空白文字)を含む文字列は、スペースを区切り文字として一つのかたまりと認識

  • BashPitfalls - Greg's Wiki

    Bash Pitfalls This page is a compilation of common mistakes made by bash users. Each example is flawed in some way. 1. for f in $(ls *.mp3) One of the most common mistakes BASH programmers make is to write a loop like this: for f in $(ls *.mp3); do # Wrong! some command $f # Wrong! done for f in $(ls) # Wrong! for f in `ls` # Wrong! for f in $(find . -type f) # Wrong! for f in `find . -type f` # W

  • 【シェルスクリプト】ファイルの中身を一行ずつ読み込む方法

    シェルスクリプトで「while read line」を使い、ファイルの中身を一行ずつ読み込ませるための方法色々です。 標準入力へリダイレクトさせて読み込む ファイルを標準入力へリダイレクトさせて中身を一行ずつ読み込ませています。 #!/bin/bash while read line do echo $line done < ファイル名 スクリプト例 「list.txt」というファイルの中身を読み込ませて、一行ずつ「echo」で表示させています。 $ cat list.txt one two three four five #!/bin/bash while read line do echo $line done < ./list.txt 上記スクリプトの実行結果です。 $ sh fileread_1.sh one two three four five ファイルを変数に格納して読み込む

    【シェルスクリプト】ファイルの中身を一行ずつ読み込む方法
  • Linuxコマンド逆引き大全 Index - Linuxコマンド逆引き大全:ITpro

    Linuxのコマンドを「やりたいこと」で探すことができます。「やりたいこと」をクリックすると、コマンド名、動作、構文、オプションの意味をご覧いただけます。コマンドの基を学びたい方は「Linuxコマンド道場」を参照ください。ファイルの操作からテキスト・ファイルの処理方法まで,例題に基づいて学べます。

    Linuxコマンド逆引き大全 Index - Linuxコマンド逆引き大全:ITpro
  • 【 history 】 コマンド履歴の出力と管理 【 Linuxコマンドまとめ 】

    Linuxコマンドまとめ」カテゴリでは、Linuxのコマンドについて、基的な実行例とオプションを分かりやすくまとめます。 「history」は、コマンド履歴(過去に実行したコマンド)の出力と管理を行うコマンドです。 Linuxで広く用いられるシェル「Bash」は、実行したコマンドを「履歴(ヒストリ)」として自動で記録します。「history」コマンドを使って、記録された「コマンド履歴」の出力や操作を行うことができます。 なお、「history」はBash自身が処理を行う「内部コマンド」です。 historyコマンドの基的な使い方historyコマンドの基書式は、以下の通りです。 history [オプション [引数]] [件数]オプションを付けずにhistoryコマンドを実行すると、コマンド履歴が出力されます。行数を指定すると、指定された件数分の最新のコマンド履歴を出力します。指定

    【 history 】 コマンド履歴の出力と管理 【 Linuxコマンドまとめ 】
  • ファイルの絶対パスを取得する - アメリエフの技術ブログ

    こんにちはkubo改めkubo-mです。地図アプリがないと目的地にたどり着けない方向音痴です。 家族にある場所への道順を「北に向かって進んでから〇〇で東に折れて……」と説明されて、「歩いている最中に方角なんてわからないから、右に曲がるか、左に曲がるかで教えて」と訴えたところ、家族には「相対的に地図を見る派なんだね」と評されました。そんな派閥聞いたことない。 Linuxでも、ファイルやディレクトリの場所を示すのに、絶対パスと相対パスの2種類の示し方があります。 絶対パスは、ディレクトリ構造の一番上(/)からファイルやディレクトリの場所を示す方法です。コマンド実行時にどんなディレクトリにいても、特定のファイルやディレクトリを指す絶対パスは同じになります。 相対パスは、コマンド実行時の位置から見て、ファイルやディレクトリの場所を示す方法です。 「ひとつ上のディレクトリにあるファイルpiyo」 「

    ファイルの絶対パスを取得する - アメリエフの技術ブログ
  • sudoの権限を設定するvisudoコマンド【Linuxコマンド集】

    visudosudo権限を変更するためのコマンドだ。sudoersファイルを安全に編集するコマンドになる。 このページではvisudoコマンドについてまとめている。 sudoでの実行 Linuxでは例えばユーザーの追加や削除やプロセスの管理など、管理者以外が操作するとシステム運用にリスクを伴う。 そのため、Linuxシステムにとって重要なコマンドは、rootのような管理者だけが実行できるようにするのが一般的だ。 下記のページで詳しく解説している。 上記ページでも解説しているが一般ユーザでrootユーザしかできないような各種作業を使いたいときはsudoを使う。 もちろん自由にsudoできるわけではなく、sudoができるユーザなども細かく指定ができる。sudoersファイルはデフォルトでは/etc/sudoersを編集することになる。 visudoコマンドは管理者の権限でのみ操作できる。 v

    sudoの権限を設定するvisudoコマンド【Linuxコマンド集】
  • ディレクトリの中身を再帰的に表示する - それマグで!

    ディレクトリの中身を再帰的に表示したい。linux だと find コマンドを使えば簡単です。しかしWindowsのFindコマンドがファイル内部を検索するものであり、Windowsでfind みたいなことを試みると、チョットめんどくさいのです。(WSHでも面倒)勉強のためなら再帰プログラムを再発明した方が良いけど、すぐ使いたいのでぱっぱと終らせた。 Rubyなら簡単にできました。 ruby を使ってディレクトリのファイルを再帰的に表示します。 find コマンドをオプション無し起動と同じです。 Linuxコマンドなら $ find # sort の必要すらない. Dir.glob を使う #ピクチャディレクトリの中を見る Dir.glob '/users/takuya/Pictures/**/*' # => ['/users/takuya/Pictures/100MEDIA/IMAG02

    ディレクトリの中身を再帰的に表示する - それマグで!
  • git/git rebaseを元に戻す方法 - TOBY SOFT wiki

    例 † git rebaseの有効性は何故つかうか?は『Pro Git - Pro Git 3.6 Git のブランチ機能 リベース』 や ../git-rebase を見ていただくとしまして…。 さて、例えばmasterに修正を加えているオレオレ・カスタマイズ済みなmy_customブランチがあるとします。 このたびmasterが新しく更新されたので、my_customもmasterの変更に追従したいなと思いました。 そこで、git rebaseを使いmy_customをかつてのmasterからブランチを切った起点ではなく、あたらしく更新された今のmasterを起点に切り替えたいとします。(つまり、新しいmasterにmy_custom独自の差分パッチを再度当てた状態にしたい) ということで、 $ git checkout my_other_custom $ git rebase mas

  • AWS CLI からのリターンコード - AWS Command Line Interface

    翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。 AWS CLI からのリターンコード 通常、リターンコードは、コマンドのステータスを示す AWS Command Line Interface (AWS CLI) コマンドを実行した後に送信される非表示のコードです。echo コマンドを使用して、最後の AWS CLI コマンドから送信されたコードを表示し、これらのコードを使用して、コマンドが成功したか失敗したかを判断できます。失敗した場合は、エラーの理由を判断できます。リターンコードに加えて、--debug スイッチを使用してコマンドを実行すると、エラーに関する詳細情報を表示できます。このスイッチにより、コマンドを処理するために AWS CLI が使用するステップおよび各ステップの結果についての詳細なレポートが作成

  • Laravel4、BashシェルでのArtisanコマンド補完

    タグ: Laravel4 シェルにzshを使用していた場合、人気のあるoh-my-zshというプラグインとテンプレートのフレームワークにはLaravel4用のプラグインが含まれているので、簡単にコマンド名の補完ができます。 (追記:現在5.1LTSまで対応しています。) 通常、.zshrcでプラグインを有効にします。 plugins=(git laravel4) bashにも、Artisanコマンドの補完は有志により作成されていたのですが、Laravelの方にもコードを用意しておく必要があるなど、使い勝手が良いものではありませんでした。多分、同じような仕組みのSymfony用の補完を参考にして作成されたものだと思われます。もう、作者さんが更新しないと言っていますし、Artisanのデフォルトコマンドも長いものが多いため、作成しました。 https://github.com/HiroKws/

  • 「rsync」でバックアップ?「-a」オプションてなーにを語るの巻

    rsyncを用いてファイルのバックアップを行なっている方は多いと思います。 差分のみを見てくれるので1分掛からずにバックアップが終了することがしばしばです。 この間、ServersMan@Diskというオンラインストレージサービス(webdav)をVPS上にマウントできる(smdiskというDTIが配布するバイナリがあれば、Linux環境からであれば何処からでもマウントできる)こととなり、VPSサーバ上にマウントしバックアップ用の領域としようとしたのですが、webdavで提供されているストレージスペースなので権限や所有者などの設定が出来ずに「rsync -a」を用いるとエラーというか警告が沢山表示されました。 そこで オプション「a」ってなんて意味なんだろう 改めて確認してみようとなったわけで、ここにrsyncのオプション「a」を語ってみます。 基的にコマンドのオプションの意味を調べるに

    「rsync」でバックアップ?「-a」オプションてなーにを語るの巻
  • Linux でディレクトリ構造のみコピーする | ex1-lab

    概要 ディレクトリをそのままコピーするのじゃなくて、ディレクトリ構造のみをコピーしたいケースは無いででしょうか? 例えば、メールサーバーを移行した際に、ユーザーのメールボックスの領域だったり、Apacheでバーチャルホストを構築していてログディレクトリのみコピーしないとApacheを起動しないケースなど・・・ 意外とあるかもしれないので、ディレクトリのみコピーする方法を紹介します findとmkdirを組み合わせてコピー ネットでディレクトリのみコピーとかで検索すると、よく検索結果にHITするケースです 下記のコマンドでは、/var/tmp/backup へ /home/log 以下のディレクトリをコピーしているますが、/var/tmp/backupのコピーするとコピー元の最下層のディレクトリは、「/var/tmp/backup/home/log」となり、フルパスでコピーしされいるので、少

    Linux でディレクトリ構造のみコピーする | ex1-lab
    WindyWindriyas
    WindyWindriyas 2020/01/24
    これは便利!
  • linuxで再帰的に特定の拡張子のファイルのみ削除 | NO MORE! 車輪の再発明

    特定のディレクトリ内の、指定した拡張子のファイルを再帰的に削除するコマンドをメモとして残しておきます。 基コマンド # 例としてディレクトリ内のテキストファイルを再帰的に削除するコマンド $ find ディレクトリパス -name "*.txt" | xargs rm 意味としてはコマンドのまんまなのですが、一応コマンドの内容を解説しておきます。このコマンドは以下の手順で再帰的に特定の拡張子のファイルを削除しています。 findコマンドでディレクトリ内の特定の拡張子のファイルパスを再帰的に探索 探索したファイルパスをrmコマンドに渡して削除 ディレクトリ名に拡張子が含まれている場合 上記のコマンドだと(滅多にないと思いますが)、hoge.txtみたいな名前のディレクトリが存在してた場合はファイルの削除は成功するものの、下記のようなエラーが表示されます。 # hoge.txtはディレクトリ

  • 興味があったので、cpとtarとrsyncで、どれが一番速いのか比べてみた。 - La coda de la corsa

    /usr/portageを、/mnt/backupに丸ごとコピーしてタイムを計測した。 結果は、以下の通り cp: ( cp -av /usr/portage /mnt/backup; ) 3.93s user 22.52s system 14% cpu 3:06.63 total tar: ( tar cpf - -C /usr/portage . | tar xvpf - -C /mnt/backup; ) 2.29s user 11.99s system 4% cpu 5:23.91 total ( tar cSpf - -C /usr/portage . | tar xvpf - -C /mnt/backup/; ) 2.27s user 12.04s system 7% cpu 3:09.66 total rsync: ( rsync --bwlimit=8192 --timeo

    興味があったので、cpとtarとrsyncで、どれが一番速いのか比べてみた。 - La coda de la corsa
  • Mingw-w64/MSYS2 を入れなくても Git for Windows で間に合うみたい - 檜山正幸のキマイラ飼育記 (はてなBlog)

    長年MinGW/MSYSを使い続けているのですけど、最近あまりアップデートされません。例えば、bashは9年前のversion 3.1のままです。世間ではversion 4.2, 4.3が使われているのに。 MinGW/MSYSの後継らしきMingw-w64とMSYS2の組み合わせに替えようかと思ったのですが、Git for Windowsがあれば十分な気がしてきました。 内容: MinGWとMSYS ディレクトリレイアウトとPATH環境変数 Mingw-w64とMSYS2 Git for Windowsのシェル環境 まとめ MinGWとMSYS MinGWとMSYSは一緒に使っている人が多いと思いますが、目的が異なる2つのシステムです。MinGW/MSYSとよく比較されるCygwinは、単一のシステムとしてWindows上にPOSIX環境を実現するものです -- 目的も方式も明快です。こ

    Mingw-w64/MSYS2 を入れなくても Git for Windows で間に合うみたい - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • https://codeday.me/jp/qa/20190408/581023.html

  • git bash すると ssh-agent を自動で起動 - himadatanode’s blog

    $ vi ~/.bashrcで.bashrcを編集して #ssh-agent eval `ssh-agent` ssh-add 参考 https://takanosho.wordpress.com/2013/01/11/input-ssh-key-passphrase-only-once-on-git-bash/ と追記しておくと、git bash を動かす時に自動で ssh-agent を起動してパスフレーズの入力を一度だけ求められるようになる。git bash が起動している間は何度もパスフレーズを入力する必要はない。 devian のページとか見るとパスフレーズなしで ssh の話が出てるので、案外一人で触るならパスフレーズもなくてもいいのかもしれない。やりたい人は下のURLを参考にでもすれば良いと思う 参考 https://www.debian.org/devel/password

    git bash すると ssh-agent を自動で起動 - himadatanode’s blog
  • Linuxコマンド【 chown 】ファイルの所有者やグループを変更 - Linux入門 - Webkaru

    ユーザー所有権を変更 ユーザー所有権を変更します。まず、「lsコマンド」でユーザー所有権とグループ所有権を確認します。 # ls -l file -rw-r--r-- 1 karuma karuma 0 May 10 06:46 file ユーザー所有権は「karuma」、グループ所有権も「karuma」ですね。 ユーザー所有権の変更 グループを指定せず、ユーザー所有権を「karuma」から「root」に変更してみます。次のようにchownコマンドを実行します。 # chown root file これでゆーざー所有権の変更が完了しました。lsコマンドで、確認してみましょう。 # ls -l file -rw-r--r-- 1 root karuma 0 May 10 06:46 file ユーザー所有権が「karuma」から「root」に変更されました。グループ所有権は「karuma」の

    Linuxコマンド【 chown 】ファイルの所有者やグループを変更 - Linux入門 - Webkaru