CSDNのクラスメートの皆さん、こんにちは。今日はレッスンを構成するためにここにいます。
「前へ」コマンドライン、ターミナル、シェルを明確にした後(まだ理解していない場合は、青い単語をクリックして確認できます)、今日この記事を書くのははるかにスムーズです。ああ、最高の快適さ!
率直に話しましょう。大学のコンピュータコースは通常、コンピュータオペレーティングシステム、コンピュータ構成の原則、コンピュータネットワーク、その他の学術コース、およびJava、C ++ / Cなどの特定のプログラミング言語の教育に重点を置いており、ツールを習得する方法のトピックは多くの場合Itです。教えられたコースの範囲外であり、学生は自分で探索する必要があります。
しかし実際には、特定のツールの使用頻度が非常に高いため、1つのイディオムを使用してそれを説明することができます。たとえば、コマンドラインは学生時代だけでなく、仕事の後も切り離せない方法で使用されることがよくあります。したがって、これらのツールを使用する機能を磨くために時間を費やすことが差し迫っています。たとえば、今日の主人公コマンドラインシェル、プロジェクトの運用と保守は基本的にシェルを介して完了します。
私が最初に作業会議に参加したとき、オンライン展開について先輩に尋ねる必要があったことを覚えています。私は彼の後ろに立って、彼がキーボードで巧みに指を操作するのを見ました。黒いXShellウィンドウでは、カラフルなキャラクターが楽しくジャンプしていました。ピアノで「逆スケールの狂詩曲」を演奏している一種のジェイレンがいました。その感覚は特に賞賛されています。
PS:1つ挿入します。CSDN APPの最後の記事「プログラミングを上手に学びたい人にアドバイスする」は非常に人気があり、リストのトップに急いでおり、600回以上好き、1000回以上お気に入り、100回以上コメントしています。 'Sのクラスメートが再びよく見るのを見ないことを望みます、そして彼らは間違いなくたくさんの結果を得るでしょう。
01、シェルとは何かについて話しましょう
最新のコンピューターのインタラクティブインターフェイスは、一般的なグラフィカルインターフェイスから音声入力、ARやVRまで多様であり、命令の入力を満たすことができます。これらのインターフェイスはほとんどのアプリケーションシナリオをカバーできますが、基本的に別の操作方法を制限します。存在しないボタンをクリックしたり、音声を使用して入力されていないコマンドを入力したりすることはできません。
コンピューターの機能を最大限に活用するために、最も原始的なインタラクティブモード-テキストインターフェイスに戻らなければならない場合があります。シェルは、C言語で記述されたプログラムであり、ユーザーがLinuxを使用するためのブリッジです。
ほとんどすべてのオペレーティングシステムは、何らかの形式のコマンドラインシェルをサポートしており、さまざまなシェルから選択できるものもあります。Linuxの一般的なシェルは次のとおりです。
- Bourne Shell(/ usr / bin / shまたは/ bin / sh)
- Bourne Again Shell(/ bin / bash)
- Cシェル(/ usr / bin / csh)
- Kシェル(/ usr / bin / ksh)
- ルートのシェル(/ sbin / sh)
詳細にはいくつかの違いがありますが、コア機能は同じです。プログラムの実行、命令の入力、およびある種の半構造化出力の取得が可能です。
cat /etc/shells
ネイティブコマンドシェルに表示できます。私が使用しているMacには、bash、csh、ksh、sh、tcsh、zshなどがあります。
デフォルトはzshで、ウィンドウのタイトルに表示されます。別のタイプのシェルに切り替える場合は、次の図に示すように、tcshなどのシェルの名前を直接入力できます。
危害、彼は誤って自分の名前を公開しました。現在のデフォルトのシェルシェルを終了する場合は、exit
コマンドをノックします。
02、最初にシェルを使用する
次の図に示すように、起動パッドで「ターミナル」を見つけて開きます(My Mac)。
ウィンドウのタイトルから始めましょう。焦点はzshです。
2019年、Appleは新世代のmacOS-macOS Catalinaをリリースしました。これにより、プロのユーザーに大きな変化がもたらされました。Zshがbashに取って代わり、デフォルトのシェルになりました。zshは、bashと比較して、よりスマートなオートコンプリート、より豊富なテーマなど、より強力な機能を備えています。これは間違いなく馬車に乗ったスポーツカー、スポーツカーに乗った空飛ぶクルマであり、歴史的に「究極のシェル」として知られています。
フォームの内容について話しましょう。
最初の行は、最終ログイン時刻を示しています。何人かの学生は好奇心が強いでしょう、一体何が「ttys000」ですか?
簡単に言えば、ttyはターミナルの総称です。「FinallyOvercomethem」を読んだ方は、初期の端末がテレプリンター(Teletype / Teletypewriter
)であり、英語の略語がttyであることを知っておく必要があります。端末機器はもはやテレタイプライターに限定されていませんが、ttyという名前は引き続き保持されています。
「Ttys000」は、ttyのコードネームがs000であることを意味します。
2行目は、ホスト名がitwanger
。であることを示しています。ホスト名は、「システム環境設定」→「共有」→「コンピュータ名」→「編集」で変更できます。%
プロンプトが続くと、ここに任意の文字を入力できますが、シェルで解析できるものとできないものがあります。
03、Oh My Zsh
Zsh自体は非常に強力ですが、構成が複雑であり、通常のユーザーにとってはエクスペリエンスが非常に貧弱です。ある日まで、退屈な男が「OhMyZsh」と呼ばれるzshをすばやく構成できるプロジェクトを開発しました。GitHubのアドレスは次のとおりです。
https://github.com/ohmyzsh/ohmyzsh
これはインストールが非常に簡単で、「5分でXXXを学ぶ」のように、魔法のスキルをすばやく習得できます。
ターミナルで直接sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
実行すると、Oh MyZshを自動的にインストールできます。
自動インストールが失敗した場合は、手動でインストールしてみてください。
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
何らかの理由で速度が遅くなる場合がありますので、しばらくお待ちください。
インストールが完了したら、新しいターミナルを再度開くと、カラフルなプロンプト(Oh My Zshのデフォルトテーマのロゴ)が表示されます。
~/.zshrc
ファイル(~/ 表示根目录
)に設定されているOh My Zsh構成は、vimで開くことができます。
vim ~/.zshrc
ご覧のとおり、Oh My Zshのデフォルトのテーマはrobbyrussellであり、~/.oh-my-zsh/themes
ディレクトリを切り替えるためのトピックをさらに見つけることができます。
選択するテーマがわからない場合は、以下のURLからプレビューできます。
https://github.com/ohmyzsh/ohmyzsh/wiki/External-themes
選択が難しい場合は、私のようにランダムに構成できます。新しいウィンドウを開くたびに、Oh MyZshが選択します。
ZSH_THEME="random"
ここで、新しいウィンドウを開くだけで、テーマがランダムにessembehに到着していることがわかります。
プラグインについて話しましょう。Oh My Zshは包括的なプラグインアーキテクチャを提供します。デフォルトは100種類あり、~/.oh-my-zsh/plugins
これらのプラグインディレクトリを見つけることができます。これらのプラグインの機能がわからない場合は、プラグインディレクトリにある対応するREADME.mdファイルを確認できます。プラグインの構成も.zshrcファイルにあり、現在、デフォルトのプラグインはgitのみです。
これまでのところ、Oh My Zshのインストール、構成、およびプラグインは三位一体を完了し、究極のシェルが完全に起動されています。
04、シェルをもう一度使用します
最も単純なコマンドの1つを実行するために、date
驚くことがなければ、現在の日付と時刻が出力されます。
次に、カーソルは他のコマンドが入力されるのを待ち、コマンドの実行時にパラメーターを受け取ることができます。
echo hello
echoコマンドはパラメータhelloを出力します。シェルはスペースで区切られたコマンドに基づいて解析されます。最初の単語は実行可能プログラムを表し、後続の単語はプログラムに渡されるパラメータとして使用されます。パラメータにスペースを含める場合は、一重引用符または二重引用符で囲むことができます。
echo "hello world"
シェルでコマンドを実行すると、実際にはシェルが解釈して実行できる単純なコードが実行されます。コマンドがシェルの予測範囲内にない場合は、環境変数を参照します$PATH
。
whichコマンドを使用して、プログラム名が表す特定のプログラムを判別できます。たとえば、$ PATHをバイパスして、実行するパスを指定してコマンドを直接使用することもでき/bin/date
ます。
シェルは、/
WindowsのLinuxおよびmacOS分割で使用されるグループ分割カタログのパスにあります\
。このため、プログラミング時に最初にシステムセパレータを取得する必要があります(JavaをFile.separator
取得)。そうしないと、プログラムを別のオペレーティングで実行できません。システム!
/
そもそもパスの場合、それは絶対パスであり、もう一方は相対パスです。現在の作業ディレクトリはpwd
、cd
コマンドでディレクトリを切り替えるコマンドを取得できます。.
これは現在のディレクトリを..
意味し、上位レベルのディレクトリを意味します。
シェルは現在のパス情報をリアルタイムで表示します。ls
オーマイZshのをインストールするためのコマンドが含まれているカレントディレクトリにどのファイルを参照するには、ポスト、あなたもすることができますll
(実際には、ls -l
ファイルやフォルダの速記の詳細を示します)。
ファイル属性の簡単な紹介は、将来役立つでしょう。
- d:最初の桁はファイルタイプを示し、dはディレクトリ、lはリンクファイル、-は通常のファイルです。
- rwx:ビット2〜4は、ファイルの所有者が所有するアクセス許可を示し、rは読み取り、wは書き込み、xは実行です。
- rx:ビット5〜7は、このファイルの所有者と同じグループ内のユーザーのアクセス許可を示します。
- rx:ビット8〜10は、他のユーザーが持っている権限を示します。
といった:
-rw-r--r-- 1 maweiqing staff 6B 1 12 16:35 hello.txt
これhello.txt
は通常のファイルを表し、maweiqingには読み取りと書き込みの権限がありますが、スタッフユーザーグループの権限は実行されません。maweiqingでは読み取り専用アクセスで、ユーザーは同じままです。
パラメータ、入力および出力情報コマンドを知りたい場合、またはそれらがどのように機能するかを理解したい場合は、man
このコマンドを試すことができます。プログラム名をパラメータとして受け取り、そのドキュメントを表示します(ユーザーマニュアル)。
man ls
q
キーを押してユーザーマニュアルを終了します。これらの一般的なコマンド(mv
ファイルの名前変更または移動に使用)、cp
(ファイルのコピー)、およびmkdir
(新しいフォルダーの作成)を学ぶ機会を利用できます。ことを注意rm
このコマンドは慎重に使用しなければなりません(削除ファイル)、それはライブラリを削除して逃げてのリズムかもしれません!
シェルでは、プログラムには入力ストリームと出力ストリームの2つのメインストリームがあります。プログラムが情報を読み取ろうとすると、入力ストリームから読み取ります。プログラムが情報を印刷しようとすると、出力ストリームに情報を出力します。一般的に、キーボードは入力デバイスとして使用され、ディスプレイは出力デバイスとして使用されます。
<
と>
を使用して、入力ストリームと出力ストリームをリダイレクトできます。>>
追加の方法でファイルにリダイレクトされた出力を使用します。
➜ itwanger echo hello > hello.txt
➜ itwanger cat hello.txt
hello
➜ itwanger cat < hello.txt
hello
➜ itwanger cat < hello.txt > hello1.txt
➜ itwanger cat hello1.txt
hello
➜ itwanger echo world >> hello.txt
➜ itwanger cat hello.txt
hello
world
Javaプログラマーの場合、通常、ランタイム環境でこのようなjarファイルを実行する必要があります。&
バックグラウンドで実行されていることを表します。
nohup java -jar XXX.jar > out.log &
ほとんどのUnixライクなシステムには、システム内の任意のファイルを作成、読み取り、更新、および削除できる非常に特殊なタイプのユーザー、rootユーザーがいます。
Unixは1969年にベル研究所によって開発されました。現在、AIX、HP-UX、およびSolarisの3つの主流のUnixシステムがあり、これらは互いに互換性がありません。Linuxは、フィンランドの大学生Linusによって1991年に開発されました。これはUnixライクなシステムですが、そのコードはどのUnixバージョンからも作成されておらず、Unixのブランチでもありません。
一般的に、rootユーザーとしてシステムに直接ログインすることはありません。これは、エラーによってシステムが損傷する可能性があるためです。したがって、必要に応じてsudo
コマンドを使用します。これは、su
いくつかの操作を実行するための(スーパーユーザー)IDです。
あなたが遭遇したときpermission denied
(アクセスが拒否されました)エラー、それは通常、あなたが動作するために、rootユーザーである必要があることを理由に起因しています。それを得る?
これを学んだ後、あなたのシェルの知識はすでにいくつかの基本的なタスクを完了することができます。クラウドサーバーをお持ちの学生、または仮想マシンをインストールしている学生は、その上に一時フォルダーを作成して、以下のコマンドを練習することができます。
最後に、すべての学生がシェルをうまく利用できることを願っています。これは仕事の後に大いに役立つでしょう!良いと思うなら、ワンクリックのトリプルリアンがハンサムで美しいトリプルリアンになることを歓迎します。
推奨読書:
V4.0「JavaGuideインタビューアサルトエディション」はこちら!GitHubで98.1kにスターを付けて、上陸に成功しましょう!
プログラミングを上手に学びたい若い学生にアドバイスしてください!一生懸命働き、あなたの心を示し、そしてあなたの心を掘り出します