Linuxを使いこなすにはある程度コマンドを知らないといけません.使いながら覚えていきましょう.
他のマシンにリモートログインするときに使う.例:
$ ssh ocean $ ssh myname@mymachine.sea.ac.jp
$ ssh -i ~/.ssh/rsa_key username@mymachine.somewhere.gov|
SSHプロトコルを用いたファイル転送を行う.リモートマシンにファイルを送る時に使う.例:
$ scp filename myname@somewhere.edu $ scp file ocean:~/
$ scp -p file ocean:~/
$ scp -r /home/foo ocean:/home
$ scp -pvr /home/foo ocean:/home
今いるディレクトリのファイルをリスト表示する.例: $ ls
$ ls -l
$ ls -al
$ ls -alrt
現在実行中のプロセスの情報を表示させる.類似コマンド:top
$ ps -aux あるいは, $ ps aux
$ ps aux | grep hoge
例えば,firefoxが固まってしまった場合,アイコンをクリックしたり,コンソールで「firefox」とタイプしても起動しないことがある.その場合は,
$ ps aux | grep firefox
とすると,firefoxのプロセス情報が表示される.出力例は,
$ tuna:/home/shota 22> ps aux | grep firefox shota 17181 0.0 1.0 1047396 86752 ? Sl Jun03 2:52 /usr/bin/firefox
このときのプロセス番号は17181であり,次の「kill」コマンドでプロセスを強制終了させると,新たにfirefoxが起動できるようになる・
上記のpsコマンド,あるいはtopコマンドで目的のプロセス番号(proc_id)を得たら,それを強制終了させる.例:
$ kill -9 17181
現在いるディレクトリを調べる.例:
$ cd /usr/etc --> ディレクトリ「/usr/etc」に移動. $ pwd --> $ /usr/etc と表示される.
ディレクトリを移動する.単に「cd」と入力した場合は,自分のホームディレクトリ(/home/hoge:hogeはユーザー名)に移動する.例:
$ cd ---> 結果は /home/hogeへの移動. $ cd target ---> ディレクトリ「target」に移動する.
例:
$ cd /home/hoge/research $ cd ~/target
チルダ「~」はホームディレクトリの短縮形.つまり,「cd ~」と「cd」は等価.例:
$ cd ~/target ---> $ cd /home/hoge/targetと等価. $ cd -
マイナス「-」は,さっきまでいたディレクトリへ戻る場合に使える便利な短縮形.例:
$ cd /usr/local --> ディレクトリ/usr/localに移動. $ cd /home/hoge --> ディレクトリ/home/hogeに移動. $ cd - --> ディレクトリ/usr/localに戻る.
ファイルサイズを調べる。例:
$ du -h
マウントしているパーティションごとのサイズを調べる。例:
$ df -h $ df -k
ファイルやディレクトリをコピーする.
$cp -r mydirectory /home/someone/dest
$ cp -pv file ../
ファイルやディレクトリを移動する.日付や属性は自動的に保持される.例:
$ mv /home/hoge/hoge.dat /usr/local/
ファイル名を変更したい時にも使える.例:
$ mv file1 file2
ファイルやディレクトリを消去する.ゴミ箱と違って復活不能なので要注意.
$ rm -f filename
$ rm -r my_directory
ディレクトリの作成.例:
$ mkdir newdir $ mkdir /home/foo/newdir
ディレクトリの消去.例:
$ rmdir my_directory
ファイルやサブディレクトリがあると消せない.
sshを使ったリモート同期.ディレクトリ構造などを保持したままコピーできる.例:
$ rsync -av --progress myname@mymachine.edu:~/orgdir .
$ su --> rootになる。 $ su username --> usernameでログインする。
$ passwd $ Changing password for user yourname.
古いパスワードを聞かれるので、入力する。
新しいパスワード(2回)入力する。
終わり。
/home/username/の下に、.cshrcファイルをおき、それを編集する。
サンプルは、例えば
sardine:/home/takao/.cshrc
を参照のこと。
編集した後は以下のようにタイプし、反映させる。
$ source ~/.cshrc
rootになる。
$ su $ ifconfig
出力例:
[root@mymachine myname]# ifconfig eth0 Link encap:Ethernet HWaddr 00:1B:21:AA:BB:CC inet addr:133.30.xxx.yyy Bcast:133.30.aaa.zzz Mask:255.255.254.0 --> inet addrが自分のIPアドレス inet6 addr: fe80::21b:ffff:ffff:971/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4286785 errors:0 dropped:0 overruns:0 frame:0 TX packets:442575 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1445575214 (1.3 GiB) TX bytes:38119094 (36.3 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:642315 errors:0 dropped:0 overruns:0 frame:0 TX packets:642315 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:35947870 (34.2 MiB) TX bytes:35947870 (34.2 MiB)
注:個人情報保護法に基づき一部改変しています.
$ whoami
$ which command $ which vim /bin/vim
この「which」はmatlabのコンソールでも使えるので,スクリプトファイルを探すときにも便利.
tarファイル(tarボール)を作る(非圧縮)
tar cvf filename.tar * (現ディレクトリ内の全てのファイルを書庫化) tar cvf filename.tar file1 file2 file3 file4 (file1-4の4ファイルを書庫化)
圧縮(gzipによる)tarファイルを作るとき
tar cvfz filename.tgz *
のように「z」を足すだけ。
tarファイル(tarボール)を展開する
tar xvf filename.tar → これで同じディレクトリに書庫内ファイルが展開される。 tar xvfz filename.tar → 圧縮ファイルを展開する場合。
su systemctl restart network /etc/init.d/network restart (以前の方法)
mount /mnt/ocean
など.あるいは,
su mount -a
/etc/fstabに書かれているボリュームを全てマウントする.起動時に自動的に実行されている.