コマンドには「組み込みコマンド」「外部コマンド」の2種類があります。builtin( 組み込み )コマンドは、shellに内蔵されたコマンドで、外部コマンドは、shellの外に実行コマンドがあるものです。
ちなみに、入力の途中に【タブ】キーを押すと,候補が一つのみのときは補完されます。
../
・1層上のディレクトリを表す
./
・カレントディレクトリを表します
→ aaa.txt と ./aaa.txt は一見同じに見えますが、単にファイル名を書いただけなのか,ディレクトリまで書いたのかを明示している点が異なります。
~ ( チルダ )
・ユーザのホームディレクトリを示します。
type [ option ] command_name
・command_name の 種類とパスを表示
which [ command_name ]
・コマンドがあるディレクトリを返します。
ldd [ command ]
・command に必要な共有ライブラリを表示します。
echo #PATH
・環境変数である PATH の値をecho します。
・export PATH=”$PATH:/opt/homebrew/bin/”
“ ( バッククォーテーション )
・囲まれた中を先に展開します。
→ 例えば ls -l `which passwd`
→ which passwd の結果が /usr/bin/passwd なら,このコマンドは
ls -l /usr/bin/passwd と同じ意味となります。
curl url
・取得する html の内容をテキストで表示します。
→ 例えば /bin/bash -c “$(curl -fsSL https:// 〜install.sh)”
scp
・ファイルを転送する
→ scp index.html yosuke@xxx.xxx.xxx.xxx:/home/yosuke
vi ~/.vimrc で vi の設定ファイルを作成します。
"Enable line numbers"
set number
"Enable syntax highlighting"
syntax enable
"Set the colorscheme"
colorscheme desert
"Enable line wrapping"
set wrap
"Define custom key mappings"
map :w
map :q
"Set the default tab width"
set tabstop=4
set shiftwidth=4
set expandtab
"Highlight search results as you type"
set incsearch
" Enable mouse support
set mouse=a
pwd
・現在のディレクトリの場所を表示します。
ls
・現在のディレクトリにあるファイルを確認できます。
option
・-R : 下層ディレクトリの内容まで再帰的に表示します。
・-l : パーミッション情報なども表示
makedir [name]
・ディレクトリを作成します。
cd
・カレントディレクトリを移動します。
→ $ cd ( ホームディレクトリに移動します )
→ $ cd .. ( 1層上のディレクトリに移動します )
clear
・画面をけす
touch
・ファイルのタイムスタンプを更新します。
・オプションなしだと、アクセス自国、修正時刻ともに変更します。
・-t : 指定した時刻に変更
・-a : アクセス時刻を変更
・-m : 修正時刻を変更
cat
・ファイルを表示します。
vi
・テキストエディタです。
rm
・ファイルの削除
rmdir
・フォルダを削除します。
ps aux
・プロセスの一覧を表示します。
オプション
a : ユーザが実行した全てのプロセスを表示
f : 親子関係も表示する
l : 詳細情報を表示
x : 制御端末のないデーモンなどのプロセスを表示
u : 実行したユーザ名を表示
pstree -p
・プロセスをツリー状に表示します。
リダイレクト
・コマンド等の出力を画面からファイルに変更することができます。
→ > 記号は上書き >> 記号は追記
→ ls > filename.txt
→ ls >> filename.txt
date コマンド
現在の日時を表示します。
$ : 一般ユーザ
# : スーパーユーザ
ログイン時に最初に起動されるシェルをログインシェルといいます。
echo $SHELL
で表示されるのがログインシェルです。
pwd 今のディレクトリの場所を表示します。
プライベートIPの範囲
クラス | プライベートアドレスの範囲 | デフォルトマスク | 備考 |
A | 10.0.0.0 〜 10.255.255.255 | /8 | 最初の1ビット 0 00000000 〜 011111111 0 〜 127 127.0.0.0/8 loopbackAdress |
B | 172.16.0.0 〜 172.31.255.255 | /16 | 最初の2ビット 10 10000000 〜 10111111 128 〜 191 |
C | 192.168.0.0 〜 192.168.255.255 | /24 | 最初の3ビット 110 11000000 〜 11011111 192 〜 223 |
shell script の実行
source shellname.sh
bash shellname.sh
. shellname.sh この3つの実行方法は shellname.sh に実行権限が付与されていなくても実行可能です。
一方 shellname.sh のように直接ファイル名を入力して実行させようとすると、ファイルに実行権限が付与されていないと実行できません。つまり、実行権限が付与されると、コマンドと同様にshellscript を実行することができるようになります。また、他のコマンドと同様にディレクトリを直接指定して実行することもできます。例えば1つ上の階層にある実行権限のあるシェルスクリプトを実行したい時は ../shellname.sh と入力することで実行することができます。
shell script での引数
shell script では引数を扱うこともできる。
$0 : スクリプトファイル名
$1 , $2 : $1 は1つ目の引数、$2は2つ目の引数
$@ : 全ての引数をスペースで区切った文字列
$# : 引数の数
$? ; 直前の処理の成否(成功は0、失敗は0以外)
$$ : シェルのPID
fg , bg コマンド
fg : background job を foreground job に切り替え
bg : foreground job を background job に切り替え
システムのパーミッション
システムのパーミッション初期値は、新規ファイルは「666」、新規ディレクトリは「777」です。
ディレクトリの実行権限は移動権限を意味するため初期状態で実行権限が許可されてます。
tee コマンド
標準出力した内容をそのままファイルに出力します。
tee sample.txt ( input )
apple ( input )
apple
orange ( input )
orange
^C ( Ctrl + c で入力モードを終了 )
cat sample.txt ( input )
apple
orange
tee filename で例のように動作します。
apt-get
最新版では apt コマンドとなっている。5334
・オプション
apt-get clean : 過去にダウンロードしたパッケージファイルを削除する
apt-get コマンドは、まずパッケージファイルを「/var/cache/apt/archives/」ディレクトリにダウンロードします。apt-get cleanはこのディレクトリのファイルを削除するコマンドです。
ファイル・ディレクトリへの権限
権限 | ファイルに適用した場合 | ディレクトリに適用した場合 |
読み | ファイルの内容を参照 cat , more など | ディレクトリ内の内容を参照 ls , find など |
書き | ファイルに書き込み vi など | ディレクトリ内に新規ファイルの作成 既存ファイルの名前変更や削除 touch , mv , rm など |
実行 | ファイルを実行 | ディレクトリ内のファイルへのアクセス ディレクトリへの移動 cd など |
コメント