こんにちは、iijm_lです🐰
アメリエフの業務に関わり始めて、3年が経ちました。
となると、サーバ周りのお悩み事は「あーはいはいそれね」と解決できるくらいには、Linuxの知識も増えてきました。
しかし最近「 tar xzvf
を使う人はおじさん」という衝撃的なSNS投稿を見かけました。
ショック!いつも使ってたんだけど...!
傷心と同時に、「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 su
rootユーザで実行する場合、以下のコマンドで行います。
※ 現在のログインユーザが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コマンドのアプデは適宜行っていきたいと思います!