学習めも。

Python、Anaconda学習中🔰 ブログ引っ越ししました😄よろしくお願いします!https://noeiganolife.com/

記録用🔰

プログラミング以外の記事はこちら

Linuxコマンドでよく使うもの

▼参考 www.ritsumei.ac.jp

▼ラインナップ

UNIX(ディレクトリ基本操作、ファイル操作、テキスト処理、コマンド履歴・再実行、プロセス・ジョブ、プリントアウト、セキュリティ、使用容量、リンク、エイリアス、コマンドを調べる、解凍・圧縮、ネットワーク、システム管理、シェル変数・環境変数、その他)、 EmacsLatex、 プログラミング関連、 その他

UNIXコマンド ★ディレクトリ基本操作

pwd  現在ディレクトリのフルパス表示
cd  ホームディレクトリへ移動
 (dir名) 指定ディレクトリへ移動
mkdir (dir名)  新規ディレクトリを作成
rmdir (dir名)  空のディレクトリを削除
rm -r (dir名)  指定ディレクトリを中のファイルごと削除
cp -r (dirA) (dirB) ディレクトリAをディレクトリBにコピー
mv (file名) (dir名)   ファイルをディレクトリへ移動
ls  現在ディレクトリのファイル一覧表示
 (dir名) 指定ディレクトリのファイル一覧表示
 -d (dir名)  指定ディレクトリ自身の情報を表示
 -a   隠しファイルも含む全てのファイル表示
 -l   詳細情報を表示
 -F   ファイルの種類を示すマークを付けて表示
 -R   ディレクトリ下層までたどって表示
cd -    直前のディレクトリへ移動(1つまでしか戻れない)
pushd (dir名)  現在ディレクトリをディレクトリスタックに積み、ディレクトリ移動
popd    ディレクトリスタック先頭のディレクトリへ移動して、スタックから降ろす

★ファイル操作

cat (file名)    ファイルの内容表示
 -n   行番号を付加して表示
rm (file名)    ファイルを削除
 -i   ファイル削除の確認をする
cp (fileA) (fileB)  ファイルAをファイルBにコピー
 -i   ファイル上書きの確認をする
 -p   最終変更日時や所有者などの属性を変えずにコピー
mv (fileA) (fileB)  ファイルAの名前をファイルBに変更
 -i   ファイル上書きの確認をする
touch (file名) 空のファイルを作成
touch (既存file名)   ファイル更新日時を変更
file (file名)  ファイルの種類を調べる

★ファイル検索

find (dir名)    指定ディレクトリ以下のファイルを列挙
 -name (文字列)    指定した文字列に一致するファイル・ディレクトリを検索
  (※「文字列」にはワイルドカード文字を使用できる。その時は文字列を""で囲む。)
  (例:find / -name "*.txt" で、拡張子.txtのファイルをルート以下から再帰的に検索。)
 -user (user名)  指定ユーザ名が所有者のファイル・ディレクトリを検索
 -size (サイズ)    指定サイズのファイル・ディレクトリを検索
  (※サイズは「+5k(5キロバイト以上)」「-512c(512バイト以下)」などと指定。)
 -type (種類)   指定した種類のファイル・ディレクトリを検索
  (※f:ファイル d:ディレクトリ)
 -amin (分)  最終アクセスが指定分に該当するファイル・ディレクトリを検索
locate (文字列)  指定文字列を名前に含むファイル・ディレクトリを列挙

★テキスト処理

more (file名)   ファイルの内容表示(ページごとに止まる)
less (file名)  ファイルの内容表示(スクロール操作できる)
lv (file名)    ファイルの内容表示(ページごとに止まる+α)
head (file名)  ファイルの先頭10行を表示
 -(行数)    ファイルの先頭指定行数を表示
tail (file名)  ファイルの末尾10行を表示
 -(行数)    ファイルの末尾指定行数を表示
 +(行数)    ファイルの末尾指定行以降を表示
grep (検索文字列) (file名)    指定文字列がある行だけを表示
※コマンドの出力を「|」で渡して使うことが多い
 -c   マッチした行数を表示
 -v   マッチしない行を表示
 -A (数) マッチした行の後ろの行(指定した分)も表示
 -B (数) マッチした行の前の行(指定した分)も表示
grep (検索文字列) -rl (dir名) 指定ディレクトリ以下を再帰的に検索し、指定文字列を含むファイル一覧を表示(ファイル内全文検索)
wc (file名)    ファイルの行数、単語数、文字数を表示
diff (fileA) (fileB)    fileAとfileBの差分(変更点)を表示
cut (file名)   各行から文字を切り出して表示
 -d (文字)  区切り文字を指定
 -f (数字)  何番目のデータを表示するかを指定(先頭は1番目。「,」「-」で複数指定可)
echo (文字列) | cut -d " " -f (n)    文字列を空白で区切った結果のnフィールド目を出力
m-n, m-, -nのような指定も可。先頭は1
echo (文字列) | cut -c (n)   n文字目のみを切り出す
m-n, m-, -nのような指定も可。先頭は1
echo (文字列) | rev  文字列を逆転
uniq (file名)  連続している重複行を削除して表示
sort (file名)  行単位で並べ替えを行う(アルファベット順)
 -t (文字)  区切り文字を指定(各行が特定の文字で区切られた同じ構造になっている場合に使用)
 +(N1) -(N2)  N1〜N2-1番目のデータを比較対象にする(先頭データは0番目)
 -n   数値として比較
 -b   先行ブランク無視
nkf --guess (file名)   文字コードを調べる
nkf -e (file名)    文字コードをEUCに変換して標準出力に出力
 -j   JISに変換
 -s   Shift_JISに変換
 -w   UTF-8に変換
 -Lu  改行コードをLF(UNIX形式)に変換
 -Lw  改行コードをCRLF(Windows形式)に変換
 -Lm  改行コードをCR(Mac形式)に変換
 --overwrite  入力ファイルに上書きして出力
dos2unix -o (file名)   改行コード変換
unix2dos -o (file名)   改行コード変換

★コマンド履歴、再実行

history  コマンドの履歴リストを表示
!(履歴リスト番号)    そのコマンドを再実行
!(文字列)    その文字列で始まるコマンドを再実行
!!  直前コマンドを再実行

★プロセス・ジョブ操作と強制終了
ps  プロセス一覧表示
jobs    ジョブ一覧表示
kill    
 (プロセスID) そのプロセスを強制終了
 -9 (プロセスID)  何が何でも強制終了
 ※プロセスIDの代わりに「%(ジョブ番号)」でもよい

★プリントアウト

lp   
 (file名)    印刷
 -d   プリンタ番号を指定
lpstat  印刷待ち状態の表示
cancel -u (userID)  自分の印刷要求を全てキャンセル

★セキュリティ

yppasswd パスワード変更
chmod (モード) (対象)  アクセス権の変更
xlock   操作防止のためのロックをかける
last    ログイン履歴の表示

★使用容量

du   子ディレクトリのディスク使用量表示
 -hs  現在ディレクトリ以下のディスク使用量の合計表示
df  ディスクの空き容量表示
 -h   読みやすい単位で表示(human-readable)

★リンク

ln -s (file_path) (link名)  シンボリックリンク(ショートカット)の作成
※file_pathは絶対パスまたは作成するシンボリックリンクからの相対パス

エイリアス

alias (new_command)='(command)'  エイリアス(コマンドの別名)の作成
alias   エイリアス一覧を表示
unalias (command)   エイリアスの削除

★コマンドを調べる

man (cmd名) そのコマンドのマニュアルを表示
man -k (キーワード)    キーワード検索
man (セクション) (cmd名)  そのコマンドのマニュアル(該当セクション)を表示
which (cmd名)  そのコマンドの実行ファイルがどこにあるか表示

★解凍、圧縮

tar -xvf (file.tar)  .tarの解凍
gunzip (file.gz)    .gzの解凍
tar -xvzf (file.tar.gz) .tar.gzの解凍
tar -cvzf (file.tar.gz) (file_path) .tar.gzの作成
tar -tvf (file.tar) .tarファイルの中身を表示

★ネットワーク

※root権限が必要なものがある
ip a    各インタフェースのアドレス表示(ip address show)
ip a add (ip_addr)/(mask) dev (intf)    インタフェースのIP設定追加
ip a del (ip_addr)/(mask) dev (intf)    インタフェースのIP設定削除
ip route    経路情報の表示
ip neigh    近傍のMACアドレス表示
ip link set (intf) promisc on   プロミスキャスモードをオン
ip link set (intf) promisc off  プロミスキャスモードをオフ
telnet (host名)    hostにリモート接続
telnet (host名) (port番号)   hostにリモート接続(ポート番号指定)
ssh (host名)   hostにリモート接続(セキュア)
scp (file名) (user名@host:dir)    リモートへファイル転送
scp (user名@host:file名) (dir)    ローカルへファイル転送
sftp (user名@host) hostとの間のファイル転送
 (利用可能コマンド)   
 cd, lcd, ls, lls, get (リモートpath), mget (リモートpaths), put (ローカルpath), mput (ローカルpaths), help, exit
 ※↑l付きはローカル、付いてないのはリモート 

★システム管理

※root権限が必要なものがある
su  rootになる
shutdown    シャットダウン
 -r   シャットダウンして再起動する
 -h   シャットダウンして停止する
 (hh:mm)  指定した時間にシャットダウン
 +(数字)    指定した分経過後にシャットダウン
reboot  再起動
hostname    ホスト名(コンピュータ名)を表示
groups  所属グループを表示
chown (user) (file名)  ファイルの所有者をuserに変更
chgrp (group) (file名) ファイルの所有グループをgroupに変更
useradd (新user名)    新しいユーザを登録
userdel (user名)   ユーザを削除
groupadd (新group名)  新しいグループを登録
groupdel (group名) グループを削除
passwd (user名)    指定ユーザのパスワードを設定
who 現在ログインしているユーザを表示
whoami  現在のログイン名を表示

環境変数・シェル変数

set  全ての変数とその値を表示
printenv    全ての環境変数とその値を表示
($変数)   その変数の値を表示
(変数)=(初期値)    シェル変数を初期値を指定して宣言
export (変数) 変数の環境変数化
export (変数)=(初期値) 環境変数を初期値を指定して宣言
unset (変数)  変数を削除

★その他

echo (文字列) その文字列を標準出力に表示(リダイレクト用)
echo (cmd)  そのコマンドを(ワイルドカード文字を展開して)表示
echo -n (文字列) 改行文字を含めずecho
watch -n (秒数) (コマンド)    そのコマンドを指定秒数ごとに実行して、出力結果を全画面表示
chmail  メール転送先設定
※/var/forward/(ユーザ名)に転送先をコンマで区切って直接書いてもよい
stty -a キーの機能割り当てを表示
date    現在日時・時刻の表示

ワイルドカード文字

?    任意の一文字
*   0文字以上の文字列
[(文字セット)] 文字セットに含まれる一文字
(※文字セットは「abcd」や「a-d1-9」というような指定方法)
[!(文字セット)]    文字セットに含まれない一文字
{(文字列,...)}   文字列リストに含まれる文字列

Emacs ★基本ウインドウ操作

[Files]-[MakeNewFrame]   新しいウインドウを開く(※同じファイルを開くと一方の変更が他方に反映される)
C-x C-c 終了
M-x line    行数表示

★基本文書操作

C-x C-f  ファイルを開く(新規も)
C-x C-s 上書き保存
C-x C-w ファイル名を指定して保存
C-_ アンドゥ
C-Space 選択範囲始点設定
C-w 選択範囲始点からカーソルの前までをカット
M-w 選択範囲始点からカーソルの前までをコピー
C-y ペースト
範囲をLdrag  その範囲をコピー
範囲をLdrag+WRclick  その範囲をカット
Cclick  ペースト

★検索と置換

[Search]-[QueryReplace]  連続文字列置換
(※置換中の操作:y:置換して次へ n:置換せずに次へ q:置換終了)
C-s (文字列) 文字列検索(順方向)(C-s,rを押すたびに次、前へ)
C-r (文字列) 文字列検索(逆方向)(C-s,rを押すたびに次、前へ)

★カーソル、スクロール操作

C-a  行頭へ
C-e 行末へ
Fn+↑(M-v) 一画面上へ
Fn+↓(C-v) 一画面下へ
Fn+←(M-<)  文頭へ
Fn+→(M->)  文末へ
ScrollBarをCdrag   画面のスクロール
wheel   画面のスクロール
M-x goto-line   指定行へジャンプ

★日本語入力、記号入力、特殊入力

C-\  日本語入力のON/OFF
C-^ 記号入力(Japanese-JISX0208、日本語入力モードでのみ有効)
[Mule]-[Describe Coding Systems]    文字コードの変更
※EUC:euc-japan-unix等
M-x set-buffer-file-coding-system   文字コードの変更
M-i タブ入力
C-d 一文字抹消

★漢字変換時

C-i  文節縮め
C-o 文節伸ばし
M-h 平仮名変換
M-k 片仮名変換

★ウインドウ分割

C-x o    他のウインドウへカーソル移動
C-x (数字)    指定した数にウインドウ分割
C-x 0   カーソルがあるウインドウを消す
C-x 1   カーソルがあるウインドウ以外を消す
下barをCClick そのウインドウ以外を消す

★オートフォーマット

M-x auto-fill-mode   自動改行モードのON/OFF

ディレクトリモードでの操作

e    カーソル位置のファイルを開く
d   削除マークを付ける
u   削除マークを消す
x   削除マーク付きファイルを削除

Latexに関するコマンド ★コンパイル、表示、印刷など

platex (file.tex)    .dviファイルを生成
xdvi (file.dvi) .dviファイルを表示
pdf2ps (file.pdf)   pdfファイルをpsファイルに変換
ps2epsi (file.ps)   psファイルをepsiファイルに変換
dvips (file.dvi) | lp -Tpostscript  .dviファイルを印刷(postscript)

プログラミングに関するコマンド

cc,gcc   
 (file.[co])  コンパイル、リンクして実行ファイルa.outを生成
 -c   コンパイルだけする
 -o (実行file名)   実行ファイル名を指定
 -lm  数学関数を使う時必要
(dir名)/(file名)  自作プログラム実行
make    Makefileに従った動作をする
javac (file.java)   Javaコンパイラ
java (file.class)   Javaインタプリタ

その他

script   端末エミュレータ上の文字列をファイルに記録
exit    scriptの終了、端末エミュレータの終了等
xwd Xwindowの表示を標準出力
--(特殊オプション)   それ以降の引数をオプションとみなさない
xeyes   目を表示
※環境によって使えるコマンドに若干の違いがあるかと思います。ご了承ください。