- 投稿日:2019-04-13T20:59:27+09:00
bashで拡張子を除いたファイル名を取得する
方法
長いこと
sedと組み合わせて対処してましたが
basenameコマンドだけでできることを知りました。basename {パス} {拡張子}例$ basename /path/to/somewhere/foo.txt .txt foobasename コマンド
基本
基本構文basename string [suffix]
stringの先頭から最後に出現した/までを取り除く- その結果の文字列が
suffixで終わっていればその部分を取り除くつまり拡張子に限らず次のような使い方が可能。
$ basename /path/to/somewhere/foo20190101.txt 20190101.txt fooその他
オプション-a : string を複数受け取る -s : -a オプションを付けた場合の suffix 指定複数指定できる場合の実用的な例が思いつかないですが、
上記のオプションを使ってたとえば次のようなことも可能。$ basename -s "円" -a 200円 150円 300円 200 150 300確認環境
macOS, Linux(Ubuntu) 標準の
basenameコマンド。
- 投稿日:2019-04-13T20:29:11+09:00
Run Swift on Docker's Linux
References
Step
Docker side
1. Install Docker
$ brew cask install docker2. Get Ubuntu image
$ docker pull ubuntu3. Create Container of Ubuntu
$ docker run --privileged -it ubuntu /bin/bash4. Start Container
$ docker start <ID>5. Attach container
$ docker attach <ID>Ubuntu side
1. Update packages
# apt update2. Install packages that dependent Swift
# apt-get install git cmake ninja-build clang python uuid-dev libicu-dev icu-devtools libbsd-dev libedit-dev libxml2-dev libsqlite3-dev swig libpython-dev libncurses5-dev pkg-config libblocksruntime-dev libcurl4-openssl-dev systemtap-sdt-dev tzdata rsync3. Download Swift
# cd /opt/ # apt-get install wget # wget https://swift.org/builds/swift-4.2-release/ubuntu1804/swift-4.2-RELEASE/swift-4.2-RELEASE-ubuntu18.04.tar.gz4. Unzip
# tar xvfz swift-4.2-RELEASE-ubuntu18.04.tar.gz # mv swift-4.2-RELEASE-ubuntu18.04 swift5. Set path
# export PATH=/opt/swift/usr/bin:"${PATH}"6. Test
# swift -version Swift version 4.2 (swift-4.2-RELEASE) Target: x86_64-unknown-linux-gnuMemo
Copy host's file to Container
$ docker cp file.cnf <ID>:/etc/file.cnf $ docker cp dir <ID>:/etc/dir
- 投稿日:2019-04-13T17:20:36+09:00
Linux のコンソールでも Caps_Lock を Ctrl(Control) に入れ替える
この記事は何?
コンソールにおける、キーマップの変更方法の解説になります。
Ctrl は常に A の左の位置にあって欲しいという人向けの記事になります。私の環境について
私は、Thinkpad x100e というラップトップPCに ArchLinux をインストールし、この設定を行っています。
また、このマシンには、usキーボードが搭載されています。keycode の確認
標準的な keymap は下記のように配置されています(ディストリによって異なるかも?)。
/usr/share/keymaps/ 環境に応じたディレクトリ / キー配列 / キーボードの種類.map.gz下記のコマンドで一度、中身を確認しましょう。
※パスは適宜変更してください。$ sudo zcat /usr/share/kbd/keymaps/i386/qwerty/us.map.gz | less -i今回の目的は Caps_lock を Ctrl に変更する事なので、この2つの keycode を調べておきます。
※パスは適宜変更してください。$ sudo zcat /usr/share/kbd/keymaps/i386/qwerty/us.map.gz | grep -iE '^keycode' | grep -iE 'control$|caps\_lock$' keycode 29 = Control keycode 58 = Caps_lock keycode 97 = ControlCaps_Lock を Ctrl に変更する
loadkeys で読み込む keymaps の作成
loadkeysで読み込むkeymapsファイルの作成手順$ sudo mkdir -p /usr/local/share/kbd/keymaps $ sudo echo 'keymaps 0-127' >> /usr/local/share/kbd/keymaps/ctrl2caps.map $ sudo echo 'keycode 29 = Caps_Lock' >> /usr/local/share/kbd/keymaps/ctrl2caps.map $ sudo echo 'keycode 58 = Control' >> /usr/local/share/kbd/keymaps/ctrl2caps.map $ sudo chmod 755 /usr/local/share/kbd/keymaps/ctrl2caps.map/usr/local/share/kbd/keymaps/ctrl2caps.mapkeymaps 0-127 keycode 29 = Caps_Lock keycode 58 = Control※左のCtrlをCaps_Lockにしたくなければ、"keycode 29 = Caps_Lock" は不要です。
.bash_profile に loadkeys を追加
~/.bash_profile# # ~/.bash_profile # ### ↓この行を追記しました。 sudo loadkeys /usr/local/share/kbd/keymaps/ctrl2caps.map [[ -f ~/.bashrc ]] && . ~/.bashrc※ログイン時に loadkeys で読み込むのが、無難そうだったので私はそうしましたが、お好みの方法でよいと思います。
より良い方法などご存知の方は、ご教示いただけると幸いです。
参考URL
How to change console keymap in Linux?
https://superuser.com/questions/290115/how-to-change-console-keymap-in-linux
- 投稿日:2019-04-13T17:20:36+09:00
Linux のコンソールでも Caps_Lock と Ctrl(Control) を入れ替える
この記事は何?
コンソールにおける、キーマップの変更方法の解説になります。
Ctrl は常に A の左の位置にあって欲しいという人向けの記事になります。私の環境について
私は、Thinkpad x100e というラップトップPCに ArchLinux をインストールし、この設定を行っています。
また、このマシンには、usキーボードが搭載されています。keycode の確認
標準的な keymap は下記のように配置されています(ディストリによって異なるかも?)。
/usr/share/kbd/keymaps/ 環境に応じたディレクトリ / キー配列 / キーボードの種類.map.gz下記のコマンドで一度、中身を確認しましょう。
※パスは適宜変更してください。$ sudo zcat /usr/share/kbd/keymaps/i386/qwerty/us.map.gz | less -i今回の目的は Caps_lock を Ctrl に変更する事なので、この2つの keycode を調べておきます。
※パスは適宜変更してください。$ sudo zcat /usr/share/kbd/keymaps/i386/qwerty/us.map.gz | grep -iE '^keycode' | grep -iE 'control$|caps\_lock$' keycode 29 = Control keycode 58 = Caps_lock keycode 97 = ControlCaps_Lock を Ctrl に変更する
loadkeys で読み込む keymaps の作成
loadkeysで読み込むkeymapsファイルの作成手順$ sudo mkdir -p /usr/local/share/kbd/keymaps $ sudo echo 'keymaps 0-127' >> /usr/local/share/kbd/keymaps/ctrl2caps.map $ sudo echo 'keycode 29 = Caps_Lock' >> /usr/local/share/kbd/keymaps/ctrl2caps.map $ sudo echo 'keycode 58 = Control' >> /usr/local/share/kbd/keymaps/ctrl2caps.map $ sudo chmod 755 /usr/local/share/kbd/keymaps/ctrl2caps.map/usr/local/share/kbd/keymaps/ctrl2caps.mapkeymaps 0-127 keycode 29 = Caps_Lock keycode 58 = Control※左のCtrlをCaps_Lockにしたくなければ、"keycode 29 = Caps_Lock" は不要です。
.bash_profile に loadkeys を追加
~/.bash_profile# # ~/.bash_profile # ### ↓この行を追記しました。 sudo loadkeys /usr/local/share/kbd/keymaps/ctrl2caps.map [[ -f ~/.bashrc ]] && . ~/.bashrc※ログイン時に loadkeys で読み込むのが、無難そうだったので私はそうしましたが、お好みの方法でよいと思います。
より良い方法などご存知の方は、ご教示いただけると幸いです。
参考URL
How to change console keymap in Linux?
https://superuser.com/questions/290115/how-to-change-console-keymap-in-linux
- 投稿日:2019-04-13T14:31:46+09:00
Ubuntu Server 18.04 でGUIをインストールして遠隔操作する
Mission: Ubuntu Server を GNOME をインストールして、家で遠隔操作する。
Server:
Ubuntu Server 18.04LTS + Ubuntu DesktopMethod:
(1) Setup a VNC Server -> 一番簡単だ、他の軽量X WINDOWS使えばこの方法は良いかもしれないが、本物のGNOMEはFRAMERATEが酷すぎで使えない。(2) Install xrdp, Connect by Window Remote Desktop -> こちらは速度がそこそこ、ストレスなく使えます。手順はこれを参考すればOK。
ubuntu 18.04 インストール(10) リモートデスクトップ(3) Ubuntu Desktop 内置の画面共有機能でVNC連接、こちらは速度が最高!なんか自分のパソコンでのVM機械より反応速い!
しかし、(3)を利用にはGNOME設定が必要です。
まずは(2)を方法でリモートデスクトップを連接しろう。
こちらはある問題が発覚、
ネットワークの設定はグレーで使えないのだ。
このままじゃONには出来ない。
原因はNetplan、GUIがないUbuntu ServerのネットワークはNETWORK MANAGERを経由ではなく、yamlで設定した。DESKTOPをインストールしてもネットワークの設定はグレーで使えない!解決方:Network Managerを使う
Ubuntu Server 18.04でNetwork Managerを使う
を参考したが、実はこちらは/etc/netplanの中のyaml、
全部名前をXX-network-manager-all.yamlに改名、
内容renderer: NetworkManagerにすれば良い、
固定IP設定などそのままで構わない!
REBOOTも非必要、
sudo netplan apply
sudo service network-manager restart
基本のネットワーク配置はこれだけで大丈夫だ。
私のようなBOND設定はnmcliかnm-connection-editor
こしたら、画面共有機能利用出来るようになった。
WindowsやMacから接続する場合暗号化をOFFにする必要がある。
gsettings set org.gnome.Vino require-encryption false





