% emacs hello.c
実習 2 : テキストの編集
実習
2
Emacs を使ったテキストファイルの編集
スケジュール
Linux の概要
計算機への接続 , ログイン , ログアウト
Linux の操作
ファイル操作
テキストファイルの編集
その他のコマンド
ssh 公開鍵認証
54
オンラインマニュアルの利用
使い方:
man
調べたいコマンド 例: コマンド ls のマニュアルを表示
% man ls
LS(1) ls (fileutils) 4.1 (April 2001) LS(1) NAME
ls - list directory contents SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuSUX nor --sort.
-a, --all
do not hide entries starting with . -A, --almost-all
do not list implied . and ..
-b, --escape
print octal escapes for nongraphic characters
使い方
nkf オプション ファイル
計算機内部では文字が番号(コード)で扱われる.
日本語(漢字,ひらがな,カタカナ)が扱える文字コード EUC 主に UNIX で利用されていた
JIS 主にインターネットで利用
Shift-JIS 主にPC(Windows, Macintosh)で利用 UTF8 近年普及している多言語対応コード
表示や動作が異常なプログラムは変換してみる.
例: 文字コードを
UNIX
向け(UTF8)
に変換 例: ファイルの文字コードを判別
漢字コード変換
% nkf -w hello.c > hello-e.c
56
使い方
scp オプション 転送元ファイル 転送先
例: サーバから手元の
PC
へファイル転送 例: 手元の
PC
からサーバへファイル(
ディレクトリ)
転送サーバ間のファイル転送
% scp ユーザ名@wisdom(略).jp:~/test.txt ./
※ 手元のPC上で操作
~/はホームディレクトリを意味
./ は手元PCでのカレントディレクトリを意味
% scp -r ./testdir ユーザ名@wisdom(略).jp:~/
※ 手元のPC上で操作 testdirはディレクトリ
-r はディレクトリを転送する際に必要なオプション
使い方
find 検索場所 -name 検索ファイル名
指定したディレクトリ配下で指定したファイル名に該当する ファイルを検索する
例: ホームディレクトリ配下で名前に
test
を含むものを検索ファイルの検索
% find ~/ -name “*test*”
58
使い方
grep 検索文字列 対象ファイル
指定したファイル内で検索文字列に該当する行を検索する
例:
test.c
内で文字列abcdef
を含む行を検索 例: カレントディレクトリ内の全ファイル内で 文字列
abcdef
を含む行を検索ファイル内の文字列検索
% grep “abcdef” test.c
% grep “abcdef” ./*
出力結果をファイルに出力
リダイレクション
> 左側のコマンドからの出力を画面に 表示せず右側のファイルに保存
>> 左側のコマンドからの出力を画面に 表示せず右側のファイルに追加
< 左側のコマンドに対する入力として 右側のファイルの内容を利用
% ls > dirs
% sort -r < dirs > rdirs
例
) ls
コマンドの結果をdirs
に出力更にその内容を整列して
rdirs
に保存hello.c hello2.c work/
work/
hello2.c hello.c
60
標準出力と標準エラー出力(1)
画面に表示される出力は実は2種類ある
標準出力 - 通常の出力。 1> で指定 ( >のみでも可) 標準エラー出力 - エラーメッセージ等の出力。 2> で指定
% ls –lR /home/lecture 1>file1 2>file2
例
) ls
コマンドの結果を標準出力とエラー出力に分けて ファイルに出力するfile1
にls
の通常の実行結果が出力される/home/lecture
下には他ユーザのホームがあり、それらの情報は表示できずエラーとなるため、
そのエラーは
file2
に出力される標準出力と標準エラー出力(2)
標準出力と標準エラー出力は、通常入り混じって画面に表示される 画面に表示されるものと同じように標準出力と標準エラー出力が 混ざった状態の出力を保存するには下記のように指定する
% ls –lR /home/lecture >file 2>&1
例
) ls
コマンド実行結果の標準出力とエラー出力をつなげてfile
に出力する62
出力結果を他のコマンドの入力に利用
パイプライン
| 左側のコマンドからの出力を画面に 表示せず右側のコマンドの入力として 利用
% ls | sort -r > rdirs
例1
) ls
コマンドの結果を整列してrdirs
に保存work/
hello2.c hello.c
% ls -l | less
例2