GNU/LinuxGNU / Linuxを使い始める

便利なショートカット

ターミナルの使用

このドキュメントの例では、POSIX準拠のシェル( bashshzshkshなど )を使用していることを前提としています。

端末を使用してGNU / Linux機能の大部分が達成されます。 Linuxのほとんどのディストリビューションには、ユーザがデスクトップ環境からシェルとやりとりできる端末エミュレータが含まれています。シェルは、ユーザーが入力したコマンドを実行するコマンドラインインタプリタです。 Bash (Bourne Again SHell)は、多くのLinuxディストリビューションで共通のデフォルトシェルであり、macOSのデフォルトシェルです。

これらのショートカットは、 emacsのキーバインドでBashを使用している場合に機能します(デフォルトで設定されています):

オープンターミナル

  • Ctrl + Alt + Tまたはスーパー+ T

カーソル移動

  • Ctrl + A現在入力している行の先頭に移動します。
  • Ctrl + E現在入力している行の最後に移動します。
  • Ctrl + XX行頭とカーソルの現在位置の間を移動します。
  • Alt + Fカーソルを現在の行の1ワード分だけ前に移動します。
  • Alt + Bカーソルを現在の行の1ワード後ろに移動します。
  • Ctrl + F現在の行の1文字分だけカーソルを移動します。
  • Ctrl + Bカーソルを現在の行の1文字後方に移動します。

テキスト操作

  • Ctrl + U現在の位置から行の先頭まで線を切り取り、クリップボードに追加します。あなたがラインの終わりにいる場合は、ライン全体をカットしてください。
  • Ctrl + K現在の位置から行末までの行をカットし、クリップボードに追加します。あなたがラインの始めにいるならば、ライン全体をカットします。
  • Ctrl + Wカーソルの前の単語を削除し、クリップボードに追加します。
  • Ctrl + Y最近削除したクリップボードの最後のものを貼り付けます( 現在のカーソル位置で最後の削除を元に戻します)。
  • Alt + T最後の2つの単語をカーソルの前に入れ替えます。
  • Alt + Lカーソルから単語の最後まで小文字にします。
  • Alt + Uカーソルを単語の最後まで大文字にします。
  • Alt + Cカーソルから始まる単語の末尾まで大文字にします(カーソルが単語の先頭にある場合は単語全体)。
  • Alt + Dカーソルから始まる単語の終わりまで削除します(カーソルが単語の先頭にある場合は単語全体)。
  • Alt +。前のコマンドで書かれた最後の単語を表示します。
  • Ctrl + Tカーソルの前の最後の2文字を入れ替えます。

履歴へのアクセス

  • Ctrl + R以前に使用したコマンドを検索できます。
  • Ctrl + Gコマンドを実行せずに履歴検索モードを終了します。
  • Ctrl + J現在の一致したコマンドを実行せずにコマンドラインにコピーできるので、コマンドを実行する前に変更することができます。
  • Alt + Rあなたがあなたの履歴から引っ張ったコマンドへの変更を編集した場合は元に戻します。
  • Ctrl + P最後に実行されたコマンドを表示します。つまり、コマンド履歴に戻ることができます(上矢印と同様)。
  • Ctrl + N次に実行されたコマンドを表示します。つまり、コマンド履歴を順方向に進んでいきます(下矢印と同様)。

ターミナルコントロール

  • Ctrl + Lクリアコマンドと同様に、画面をクリアします。
  • Ctrl + Sすべての出力を画面に停止します。長い出力のコマンドを実行する場合に便利です。しかし、これは実行コマンドを停止しません。
  • Ctrl + Q Ctrl + Sで停止後、画面に出力を再開します。
  • Ctrl + C現在実行中のプロセスを終了し、プロンプトを返します。
  • Ctrl + D exitまたはlogoutコマンドと同様に、現在のシェルセッションからログアウトします。いくつかのコマンドでは、ファイルの終わりに達したことを示すために、ファイルの終わりとして機能します。
  • Ctrl + Zシェルプロンプトを返す現在実行中のフォアグラウンドプロセスを中断(一時停止)します。そのプロセスをバックグラウンドで実行できるようにbg コマンドを使用できます。プロセスをフォアグラウンドに戻すには、 fg コマンドを使用します。すべてのバックグラウンド・プロセスを表示するには、 jobs コマンドを使用します。
  • Tabファイルとディレクトリ名を自動補完します。
  • タブ タブは、入力した文字が一意のファイル名またはディレクトリ名に一致しないすべての可能性を示しています。

特殊文字

  • Ctrl + H Backspaceと同じです。
  • Ctrl + J Return(歴史的に改行)と同じです。
  • Ctrl + M Returnと同じです(歴史的にはキャリッジリターン)。
  • Ctrl + I Tab 同じです。
  • Ctrl + Gベル文字。
  • Ctrl + @ Null文字。
  • Altキー修飾子に相当するEsc Deadkey

ターミナルを閉じる

  • Ctrl + Shift + Wターミナルタブを閉じます。
  • Ctrl + Shift + Q端末全体を閉じます。

あるいは、 set -o vi を使用して、 bashviキーバインディングに切り替えることもできます。 emacsのキーバインドに戻すには、 set -o emacs を使用します。

基本的なLinuxユーティリティ

Linuxはほとんどすべてのタスクのコマンドを持っており、そのほとんどは直感的で簡単に解釈されます。

Linuxでのヘルプの入手

コマンドユーザビリティ
man <name> <name>のマニュアルページを読んでください。
man <section> <name> 与えられたセクションに関連する<name>のマニュアルページを読んでください。
man -k <editor> マニュアルページに<editor>キーワードが含まれているすべてのソフトウェアを出力します。
man -K <keyword> <keyword>を含むすべてのマニュアルページを出力します。
apropos <editor> 1行記述が単語エディタに一致するすべてのアプリケーションを出力します。アプリケーションの名前を呼び出すことができない場合 、このコマンドを使用します。
help Bashシェルでは、利用可能なすべてのbashコマンドのリストが表示されます。
help <name> Bashシェルでは、<name> bashコマンドに関する情報が表示されます。
info <name> <name>に関するすべての情報を表示します。
dpkg -l Debianベースのシステムにインストールされているすべてのパッケージのリストを出力します。
dpkg -L packageName Debian上の特定のパッケージのインストールされたファイルとパスの詳細を一覧表示します。
dpkg -l | grep -i <edit> インストールされているすべての.debパッケージを、<edit>でケースに関係なく返します。
less /var/lib/dpkg/available 利用可能なすべてのパッケージの説明を返します。
whatis vim vimの1行の記述を列挙します。
<command-name> --help <tool-name>に関する使用状況情報を表示します。場合によっては、 command -h も機能しますが、すべてのコマンドでは機能しません。

Linuxの世界で誰が誰ですか?

コマンドユーザビリティ
hostname システムのホスト名を表示します。
hostname -f システムの完全修飾ドメイン名(FQDN)を表示します。
passwd 現在のユーザーのパスワードを変更します。
whoami 端末にログインしているユーザーのユーザー名。
who 現在ユーザーとしてログインしているすべてのユーザーのリスト。
w 現在のシステム状態、時間、期間、システムに現在ログインしているユーザーのリスト、およびその他のユーザー情報を表示します。
last 最近誰がシステムを使用したか
last root ユーザーが最後にrootとしてログインしたのはいつですか。
lastb システムへの不正なログイン試行をすべて表示します。
chmod アクセス権の変更 - ファイルまたはディレクトリの読み取り、書き込み、実行。

プロセス関連情報

コマンドユーザビリティ
top 現在のシステムリソース使用量でソートされたすべてのプロセスを一覧表示します。継続的に更新されたプロセスの表示を表示します(デフォルトは3秒)。 q キーを使用して上部を終了します。
ps 現在のシェルセッションで現在実行中のプロセスを一覧表示する
ps -u root ルートが実行されているすべてのプロセスとコマンドを一覧表示する
ps aux 現在のシステム上のすべてのユーザーによるすべてのプロセスを一覧表示する

ファイル管理コマンド

Linuxは現在のディレクトリと親ディレクトリにいくつかの規則を使用しています。これは初心者のために少し混乱することができます。

あなたがLinuxのターミナルにいるときはいつでも、あなたは現在の作業ディレクトリと呼ばれる場所にます。多くの場合、コマンドプロンプトには、完全な作業ディレクトリか、そのディレクトリの最後の部分だけが表示されます。プロンプトは次のようになります。

user@host ~/somedir $
user@host somedir $
user@host /home/user/somedir $
 

あなたの現在の作業ディレクトリは/home/user/somedir です。

Linuxでは、 .. は親ディレクトリを表し.. . 現在のディレクトリを表します。

したがって、現在のディレクトリが/home/user/somedir 場合、 cd ../somedir は作業ディレクトリを変更しません。

以下の表は、最もよく使用されるファイル管理コマンドのリストです

ディレクトリのナビゲーション

コマンドユーティリティ
pwd 現在の作業ディレクトリのフルパスを取得します。
cd - 作業していた最後のディレクトリに移動します。
cd ~ またはcd 現在のユーザーのホームディレクトリに移動します。
cd .. 現在のディレクトリの親ディレクトリに移動します( cd.. 間のスペースに気をつけてください)

ディレクトリ内のファイルのリスト表示

コマンドユーティリティ
ls -l カレントディレクトリのファイルとディレクトリをロング(テーブル)形式で表示します(わかりやすくするために-lとlsを併用することを推奨します)。
ls -ld dir-name その内容ではなく、ディレクトリdir-name に関する情報を表示します。
ls -a 隠しファイルを含むすべてのファイルを一覧表示します(Linuxではa . 始まるファイル名は隠しファイルです)。
ls -F ファイル名の末尾に( * は実行可能ファイル、 / はディレクトリ、 @ はシンボリックリンク、 = はソケット、|は名前付きパイプを意味し、 > はドアを意味する)記号を付加します。
ls -lt 最後に変更されたファイルをリストし、最後に変更されたファイルを一番上に表示します(-lオプションは、読みやすいように長い形式を提供します)。
ls -lh 人間が判読可能な形式でファイルサイズを一覧表示します。
ls -lR すべてのサブディレクトリを再帰的に表示します。
tree 現在のディレクトリから始まるファイルシステムのツリー表現を生成します。

ファイル/ディレクトリの作成、コピー、削除

コマンドユーティリティ
cp -p source destination ファイルをsource からコピー先にコピーします。 -pは保存を表します。ファイルの所有者、タイムスタンプ、グループ、権限などのコピー中に、ファイルの元の属性を保持します。
cp -R source_dir destination_dir ソースディレクトリを指定された宛先に再帰的にコピーします。
mv file1 file2 Linuxでは、 名前変更コマンドはありません。したがって、 mv はfile1をfile2に移動/名前変更します。
rm -i filename すべてのファイルを削除する前にあなたに確認を求めます。 あなたがLinuxコマンドラインの新しいユーザである場合は、常にrm -i 使用する必要がありrm -i複数のファイルを指定できます。
rm -R dir-name ディレクトリdir-name 再帰的に削除します。
rm -rf dir-name ディレクトリdir 再帰的に削除し、存在しないファイルは無視し、何もプロンプトを表示しません。 このコマンドを慎重に使用してください!複数のディレクトリを指定できます。
rmdir dir-name ディレクトリdir-name 空の場合は削除されます。このコマンドは、空のディレクトリのみを削除できます。
mkdir dir-name ディレクトリdir-name 作成します。
mkdir -p dir-name/dir-name ディレクトリ階層を作成します。存在しない場合、必要に応じて親ディレクトリを作成します。複数のディレクトリを指定できます。
touch filename ファイルfilename が存在しない場合はそれを作成し、そうでない場合はファイルのタイムスタンプを現在の時間に変更します。

ファイル/ディレクトリのアクセス許可とグループ

コマンドユーティリティ
chmod <specification> filename ファイルのアクセス許可を変更します。仕様= u ユーザ、 g 基、 o の他、 + 追加許可、 - 削除、 r 読み出し、 w 書き込み、 x 実行します。
chmod -R <specification> dir-name 再帰的にディレクトリのアクセス許可を変更します。ディレクトリの権限とそのディレクトリ内のすべての権限を変更するには、このコマンドを使用します。
chmod go=+r myfile 所有者とグループの読み取り権限を追加します。
chmod a +rwx myfile すべてのユーザーにmyfile 読み取り、書き込み、または実行を許可します。
chmod go -r myfile グループなどからの読取り権限を削除します。
chown owner1 filename ファイルの所有権をユーザーowner1 変更します。
chgrp grp_owner filename ファイルfilename プライマリグループの所有権をグループgrp_owner ます。
chgrp -R grp_owner dir-name ディレクトリdir-name プライマリグループの所有権をgrp_owner 再帰的にグループdir-name します。ディレクトリとそのディレクトリ内のすべてのグループの所有権を変更するには、このコマンドを使用します。

ファイル操作

ファイルとディレクトリ(別の名前のフォルダ)はLinuxの中心であるため、コマンドラインからファイルを作成、表示、移動、削除することは非常に重要であり、非常に強力です。これらのファイル操作コマンドを使用すると、グラフィカルファイルエクスプローラが実行するのと同じタスクを実行できます。

myFile というmyFile 空のテキストファイルを作成します。

touch myFile
 

myFilemyFirstFile myFilemyFirstFile

mv myFile myFirstFile 
 

ファイルの内容を表示する:

cat myFirstFile
 

ページャを使ってファイルの内容を見る(一度に1画面分):

less myFirstFile
 

ファイルの最初の数行を表示する:

head myFirstFile
 

ファイルの最後の数行を表示する:

tail myFirstFile
 

ファイルを編集する:

vi myFirstFile
 

現在の作業ディレクトリにあるファイルを確認してください:

ls
 

myFirstDirectory という空のディレクトリを作成します。

mkdir myFirstDirectory
 

マルチパスディレクトリを作成する:(srcとmyFirstDirectoryの2つのディレクトリを作成する)

mkdir -p src/myFirstDirectory
 

ファイルをディレクトリに移動します。

mv myFirstFile myFirstDirectory/
 

ファイルの名前を変更することもできます:

user@linux-computer:~$ mv myFirstFile secondFileName
 

現在の作業ディレクトリをmyFirstDirectory 変更しmyFirstDirectory

cd myFirstDirectory
 

ファイルを削除する:

rm myFirstFile
 

親ディレクトリに移動し.... と表示され.. )。

cd ..
 

空のディレクトリを削除する:

rmdir myFirstDirectory
 

空でないディレクトリを削除します(ファイルや他のディレクトリを含む)。

rm -rf myFirstDirectory
 

ディレクトリを削除するときに./ not / を削除すると、ファイルシステム全体が消去されることに注意してください。

ファイル/ディレクトリの詳細

ls コマンドには、より多くの情報を表示するために一緒に使用できるいくつかのオプションがあります。

詳細/権利

l オプションは、ファイルのパーミッション、サイズ、最終更新日を表示します。ルートディレクトリにtest という名前のディレクトリとsomeFile というファイルが含まれている場合は、次のコマンドを実行します。

user@linux-computer:~$ ls -l
 

何かのように出力しますか?

-rw-r--r-- 1 user users   70 Jul 22 13:36 someFile.txt
drwxrwxrwx 2 user users 4096 Jul 21 07:18 test
 

アクセス権はdrwxrwxrwx 形式です。最初の文字は、ファイルタイプを表すd 、それがディレクトリだ場合- そう。次の3つのrwx は、ユーザーがファイルに対して持っているアクセス許可です。次の3つは、グループがファイルに対して持つアクセス許可です。最後の3つは、他のユーザーがファイルに対して持つアクセス許可です。

rwxr は、ファイルを読み取ることができるrwx 表し、 w はファイルを変更できる場合を表し、 x はファイルを実行できるかどうかを表します。権限が与えられていない場合、 -rw 、またはx 代わりになります。

だから、上からuser の読み取りおよび変更できsomeFile.txt そのグループは、読み取り専用の権限を持っています。

権利を変更するには、sudo権限を持っている場合はchmod ### fileName コマンドを使用できます。 r は4の値で表され、 w は2で表され、 x は1で表されます。したがって、内容をtest ディレクトリに変更できるようにするには

Owner rwx = 4+2+1 = 7
Group r-x = 4+0+1 = 5
Other r-x = 4+0+1 = 5
 

コマンド全体が

chmod 755 test
 

今、 ls -l を実行すると、次のようなものが表示されます

drwxr-xr-x 2 user users 4096 Jul 21 07:20 test
 

読み取り可能なサイズ

l オプションと組み合わせて使用​​すると、 h オプションは人間が読めるファイルサイズを示します。ランニング

user@linux-computer:~$ ls -lh
 

出力しますか?

total 4166
-rw-r--r-- 1 user users   70 Jul 22 13:36 someFile.txt
drwxrwxrwx 2 user users 4.0K Jul 21 07:18 test
 

隠された

隠しファイルを表示するには、 a オプションを使用します。例えば

user@linux-computer:~$ ls -a
 

リストするかもしれない

.profile
someFile.txt
test
 

ディレクトリ全体のサイズ

現在のディレクトリのサイズを表示するには、 s オプションを使用します( h オプションは、サイズをより読みやすくするためにも使用できます)。

user@linux-computer:~$ ls -s
 

出力

total 4166
someFile.txt      test
 

再帰的なビュー

test ディレクトリにanotherFile というファイルがあり、それをルートフォルダから見たい場合は、 R オプションを使用して再帰ツリーをリストすることができます。

user@linux-computer:~$ ls -R
 

出力

.:
someFile.txt    test

./test:
anotherFile
 

こんにちは世界

端末に次のコードを入力し、Enterキーを押します。

echo "Hello World"
 

これにより、次の出力が生成されます。

Hello World
 

名前/コンテンツのパターンでファイルを検索する

Linuxコマンドライン(シェル)を使用している人の一般的な作業は、特定の名前または特定のテキストを含むファイル/ディレクトリを検索することです。これを達成するには、次の2つのコマンドがあります。


名前でファイルを検索する

find /var/www -name '*.css'
 

これにより、 .css で終わる/var/www 配下のすべてのファイルに完全パス/ファイル名が出力され.css 。出力例:

/var/www/html/text-cursor.css
/var/www/html/style.css
 

詳細については:

man find
 

テキストを含むファイルを見つける

grep font /var/www/html/style.css 
 

これにより、指定されたファイルにパターンfont を含むすべての行が出力されます。出力例:

font-weight: bold;
font-family: monospace;
 

もう一つの例:

grep font /var/www/html/
 

これはあなたが望むようには機能しません。あなたは:

grep: /var/www/html/: Is a directory
 

-R オプションを使用してgrep 再帰的に動作させる必要があります。

grep -R font /var/www/html/
 

こんにちは!この出力を確認してください:

/var/www/html/admin/index.php:  echo '<font color=red><b>Error: no dice</b></font><br/>';
/var/www/html/admin/index.php:  echo '<font color=red><b>Error: try again</b></font><br/>';
/var/www/html/style.css:  font-weight: bold;
/var/www/html/style.css:  font-family: monospace;
 

grep が複数のファイルとマッチしている場合、マッチした行の先頭にファイル名がgrep いることに注意してください。必要に応じて-h オプションを使用して-h することができます。

詳細については:

man grep