ブログ
Linuxの作業効率を上げる基本操作
こんにちは。
2017年も早2ヶ月が経ちました。
今年は良いスタートを切れたでしょうか?
今回はLINUXのコマンドラインを使用する上で、作業効率アップに繋がりそうな基本操作の紹介をしたいと思います。
作業効率アップ(要するに出来るだけ楽をしたい)は考える人も多いと思います。
基本的な操作内容となっていますが、今回の内容が少しでも役に立てば幸いです。
今回紹介するのは以下の3つとなります。
1.ディレクトリの移動
2.エイリアス(別名)
3.ショートカットキー
ディレクトリの移動といえばcdコマンドです。
cdコマンドには記号によるショートカットがあるのでそれらを紹介します。
ディレクトリの移動において必要となる考え方が、ディレクトリの絶対パスと相対パスについてです。
絶対パス:ルートディレクトリを基点とした目的のファイル、ディレクトリへのパスになります。
相対パス:現在のディレクトリ(カレントディレクトリ)を起点とした目的のファイル、ディレクトリへのパスになります。
紹介する中にある1つ上のディレクトリに移動するなどは相対パスの考え方になります。
cd
cdコマンドのみで引数を指定しない場合は実行ユーザのホームディレクトリに移動します。
実行例:
$pwd /tmp $cd $pwd /home/usera
cd ~<ユーザ>
<ユーザ>を指定せず「~」のみの場合は、実行ユーザのホームディレクトリに移動します。
<ユーザ>を指定した場合は指定したユーザのホームディレクトリへ移動します。
実行例:
$pwd /tmp $cd ~ $pwd /home/usera $cd ~userb $pwd /home/userb
cd ..
現在のディレクトリ(カレントディレクトリ)の1つ上のディレクトリに移動します。
実行例:
$pwd /home/usera/test1 $cd .. $pwd /home/usera
cd –
現在のディレクトリ(カレントディレクトリ)に移動する前のディレクトリに移動します。
繰り返し実行しても2つ前、3つ前となるわけではなく、移動前と後のディレクトリを行ったり来たりするだけになります。
コマンド実行時に移動後のディレクトリの絶対パスが表示されます。
実行例:
$pwd /tmp $cd $cd - /tmp $pwd /tmp $cd - /home/usera
エイリアス(別名)を設定することで、コマンド入力を簡略化することができます。
よく使用するコマンドとオプションの組み合わせなどはエイリアスを設定して作業効率をアップしましょう。
alias
引数を使用しない場合は設定されているエイリアスが表示されます。
実行例:
$alias alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto'
alias <エイリアス名>=’<コマンド>’
エイリアス名は任意の文字列です。
=の前後にスペースを入れないように注意しましょう。
実行例:
$alias et='echo test' test
aliasは現在のセッションのみ反映されるため、ターミナルを閉じる、ログアウトするなどでセッションが切れると使用できなくなります。
もし常に使用したいのであれば、~/.bashrcに使用したいaliasを設定するコマンドを追記するなどして起動時に設定されるようにしましょう。
\<コマンド>
aliasは既存のコマンドと同じ文字列でも設定できます。
設定した場合はaliasの方が優先されるため、そのままでは元のコマンドが使用できません。
元のコマンドを使用したい場合はコマンドの前\(エスケープ文字)を入れます。
実行例では「cp -p」を「cp」にしています。
実行例:
$whoami userb $ls -l -rw-rw-r-- 1 usera usera 0 2月 22 20:36 test $alias cp='cp -p' $cp test test1 $ls -l -rw-rw-r-- 1 usera usera 0 2月 22 20:36 test -rw-rw-r-- 1 usera usera 0 2月 22 20:36 test1 $\cp test test2 $ls -l -rw-rw-r-- 1 usera usera 0 2月 22 20:36 test -rw-rw-r-- 1 usera usera 0 2月 22 20:36 test1 -rw-rw-r-- 1 userb userb 0 2月 22 20:38 test2
unalias <エイリアス名>
aliasを間違えて設定した場合、不要になった場合などはunaliasコマンドで削除できます。
実行例:
$alias alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' $unalias ll $alias alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ls='ls --color=auto'
コマンドラインで使用するショートカットキーになります。
ショートカットキーの中にはEnterやESCなどの代わりになるものがあります。
当然そのままそれぞれそのキーを使用すればいいのですが、ショートカットキーを使用すればキーボードのホームポジションを崩すこと無く作業し易くなります。
使いこなすことができるようになれば、キーボード上での操作がより簡略化できるかもしれません。
Ctrl+a:カーソルをコマンドラインの行頭へ移動します。
Ctrl+e:カーソルをコマンドラインの行末へ移動します。
Ctrl+f:カーソルを1つ右に移動します。
Ctrl+b:カーソルを1つ左に移動します。
Ctrl+k:カーソル位置から行末まで削除します。
Ctrl+l:バッファをクリアします。
clearコマンドと同じ動作になります。
Ctrl+[:ESCキーの代わりになります。
Ctrl+h:Back spaceキーの代わりになります。
Ctrl+j,Ctrl+m:Enterキーの代わりになります。
Ctrl+p:コマンド履歴の1つ前を表示します。
Ctrl+n:コマンド履歴の1つ後を表示します。
Ctrl+c:ジョブをキャンセルします。
Ctrl+z:ジョブを一時停止します。
一時停止したジョブはfgコマンドなどを使用すれば再開できます。
今回は上記の内容を紹介しましたが、作業効率アップの方法はそれこそ無数にあり、基本操作だけに絞ってみてもまだまだあると思います。
機会があれば他の方法も紹介したいと思います。
関連記事
2024.09.30
2024.09.30
2024.04.08