Unix & Linux

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

6
ファイル内の行数を数える
これを行うには多くの方法があると確信しています:テキストファイルの行数をどのように数えることができますか? $ <cmd> file.txt 1020 lines

7
STDINをカラーコードを削除してSTDOUTに渡すプログラム
出力をカラーで生成するコマンドがあり、カラーコードを削除したファイルにパイプで送信したいと思います。catカラーコードを削除する以外は同じように機能するコマンドはありますか?私はこのようなことをする予定です: $ command-that-produces-colored-output | stripcolorcodes > outfile
64 colors  pipe  filter 

4
なぜ `[`はシェル組み込みコマンドで、 `[[`はシェルキーワードですか?
私の知る限り、[[はの拡張バージョンです[が[[、キーワード[として表示され、組み込みとして表示されると混乱します。 [root@server ~]# type [ [ is a shell builtin [root@server ~]# type [[ [[ is a shell keyword TLDPは言う ビルトインは同じ名前のシステムコマンドの同義語である場合がありますが、Bashは内部的に再実装します。たとえば、Bashのechoコマンドは/ bin / echoと同じではありませんが、動作はほとんど同じです。 そして キーワードは、予約語、トークン、または演算子です。キーワードはシェルにとって特別な意味を持ち、実際、シェルの構文の構成要素です。例として、for、while、do、および!キーワードです。ビルトインと同様に、キーワードはBashにハードコーディングされますが、ビルトインとは異なり、キーワードはそれ自体がコマンドではなく、コマンド構成のサブユニットです。[2] それは両方[と[[キーワードを作るべきではありませんか?ここに欠けているものはありますか?また、このリンクの両方のことを再断言[とは[[同じ種類に属している必要があります。

14
lnのパラメーターの順序を記憶するためのヒント?
私はln何年もシンボリックリンクを書いてきましたが、それでもパラメーターの順序は間違っています。 これは通常私に書いています: ln -s a b そして出力を見て自分自身を思い出させます。 私はa -> bそれが実際に反対であるとき、私はそれを読んでいるように常に想像していますb -> a。これは直観に反しているように感じられるので、私は常に自分自身を推測していることがわかります。 正しい順序を覚えておくのに役立つヒントはありますか?
64 symlink  ln 


14
mount.nfs:Ubuntuマシンにマウント中にサーバーによって拒否されたアクセス?
私は生産中に3台のマシンを持っています- machineA 10.66.136.129 machineB 10.66.138.181 machineC 10.66.138.183 そして、それらのすべてのマシンにはUbuntu 12.04がインストールされており、これら3つのマシンすべてにルートアクセスできます。 今、私は上記のマシンで以下のことをすることになっています- Create mount point /opt/exhibitor/conf Mount the directory in all servers. sudo mount <NFS-SERVER>:/opt/exhibitor/conf /opt/exhibitor/conf/ /opt/exhibitor/conf上記のように、これら3つのマシンすべてにディレクトリをすでに作成しました。 現在、マウントポイントを作成しようとしています。だから私は以下のプロセスに従った- 上記の3つのマシンすべてにNFSサポートファイルとNFSカーネルサーバーをインストールします。 $ sudo apt-get install nfs-common nfs-kernel-server 上記の3つのマシンすべてに共有ディレクトリを作成します $ mkdir /opt/exhibitor/conf/ /etc/exports上記の3つのマシンすべてで、このようなエントリを編集して追加しました- # /etc/exports: the access control list for filesystems which may be exported …
64 linux  ubuntu  mount  nfs 

3
scpと圧縮を同時に、中間保存なし
正規の方法は何ですか: scp リモートロケーションへのファイル 転送中のファイルを圧縮します(tarまたは、単一のファイルまたはフォルダー全体、7zaまたはさらに効率的な何か) 中間ファイルを保存せずに上記を行います 私はこのようなシェルパイプに精通しています: tar cf - MyBackups | 7za a -si -mx=9 -ms=on MyBackups.tar.7z 基本的に: フォルダー全体を1つにまとめる tar 介してデータを渡すstdoutにstdin圧縮プログラムの 積極的な圧縮を適用する sshリンクを介してこれを行う最良の方法は何ですか?リモートファイルシステムにファイルがランディングしますか? sshfsマウントしない方が好きです。 これは動作しません: scp <(tar cvf - MyBackups | 7za a -si -mx=9 -so) localhost:/tmp/tmp.tar.7z なぜなら: /dev/fd/63: not a regular file
64 ssh  tar  scp  7z 



4
grepを使用して完全に一致する文字列
テキストファイルがあります。 deiauk 1611516 afsdf 765 minkra 18415151 asdsf 4152 linkra sfsfdsfs sdfss 4555 deiauk1 sdfsfdsfs 1561 51 deiauk2 115151 5454 4 deiauk 1611516 afsdf ddfgfgd luktol1 4545 4 9 luktol 1 そして、私は正確に一致したいdeiauk。私がこれを行うとき: grep "deiauk" file.txt 私はこの結果を得ます: deiauk 1611516 afsdf 765 deiauk1 sdfsfdsfs 1561 51 deiauk2 115151 5454 4 しかし、私はこれだけが必要です: deiauk …
64 grep 




1
最近の企業コンピューターでの起動中のクラッシュ
最近の更新の後、コンピューターが起動しなくなりました!ここに私が決定できるものがあります: これは、企業ITから提供されたごく最近のコンピューターです。最新のIntel CPU(Skylake世代)が搭載されています。 コンピューターはUbuntu 16.04を実行します。 コンピューターは3月に最後に正しく起動しました。この問題は、おそらくソフトウェアの更新またはハードウェアのバグが原因です。 16.04を実行している別のコンピューターで、ほとんど同じソフトウェアがインストールされています(使用しましたapt-clone)が、正常に動作します。異なるハードウェア(amd64ですが、異なるCPU、異なるGPUなど)があります。 カーネルは起動し、initrdは正しく動作します。グラフィックモードでスプラッシュスクリーンで起動すると、dm-cryptボリュームのパスワードの入力を求められますが、最後に表示されるのは、正常にマウントされたことです。 ログインプロンプトが表示される前にハングします。コンピューターがハングすると、ハードハングになります。Alt+ でもSysRq応答しません。ファンが完全にオンになるので、CPUは明らかに100%に固定されています。 再起動する前に実行していたカーネルがまだあります。Grubメニューでこのカーネルを選択すると、同じロックアップが得られます。したがって、これは既存のカーネルバグであり、他の何かによってトリガーされるように見えますが、それは何ですか? スプラッシュスクリーンをオフにすると(Grub splashのlinuxコマンドラインから削除)、多数のサービスが開始され、ロックされます。 Grubのコマンドラインに追加init=/bin/shすることで、ルートシェルを取得できますlinux。さらに追加することでさらに取得できます systemd.unit=basic.target systemd.shell これにより、多数のサービスが開始され、tty9でルートシェルが実行されます。 systemctl start multi-user.targetそのルートシェルから実行すると、コンピューターがロックします。したがって、これらのサービスのいずれかによって問題が引き起こされていると考えられます。 systemctl list-dependencies multi-user.targetどのサービスが開始されるかを確認するために走りました。リストされた依存関係を1つずつ手動で開始し、すべてが正常に開始されました。 そのため、これはハードウェアのバグのように見えます(1台のコンピューターでは発生しますが、他のコンピューターでは発生しないため)。一部のソフトウェアによってトリガーされます。しかし、どのソフトウェアですか?コンピューターが非常に激しくロックするため、ログを取得できません。有用なコンソール出力も取得できません。 便利なデバッグ手法: Alt+ SysRq:マジックSysRqキー。緊急リブートなどを実行できます。非常に低いレベルでカーネルにアクセスするため、最悪のクラッシュ以外のすべてで機能します。私の場合、Alt+ SysRqは応答しません。これは、クラッシュの深さを示しています。 ブートパラメータを変更するにはShift、電源を入れた後、数秒間押し続けます。BIOSがキーボードを初期化した後、オペレーティングシステムが起動する前に押す必要があります。これにより、Grubメニューが表示されます。 Grubメニューで、を押しeてメニューエントリのコマンドラインを編集します。Linuxブートパラメーターを変更するには、で始まる行に移動しますlinux。最新のUbuntuでは、「Ubuntuの詳細オプション」の下に古いカーネルがあります。コマンドラインに必要な変更を加えたら、Ctrl+ xを押して起動します。ここで行った変更は、このブート専用であり、ディスクには保存されません。 linuxコマンドラインのいくつかの便利なオプション: quiet nosplashほとんどすべてのブートメッセージを非表示にします。それらを削除して、ブート中にコンソールにメッセージを取得します。これは、問題を診断する機会を得るために必要です。 recoveryサービスがほとんどないルートシェルを提供します。ルートパスワードを知る必要があります。「リカバリモード」メニューエントリはこれを使用します。 init=/bin/shサービスのないルートシェルを提供します。通常の起動を再開するには、を実行しexec initます。この時点で、systemdオプションを渡すことができます。たとえばexec init --unit=basic.target、initおよびいくつかのサービスを開始します(これはログインする方法を開始しないため、別のコンソールでシェルを実行することをお勧めします)。ルートファイルシステムは読み取り専用でマウントされていることに注意してください。mount -o remount,rw /それに書き込むことができるように実行します。 systemd.unit=basic.target非常に基本的なサービスセットを開始します。これにはログインする方法が含まれていないことに注意してください!これをデフォルトにするにsystemctl set-default basic.targetは、ルートプロンプトで実行します。元のデフォルトのターゲットを復元するには、実行しますsystemctl set-default graphical.target(またはsystemctl set-default multi-user.targetGUIのない​​サーバーの場合)。 systemd.debug-shelltty9でルートシェルを開始します。systemctl …

3
Unixが「自立」しているのはなぜですか?
Unixファイルシステムに関するリッチーとトンプソンの論文を読んでいました。彼らは「システムが完全に自立していることは注目に値する」と書いています。Unix以前のシステムは自立していませんでしたか?どんな風に?

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