キーボード修理

イメージ
前回 調子が悪くなったと書きましたが、部品が手配できて時間が取れたので直しました。 茶軸のスイッチを購入 Cherryの茶軸は 10個で1,399- ということで購入。 本当は1個で充分なんだけど、仕方なく残りは予備部品として保管。 作業手順 キーボードの裏側ネジを3箇所外します。 左右と中央の丸シールの下。 左右はパッドを貼っているので、少しめくって外します。 (あとで綺麗に戻るので心配なしです) ケーブルが出ている方は、スッと外れ、手前(下側)は、内部に爪が有るので、ピックやカード、マイナスドライバなどで少し隙間を開けるようにして広げれば外れます。 自分は親指の爪で空きました。 今回は「E」が調子悪いので、該当のピン2箇所をハンダ吸いで綺麗に取り除いて、裏側から引き抜いて完了。 基板にしっかりとどのキーかがプリントされているので分かりやすいですねぇ 入手した新品の茶軸を差し込んでハンダ付けします。 この時点で動作確認が可能になるので、直したキーとその周辺が正しく入力できるのをチェック。 問題なく、無事に動作しました。 最後にカバーを取り付けて完了! 残ったのは9個の茶軸…。 今回の費用 Cherryの茶軸10個セット :1,399- キーキャップ引き抜き工具 : 475-  ちなみに10個セットには、簡易引き抜きがついてきますが、ちゃんとしたもののほうが楽に作業できます。(昔買ったのに、どこかに行ってしまったので再購入)  ということで、1900円ほどで完治しました。  手間賃考えると買ったほうが安いかも(笑)

findで条件に合わないものを探す

findってあんまり使わないけど…

今頃になって、知ったというか、調べたというか…。

一体何年使っているんだと言われそうなくらい初期の頃から使っているのに、こんな使い方したことなかったなぁと、自分でも驚いた。
忘れないとは思うけど、きっと同じような人がいるだろうと思うので、書いておく。

これまでの使い方

いままで、findを使う時って、
  • 特定の拡張子が含まれている
  • サイズが1MB以上
  • 何日前より古いファイル
  • 30分以内に編集したファイル
なんて使い方が多かった。

でもって、中身を検索するならgrepだし…。

もちろん、パイプも使うし、xargsも使ってきた。

今回、はて?と考えた事

今回相談があって、LibreOfficeで編集ができないファイルがある。とな…。
調べてみると、オーナーがnobodyになっている。
ちょいちょい不具合もあるので、根本原因は調査中だけど、編集できないのは困るというので、急ぎで修正する必要がある。

さて、user_aのホームフォルダ以下で、user_aがユーザではないファイルを探す…。
まず、思いついたのは findだよなぁと…。
# find /home/user_a -user user_a
これだと、user_aが所有者のファイルがリストアップされる。

あれ? 否定はどうするんだ???と
grep -v はよく使うけれど、findの条件否定って、よくよく考えると使ったことがないような気がする。(20年近くUNIX系触っているのに…)

まずは、Helpだよね。

$ find --help
使用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

デフォルトのパスはカレントディレクトリです。デフォルトの評価式 (expression) は -print です。評価式は演算子、オプション、テストおよびアクションで構成されます。

演算子 (優先順位は降順です。特に指定がない場合は -and が暗黙的に使用されます):
      ( EXPR )   ! EXPR   -not EXPR   EXPR1 -a EXPR2   EXPR1 -and EXPR2
      EXPR1 -o EXPR2   EXPR1 -or EXPR2   EXPR1 , EXPR2

位置オプション (常に真): -daystart -follow -regextype

通常オプション (常に真。他の評価式の前に指定します):
      -depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf
      --version -xdev -ignore_readdir_race -noignore_readdir_race

テスト (N は +N、-N または Nで指定します): -amin N -anewer FILE -atime N -cmin N
      -cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME
      -ilname PATTERN -iname PATTERN -inum N -iwholename PATTERN -iregex PATTERN
      -links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE
      -nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN
      -readable -writable -executable
      -wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
      -used N -user NAME -xtype [bcdpfls]

actions: -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print 
      -fprint0 FILE -fprint FILE -ls -fls FILE -prune -quit
      -exec COMMAND ; -exec COMMAND {} + -ok COMMAND ;
      -execdir COMMAND ; -execdir COMMAND {} + -okdir COMMAND ;

バグを発見した場合は findutils バグ報告ページ http://savannah.gnu.org/ を
使用して報告 (および修正の進捗を追跡) してください。Web を利用できない場合
は <bug-findutils@gnu.org> に E-mail を送ってください。

演算子のところに書いてあるじゃないか…。
terminalの高さが25行だと、ちょうどスクロールアウトするんだよね。

「!」か 「-not」を使えと。
$ find /home/user_a ! -user user_a
 これだけだった。
でもって、存在を確認して、chown するだけ。

まあ、滅多に使わないんだろうな。
次回はいつ使うのやら…。

調べていたら、他にも便利なものがあった

久々に、find --help なんてやったので、良く読んでみると、actionの最初に「-delete」なんて書いてある。

???

ぐぐってみたら、最近のfindには用意されているらしい。
自分の常識では、-exec rm {} か xargs rm と覚えていたのに…。
$ find ~/ -name '.lock.*' | xargs rm
の代わりに、
$ find ~/ -name '.lock.*' -delete
でOKなんだってさ…。
(ちなみに、LibreOfficeが作成するlockファイルの残骸をまとめて消す処理ですが)

読んでみるもんだな。

コメント

このブログの人気の投稿

WPS Officeで日本語入力ができない

VirtualBoxでUSBから起動

Ubuntu24.04 でGUIが死んだ