tag:crieit.net,2005:https://crieit.net/tags/cli/feed
「cli」の記事 - Crieit
Crieitでタグ「cli」に投稿された最近の記事
2021-05-27T10:22:57+09:00
https://crieit.net/tags/cli/feed
tag:crieit.net,2005:PublicArticle/17287
2021-05-27T10:22:57+09:00
2021-05-27T10:22:57+09:00
https://crieit.net/posts/05-Linux-ls
🐈【ネコでもわかる05】Linuxをイメージしやすく!~lsコマンドを添えて~
<p>どうも!<br />
先日、同期から「<strong>私さんってサーバみたいですね!</strong>」(褒め言葉)と言われてしまいました私です。</p>
<p>彼女曰く、「<strong>質問をしたら、回答と調べやすくなるキーワードが短時間で返ってくる。クライアントに対して処理結果を返すサーバみたい</strong>」とのこと。</p>
<p>”<strong>確かに!!</strong>”と、悔しながらも妙に納得してしまいましたねこ。<br />
という事で、今回はサーバに多いLinuxについての記事きんぎょよ!</p>
<hr />
<p>さて、今回は<strong>LInuxの基本コマンド</strong>について解説していきますきんぎょ~<br />
学生時代に友人たちと作った<strong>CLIとGUIを相互変換</strong>できるソフトを使って<strong>分かりやすさ重視</strong>で行うぎょぴ!<br />
GUIはWindowsベースなので、とっつきやすいと思うにゃ~</p>
<p><em>※この記事は<strong>分かりやすさを重視</strong>するため、<strong>誤解を恐れず、不正確な内容を容認</strong>しております。そこだけ注意して、閲覧、ご理解の足しにしていただけますようお願い申し上げます。</em></p>
<p><em>※今回は使用するソフトはCLIとGUIを相互変換する特性上、通常とは異なる表現があります。また、短時間で制作したため、ツッコミどころ満載です。<strong>あくまで参考程度に</strong>イメージする程度でご覧ください。</em></p>
<hr />
<h4 id="v目次にゃv"><a href="#v%E7%9B%AE%E6%AC%A1%E3%81%AB%E3%82%83v">v目次にゃv</a></h4>
<p>1.基本画面について<br />
2.基本的なコマンドの使い方<br />
3.ls①<br />
4.ls②(パス指定)<br />
5.ls③(パス指定)<br />
6.まとめ</p>
<hr />
<h4 id="基本画面について"><a href="#%E5%9F%BA%E6%9C%AC%E7%94%BB%E9%9D%A2%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">基本画面について</a></h4>
<p>今回使用するソフトの基本画面についてサクッと説明しますにゃ~</p>
<p>【実際の画面】<br />
<a href="https://crieit.now.sh/upload_images/cfd8ed12476c4560833dd07f38fdf37560ae6be767e01.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/cfd8ed12476c4560833dd07f38fdf37560ae6be767e01.png?mw=700" alt="01" /></a></p>
<p>【画面説明】<br />
<a href="https://crieit.now.sh/upload_images/a6d7d4619131d356c6e61275f953de7660ae6ec862e13.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/a6d7d4619131d356c6e61275f953de7660ae6ec862e13.png?mw=700" alt="02" /></a></p>
<p>画像の通りだにゃー!<br />
今回はデスクトップ上にある”<strong>home</strong>”ディレクトリをメインに作業していくぎょぴ!<br />
homeの中はこちら↓<br />
<a href="https://crieit.now.sh/upload_images/0257b4d7c61ea7a35b032da50b33c2af60ae6f5f75fe9.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/0257b4d7c61ea7a35b032da50b33c2af60ae6f5f75fe9.png?mw=700" alt="03" /></a></p>
<hr />
<h4 id="基本的なコマンドの使い方"><a href="#%E5%9F%BA%E6%9C%AC%E7%9A%84%E3%81%AA%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9">基本的なコマンドの使い方</a></h4>
<p>ご存知の通り、LinuxはCUIやCLIといったコマンドで操作をすることが多いねこー!<br />
コマンドの種類は膨大な量あるけど、基本的な構文はほぼ同じだから覚えて置くと良いぎょぴぼー。</p>
<p>基本的には以下の3つ語句でコマンドを打つぎょぴー!<br />
【 [<strong>コマンド</strong>] [<strong>オプション</strong>] [<strong>ファイルまたはディレクトリ</strong>] 】</p>
<p>・コマンド → 何をするかの命令。☆"<strong>cd</strong>や<strong>ls</strong>など"<br />
・オプション → コマンドに対しての詳しい指示 ☆”<strong>l</strong>や<strong>a</strong>など”<br />
"<strong>ls -al</strong>"の場合は ”<strong>中を見る 全て表示&情報を省略しないで</strong>”<br />
・3つ目のやつ → <strong>操作対象のファイル</strong>。また、その<strong>ファイルがある場所を指定</strong>する</p>
<p>例えば<br />
"rm -f /home/user/Manual-for-feeding-goldfish.txt"なら</p>
<p>~<strong>rm</strong>~~~~~~ <strong>-f</strong> ~~~~~~~~ <strong>/home/user</strong>~~<strong>Manual-for-feeding-goldfish.txt</strong>~<br />
”<strong>削除する 確認表示せずに強制的に home/user/にあるManual for feeding goldfish.txtを</strong>”</p>
<p>って意味になるぎょぴぼー</p>
<hr />
<h4 id="ls①"><a href="#ls%E2%91%A0">ls①</a></h4>
<p>lsコマンドを使ってhomeフォルダの中をみてみるきんぎょー。<br />
<a href="https://crieit.now.sh/upload_images/6b344e76cedd0011917bfb6e745cda8360ae74a3ebf7b.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/6b344e76cedd0011917bfb6e745cda8360ae74a3ebf7b.jpg?mw=700" alt="04" /></a><br />
・<strong>水色</strong>のところが<strong>今いる場所</strong>。cd homeでhomeに移動しているのがわかるのにゃー。<br />
・<strong>赤色</strong>のところが<strong>ls実行結果</strong>。<strong>home内のフォルダが表示</strong>されてるキツネ🦊</p>
<h4 id="ls②(パス指定)"><a href="#ls%E2%91%A1%28%E3%83%91%E3%82%B9%E6%8C%87%E5%AE%9A%29">ls②(パス指定)</a></h4>
<p>【ディレクトリ移動】<br />
<a href="https://crieit.now.sh/upload_images/9af47e4744a7d5223c79bb2762295c8460aee413a2ebf.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/9af47e4744a7d5223c79bb2762295c8460aee413a2ebf.jpg?mw=700" alt="スクリーンショット (253)_LI.jpg" /></a><br />
上の画像では"<strong>cd</strong>"で<strong>sigotoディレクトリへ移動</strong>していますねこー<br />
↓この時のフォルダ構造ですにゃ~↓<br />
Desktop<br />
┗home ←水色時ココ<br />
┣douga<br />
┣gazou<br />
┣kadai<br />
┗sigoto</p>
<p>ここで<strong>sigotoの中身が確認</strong>できたぎょぴね~。<br />
次にhomeディレクトリに戻って、<strong>homeディレクトリにいる状態でsigotoの中身</strong>を見てみるきんぎょー🐟<br />
<a href="https://crieit.now.sh/upload_images/fda043eea9c68e980df8cd7ee850abda60aee77cdc901.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/fda043eea9c68e980df8cd7ee850abda60aee77cdc901.jpg?mw=700" alt="スクリーンショット (263)_LI.jpg" /></a><br />
・<strong>水色</strong>のところが<strong>今いる場所</strong>。<strong>現在はhomeにいる</strong>のが確認できるねこー。<br />
・<strong>赤色</strong>のところが<strong>パス指定でのls実行結果</strong>。<strong>sigotoフォルダの中身</strong>が確認できているぎょぴ!<br />
<strong>パス指定</strong>(今回は絶対パス)することで<strong>homeにいながら別の場所の中身を表示</strong>できるぎょぴぼー。</p>
<hr />
<h4 id="ls③(パス指定)"><a href="#ls%E2%91%A2%28%E3%83%91%E3%82%B9%E6%8C%87%E5%AE%9A%29">ls③(パス指定)</a></h4>
<p><a href="https://crieit.now.sh/upload_images/ae5c60810ecf91b2e2dd96d4d8bfd9f360aee7f94a1d7.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/ae5c60810ecf91b2e2dd96d4d8bfd9f360aee7f94a1d7.jpg?mw=700" alt="スクリーンショット (264)_LI.jpg" /></a><br />
まずは、やっていることの確認にゃ=^_^=</p>
<ol>
<li>sigotoディレクトリに入り、中身と今いる場所の確認 (黄色枠はsigotoにいる)</li>
<li>cd .. で1つ前のhomeディレクトリに移動 (オレンジ線部分)</li>
<li>cd kadai で<strong>kadaiディレクトリに移動</strong>。 (緑枠はkadaiにいる)</li>
<li>ls /home/sigoto で<strong>sigotoフォルダの中身と現在地</strong>を確認。 〃</li>
</ol>
<p>↓この時のフォルダ構造ですにゃ~↓<br />
Desktop<br />
┗home<br />
┣douga<br />
┣gazou<br />
┣kadai <em>←緑色時ココ</em><br />
┃ ┣kadai01.pptx<br />
┃ ┗kadai02.pptx<br />
┗sigoto <em>←lsで表示中</em><br />
┣gyoumu<br />
┗syorui</p>
<p><strong>kadaiにいながらsigotoの中身を確認</strong>することができたぎょぴね!<br />
”1.”の時と同じ内容が確認出来ているのがポイントねこ!</p>
<hr />
<h4 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h4>
<p>普段使っているWindowsと比べることでイメージができたかにゃ~?<br />
今回<strong>押さえて欲しいポイント</strong>は以下<strong>2つ</strong>きんぎょー<br />
<strong>・コマンドの構文<br />
・ツリー構造</strong><br />
特にツリー構造の概念は理解をしておかないと、今後大変ぎょぴちゃー。</p>
<hr />
<h4 id="エンドタイトル"><a href="#%E3%82%A8%E3%83%B3%E3%83%89%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB">エンドタイトル</a></h4>
<p>今回はここまで🐾<br />
Linuxはコマンドを覚えることも大事ですが、それよりもWindowsと比べたLinuxの<strong>特性</strong>や<strong>構造</strong>を理解する事がLinuxに慣れる近道だと考えていますぎょぴ。<br />
難しいですが少しずつ覚えていきましょうねこー🐈</p>
<p>次回も頑張るきんぎょー</p>
keito_woood
tag:crieit.net,2005:PublicArticle/17128
2021-05-14T17:57:27+09:00
2021-05-14T17:57:27+09:00
https://crieit.net/posts/CLI-609e3b7798ef2
CLI怖くない
<h1 id="Linux(CLI)が楽しい"><a href="#Linux%EF%BC%88CLI%EF%BC%89%E3%81%8C%E6%A5%BD%E3%81%97%E3%81%84">Linux(CLI)が楽しい</a></h1>
<p>サーバを構築するにあたってLinuxを使用するのですが、1年前の自分だと<br />
「CLI怖い…グラフィカルがいい…😢」って感じていました。</p>
<p>ですが現在では、CLIのほうが覚えることは多いが楽、それにLinuxだと自分で拡張していけるので自分好みのOSにしていけるのが良い。<strong>あと”やってる感”あってカッコイイ</strong>(笑)と感じるまでに価値観に変化がありました。<br />
行き詰った際に読み返してモチベーション維持するために残します。</p>
go
tag:crieit.net,2005:PublicArticle/16604
2021-01-15T17:04:20+09:00
2021-01-15T17:04:20+09:00
https://crieit.net/posts/c97f776c64717b044e6d63cfbd64235c
コマンド操作 基本!
<h2 id="最低限覚えておくべきコマンド9こ!"><a href="#%E6%9C%80%E4%BD%8E%E9%99%90%E8%A6%9A%E3%81%88%E3%81%A6%E3%81%8A%E3%81%8F%E3%81%B9%E3%81%8D%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%EF%BC%99%E3%81%93%EF%BC%81">最低限覚えておくべきコマンド9こ!</a></h2>
<p><strong>1. pwd<br />
2. ls<br />
3. mkdir<br />
4. cd<br />
5. touch<br />
6. cp<br />
7. mv<br />
8. rm<br />
9. less</strong></p>
<hr />
<p>*Linuxのコマンドプロンプトは⼀般ユーザだと「$」で<br />
管理権限を持つ root だと「#」という表⽰</p>
<h3 id="① pwdコマンド"><a href="#%E2%91%A0+pwd%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">① pwdコマンド</a></h3>
<p>CLIでコマンドを実⾏するときは、どこかのディレクトリを起点とする。<br />
これを「<strong>カレントディレクトリ</strong>」と呼び、pwdコマンドで確認できる。<br />
pwd … print work directoryの略</p>
<h4 id="$pwd"><a href="#%24pwd">$pwd</a></h4>
<p>CentOS7の場合ログイン直後は、ログインユーザのホームディレクトリ<br />
<strong>(/home/ユーザ名)</strong> がカレントディレクトリになる</p>
<hr />
<h3 id="② lsコマンド(1)"><a href="#%E2%91%A1+ls%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%281%29">② lsコマンド(1)</a></h3>
<p>カレントディレクトリにどんなディレクトリやファイルが存在するかを確認する ls…list segmentsの略</p>
<h4 id="$ ls (オプション) ※オプションの前に半⾓スペースが必要︕"><a href="#%24+ls+%28%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%29+%E2%80%BB%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E5%89%8D%E3%81%AB%E5%8D%8A%E2%BE%93%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%81%8C%E5%BF%85%E8%A6%81%EF%B8%95">$ ls (オプション) ※オプションの前に半⾓スペースが必要︕</a></h4>
<p>オプションを⼊れると、隠しファイルや詳細情報を表⽰できる。<br />
使⽤例は以下の通り。</p>
<h4 id="$ ls -l (エルエス ハイフン エル。CentOSの場合ll(エル エル)でも同じ結果になります)"><a href="#%24+ls+-l+%28%E3%82%A8%E3%83%AB%E3%82%A8%E3%82%B9+%E3%83%8F%E3%82%A4%E3%83%95%E3%83%B3+%E3%82%A8%E3%83%AB%E3%80%82CentOS%E3%81%AE%E5%A0%B4%E5%90%88ll%28%E3%82%A8%E3%83%AB+%E3%82%A8%E3%83%AB%29%E3%81%A7%E3%82%82%E5%90%8C%E3%81%98%E7%B5%90%E6%9E%9C%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%29">$ ls -l (エルエス ハイフン エル。CentOSの場合ll(エル エル)でも同じ結果になります)</a></h4>
<h4 id="$ ls -la (エルエス ハイフン エル エー)"><a href="#%24+ls+-la+%28%E3%82%A8%E3%83%AB%E3%82%A8%E3%82%B9+%E3%83%8F%E3%82%A4%E3%83%95%E3%83%B3+%E3%82%A8%E3%83%AB+%E3%82%A8%E3%83%BC%29">$ ls -la (エルエス ハイフン エル エー)</a></h4>
<hr />
<h3 id="② lsコマンド(2)"><a href="#%E2%91%A1+ls%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%282%29">② lsコマンド(2)</a></h3>
<p>ls の後ろにディレクトリを指定すると、指定したディレクトリ内のディレクトリやファイルを確認することもできる</p>
<h4 id="$ ls [ディレクトリ名] ※lsの後ろに半⾓スペースが必要︕"><a href="#%24+ls+%5B%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E5%90%8D%5D+%E2%80%BBls%E3%81%AE%E5%BE%8C%E3%82%8D%E3%81%AB%E5%8D%8A%E2%BE%93%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%81%8C%E5%BF%85%E8%A6%81%EF%B8%95">$ ls [ディレクトリ名] ※lsの後ろに半⾓スペースが必要︕</a></h4>
<p>ls /(エルエス スラッシュ)を実⾏するとルートディレクトリの中のディレクトリ<br />
(第2階層)を⾒ることができる。</p>
<hr />
<h3 id="③ mkdirコマンド"><a href="#%E2%91%A2+mkdir%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">③ mkdirコマンド</a></h3>
<p>ディレクトリを作成する mkdir…make directoryの略</p>
<h4 id="$ mkdir [作成したいディレクトリ名] ※mkdirの後ろに半⾓スペースが必要︕"><a href="#%24+mkdir+%5B%E4%BD%9C%E6%88%90%E3%81%97%E3%81%9F%E3%81%84%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E5%90%8D%5D+%E2%80%BBmkdir%E3%81%AE%E5%BE%8C%E3%82%8D%E3%81%AB%E5%8D%8A%E2%BE%93%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%81%8C%E5%BF%85%E8%A6%81%EF%B8%95">$ mkdir [作成したいディレクトリ名] ※mkdirの後ろに半⾓スペースが必要︕</a></h4>
<p>コマンドを実⾏してもエラーでは無い限り、何もメッセージは出ない。<br />
実⾏後、lsやllコマンドでディレクトリが作られたかどうかを確認しよ!</p>
<hr />
<h3 id="④ cdコマンド(1)"><a href="#%E2%91%A3+cd%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%281%29">④ cdコマンド(1)</a></h3>
<p>カレントディレクトリを移動する<br />
cd…change directoryの略</p>
<h4 id="$ cd [移動先ディレクトリ名] ※cdの後ろに半⾓スペースが必要︕"><a href="#%24+cd+%5B%E7%A7%BB%E5%8B%95%E5%85%88%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E5%90%8D%5D+%E2%80%BBcd%E3%81%AE%E5%BE%8C%E3%82%8D%E3%81%AB%E5%8D%8A%E2%BE%93%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%81%8C%E5%BF%85%E8%A6%81%EF%B8%95">$ cd [移動先ディレクトリ名] ※cdの後ろに半⾓スペースが必要︕</a></h4>
<p>コマンドを実⾏してもエラーでは無い限り、何もメッセージは出ない。<br />
実⾏後、pwdコマンドでカレントディレクトリを確認しよ!</p>
<hr />
<h3 id="④ cdコマンド(2)"><a href="#%E2%91%A3+cd%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%282%29">④ cdコマンド(2)</a></h3>
<p><strong>「 .. (ドットドット)」</strong> を移動先ディレクトリへ指定すると、⼀階層上のディレクトリに移動することが可能。<br />
また、cd ../.. のように複数回使⽤すると、2つ上のディレクトリに移動できる</p>
<hr />
<h3 id="⑤ touchコマンド"><a href="#%E2%91%A4+touch%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">⑤ touchコマンド</a></h3>
<p>新規に<strong>空のファイル</strong>を作成する<br />
ほかにも、指定したファイルやディレクトリのタイムスタンプを変更することも可能</p>
<h4 id="$ touch [作成したいファイル名] ※touchの後ろに半⾓スペースが必要!"><a href="#%24+touch+%5B%E4%BD%9C%E6%88%90%E3%81%97%E3%81%9F%E3%81%84%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%5D+%E2%80%BBtouch%E3%81%AE%E5%BE%8C%E3%82%8D%E3%81%AB%E5%8D%8A%E2%BE%93%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%81%8C%E5%BF%85%E8%A6%81%EF%BC%81">$ touch [作成したいファイル名] ※touchの後ろに半⾓スペースが必要!</a></h4>
<hr />
<h3 id="⑥ cpコマンド(1)"><a href="#%E2%91%A5+cp%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%281%29">⑥ cpコマンド(1)</a></h3>
<p>ファイルをコピーする cp…copyの略</p>
<h4 id="$ cp [コピー元ファイル名] [コピー先ファイル名 or ディレクトリ]"><a href="#%24+cp+%5B%E3%82%B3%E3%83%94%E3%83%BC%E5%85%83%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%5D+%5B%E3%82%B3%E3%83%94%E3%83%BC%E5%85%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D+or+%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%5D">$ cp [コピー元ファイル名] [コピー先ファイル名 or ディレクトリ]</a></h4>
<p>※上記コマンドのコピー元ディレクトリとコピー先ディレクトリの間には半⾓スペースが必要︕<br />
コマンドを実⾏してもエラーでは無い限り、何もメッセージは出ない。<br />
lsかllコマンドでコピーしたファイルが存在することを確認しよ!</p>
<hr />
<h3 id="⑥ cpコマンド(2)"><a href="#%E2%91%A5+cp%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%282%29">⑥ cpコマンド(2)</a></h3>
<p>cpコマンドは、<strong>r</strong> オプションを使うと<strong>ディレクトリもコピーできる。</strong></p>
<h4 id="$ cp -r [コピー元ディレクトリ名] [コピー先ディレクトリ名]"><a href="#%24+cp+-r+%5B%E3%82%B3%E3%83%94%E3%83%BC%E5%85%83%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E5%90%8D%5D+%5B%E3%82%B3%E3%83%94%E3%83%BC%E5%85%88%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E5%90%8D%5D">$ cp -r [コピー元ディレクトリ名] [コピー先ディレクトリ名]</a></h4>
<hr />
<h3 id="⑦ mvコマンド(1)"><a href="#%E2%91%A6+mv%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%281%29">⑦ mvコマンド(1)</a></h3>
<p>ファイルやディレクトリを移動する。<br />
mv…moveの略</p>
<h4 id="$ mv [対象ファイル or ディレクトリ名] [移動先のディレクトリ]"><a href="#%24+mv+%5B%E5%AF%BE%E8%B1%A1%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB+or+%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E5%90%8D%5D+%5B%E7%A7%BB%E5%8B%95%E5%85%88%E3%81%AE%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%5D">$ mv [対象ファイル or ディレクトリ名] [移動先のディレクトリ]</a></h4>
<p>コマンドを実⾏してもエラーでは無い限り、何もメッセージは出ない。<br />
mv実施後に、lsかllコマンドで移動したことを確認しよ!</p>
<hr />
<h3 id="⑦ mvコマンド(2)"><a href="#%E2%91%A6+mv%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%282%29">⑦ mvコマンド(2)</a></h3>
<p><strong>mvコマンドはファイルやディレクトリ名の変更もできる。</strong></p>
<h4 id="$ mv [対象ファイル名] [変更後の名前]"><a href="#%24+mv+%5B%E5%AF%BE%E8%B1%A1%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%5D+%5B%E5%A4%89%E6%9B%B4%E5%BE%8C%E3%81%AE%E5%90%8D%E5%89%8D%5D">$ mv [対象ファイル名] [変更後の名前]</a></h4>
<hr />
<h3 id="⑧ rmコマンド(1)"><a href="#%E2%91%A7+rm%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%281%29">⑧ rmコマンド(1)</a></h3>
<p>ファイルを削除する。<br />
rm…removeの略</p>
<h4 id="$ rm [削除したいファイル名]"><a href="#%24+rm+%5B%E5%89%8A%E9%99%A4%E3%81%97%E3%81%9F%E3%81%84%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%5D">$ rm [削除したいファイル名]</a></h4>
<p>コマンドを実⾏してもエラーでは無い限り、何もメッセージは出ない。<br />
Windowsのようなごみ箱の概念がないので⼀発で削除となります。<br />
慎重にコマンドを実⾏しよう。</p>
<hr />
<h3 id="⑧ rmコマンド(2)"><a href="#%E2%91%A7+rm%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%282%29">⑧ rmコマンド(2)</a></h3>
<p>rmコマンドは <strong>r</strong> オプションを使うと<strong>ディレクトリも削除できる。</strong></p>
<h4 id="$ rm -r [削除したいディレクトリ名]"><a href="#%24+rm+-r+%5B%E5%89%8A%E9%99%A4%E3%81%97%E3%81%9F%E3%81%84%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E5%90%8D%5D">$ rm -r [削除したいディレクトリ名]</a></h4>
<p>ディレクトリ削除は対象を間違えると影響がとても⼤きい。<br />
慎重にコマンドを実⾏しよう。</p>
<hr />
<h3 id="⑨ lessコマンド"><a href="#%E2%91%A8+less%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">⑨ lessコマンド</a></h3>
<p>テキストファイルの中⾝を閲覧する。<br />
catやmoreコマンドと異なりqを⼊⼒するまで終了しないのが特徴。</p>
<h4 id="$ less [閲覧したいファイル名]"><a href="#%24+less+%5B%E9%96%B2%E8%A6%A7%E3%81%97%E3%81%9F%E3%81%84%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%5D">$ less [閲覧したいファイル名]</a></h4>
<p>less上の操作はカーソルキーで1⾏、スペースキーでページスクロール。<br />
終了するときは「<strong>q</strong>」を⼊⼒する。</p>
<hr />
<p>*ここに随時追加予定</p>
Ususuke
tag:crieit.net,2005:PublicArticle/15509
2019-10-26T22:52:42+09:00
2019-10-27T14:20:12+09:00
https://crieit.net/posts/CLI
CLIツールを簡単に作れるフレームワークを作ったよ!
<p>PythonでCLIツールを簡単に作れるようになるフレームワークを作ってみました!</p>
<p>argparseって正直使いにくくないですか?<br />
groomなら、実質関数を1つ定義するだけでコマンドラインツールを作成できます。</p>
<h2 id="インストール"><a href="#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB">インストール</a></h2>
<p>pypiに登録してあるので簡単!</p>
<pre><code class="sh">$ pip install groom
</code></pre>
<p>これで終わりです。早速使ってみましょう!</p>
<h2 id="簡単に使ってみる"><a href="#%E7%B0%A1%E5%8D%98%E3%81%AB%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B">簡単に使ってみる</a></h2>
<p>さて、早速使ってみましょう。<br />
2つの数を取って、四則演算するコマンドラインツールを作ってみます。</p>
<pre><code class="python">import sys
from groom import positional, optional, Dispatcher
__version__ = '1.0'
def calculate(
num1: positional(float, "former number", required=True, var_name='N1'),
num2: positional(float, "latter number", required=True, var_name='N2'),
operator: optional(str, "operator name", short_name='op')='add'):
if operator == 'add':
print(num1 + num2)
return
if operator == 'sub':
print(num1 - num2)
return
if operator == 'mul':
print(num1 * num2)
return
if operator == 'div':
print(num1 / num2)
return
print("unknown operator:", operator, file=sys.stderr)
if __name__ == '__main__':
Dispatcher(
calculate,
"calculate one of four arithmetic operations"
).dispatch()
</code></pre>
<p>これだけで、ヘルプの表示やコマンドライン引数の処理までができます。<br />
生成されたヘルプメッセージはこんな感じ。</p>
<pre><code class="text">calc.py: 1.0
calculate one of four arithmetic operations
Usage:
calc.py [-v | --version | -h | --help]
calc.py params...
positional parameters:
N1:
former number
type: float
required: True
N1:
latter number
type: float
required: True
parameters:
--operator, -op:
operator name
type: str
required: False
multiple values: False
default: add
</code></pre>
<p>どうでしょうか? かなり簡単になっているのではないかと思います。<br />
ヘルプメッセージの改善に関しては鋭意取り組み中ですので、少々お待ち頂けたらw</p>
<hr />
<p>追記 2019/10/27</p>
<p>groom==0.0.3a1で、ヘルプメッセージを少し改善しました。現在はこのようになります。</p>
<pre><code class="text">calc.py: 1.0
calculate one of four arithmetic operations
Usage:
calc.py [-v | --version | -h | --help]
calc.py <N1> <N2>
[--operator <OPERATOR> | -op <OPERATOR>]
positional parameters:
N1:
former number
type: float
required: True
N2:
latter number
type: float
required: True
parameters:
--operator, -op:
operator name
type: str
required: False
multiple values: False
default: add
</code></pre>
<hr />
<p>一応サブコマンドにも対応していまして、以下のようにすれば可能です。が、こちらも鋭意改善中です。</p>
<pre><code class="python">d = Dispatcher(func, "desc")
d.add_subcommand(
"sub-command",
Dispatcher(subfunc, "subdesc"))
</code></pre>
<p>このプロジェクトのGitHubのリポジトリは<a target="_blank" rel="nofollow noopener" href="https://github.com/frodo821/groom">https://github.com/frodo821/groom</a>です。issueやpull requestなど、どんどんお寄せいただけたら凄く嬉しいです。よろしくお願いします。</p>
frodo821