Unix & Linux

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

2
別のユーザーにメッセージを送信する
Linuxシェルを介して同じネットワーク上の他の人にメッセージを送信するコマンドはありますか?私はwrite userメッセージ自体を使用してから書き込みます。しかし、ユーザー名が表示されないコマンドや、メッセージを送信しようとしているコマンドがあります 私が使用しているコマンドは、これを連絡しようとしているユーザーに表示します(Webから取得したコード): Message from root@dev.example.com on pts/1 at 17:11 ...

3
ファイルがディレクトリへのシンボリックリンクであるかどうかを確認するにはどうすればよいですか?
ファイルが存在し、-Lのシンボリックリンクであるかどうかを確認できます。 for file in *; do if [[ -L "$file" ]]; then echo "$file is a symlink"; else echo "$file is not a symlink"; fi done また、-dを使用したディレクトリの場合: for file in *; do if [[ -d "$file" ]]; then echo "$file is a directory"; else echo "$file is a regular file"; …
64 bash  shell  test 

8
「mv:引数リストが長すぎます」を解決しますか?
並べ替えが必要な100万を超えるファイルを含むフォルダーがありますが、mvこのメッセージは常に出力されるため、実際には何もできません。 -bash: /bin/mv: Argument list too long このコマンドを使用して、拡張子のないファイルを移動しています。 mv -- !(*.jpg|*.png|*.bmp) targetdir/
64 bash  shell  arguments  mv 

4
Cコンパイラをゼロからコンパイルし、Unix / Linuxをゼロからコンパイルする方法
アメリカ/イギリス以外の大規模なサービス組織で働いているとしましょう。UNIXサーバーとLinuxサーバーを幅広く使用しています。 この記事を読むと、Cコンパイラにバックドアを簡単に挿入でき、そのコンパイラでコンパイルされたコードにもバックドアが含まれることに言及しています。すべての暗号化方法、ハードウェア、およびソフトウェアにバックドア/弱点を置くというNSA / GCHQの命令に関する最近のリークを考えると、コンパイラは障害の重大なポイントになりました。すべての標準UNIX / Linixディストリビューションが危険にさらされる可能性があります。システム、データ、および顧客データを不正な政府によって侵害することはできません。 この情報を基に、信頼できるコンパイラをゼロから構築したいと考えています。その後、そのコンパイラを使用してソースコードからオペレーティングシステムとアプリケーションを構築できるように、安全な基盤を構築します。 質問 ソースコードからコンパイラをコンパイルし(一見鶏卵のシナリオ)、信頼できるUnix / Linuxディストリビューションをゼロからコンパイルするための正しい(そして安全な方法)は何ですか? 私や他の人がセキュリティ欠陥のソースコードを読んで理解する能力を持っていると仮定できるので、ソースコードはコンパイルする前に最初に吟味されます。私が本当に望んでいるのは、このコンパイラをゼロから安全に作成し、カーネル、OSのその他の部分、およびアプリケーションをコンパイルするために使用できる作業ガイドです。 セキュリティスタックは、そのスタックで実行されているオペレーティングシステムまたはアプリケーションに自信がある場合、ベースレベルで開始する必要があります。はい、ハードウェアのバックドアがあり、ビルド中にコンパイラにマイクロコードを挿入する可能性があることを理解しています。現時点では、米国で設計されていないチップを使用することを除いて、私たちができることはあまりありません。このレイヤーを最初にソートして、バックドアが挿入される前に古いコンピューターで構築できると仮定します。 ブルース・シュナイアーが言うように:「エンジニアに対して、私はこう言います。私たちはインターネットを構築し、私たちの何人かはそれを破壊するのを助けました。今、自由を愛する私たちはそれを直さなければなりません。」 追加リンク: http://nytimes.com/2013/09/06/us/nsa-foils-much-internet-encryption.html?pagewanted=all&_r=0 http://theguardian.com/commentisfree/2013/sep/05/government-betrayed-internet-nsa-spying

5
シンボリックリンクを編集するにはどうすればよいですか?
シンボリックリンクの私の基本的な理解は、特別なファイル、別のファイルへの文字列パスを含むファイルとしてです。カーネルのVFSはその多くを抽象化しますが、シンボリックリンクを編集できないように見える理由はありますか? つまり、シンボリックリンクを編集できますか?そうでない場合は、なぜですか? シンボリックリンクを置き換える方法はいろいろありますが(現在2つの選択肢が回答セクションにあります)、置換がシンボリックリンクを処理する唯一の方法であるように見える理由についての説明を得ることは興味深いでしょう。それらが指す場所を変更できないのはなぜですか?

2
シンボリックリンクの再帰-何がそれを「リセット」しますか?
同じディレクトリを指すシンボリックリンクをたどっていくとどうなるかを確認するために、小さなbashスクリプトを書きました。非常に長い作業ディレクトリを作成するか、クラッシュすることを期待していました。しかし、結果は私を驚かせました... mkdir a cd a ln -s ./. a for i in `seq 1 1000` do cd a pwd done 出力の一部は ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a ${HOME}/a/a ${HOME}/a/a/a ${HOME}/a/a/a/a ${HOME}/a/a/a/a/a ${HOME}/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a ここで何が起きてるの?
64 bash  symlink 

7
シェルスクリプトが失敗する:構文エラー:“(”予期しない
Raspberry Pi開発用の開発環境のセットアップを自動化するスクリプトに取り組んでいます(詳細な手順については、こちらをご覧ください)。スクリプトはその記事にリンクされていますが、利便性はこちらからも見つけることができます。これで、このスクリプトを実行すると、エラーなしで環境がインストールおよびセットアップされますが、デフォルトではsudoのタイムアウト値のため、sudoパスワードを複数回入力する必要があります。そこで、すべてのsudo行を削除し、コマンドラインでsudoを使用してスクリプト全体を実行することで、実験を開始しました。 kemra102@ubuntuvm:~$ sudo ./pi_dev_env_install.sh これは期待どおりに機能し、この時点までほとんどの方法を通過します。 ./pi_dev_env_install: 68: ./pi_dev_env_install.sh: Syntax error: "(" unexpected sudoを使用してスクリプト全体を実行しない場合、以前はこの行が正常に機能していました。sudoとして実行しているこの行については、私の知る限りそれを停止する必要はありません。

5
実行中のシステムからSATAディスクを安全に削除するにはどうすればよいですか?
ディスクをディスクベイに接続する必要がある場合があります。また、ラップトップでSATA-eSATAケーブルを使用してSSDを接続し、デスクトップから電源を引き出すという非常に奇妙なセットアップがあります。 システムからSATAディスクを安全に取り外すにはどうすればよいですか?このPhoronixフォーラムスレッドにはいくつかの提案があります。 justsumdoodの書き込み: An(noymous)droidは次の ように書きました:プラグを抜く前にソフトウェア側で何をしますか?単純な「umount / dev / sd」[ドライブ文字]ですか?デバイスをアンマウントした後、ユニットを「電源オフ」(またはスリープ)するには: hdparm -Y /dev/sdX (Xは電源をオフにするデバイスを表します。例:/ dev / sdb) これにより、ドライブの電源が切れ、電圧サージのリスクなしでドライブを取り外すことができます。 これは、ディスクキャッシュが適切にフラッシュされ、その後電源がオフになることを意味しますか? 同じスレッドからの別の提案: chithanhは次のように書いています: すべてのSATAおよびeSATAハードウェアは物理的にホットプラグ可能です(つまり、プラグを挿入/引き出しても損傷を受けません)。 チップセットとドライバーがこれをどのように処理するかは別の質問です。一部のドライバー/チップセットの組み合わせは、ホットプラグを適切に処理せず、次のようなwarmplugコマンドが必要です。 echo 0 - 0 > /sys/class/scsi_host/hostX/scan Xをお使いのSATA / eSATAポートの適切な番号に置き換えます。 正しい方法であるかどうかは疑わしいが、それに対する証拠も見つけられない。 だから、システムから接続されたディスクを削除する正しい方法は何ですか?ディスク上のすべてのパーティションを既にアンマウントして実行したと仮定しsyncます。可能であれば、いくつかの公式ドキュメントを参照してください。LinuxドキュメントツリーやLinux ATA wikiには何も見つかりませんでした。
64 ssd  sata  hot-plug  disk 

7
C:\ Program Filesに相当するLinuxとは何ですか?
WindowsとLinuxおよびUnixでは、プログラム|アプリケーション|ソフトウェアはどのディレクトリにもインストールできることを理解しています。また、パッケージがディストリビューションのパッケージシステムを使用してインストールされている場合、ファイルは正しい場所に配置されます。 ただし、ソフトウェアのインストール時に、ファイルを配置するパスの入力が求められる場合があります。Linuxディストリビューションの場合、このデフォルトの場所(C:\Program FilesまたはC:\progra~1同等のもの)はどこですか?さまざまなディストリビューションで異なりますか?はいの場合、これはどこRHELにSuseありUbuntuますか?

5
プログラムがアクセスしたファイルをリストする
time 特定のコマンドにかかるCPU時間を把握したい場合は、すばらしいコマンドです。 プログラムとその子によってアクセスされているファイルをリストできる類似のものを探しています。リアルタイムで、またはその後のレポートとして。 現在使用しているもの: #!/bin/bash strace -ff -e trace=file "$@" 2>&1 | perl -ne 's/^[^"]+"(([^\\"]|\\[\\"nt])*)".*/$1/ && print' ただし、実行するコマンドにが含まれる場合は失敗しますsudo。あまりインテリジェントではありません(既存のファイルまたは権限の問題があるファイルのみを一覧表示するか、読み取りファイルと書き込みファイルにグループ化できると便利です)。またstrace遅いので、より速い選択で良いでしょう。



1
pacmanでArchのパッケージを強制的に削除するにはどうすればよいですか?
pacman他のパッケージが依然依存している間にArchでパッケージを強制的に削除するにはどうすればよいですか。 pacman -R perl-libwww checking dependencies... error: failed to prepare transaction (could not satisfy dependencies) :: perl-app-cpanminus: requires perl-libwww>=5.828 :: perl-app-pmuninstall: requires perl-libwww :: perl-app-sd: requires perl-libwww :: perl-catalyst-action-rest: requires perl-libwww>=2.033 :: perl-catalyst-runtime: requires perl-libwww>=1.64 :: perl-cpan: requires perl-libwww :: perl-cpan-mini: requires perl-libwww :: perl-cpan-uploader: requires perl-libwww :: perl-feed-find: requires …

7
相対パス名へのシンボリックリンクを作成する
私がすることができます: $ pwd /home/beau $ ln -s /home/beau/foo/bar.txt /home/beau/bar.txt $ readlink -f bar.txt /home/beau/foo/bar.txt しかし、私はこれをできるようになりたいです: $ pwd /home/beau $ cd foo $ ln -s bar.txt /home/beau/bar.txt $ readlink -f /home/beau/bar.txt /home/beau/foo/bar.txt これは可能ですか?どういうわけか相対パス名を解決してそれを渡すことができlnますか?
64 symlink 


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