ラベル Linux コマンド の投稿を表示しています。 すべての投稿を表示
ラベル Linux コマンド の投稿を表示しています。 すべての投稿を表示

pythonでzip関連のコマンドを代替

Python Documentation | zipfile | コマンドラインインターフェイス
https://docs.python.org/ja/3/library/zipfile.html#command-line-interface

# ZIP アーカイブを新規に作成したい場合
# -c オプションの後にまとめたいファイルを列挙してください:
$ python -m zipfile -c monty.zip spam.txt eggs.txt

# ディレクトリを渡すこともできます:
$ python -m zipfile -c monty.zip life-of-brian_1979/

# ディレクトリの中身だけを渡す
$ python -m zipfile -c monty.zip life-of-brian_1979/.

# ZIP アーカイブを特定のディレクトリに展開したい場合
# -e オプションを使用してください:
$ python -m zipfile -e monty.zip target-dir/

# ZIP アーカイブ内のファイル一覧を表示するには
# -l を使用してください:
$ python -m zipfile -l monty.zip

[Linux] renameコマンドを使わないファイル名一括変更

# sed mv
#  123-bbb.txt を 123.txt
#  | shを外した状態で変換文字列を確認すること
$ for a in *.txt; do echo $a | sed -e "s/\(\(^.*\)-.*\)/mv \1 \2\.txt/" | sh; done

# find sed mv
#  123-bbb.txt を 123.txt
#  | shを外した状態で変換文字列を確認すること
$ find . -name "*.txt" | sed -e 's/\(\(^.*\)-.*\)/mv \1 \2.txt/' | sh
    OR
$ find . -name "*.txt" | sed -E 's/((^.*)-.*)/mv \1 \2.txt/' | sh

インターネットラジオ

ヴォーカルの無い曲が流れ続ける放送
配信対応のミュージックプレイヤーやWebブラウザにURLを打ち込めば流れ続ける

# 例
$ mplayer [URL]


HBR1.com - Dream Factory
http://ubuntu.hbr1.com:19800/ambient.ogg

HBR1.com - I.D.M. Tranceponder
http://ubuntu.hbr1.com:19800/trance.ogg

HBR1.com - Tronic Lounge
http://ubuntu.hbr1.com:19800/tronic.ogg

Jazz Piano Magic
http://37.187.79.93:8178

[bash] カレントパスの画像からEXIFを除去する

#!/bin/bash

LIST="jpg jpeg png bmp tiff"

for EXT in $LIST
do
    FILES="*.$EXT"
    for FILE in $FILES
    do
        if [ ! -e $FILE ]; then
            continue
        fi
        
        echo "$FILE"
        convert -strip "$FILE" "$FILE"
    done;
done;

[Linux] 音声ファイル変換

# BitRateを変更したファイルをresizeディレクトに生成する
$ mkdir resize; find * -maxdepth 0 -name "*.mp3" -print0 | xargs -0 -i% lame --preset cbr 192 % ./resize/%

[Linux] PDF 変換

# PDFをページ単位で画像にする
#  -f 開始ページ番号
#  -l 終了ページ番号
#  -x クロップ領域のx座標
#  -y クロップ領域のy座標
#  -W クロップ領域の幅
#  -H クロップ領域の高さ
#  -jpeg JPEGファイルとして出力
$ pdftoppm -f 1 -l 3 -x 160 -y 170 -W 1425 -H 960 -jpeg input.pdf output
output-0001.jpg
output-0002.jpg
output-0003.jpg

[コマンド] ファイルスタンプ

# touchコマンド
#  アクセス日時、更新日時に同値(個別も可)
$ touch -d "2016/1/1 00:00:00" *.mp3
$ touch -d "$(date '+%Y')/1/1 00:00:00" *.mp3

[Linux] ネットワーク機器を探す

■pingとarpコマンドだけで探す
$ for a in `seq 1 254`; do ping -c 1 -w 0.5 192.168.1.$a > /dev/null && arp -a 192.168.1.$a | grep ether; done

[Linux] リスト出力

指定パス配下の特定拡張子のファイル一覧を出力する
$ find . -type f | grep -i '\.zip\|\.rar$' | sed 's!^.*/!!' | sort > 'file_'$(date "+%Y%m%d")'.list'
$ 
$ grep "2015\-05" ./file.list

[コマンド] MTU関連

■Linux
# -M フラグメント化無効
# -c 送信回数
# -s パケットサイズ (設定上限値は実質1472=1500-8-20)
#  実際はさらに+ICMPヘッダー(8)+IPヘッダー(20)されたものがMTUの値となる
$ ping -M do -c 2 -s 1426 xxx.xxx.xxx.xxx

■Windows
# -f フラグメント化無効
# -n 送信回数
# -l パケットサイズ (設定上限値は実質1472=1500-8-20)
#  実際はさらに+ICMPヘッダー(8)+IPヘッダー(20)されたものがMTUの値となる
$ ping -f -n 2 -l 1426 xxx.xxx.xxx.xxx

[Linux] Ubutu 14.04 LTS (Trusty Tahr)

# 各種コーデック
sudo apt-get install ubuntu-restricted-extras


# RestrictedFormats/PlayingDVDs
#   https://help.ubuntu.com/community/RestrictedFormats/PlayingDVDs
$ sudo apt-get install libdvdread4
$ sudo /usr/share/doc/libdvdread4/install-css.sh


# デスクトップインターフェースの設定ツール
#  不要な動作のOn/Offが可能
$ sudo apt-get install unity-tweak-tool

sudo apt-get install python3-bs4
# comix & ImageMagick
sudo apt-get install imagemagick comix p7zip-full gnome-paint


# MediaInfo http://mediainfo.sourceforge.net/ja/Download
$ sudo apt-get install mediainfo


# Tag
#  mp4tags -r sca *
$ sudo apt-get install mp4v2-utils


# Python IDLE & 画像処理用ライブラリ
#  Tkinterもインストールされる
sudo apt-get install idle-python3.4 python3-imaging

# Python
#   BeautifulSoup4 (HTML parser)
sudo apt-get install python3-bs4


# ChromiumのFlashプレイヤーインストール
#  Multiverseリポジトリを使用可能にしておくこと
$ sudo update-pepperflashplugin-nonfree --install

 *Google Chromeなら必要ない
 *Google Chrome OR ChromiumでFlash関連がハングアップする場合は
  設定のハードウェアアクセラレーションをOFFにする


# CPUクロック制御
$ sudo apt-get install indicator-cpufreq


# System Monitor Indicator
$ sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor
$ sudo apt-get update
$ sudo apt-get install indicator-sysmonitor


# Webカメラ R5U87系
#  https://launchpad.net/~r5u87x-loader/+archive/ppa?field.series_filter=trusty
$ sudo add-apt-repository ppa:r5u87x-loader/ppa
$ sudo apt-get update
$ sudo apt-get install r5u87x
$ sudo /usr/share/r5u87x/r5u87x-download-firmware.sh


# MP4Box -info [ファイル名]
# MP4Box -raw [音声トラック番号] [ファイル名]


# DLNA サーバー
#  rygel-preferencesで公開するパスを設定する
$ sudo apt-get install rygel rygel-preferences rygel-playbin


# マイク入力をスピーカーに出力する
#  ・サウンドを起動し「入力」タブを選択
#  ・"ミュート"のチェックを外す
#  ・ターミナルでalsaloopを起動


# Wine 1.7
#  https://launchpad.net/~ubuntu-wine/+archive/ubuntu/ppa?field.series_filter=trusty
$ sudo add-apt-repository ppa:ubuntu-wine/ppa
$ sudo apt-get update
$ sudo apt-get install wine1.7 winetricks


# VirtualBox 4.3
$ echo "deb http://download.virtualbox.org/virtualbox/debian trusty contrib" | sudo tee -a /etc/apt/sources.list
$ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install virtualbox-4.3

# 必要なら
sudo apt-get install dkms

# 起動確認
$sudo /etc/init.d/vboxdrv status


# アンドロイド エミュレーター (Genymotion)
#  https://www.genymotion.com/#!/download

$ cd [Genymotion installer path]
$ ./genymotion

$ adb push Genymotion-ARM-Translation_v1.1.zip /sdcard/Download/
$ adb push gapps-jb-********-signed.zip /sdcard/Download/

$ adb shell flash-archive.sh /sdcard/Download/Genymotion-ARM-Translation_v1.1.zip

# VM再起動

$ adb shell flash-archive.sh /sdcard/Download/gapps-jb-********-signed.zip

# VM再起動


# JD for Linux (ソースから)
#  公式ダウンロードサイト
#  http://sourceforge.jp/projects/jd4linux/releases/

# ビルドに必要なパッケージ
$ sudo apt-get autoconf g++ libgnutls-dev libgtkmm-2.4-dev libtool

$ tar xvfz jd-2.8.8-140601.tgz
$ cd ./jd-2.8.8-140601

#  configureのパラメータは"INSTALL"ファイルに書かれている
$ autoreconf -i
$ ./configure
$ make

# 実行モジュールからデバック用データを削除
$ strip ./src/jd

# デスクトップファイルを生成
#  ~/.local/share/applications/
[Desktop Entry]
Type=Application
Name=JD-2.8.8
GenericName=Browser
Icon=[絶対パス]/jd.png
Exec=[絶対パス]/jd
Terminal=false
Categories=Network;

$ update-desktop-database ~/.local/share/applications/

# eclipse
$ sudo apt-get install eclipse pleiades
$ echo "-javaagent:/usr/share/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar" | sudo tee -a /etc/eclipse.ini > /dev/null

[Linux] 画像操作系コマンド

# ImageMagick
$ sudo apt-get install imagemagick

# 画像ファイルを縦に連結
$ convert -append a.jpg b.jpg c.jpg out.jpg

# 画像ファイルを横に連結
$ convert +append a.jpg b.jpg c.jpg out.jpg

# EXIF除去
$ convert -strip a.jpg out.jpg

# 一括(リサイズ、EXIF除去)
#  -path  出力先指定(無指定なら原本ファイルを上書き)
#  -resize 縦横比を維持し指定サイズに収まるように縮小
$ mkdir ./resize
$ mogrify -path resize -resize 800x1200 -strip *.jpg

# 画像の情報を取得する(1ファイル1行)
$ identify test.jpg

# 画像ファイルの縦横比を取得する
#  1.0は正方形、1.0より大きい場合は縦長
$ identify -format "%[fx:h/w]\n" *.png


# PSP音楽ファイル用のサムネイル画像
#  初期は160x120までだったが、どこかのファームから結構大きい画像もOKになっている
#  最大サイズは不明
## sudo apt-get install asunder lame
$ convert -resize 640x480 -verbose -unsharp 2x1.4+0.5+0 -colors 65 -quality 100 a.jpg out.jpg

[Win32] GNOMEアプリケーション

下記URLにてGNOME開発チームがWindows版のアプリケーションのバイナリを提供している
http://ftp.gnome.org/pub/GNOME/binaries/win32/

gedit, tomboy, evolution, bansheeなど

[Linux] PlayOnLinux (Wineのフロントエンド)

公式サイト
http://www.playonlinux.com/

# Ubuntu Precise (12.04)
$ wget -q "http://deb.playonlinux.com/public.gpg" -O- | sudo apt-key add -
$ sudo wget http://deb.playonlinux.com/playonlinux_precise.list -O /etc/apt/sources.list.d/playonlinux.list
$ sudo apt-get update
$ sudo apt-get install playonlinux

# Ubuntu Oneiric (11.04 or 11.10)
$ wget -q "http://deb.playonlinux.com/public.gpg" -O- | sudo apt-key add -
$ sudo wget http://deb.playonlinux.com/playonlinux_oneiric.list -O /etc/apt/sources.list.d/playonlinux.list
$ sudo apt-get update
$ sudo apt-get install playonlinux

# PlayOnLinux用のWine
#  上記インストールで適用されるWine以外を使う場合?
#  http://www.playonlinux.com/wine/binaries/

[Linux] バージョン確認

# ディストリビューションのバージョン確認
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 11.10
Release: 11.10
Codename: oneiric

# カーネル周りの確認
$ uname -a
Linux ubuntu-10 3.0.0-19-generic-pae #33-Ubuntu SMP Thu Apr 19 20:59:10 UTC 2012 i686 i686 i386 GNU/Linux

[Linux] Ubuntu 12.04 LTS (Precise Pangolin) 新規インストール

Ubuntuを含む公式派生Distributionのダウンロードサイト
http://releases.ubuntu.com/

使用したisoファイル
  ubuntu-12.04-desktop-i386.iso

「ようこそ」画面で日本語を選択すると
  ・iBus-Anthyが有効になって日本語の入力が出来る
  ・各種ソフトのメニューが日本語化

注意
  12.04から?インストール中に言語パッケージをインターネットからダウンロードするので、インターネットへの回線が必要。インターネットに未接続でインストールした場合、起動後に言語パックをインストールする確認ウィンドウが表示される。

# パッケージマネージャ
$ sudo apt-get update
$ sudo apt-get install synaptic

# Chromuim http://www.chromium.org/
$ sudo add-apt-repository ppa:chromium-daily/stable
$ sudo apt-get update
$ sudo apt-get install chromium-browser

# HandBrake http://handbrake.fr/
$ sudo add-apt-repository ppa:stebbins/handbrake-snapshots
$ sudo apt-get update
$ sudo apt-get install handbrake-cli handbrake-gtk

# 各種コーデック
$ sudo apt-get install ubuntu-restricted-extras

# Medibuntu http://medibuntu.org/
$ sudo -E wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update
$ sudo apt-get install app-install-data-medibuntu apport-hooks-medibuntu w32codecs libdvdcss2

# MediaInfo http://mediainfo.sourceforge.net/ja/Download
$ sudo apt-get install mediainfo

# EasyTag ID3タグ編集 http://easytag.sourceforge.net/
#  ・「設定」「ID3タグの設定」タブを開く
#  ・「ID3タグ読み込み時の文字セット」「規格外」にチェックし、"日本語(Shift_JIS)"を選択
#  ・「ID3v1.x」「ID3v1.xでタグを書き込む」を非チェック
$ sudo apt-get install easytag

# Comix http://comix.sourceforge.net/
$ sudo apt-get install comix

# JD 2chブラウザ (最新版はhttp://jd4linux.sourceforge.jp/)
#  「設定」「フォントと色」「スレビューフォント」を"Monapo"にする
$ sudo apt-get install jd
$ sudo apt-get fonts-monapo

# JDownloader リジューム機能付きDL支援 http://www.jdownloader.org/home/index
#  使用言語 basa jawaで日本語表示
$ sudo add-apt-repository ppa:jd-team/jdownloader
$ sudo apt-get update
$ sudo apt-get install jdownloader

# Wine Windows互換レイヤー http://www.winehq.org/
$ sudo apt-get install wine1.4

# CompizConfig 設定マネージャー
$ sudo apt-get install compizconfig-settings-manager

# マウント管理 (ISO, IMG, BIN, MDF, NRG)
$ sudo apt-get install furiusisomount

# ディレクトリの右クリックメニューから端末を開けるようにする
$ sudo apt-get install nautilus-open-terminal
$ nautilus --quit

# gedit
#  日本語ファイルの読み書き化 (SHIFT_JIS, EUC, ISO-2022-JP(JIS), UTF-8, UTF-16)
$ gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8', 'CURRENT', 'SHIFT_JIS', 'EUC-JP', 'ISO-2022-JP', 'UTF-16']"
$ gsettings set org.gnome.gedit.preferences.encodings shown-in-menu "['UTF-8', 'SHIFT_JIS', 'EUC-JP', 'ISO-2022-JP', 'UTF-16']"

# ls タイムスタンプ書式(YYYY-MM-DD hh24:mi:ss)
$ echo "export TIME_STYLE='+%Y-%m-%d %H:%M:%S'" >> ~/.bashrc
$ source ~/.bashrc

# Flash Player
#  青色と赤色が入れ替わる現象への対処
#  http://askubuntu.com/questions/117127/flash-video-appears-blue
$ sudo mkdir /etc/adobe
$ echo -e "OverrideGPUValidation=0\nEnableLinuxHWVideoDecode=1" | sudo tee /etc/adobe/mms.cfg > /dev/null

[Linux] KVM (Kernel-based Virtual Machine)

ホストOSはUbuntu 11.10(oneiric)

# KVM 0.14.1
$ sudo apt-get install qemu-kvm

  新たにインストールされるもの
    bridge-utils
    libaio1
    qemu-common
    qemu-kvm
    seabios
    vgabios

# 仮想マシン管理GUIアプリ
$ sudo apt-get install virt-manager

  新たにインストールされるもの
    libvirt-bin
    libvirt0
    libxenstore3.0
    python-gtk-vnc
    python-libvirt
    python-urlgrabber
    virt-manager
    virtinst

# KVMを使うユーザをグループkvmに追加する
$ sudo adduser [userid] kvm

# OSの再起動が必要?

# KVMの確認 (intel-vtでの実行結果)
$ lsmod | grep kvm
kvm_intel  55857 0
kvm       337036 1 kvm_intel

# 仮想マシンの作成(GUI)
#  gksudoで起動するとウィンドウメニューがウィンドウに付いたままなので便利かも?
$ virt-manager

「今すぐディスク全体を割り当てる」
チェックを入れないと作成されるのは使用容量分都度増加するrawスパースファイル。
チェックを入れると、初めから最大容量を確保したrawノンスパースファイル。
ノンスバースファイルの方が動作は軽い。

rawノンスパースのイメージファイルをコピーする時は必ず
cpコマンドに--sparse=neverオプションを付ける。
無指定だとcpコマンドは未使用領域を圧縮してしまう。

「インストールの前に設定をカスタマイズする」
チェックを入れると、ゲストOSのインストール前に仮想PCの構成をデフォルト以外に
変更することができる。

# ゲストOSを確認 (virt-managerのGUI上でも見られる)
$ virsh list --all

# 仮想ネットワークのオーバーヘッドの削減
#  毎回有効にする場合は/etc/modulesに追加しておく
$ sudo modprobe vhost_net
$ sudo echo vhost_net >> /etc/modules


# 仮想CPUの選択肢一覧
$ kvm -cpu ?

# 仮想サウンドカードの選択肢一覧
$ kvm -soundhw ?

# 利用可能?全デバイス一覧
$ kvm -device ?



TODO
・Ubuntu 12.04(precise)をゲストOSにする場合で仮想CPUを2つ以上で動作させられないのか?
--->CPUモデルn270(Intel Atom CPU N270)にすると動く。ホストはIntel Core 2 Quad Q9450
--->--->ホストCPUの設定をコピーしてからqemu32を選択しておくのが無難か?
・ゲストOSのサウンドを鳴らす方法は?
--->全選択肢(ac97, es1270, ich6, pcspk, sb16)で音が出ず。

[Linux] Ubuntu メディア関連

Medibuntu
$ sudo -E wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update

$ sudo apt-get install app-install-data-medibuntu apport-hooks-medibuntu
$ sudo apt-get install w32codecs libdvdcss2

ubuntu restricted extras (上記かこれのどちらか)
$ sudo apt-get install ubuntu-restricted-extras
$ sudo /usr/share/doc/libdvdread4/install-css.sh

ubuntu restricted extras (11.04 11.10なら)
$ sudo /usr/share/doc/libdvdread4/install-css.sh

[Linux] APT (Advanced Package Tool) コマンド

# パッケージ管理サイト
https://launchpad.net/

# 管理情報にリポジトリを追加
$ sudo add-apt-repository [ppa:xxxx]

    # 例
    ppa:transmissionbt
    ppa:jd-team/jdownloader
    ppa:ubuntu-wine
    ppa:stebbins/handbrake-snapshots
    ppa:chromium-daily/stable

  # リポジトリの種類
  main 標準パッケージ。正式サポート。
  restricted 著作権の制限が掛かるパッケージ。
  backports コミュニティーにより提供されている。新しい物が多いが安定性は悪い
  universe コミュニティーによりメンテされている。
  multiverse フリーではないパッケージ。


# 管理情報の更新
$ sudo apt-get update

# 管理情報からパッケージを検索 (部分一致)
$ apt-cache search [yyyy]

# パッケージをインストール
$ sudo apt-get install [zzzz]

# パッケージを再インストール
$ sudo apt-get --reinstall install [zzzz]

# パッケージをアンインストール(設定ファイルは残る)
$ sudo apt-get remove [zzzz]

# パッケージをアンインストール(設定ファイルも削除)
sudo apt-get --purge remove [zzzz]

# 使わなくなったパッケージを自動削除(設定ファイルは?)
$ sudo apt-get autoremove

# 更新可能パッケージの表示
$ sudo apt-get -s upgrade

# 更新可能パッケージを更新 (-uで作業詳細を表示)
$ sudo apt-get upgrade
$ sudo apt-get -u upgrade

# 使用していないパッケージアーカイブを削除(インストール時の作業用ファイル)
$ sudo apt-get autoclean

# パッケージアーカイブを削除(インストール時の作業用ファイル)
$ sudo apt-get clean

# インストール先の確認 (各種ファイルの格納パス)
$ dpkg -L [zzzz]

[bash] ファイル名の前にファイルタイムスタンプを挿入

# ファイルリネーム処理
# for filepath in ( aaa/*.jpg | aaa/*.png)で複数ファイル対応可能?
# 拡張子の大小未対応
files="$inPath/*.JPG"
for filepath in ${files}
do
filename=`basename ${filepath}`
timestamp=`ls -d -l --time-style='+%Y%m%d' ${filepath} | cut -d ' ' -f 6`

echo "  $filename >>>> $timestamp-$filename"
`cp -p ${filepath} "${outPath}/${timestamp}-${filename}"`
done