20210513のLinuxに関する記事は5件です。

git linux command 正規表現の最低限(復習簡易まとめ・厳密でない)

□linux ショートカット コマンド -行頭、行末へカーソル移動 Ctrl+A, Ctrl+E -行頭まで削除、行末まで削除 Ctrl+U, Ctrl+K -1単語分コマンドを削除 Ctrl+W -ターミナルの表示をクリア Ctrl+L -コマンド履歴の参照 ↑, ↓, Ctrl+R -実行中のコマンドを中止 Ctrl+C -現在自分がいるパスを表示 pwd -指定したディレクトリの中身の一覧表示(指定なしの場合現在いるディレクトリ) ls ~/test ls: コマンド名 ~/test: 指定したディレクトリのパス ~: ~ホームディレクトリの省略記法 -lsコマンドのような一覧表示(ツリー常に表示できる) tree -現在いるディレクトリを変更 自分がいる場所を移動する cd ディレクトリのパス -ディレクトリ新規作成 mkdir ディレクトリ名 -ファイルを作成 touch ファイル名 -ファイルやディレクトリの名前変更 mv old_name new_name -ファイルやディレクトリをコピー(ディレクトリコピーには-r オプションをつける) cp original_name copy_name -ファイルやディレクトリを削除(ディレクトリの削除には-rオプションをつける) rm ファイル名 -ファイルの内容を表示 cat ファイル名 -ファイルやディレクトリの名前を検索 find . -name test find : コマンド名 . : 検索するディレクトリを指定(.は正規表現で現在いる場所という意味) -name : 名前をしていするオプション test : -nameに渡す値 -文書内の内容から文字列を検索する grep 検索文字列 テキストファイル 検索文字列には正規表現を使用できる テキストファイルには、複数のパスを指定できる -コマンドの結果を出力する(>: 上書き >>: 追記) cat file > log.txt -コマンドの結果をコマンドに渡す ls | rm 現在のディレクトリのすべてをrmに渡す -コマンド履歴を表示 history □ git command -gitへの初期設定 名前を設定 $ git config --global user.name "XXXX" -gitへの初期設定 メールアドレスを設定 $ git config --global user.email "XXXX@hogehoge.com" -作業ディレクトリを初期化(.git ディレクトリを作成) $ git init -変更したファイルを修正済みとして、登録 $ git add . add: コマンド名 . : 指定ファイルやディレクトリ(.は正規表現のすべてという意味) -修正済みとして登録したファイルを成果物として登録 $ git commit -m "Initial commit" commit : コマンド名 -m : コマンドのオプション指定(コメントを追加するオプション) "Initial commit" : -m に渡す値(コメントの内容) -外部のサーバーにリモートリポジトリを追加する $ git remote add origin https://github.com/XXXX/XXXXXX.git remote add : コマンド名 origin : リモートリポジトリにつけたい名前 任意に指定可能 -リモートリポジトリに自分がした変更を反映させる $ git push -u origin master push : コマンド名 -u :オプション名(初回にこのコマンドを実行するときに指定する) origin : リモートリポジトリの名前 master : リモートリポジトリのブランチ名 -リモートブランチのクローン(コピー)をごっそりとってくる $ git clone https://github.com/XXXX/XXXXXX.git clone : コマンド名 https... : クローンしたいリモートブランチのURL -ブランチ名表示 $ git branch -ローカルでブランチを作成 $ git branch <ブランチ名> -ブランチ名変更(-m によるオプション指定) $ git branch -m <古いブランチ名> <新しいブランチ名> -ブランチの削除(-d によるオプション指定) $ git branch -d <ブランチ名> -ブランチの切り替え $ git checkout <ブランチ名> -ブランチを作成した後にそのブランチに切り替え(-b によるオプション指定) $ git checkout -b <ブランチ名> -リモートの状態をローカルに反映 $ git pull cloneはリモートリポジトリの作業用コピーを作る 基本的に一回限りの実行 pullは、すでに作業用コピーが手元にある前提で使用する。 チーム開発において、他人が変更したリモートを手元にこまめに反映させて、開発を始める。その際に使用する。 -リモートリポジトリをローカルのリモート用ブランチに反映 $ git fetch -リモートリポジトリ用ブランチの内容を現在のブランチ反映させる $ git merge origin/master merge : コマンド名(別のブランチの内容を現在のブランチに反映させるコマンド) -現在どれが修正済みでどれが成果物として登録されているのか?表示(add とcommit の表示) $ git status -修正したファイルの差分を確認する $ git diff <ファイル名> -成果物のコメント等を表示(commit のログを表示) $ git log -成果物の内容の差分を表示(指定したcommitとその1つ前の差分を表示) $ git show <コミットのハッシュ値> □正規表現 . :なんでもいい1文字 ^ :行頭 $ :行末 * :直前の文字の0回以上 + :直前の文字の1回以上 ? :直前の文字の0か1回 | :指定した文字列のどれか 例 ibm|ms|apple ():グループ化  例 明日(ぼく|わたし)は帰宅します [A-Z0-9] : アルファベットと数字1文字 [^A-Z] : アルファベット以外の1文字
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

sysctl.conf limits.conf

[root@yminf-ems0001-s tmp]# cat /etc/sysctl.conf # sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/. # # Vendors settings live in /usr/lib/sysctl.d/. # To override a whole file, create a new file with the same in # /etc/sysctl.d/ and put new settings there. To override # only specific settings, add a file with a lexically later # name in /etc/sysctl.d/ and put new settings there. # # For more information, see sysctl.conf(5) and sysctl.d(5). kernel.randomize_va_space = 2 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.default.secure_redirects = 0 net.ipv4.conf.all.log_martians = 1 net.ipv4.conf.default.log_martians = 1 net.ipv4.conf.default.rp_filter = 1 net.ipv6.conf.all.accept_ra = 0 net.ipv6.conf.default.accept_ra = 0 kernel.panic = -1 kernel.sem = 500 32000 100 128 kernel.shmmax = 10737418240 kernel.shmall = 5242880 net.ipv4.ip_local_port_range = 11000 65000 net.core.netdev_max_backlog = 5000 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.ipv4.tcp_wmem = 4096 12582912 16777216 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.tcp_rmem = 4096 12582912 16777216 net.core.somaxconn = 1024 net.ipv4.tcp_max_syn_backlog = 8096 net.ipv4.tcp_slow_start_after_idle = 0 net.ipv4.tcp_tw_reuse = 1 kernel.shmmni = 4096 fs.aio-max-nr = 4194304 fs.file-max = 6815744 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.ip_forward = 0 kernel.panic_on_oops = 1 [root@yminf-ems0001-s tmp]# cat /etc/security/limits.conf # /etc/security/limits.conf # #This file sets the resource limits for the users logged in via PAM. #It does not affect resource limits of the system services. # #Also note that configuration files in /etc/security/limits.d directory, #which are read in alphabetical order, override the settings in this #file in case the domain is the same or more specific. #That means for example that setting a limit for wildcard domain here #can be overriden with a wildcard setting in a config file in the #subdirectory, but a user specific setting here can be overriden only #with a user specific setting in the subdirectory. # #Each line describes a limit for a user in the form: # #<domain> <type> <item> <value> # #Where: #<domain> can be: # - a user name # - a group name, with @group syntax # - the wildcard *, for default entry # - the wildcard %, can be also used with %group syntax, # for maxlogin limit # #<type> can have the two values: # - "soft" for enforcing the soft limits # - "hard" for enforcing hard limits # #<item> can be one of the following: # - core - limits the core file size (KB) # - data - max data size (KB) # - fsize - maximum filesize (KB) # - memlock - max locked-in-memory address space (KB) # - nofile - max number of open file descriptors # - rss - max resident set size (KB) # - stack - max stack size (KB) # - cpu - max CPU time (MIN) # - nproc - max number of processes # - as - address space limit (KB) # - maxlogins - max number of logins for this user # - maxsyslogins - max number of logins on the system # - priority - the priority to run user process with # - locks - max number of file locks the user can hold # - sigpending - max number of pending signals # - msgqueue - max memory used by POSIX message queues (bytes) # - nice - max nice priority allowed to raise to values: [-20, 19] # - rtprio - max realtime priority # #<domain> <type> <item> <value> # #* soft core 0 #* hard rss 10000 #@student hard nproc 20 #@faculty soft nproc 20 #@faculty hard nproc 50 #ftp hard nproc 0 #@student - maxlogins 4 * soft core unlimited * hard core unlimited * soft nproc 4096 * soft nofile 65536 * hard nofile 65536 root soft nofile 65536 root hard nofile 65536 root soft nproc unlimited root hard nproc unlimited oracle soft nofile 65536 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 10240 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft memlock 18874368 oracle hard memlock 18874368 # End of file
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Xubuntu21.04にNeovimをインストールしてエイリアスを設定する話

初めに 本記事は、neovimを導入しエイリアスを設定するまでの一連の流れを解説した記事です。 「低スペックノートPCに Xubuntu21.04 を minimal install して fish を入れたお話」で作成した環境を利用しています。 Ubuntu系列のLinux環境であれば同じように導入することができます。 neovimとは neovimについてざっくりまとめます。 vimから派生したテキストエディタ 拡張性が高い 自分好みにカスタマイズできる ~/.config/nvim/init.vim に設定を書き込むことによって、自分の使いやすいようにカスタムできます。 いろいろなサイトを見ていると「vimで満足できなければneovimへ」といった印象を受けます。 詳しく知りたい人は「neovim とは何か? | Vim入門」などで調べてみてください。 エイリアスとは UNIX系におけるエイリアスをザックリ解説します。 エイリアス(英:alias)とは、別名や偽名を表す英単語です。 エイリアスを設定することによって、コマンド名などの別名を登録できます。 下記はエイリアスを設定した例です。 py3と入力するとpython3コマンドが起動するように設定する 本記事では、viコマンドでneovimが起動するようにエイリアスを設定します。 詳しく知りたい人は「エイリアスとは - IT用語辞典 e-Words」などで調べてみてください。 neovimのインストール インストールするには次のコマンドを入力します。 command $ sudo apt install -y neovim neovim を利用するコマンドは nvimコマンド になります。 次のコマンドで neovim のバージョンを確認します。 command $ nvim --version vi や vim と同じく次のようなコマンドでファイルの編集が可能です。 command $ nvim hello.txt vim・nvimの便利コマンド入門〜中級レベルまで エイリアスの設定 viコマンドでneovimが起動するように設定します。 今回の環境ではfishを利用しているので、config.fishファイル にエイリアスを書き込みます。 パスは次の通りです。「user/」は各環境のユーザー名になります。 path /home/user/.config/fish/config.fish パスが長いのでcdコマンドでディレクトリを移動しても構いません。 viコマンド を利用して編集します。 viの使い方がわからない人は「まずは超基本だけ! viの基本的な使い方【Linux入門】」などを参考にしてください。 command $ vi /home/user/.config/fish/config.fish エイリアスの設定には alias 入力するコマンド名='動作させるコマンド名' と書き込みます。 viコマンドでnvimコマンドを動作させたいので、書き込む内容は以下の通りです。 config.fish alias vi='nvim' これで次回ログイン時から設定が適応されます。 設定をすぐに適応するにはsourceコマンドを使用します。 コマンドは次の通りです。 command $ source /home/user/.config/fish/config.fish sourceコマンドについては「【 source 】コマンド/【 . 】コマンド――シェルの設定を即座に反映させる」を参照してください。 まとめ 今回行った手順は以下の通りでした。 sudo apt で neovim をインストール config.fish に alias を書き込む source で config.fish を適用する インストールする対象が変わったとしても、一連の流れは変わりません。 Linuxコマンドになれるために、積極的にコマンドを利用しましょう。 次回はneovimをより使いやすくするために、カスタマイズしていきます。 参考 viコマンド:まずは超基本だけ! viの基本的な使い方【Linux入門】 vim, nvimコマンド:vim・nvimの便利コマンド入門〜中級レベルまで neovim:neovim とは何か? | Vim入門 エイリアス:エイリアスとは - IT用語辞典 e-Words sourceコマンド:【 source 】コマンド/【 . 】コマンド――シェルの設定を即座に反映させる
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【シェル】ディレクトリを再帰的にリストし、コマンドサーチパス型式に整形して出力する

ネットで落としてきたフリーのツール類、アーカイブを解凍してみたら、実行ファイルが1つだけと思いきや、実行ファイルや DLL ファイル、そのほか設定ファイルと思わしきものなどが解凍されたディレクトリ以下に複数ディレクトリ/ファイルとして格納されていて、どれがラインタイムで必要なものか判らない。 そんなことがたまにある(bind9 とか nmap とか)。 こんなとき、メンドくさいから、解凍してできたトップディレクトリを丸ごと /usr/local/bin なんかにストアするのだけど、こんなのが複数ある場合に、それぞれに PATH を通すのは面倒だし、その後も同種のツールが増える都度、PATH に追加するのはさらに面倒。 例えば /usr/local/bin の下に、 /usr/local/bin/tool_1/ /usr/local/bin/tool_2/ /usr/local/bin/tool_3/ /usr/local/bin/tool_3/subDir のようにディレクトリがある場合には、それらのサブディレクトも含めて、 PATH=$PATH:/usr/local/bin/* のようなイメージで記述すれば、一発で、 PATH=$PATH:/usr/local/bin:/usr/local/bin/tool_1:/usr/local/bin/tool_2:/usr/local/bin/tool_3:/usr/local/bin/tool_3/subDir のように展開されれば楽なのに。 そこで、あるディレクトリ以下のサブディレクトリを再帰的にリストして、それらを':'で区切られた1行のテキスト(「コマンドサーチパス型式」と表現してみる)に整形できれば、と考えた。 先哲の知恵を求めて色々ネットをググったのだが見つからない。 そこで、ここ( https://hacolab.hatenablog.com/entry/2019/07/29/235312 )なども参考にして、こんなコマンドラインを発案。 \$ find /usr/local/bin -type d -print | sed -e ':loop' -e 'N; $!b loop' -e 's/\n/:/g' 結果は良好。 これをバッククオートで挟んで、.bash_profile なんかに PATH=\$PATH:`find /usr/local/bin -type d -print | sed -e ':loop' -e 'N; \$!b loop' -e 's/\n/:/g'` と書いとけば、期待通りのコマンドサーチパスが $PATH にセットされる。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

終わった感ある EZmp3

iphone と Linux を簡単リンクさせ便利だった EZmp3 ファイル転送ボタンが表示されない不具合が多発しています。 音楽ファイルのみの話題に絞っています。 人によってはブラウザーの フラッシュやポップアップの許可で表示されるという方もいるようですが そもそもサーバー間のファイル転送に頼っていたので フラッシュ廃止やクッキー廃止、制限などの影響で ブラウザ由来の「終了の予感」があります。 iphone+Linux利用の他の方法は? itunes は直にはLinux に入りませんから *Wine + itunes *VirtualBox上のWindowsにiTunes *gtkpod (iphone4S未対応) それぞれクセがあって大変そうです・・・ iphone Apple はそもそもLinuxでは使いにくかったので *結論 iphone で音楽を聞きたかったら Windowsにitunes入れようか? という大変残念な結論に達するまで3日かかりました・・・orz *追伸 File同期ソフト Syncthingに Android windows MacOS iOS Linux 用のインストーラーがあるようです。  どのようなものか?  とりあえず Android-Linux から使ってみます。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む