Skip to content

はじめに

大学で出された資料が使えない資料だったので プログラミングで使うbash, powershellのコマンドをまとめました。

めっちゃ使う

コマンドの基礎は以下のものです。

コマンド意味役割
cdChenge Directory場所の移動
lsList Segments今いる場所の中身を表示
pwdPrint Working Directory今いる場所のアドレスを表示
PATH意味
./今いる場所(省略可能)
../1つ前

/\¥はほとんど同じ意味を持ちます。

bash
# 今回はbash(Linux)です。
# PowerShell(Windows)もだいたい一緒

# ~ の部分が今いる場所です。
user@user:~$

# Downloadディレクトリに移動
user@user:~$ cd ./Downloads

# 内容表示
user@user:~/Downloads$ ls

# 1つ前に戻る
user@user:~/Downloads$ cd ..

# ~に戻ってきました
user@user:~$

# こんなこともできる
# いろいろやってるけど結局Downloadsに移動してるだけ
user@user:~$ cd ./cloned/linux-blog/../../cloned/../Downloads
# 今回はbash(Linux)です。
# PowerShell(Windows)もだいたい一緒

# ~ の部分が今いる場所です。
user@user:~$

# Downloadディレクトリに移動
user@user:~$ cd ./Downloads

# 内容表示
user@user:~/Downloads$ ls

# 1つ前に戻る
user@user:~/Downloads$ cd ..

# ~に戻ってきました
user@user:~$

# こんなこともできる
# いろいろやってるけど結局Downloadsに移動してるだけ
user@user:~$ cd ./cloned/linux-blog/../../cloned/../Downloads

たまに使う

コマンド意味役割使用例
touchtouchファイルを作成touch test.py
echoecho書いた文字列を表示echo "Hello World"
cat🐱指定したファイルの内容を出力cat test.py
diffDifferファイル同士の比較diff ./1.py ./2.py
|Pipe左で出てきたデータを右に渡す-
> or <-データを渡して上書き保存する-
>> or <<-データを渡して追加する-

基本的にはterminal上に表示されたものが渡されます。

つまり、echo やC++のcout されたものが渡されます

bash
# 使ってみよう

# test.txtを作ってみる
user@user:~$ touch test.txt

# 確認
user@user:~$ ls

# echoで出力してみる
user@user:~$ echo "Hello World"
Hello World

# echoでtest.txtに文字を入れてみる(追加)
user@user:~$ echo "Hello World" >> test.txt

# catでtest.txtを表示してみる
user@user:~$ cat test.txt
Hello World

# a.outが存在すると仮定して
# catで表示したものをa.outに転送してみる
user@user:~$ cat test.txt | ./a.out

# 上の応用版、a.outの結果がanswer.txtに保存される。
# answer.txtはなくても生成される
user@user:~$ cat test.txt | ./a.out > answer.txt
# 使ってみよう

# test.txtを作ってみる
user@user:~$ touch test.txt

# 確認
user@user:~$ ls

# echoで出力してみる
user@user:~$ echo "Hello World"
Hello World

# echoでtest.txtに文字を入れてみる(追加)
user@user:~$ echo "Hello World" >> test.txt

# catでtest.txtを表示してみる
user@user:~$ cat test.txt
Hello World

# a.outが存在すると仮定して
# catで表示したものをa.outに転送してみる
user@user:~$ cat test.txt | ./a.out

# 上の応用版、a.outの結果がanswer.txtに保存される。
# answer.txtはなくても生成される
user@user:~$ cat test.txt | ./a.out > answer.txt

実用例

bash
# これが入っているとすると
- test_case.in # テストケースが入っている
- answer.ans # 解答が入っている
- test.cpp
- a.out # test.cppをコンパイルしたもの

# test_case.inをa.outに転送して、その結果をanswer.outに保存する
# answer.outは勝手に生成される
user@user:~$ cat ./test_case.in | ./a.out > answer.out

# diffコマンドで一致してるか確認
user@user:~$ diff ./answer.ans ./answer.out
# これが入っているとすると
- test_case.in # テストケースが入っている
- answer.ans # 解答が入っている
- test.cpp
- a.out # test.cppをコンパイルしたもの

# test_case.inをa.outに転送して、その結果をanswer.outに保存する
# answer.outは勝手に生成される
user@user:~$ cat ./test_case.in | ./a.out > answer.out

# diffコマンドで一致してるか確認
user@user:~$ diff ./answer.ans ./answer.out

まとめ

PATH意味
./今いる場所(省略可能)
../1つ前
コマンド意味役割使用例
cdChenge Directory場所の移動cd ./Downloads
lsList Segments今いる場所の中身を表示-
pwdPrint Working Directory今いる場所のアドレスを表示-
touchtouchファイルを作成touch test.py
echoecho書いた文字列を表示echo "Hello World"
cat🐱指定したファイルの内容を出力cat test.py
diffDifferファイル同士の比較diff ./1.py ./2.py
|Pipe左で出てきたデータを右に渡すcat test.txt | ./a.out
> or <-データを渡して上書き保存する./a.out > answer.txt
>> or <<-データを渡して追加する./a.out >> a.txt
profile picture
AstPy_ms
東京都立大学でいろいろやってる人です。Twitterやってます。