Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A

1
.bash_profileのコピーが複数ありますが、実際に使用されているのはどれですか?(もしあれば)
ある時点で台無しになったと思うし.bash_profile、今は複数あると思う。シェルをカスタマイズしようとしていますが.bash_profile、どちらを使用するかはわかりません。.bashrcファイルがより頻繁に使用されると思いましたか? OSXを実行しています-El Capitan ls -la | more total 480 -rw------- 1 Matthew staff 6404 Feb 16 23:57 .bash_history -rw-r--r-- 1 Matthew staff 719 Jan 19 20:18 .bash_profile -rw-r--r-- 1 Matthew staff 335 Oct 7 12:35 .bash_profile.macports-saved_2017-01-19_at_20:18:05 -rw-r--r-- 1 Matthew staff 167 Jul 16 2015 .bash_profile.pysave drwxr-xr-x 208 Matthew staff 7072 …
12 shell  bashrc 

3
「$ {PS1-}」は有効な構文であり、プレーンな「$ PS1」とどのように違いますか?
私が持っているスクリプトを見ています: if [ "${PS1-}" ]; then -PosixやBashの標準構文には見えないので、この最後のバグは少し気になります。それは永遠に存在していたこの難解な構文ですか、それともタイプミスですか?標準/ドキュメントへの参照をいただければ幸いです。 通常、私はそれをコーディングします: if [ "$PS1" ]; then どちらが正しいのですか、それとも違いがありますか?

2
成長するLVMルート
LVM(luks)ルートパーティションを次のように成長させようとしました。 lvresize -L +5G -r /dev/vg/lv-root そして、ファイルシステムはマウントされているために成長しないことがわかりました。今これを見つけた https://ubuntuforums.org/showthread.php?t=1537569 それは私が何か他のものから起動するべきだと言う resize2fs /dev/vg/lv-root <size> 私の質問は次のとおりです。サイズを省略して、ファイルシステムにパーティションをいっぱいにすることはできますか?私はそれを試してみますが、物事を台無しにすることを恐れています。(最新の)Archとファイルシステムの使用はext4です。
12 linux  debian  lvm 

2
grepを使用して行の最後のアイテムを見つける
特定のパターンのgrepを使用して、最後の単語またはフレーズを取得しようとしています。この例では、最後のコンマから行末までになります。 Blah,3,33,56,5,Foo 30,,,,,,,3,Great Value したがって、その行に必要な出力は「Great Value」になります。すべての行の長さも異なりますが、最後の単語の前には常に単一のコンマがあります。 基本的に、最後のコンマから行末までを単純に出力したいと思います。ありがとうございました!

3
cronによって再び開始されるまで、特定の時間にスクリプトを停止する方法は?
OSMC(Debianベース)を実行しているRaspberry Piがあります。 スクリプトsync.shを真夜中に開始するようにcronジョブを設定しました。 0 0 * * * /usr/local/bin sync.sh スクリプトを午前7時に停止する必要があります。現在、私は使用しています: 0 7 * * * shutdown -r now もっと良い方法はありますか?再起動はやり過ぎだと思います。 ありがとう
12 debian  cron  shutdown 


2
bluez:bluetoothヘッドフォンは切断後に再接続できません
Bluetoothヘッドセットをラップトップと一度ペアリングできます。しかし、ヘッドセットを取り外すと、再度接続することはできません。唯一の方法は、bluetoothデーモンを再起動することです。 service bluetooth restart それを行うと、ログに次のように表示されます。 bluetoothd: Terminating bluetoothd: Stopping hci0 event socket bluetoothd: Stopping SDP server bluetoothd: Exit bluetoothd: Bluetooth daemon 4.99 bluetoothd: Starting SDP server bluetoothd: Excluding (conf) network bluetoothd: Excluding (conf) gatt_example bluetoothd: Excluding (conf) time bluetoothd: Excluding (conf) alert bluetoothd: Failed to open RFKILL control device bluetoothd: …

2
この `grep -v`が期待どおりに機能しないのはなぜですか?
grep -vクエリに関連する奇妙な問題があります。説明させてください: 私が使用する接続を表示するにはwho: $ who harry pts/0 2016-12-08 20:41 (192.168.0.1) james pts/1 2016-12-08 19:28 (192.168.0.1) timothy pts/2 2016-12-08 02:44 (192.168.0.1) tty私の端末の電流はpts/0 $ tty /dev/pts/0 $ tty | cut -f3-4 -d'/' pts/0 を使用して自分の接続を除外しようとしましたgrep -v $(tty | cut -f3-4 -d'/')。このコマンドの期待される出力はwho、接続なしでになります。ただし、出力は最も予期しないものです。 $ who | grep -v $(tty | cut -f3-4 -d'/') grep: a: …
12 command-line  grep  tty 

1
ファイルの過去の終わりを読み取ってデータを回復する
非常に古い.swpファイルは、編集していたファイルを元に戻したため、大幅に短くなりました。それ以来、私はそのディレクトリで何もしていないので、ファイルの終わりの直後のバイトにはまだデータがあるはずです。特定のメモリアドレスからNバイトを読み取るためにどの関数を使用できますか?ddそして、read私はオプションのどこかを逃していない限り、ファイルの境界で停止します。 現在のファイルサイズは3.2 KBです。切り捨てられる前のファイルの大きさを正確には覚えていませんが、おそらく10 KB以下です。ファイルの境界を無視して、ファイルの先頭から10 KBを読み取るにはどうすればよいですか?最初から始める必要がない限り、データが完全に保存されていなくても問題ありません。

2
HTMLの代わりにバイナリを返すWget?
wgetを使用して静的なHTMLページをダウンロードしています。W3C Validatorは、ページがUTF-8でエンコードされていることを教えてくれます。それでも、ダウンロード後にファイルをcatすると、大量のバイナリナンセンスが得られます。私はUbuntuを使用していますが、デフォルトのエンコーディングはUTF-8だと思いましたか?それは私のロケールファイルが言っているようです。なぜこれが起こっているのですか、どうすれば修正できますか? また、のように見えますContent-Encoding: gzip。おそらくこれは差分になりますか? これは簡単なリクエストです: wget https://www.example.com/page.html 私もこれを試しました: wget https://www.example.com/page.html -q -O - | iconv -f utf-16 -t utf-8 > output.html 返されたもの: iconv: illegal input sequence at position 40 ファイルをcat'ingすると、次のようなバイナリが返されます。 l�?חu�`�q"�:)s��dġ__��~i��6n)T�$H�#���QJ 結果xxd output.html | head -20: 00000000: 1f8b 0800 0000 0000 0003 bd56 518f db44 ...........VQ..D 00000010: 107e a6bf 62d4 …

1
PATH上でプログラムの完全なパスを確実に見つけるにはどうすればよいですか?
PATHシェルスクリプトを使用して、特定のプログラムのパスを見つける必要があります。パスは次のいずれかに後で渡すことができるプログラムの実際の完全なパスでなければなりませんexec*検索しない機能、PATH例えば、自分自身をexecv。 のようなプログラムがあります。これらのプログラムkillは、実際のプログラムとシェル組み込みとして同時に利用できます。この場合、実際のプログラムへの完全なパスが必要です。 セクション2.9.1.1、POSIX標準のコマンド検索と実行でPATH指定されているようにプログラムを見つけることができるユーティリティがいくつかあります。 がありwhich、これは標準の一部ではありません。一部のシステムでは通常のプログラムである場合がありますが、一部のシェルでは組み込みです。ほとんどのシステムとシェルで使用できるようですが、組み込みバージョンのシェルも、実行可能ファイルへのパスではなく、組み込みの名前を返すだけです。また、いかなる方法でも標準化されておらず、出力を返したり、異なるオプションを使用したりする場合があります。 bash# which kill /usr/bin/kill dash# which kill /usr/bin/kill fish# which kill /usr/bin/kill mksh# which kill /usr/bin/kill tcsh# which kill kill: shell built-in command. zsh# which kill kill: shell built-in command あるwhenceいくつかのシェルのビルトインされています、。ただし、多くのシェルでは使用できません。プログラムへのパスではなく、組み込みの名前も返します。A -pをwhenceに渡して、この動作を変更できます。 bash# whence kill bash: whence: command not found dash# whence kill dash: 1: whence: …
12 shell  path 


1
SIGINTシグナルをトラップしようとするとエラーメッセージが表示されるのはなぜですか?
以下のスクリプトを実行して、lftpを使用してサーバーからファイルを自動的にダウンロードしています。動作するときにエラーメッセージが表示されることを除いて動作します trap: SIGINT: bad trap SIGINTとSIGTERMをINTとTERMに置き換えると機能しますが、同じ目的を達成できるかどうかはわかりません。これはLinux Debian 4.9.2-10にあります。 #!/bin/sh login="login" pass="password" host="server.server.com" remote_dir='~/remote/dir' local_dir="/local/dir" base_name="$(basename "$0")" lock_file="/tmp/$base_name.lock" trap "rm -f $lock_file" SIGINT SIGTERM if [ -e "$lock_file" ] then echo "$base_name is running already." exit else touch "$lock_file" /usr/bin/lftp -p 22 -u "$login","$pass" sftp://"$host" << EOF set sftp:auto-confirm yes set …
12 shell  trap 

2
viのようなhjklキーでzshのタブ補完メニューをナビゲートできますか?
zshのメニューベースのタブ補完を使用します。Tab一度押すと、可能な補完のリストが表示されます。Tabもう一度押すと、矢印キーでこのリストをナビゲートできます。しかし、それはそれらをナビゲートすることが可能となるvi様H、J、K、L代わりにキー? コマンドライン入力には、bindkey -ein を使用してemacsモードを使用し~/.zshrcます。また、zshでzimを使用しています。関連する場合、タブ補完システムを指定するコマンドはこちらです。

2
パーティションデバイス名からブロックデバイス名を取得する方法は?
/dev/sdaパーティションデバイス名(例/dev/sda1)を指定して、親ブロックデバイス名(例)を取得するポータブルな方法を探しています。私は最後のキャラクターを落とすことができることを知っていますが、場合によってはうまくいかないでしょう: MMCカードリーダーには通常、などの名前が付いていますが/dev/mmcblk0、パーティションには/dev/mmcblk0p1(余分に注意してくださいp)のような名前が付いています。 オプション:一部のブロックデバイスにはパーティションテーブルがまったくなく、単一のパーティションとしてフォーマットされています。この場合、パーティションデバイスと親ブロックデバイスは同じです。 LVMボリュームは、まったく異なるケトルです。私は今それらをサポートする必要はありませんが、それらを考慮に入れるのに余分な努力がほとんど必要ないなら、私は気にしません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.