アメリエフの技術ブログ

Amelieff Staff Blog

知らないとおじさん?なLinuxコマンド 3選【もう古い】

こんにちは、iijm_lです🐰
アメリエフの業務に関わり始めて、3年が経ちました。

となると、サーバ周りのお悩み事は「あーはいはいそれね」と解決できるくらいには、Linuxの知識も増えてきました。

しかし最近「 tar xzvf を使う人はおじさん」という衝撃的なSNS投稿を見かけました。
ショック!いつも使ってたんだけど...!

f:id:iijm-l:20211101142855p:plain
もしかして、オレのことかナ❓❗(T_T)😱ナンチャッテ(^з<)🎵

傷心と同時に、「Linuxコマンドにも、流行りみたいなものがあるのか〜」と感心してしまいました。

今回は、当たり前だと思い込んでいたLinuxコマンド知識のアップデートを目的として、

巷で噂の、知らないとおじさん?なLinuxコマンド 3選

を調べてみました。


tar xzvf を使うのはおじさん?


ファイルの圧縮・展開をする時に用いられるtarコマンド。
ABC.tar.gzファイルを展開する場合、以下のコマンドで行います。

$ tar xzvf ABC.tar.gz


tarコマンドの後ろには、オプションを指定します。
x:ファイルを展開する
z:gzip形式で圧縮・展開する
v:詳細なログを出力する
f:ファイル名を指定する

しかし、GNU tar のアップデートより、ファイル形式の自動判別機能 が追加されており、zの指定は不要になりました。
(引用元: GNU tar コマンドマニュアル

Reading compressed archive is even simpler: you don’t need to specify any additional options as GNU tar recognizes its format automatically.


そのため、以下のコマンドで展開可能です。

$ tar xvf ABC.tar.gz


tarコマンドに対して、もう1つあります。
オプションに-を付けないのも、おじさんだそうです。こうしましょう。

$ tar -xvf ABC.tar.gz



sudo su を使うのはおじさん?

ログインユーザとは別のユーザでシェルを実行するsuコマンドを、ログインユーザのsudo権限をつかって実行します。

そのsudo surootユーザで実行する場合、以下のコマンドで行います。
※ 現在のログインユーザがsudo権限を持つ場合に限ります。

$ sudo su


↓ ↓ 過去の弊社ブログにも紹介していますので、興味がある方はご覧ください。
【sudo】rootパスワードを知らなくて困った話【su】


sudoコマンドには、-sという起動シェルを指定するオプションが追加されました。
これはsudo su とほぼ同義で、異なるのは起動シェルのみです。 (sudo su = ログインしたいユーザのデフォルトシェル、sudo -s = 現在の環境変数$SHELL

$ sudo -s



ifconfigを使うのはおじさん?

ifconfigコマンドを含む、ネットワーク環境の管理および操作を行う「net-tools」パッケージですが、
最新のネットワーク環境では不適切に動作することが知られており、現在は非推奨 になっています。

現在は「net-tools」の代わりに、「iproute2」がデフォルトで用意されていますので、こちらを使用しましょう。

ifconfigコマンドは、ip aコマンドで同じような結果が得られます。

$ ip a
br-83d29874e1ba: flags=928<UP,BROADCAST,MULTICAST>  mtu 0000
        inet xxx.xxx.xxx.xxx  netmask 255.255.0.0  broadcast xxx.xx.255.255
        .
        .


その他のコマンドも、ipコマンドで代用可能です。


まとめ

いろいろ調べてきましたが、使い慣れているコマンドの方がトラブルのリスクがなく、良い場合もあると思います。
非推奨と言われていない限りは、あまり人目を気にしすぎず、使っていきたいですね。
それはそれとして、知らない便利な機能が見つかるのが面白かったので、これからもLinuxコマンドのアプデは適宜行っていきたいと思います!