リモートLinuxシステムにログインし、コマンドを実行します。

リモートLinuxシステムにログインし、コマンドを実行します。

リモートLinuxシステムで実行されているディレクトリから最新の2つのファイルを除くすべてのファイルを削除するには、次のようにします。

cd /data
ls -1tr | head -n -2 | xargs -d '\n' rm -f --

リモートLinuxシステムにログインした後、これらのコマンドを手動で実行しますが、ログインとこ​​れらのコマンドの実行を1つのコマンドにまとめたいと思います。

ログイン場所を使用して同様の操作を実行し、scpファイルをローカルコンピュータのdirにscpしました/local/data

scp -i LightsailDefaultKey-eu-west-2.pem -r [email protected]:/data/ /local/data

上記のログインとコマンドと同様の操作を実行する方法はありますか?

cd /data
ls -1tr | head -n -2 | xargs -d '\n' rm -f --

ローカルコンピュータのリモートコンピュータで単一のコマンドを実行しますか?

ベストアンサー1

他のポスターに同意します。この種の構文解析を使用してはいけませんが、現在実行されている操作には機能するため、コマンドで-dスイッチを使用してフルディレクトリパスを取得することはlsできませんか?ls

さらに作業を行わない限り、作業ディレクトリを変更する理由はありません。このワイルドカードを追加する必要があります。

ssh user@host "ls -d1tr /data/* | head -n -2 | xargs -d '\n' rm -f --"

おすすめ記事