Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
ここでunknown-8bitと出てきたのでドキッとしてしまいましたが、unknown-8bitはShift_JISのことだそうでホッと一安心。 文字コードを変換する 文字コードを変換するにはnkfコマンドを使います。 //未インストールの場合、Homebrewでnkfをインストール $ brew install nkf //ファイルをShift_JISに変換(上書き保存)する $ nkf -s --overwrite ファイル名 //ファイルをUTF-8に変換(上書き保存)する $ nkf -w --overwrite ファイル名 いろいろなcharset 上記のコマンドをテストしようとして適当にテキストファイルを作成したところ、コマンドはもちろんエディターの設定をいろいろ変えて保存してもfile --mimeでの出力結果がずっとus-asciiになってしまい、大いにハマりました。 原因
背景 ls、cd、psなどのコマンド。 いずれも30年前のもので、今でも毎日使っていますが、"オープンソースの世界には、これらの「古い」Linuxコマンドに代わり、より優れたコマンドラインツールがあるのだろうか?"と思いました。 本記事では、Linuxのコマンドと同じことができるだけでなく、より使いやすいパラメータ、一目でわかる表示、クロスプラットフォーム対応など、使い方、パフォーマンス、表示の面でより優れた新機能を追加したオープンソースのコマンドラインツールを10個まとめてみました。 1. dust(du) 開発言語: Rust Github: https://github.com/bootandy/dust スター数: 4.4k 代替コマンド: du 使用方法: dust プラットフォーム: Windows、Linux、macOS 説明: ディレクトリやファイルのサイズを一目でわかるよ
Bash の勉強を始めた頃、頭がごちゃごちゃになって調べたこと、わかるとほんのちょっとうれしくなったことを5個ピックアップしてみました。 - 目次 - alias sudo='sudo ' と alias sudo='sudo -E ' bash -c /dev/null grep -rl xargs で任意の位置に引数を展開する - 説明 - 1. alias sudo='sudo ' alias コマンドを使うと、長いコマンドを別名で登録できて、とても便利です。 でもそのまま sudo と組み合わせると、エラーになります。 例えば、la という登録名で、ls -a を実行させると、 sudo la でエラーになります。 bash のマニュアルには、以下のように書かれています。 alias [-p] [name[=value] ...] value の末尾に空白があると、エイリアスが展開
はじめに そりゃまあ 30 年も経てば古くなりますよ。「入門UNIXシェルプログラミング」は今もシェルスクリプトに関するオススメの本として名前が挙がる名著です。しかしこの本は古い本です。POSIX でシェルが標準化される以前の本で、内容から判断するとおそらく 1990 年ぐらいの常識に基づいて書かれています。 古いから参考にならないと言うつもりはありません。しかしどれだけ優れた本でも時間の流れには勝てません。良書であると思っているからこそ、古くなってしまった内容は訂正する必要があると考えています。なおシェルスクリプトに関する古い本はこれだけではありません。オライリーから出版されている本も古い本ばかりです。いつ頃に(原書が)書かれた本なのかを確認した方が良いでしょう。 ということでレビューというていで、古くなってしまった内容の訂正を行いたいと思います。新しく「入門UNIXシェルプログラミング
A process is considered to have completed correctly in Linux if its exit status was 0. I've seen that segmentation faults often result in an exit status of 11, though I don't know if this is simply the convention where I work (the applications that failed like that have all been internal) or a standard. Are there standard exit codes for processes in Linux?
先日、同僚と「世の中のエンジニアはターミナルにどんなalias設定をしているんだろう?」という談義になったので、GitHub上の1000リポジトリのコードから調査してみました。 2019/04/10 コメントを元に微修正しました。コメントくださった方々、ありがとうございます。 2019/04/11 こんなのも書いてみました。 よく使われているvimrcの設定ランキング 2019/04/15 プラグイン版も書きました。よく使われているvimのプラグイン top20 aliasとは wikipediaより UNIXなどにおいてコマンドを別名で登録したもの。別名を登録するコマンド名。 長いコマンドやいつも利用するオプションを毎回入力するのは手間ですよね? ターミナルの設定ファイルにaliasを記述することで、別名として定義することが可能というわけです。 調査方法 GitHub APIを利用 do
「プロンプト」は、ターミナルで hoge-macbook:~ hoge$ と書かれた行のこと。 今回の記事では以下のことをなるべく簡潔にまとめていきたいと思います。 プロンプトの表示内容を変える方法 プロンプトの色や書体を変える方法 コマンドの出力の後に改行を入れる方法 プロンプトでGitブランチを表示する方法 よく見るあの表示 ( ■■■▶︎ ) を再現する方法 ここわかんないよ!ここ間違ってるよ!などの意見があれば、ご遠慮なくコメントください。 デフォルトのプロンプト 私は見た目が気に入っているHyperというターミナルを使っていますが、中身は同じBashなので、Mac標準のターミナルでも、iTerm2でも変更方法は全く同じです。 試しにプロンプト変えてみる ターミナルを開いて以下のコマンドを叩いてみる。
Bash は言わずと知れた歴史あるコマンド言語です。テキストにコマンドの羅列を記述するだけで、手軽にシェルスクリプトとして実行することができます。 シェルスクリプトの実体はシェルコマンドの羅列に過ぎませんが、手続き型プログラミング言語にあるような制御構文も備えています。変数や条件分岐、ループ、関数などです。これらを使えばシェルスクリプトでプログラミングも可能です。 もちろん、現代の一般的なプログラミング言語と比べると機能は限られます。他の言語には見られないシェルスクリプト特有の癖や記法も数多くあり、最近の言語に慣れている人ほど、つまずくポイントが多いです。 しかし、シェルスクリプトだからこその良さもあります。Bash は現在でも多くの OS で標準シェルとして採用されており、普段使っているシェルコマンドを書くだけで動かせる手軽さは何者にも代えがたいです。一度身につけておくと長く使えるお得な
#!/bin/bash exec 5> debug_output.txt BASH_XTRACEFD="5" PS4='$LINENO: ' set -x するとdebug_output.txtにログが出力される。 exec 5>はファイルディスクリプタ5番をdebug_output.txtにするという意味。 PS4はトレース出力の際に表示されるプロンプト。$LINENOにより行番号を表示している。 set -xは実行するコマンドをトレース出力させる。 元記事にはbashdb、log4bash、Eclipse、Visual Studioo Codeを使う方法なども紹介されているが、これが一番手軽でほとんどの場合十分だと思う。 Register as a new user and use Qiita more conveniently You get articles that match
commandlinefu.com コマンド使用例 ^foo^bar mount | column -t time read (ctrl-d to stop) echo "You can simulate on-screen typing just like in the movies" | pv -qL 10 mv filename.{old,new} diff <(sort file1) <(sort file2) !* !:- fc date -d@1234567890 ps awwfux | less -S bind -P mkdir -p work/{d1,d2}/{src,bin,bak} showkey -a ccze grep . filename > newfilename grep -Fx -f file1 file2 grep . * kill -9 $$ tail
Linuxにある程度慣れていると、現在のファイルのパーミッションは記号表記で、設定の際は数字表記でやることが多いだろう。 で、いつも記号表記でばかり確認しているのだが、ふと数字表記で現在のパーミッションを取得できるのかなと思い調べてみた。 個人的には大体lsで調べるのだが、残念ながらそういったオプションは無いらしい。 1. statコマンドを用いる場合 statコマンドで、以下のように指定することでファイルのパーミッションを数字表記で取得できるようだ。 stat PATH -c '%a' [root@BS-PUB-CENT7-01 ~]# ls -la ./test.pl -rw-r--r--. 1 root root 99 5月 20 11:26 ./test.pl [root@BS-PUB-CENT7-01 ~]# stat ./test.pl -c '%a' 644 これを利用してl
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? シェルスクリプトは、Unix 系環境で仕事をするエンジニアなら誰もが一度は書くであろうにもかかわらず、書き方や特性を熟知している人が少ない言語です。この記事は、シェルスクリプトを書くときに罠を踏まないようにするために最低限あなたが気を付けるべき tips 集です。「たかがシェルスクリプト」とは思わないでください。生半可に書かれたシェルスクリプトはあなたの (チームの) 生産性をかえって低下させます。 Shebang に bash を明示しろ Bash でしか使えない機能のことを俗に Bashism と言います。Bashism はもちろん
WSL(Windows Subsystem for Linux)とは? Windows 10ではLinuxのプログラムを実行可能にする「WSL(Windows Subsystem for Linux)」が利用できる。当初、このWSLは実験的なβ版(当時の名称は「Bash on Ubuntu on Windows」)として提供されていたが、Windows 10 バージョン1709(ビルド16299)以降では正式なOS機能の一つとなっている。 現在ではLinuxシステムとの互換性も向上した他、Microsoft Store経由でのインストール、Ubuntu以外のディストリビューションの提供、コマンドプロンプトからWSLのコマンドを呼び出し可能になるなど、機能も向上している。 Linxu環境をエミュレーションするWSL WSLはWindows OS上でLinuxの実行環境を実現するサブシステムで
以前に、いろいろとLinuxでコマンドの実行履歴をログに記録する方法について書いてたので、まとめてみることにした。 1.シェルのhistoryを利用する まぁ、基本といえば基本。 シェルのhistory機能を使って記録しておくというもの。 ただ、デフォルトだとファイルへの書き出しがセッションクローズ後で、タイムスタンプもついてないので、そのままでは使いにくい。 また、コマンドの実行ユーザが権限を持っているので、ファイルを直接編集できるのもよくないかも。 2.bashの機能を用いる bash 4.1以降だと、実行したコマンドをsyslogで記録させることができるようになっている。 ただ、CentOSやUbuntuだとそのままでは利用することはできず、コンパイルしなおす必要がある。 yumやapt-getでアップデートができなくなるので、何かしらの脆弱性が見つかるとコンパイルしなおす必要が出て
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く