20210125のLinuxに関する記事は6件です。

Linuxコマンド (初心者向け)

Linuxコマンドとは

簡単に言えば、コンピューターに命令をする事。
それをターミナルとシェルを使って行う。

シェルとターミナル

ターミナル  

ターミナルは主に画面担当。

シェル

コマンドを解釈してLinuxとやりとりする担当。

主な流れ

ターミナル上でコマンド入力すると、シェルが命令を解釈して、Linuxに伝え、Linuxがコマンドを実行して、シェルがコマンドの実行結果をターミナルで画面に表示させる。

これだけは抑えておきたいコマンド

lsコマンド

現在いるディレクトリの中のファイルなどを表示してくれる。

pwdコマンド

今自分がいるディレクトリを表示してくれる。

cdコマンド

ディレクトリを移動するコマンド。

mkdirコマンド

mkdir+新規のディレクトリ名でディレクトリを作成する事ができる。

touchコマンド

touch+新規のファイル名でファイルを作成する事ができる。

echoコマンド

echo Hello > new
こうする事でnewファイルにHelloと書き込む事ができる。

catコマンド

ファイルの中の記述を確認する事ができる。

lessコマンド

catコマンドと同じでファイルの中の記述を確認する事ができる。
唯一の違いは、全画面で表示する事ができる。よって、ファイルの中身が長い時はlessコマンドを使う方が良い。

mvコマンド

mv 古いファイル名 新しいファイル名
これで古いファイルを新しいファイルに変更する事ができる。

rmコマンド

ファイルを削除する事ができるコマンド。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Linuxでウェブカメラの仮想背景を設定するデーモンを書いた

Zoomを始め各種のビデオ会議アプリでは、人物を背景から切り抜いて仮想背景と合成する機能がついていることが多いです。しかし、私の知る限りどのサービスでもLinux版のクライアントソフトではその仮想背景機能がなぜか削られています。ということで、何百番煎じかわからないんですが、仮想背景を合成した動画を返す仮想カメラを作るプログラムを作りました。

やっていること

今までのやり方と同じで、Bodypixというニューラルネットワークによる人物認識法を使って人物を背景から切り出し、合成した結果をv4l2loopbackモジュールを使って出力しています。これの丸パクリです。じゃあなんでわざわざまた作ったんだって感じですが、今までのやり方では必ず背景合成プログラムを手動で起動するか、常に起動しっぱなしにして常にニューラルネットワークを計算しっぱなしにする必要がありました。いちいちコマンドを叩くのはどうもなんかめんどくさいですが起動しっぱだとエコじゃないし生のカメラ出力が使えなくなってしまうということで、なんかちょっと微妙な感じがします。そこで、inotifyを使って、仮想デバイスが開かれたときだけ推論をするようなプログラムを書き、これをsystemdでデーモン化してみました。キャラクタデバイスをinotifyできるのかどうか若干心配でしたが、今の所ちゃんと動いてるっぽいです。(まあ、もしかしたらすでに誰かがやってるかもしれませんが。。)

ソース

ここ。インストール方法もそちらで。

デモ

仮想カメラ/dev/video2ffplayで再生してみました。自分の画像を載せたくなかったのでスマホの画面に人の写真を載せて認識させてみました。(人物のチョイスには特に他意はありません。単にニュースサイトの一番上にいただけです)

virtcam_test.png

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Linuxサーバーへの外付けHDDのマウント方法

本記事に含まれる内容

  • Linuxサーバーへの外付けHDDのマウント方法

Linuxサーバーへの外付けHDDのマウント方法

外付けHDDのデバイスファイルを探す

$ sudo fdisk -l

マウント

$ sudo mount -t ntfs-3g {記憶デバイスのpath} {mount先のpath}

アンマウント

$ umount {mount先のpath}
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Linuxで新規ユーザーを追加する方法

Linuxでユーザーを追加する際にいつもコマンドを調べているので、備忘録として書く。

本記事に含まれる内容

  • Linuxでの新規ユーザーの追加方法

Linuxでの新規ユーザーの追加方法

ユーザーの追加

$ sudo useradd -m {NEWUSER}
# -m --create-home ユーザーのホームディレクトリが存在しない場合、作成する

指定グループに追加

$ sudo gpasswd -a {NEWUSER} {GROUPNAME}

passの設定

$ sudo passwd {NEWUSER}

指定グループに正しく加えられているかの確認

$ getent group {GROUPNAME} 
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

shell の時間処理

いつも調べるので、ここでメモ

文字列 ⇒ Date
以下全部いけし、妥当性チェックもやってくれる:

date -d '20121212 7 days'
date -d '12-DEC-2012 7 days'
date -d '2012-12-12 7 days'
date -d '2012-12-12 4:10:10PM 7 days'
date -d '2012-12-12 16:10:55 7 days'

Date ⇒ 文字列

date '+%Y%m%d'

これで足りると思う
参考:https://stackoverflow.com/questions/11144408/convert-string-to-date-in-bash/11144983

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

get-pipを使ったpipインストールでエラーが発生

pipのインストールでエラーが発生しました。

Traceback (most recent call last):
  File "get-pip.py", line 24226, in <module>
    main()
  File "get-pip.py", line 199, in main
    bootstrap(tmpdir=tmpdir)
  File "get-pip.py", line 82, in bootstrap
    from pip._internal.cli.main import main as pip_entry_point
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 954, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 896, in _find_spec
  File "<frozen importlib._bootstrap_external>", line 1147, in find_spec
  File "<frozen importlib._bootstrap_external>", line 1123, in _get_spec
  File "<frozen importlib._bootstrap_external>", line 1104, in _legacy_get_spec
  File "<frozen importlib._bootstrap>", line 444, in spec_from_loader
  File "<frozen importlib._bootstrap_external>", line 541, in spec_from_file_location
  File "/tmp/tmphdllod41/pip.zip/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                   ^
SyntaxError: invalid syntax

get-pipにアップデートがあり、
https://github.com/pypa/get-pip/commit/8cc88aca7d9775fce279e8b84ef163cf1d3e8a2e

get-pip.pyの書き方がpython3.6以降のものになったようです。
https://stackoverflow.com/questions/65866417/pip-install-failing-on-python2

解決方法

下記にあるバージョンを指定してあげる
https://bootstrap.pypa.io/

or

pythonのバージョンを3.6以上にする

で解決できそうです。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む