टैटी को कैसे ढूंढें जिससे एक विशेष cmd "scp" निष्पादित होता है


11

मैं कैसे पता लगा सकता हूं कि किसी विशेष कमांड को किसने चलाया और इसे चलाने के लिए किस टर्मिनल का उपयोग किया गया।


मूल :

मैं कैसे जान सकता हूं कि विशेष cmd को किसके द्वारा निष्पादित किया गया है और मेरे टर्मिनल के बारे में जानना है


1
क्या आप इस प्रश्न को फिर से समझ सकते हैं, इसलिए यह थोड़ा स्पष्ट है?

1
क्या आपका मतलब है, "मुझे कौन सी पीएस कमांड का उपयोग यह निर्धारित करने के लिए करना चाहिए कि कौन एसपीपी का उपयोग कर रहा है?" यह ps -ef होगा | grep scp
माइकल टॉड

जवाबों:


7

यह देखने के लिए कि किन कमांड्स को निष्पादित किया जा रहा है, आप "ps -ef" का उपयोग करें। यह आपको बताएगा कि हर कोई क्या कर रहा है, हालांकि आमतौर पर बहुत अधिक जानकारी है।

यह पता लगाने के लिए कि कौन विशेष कमांड चला रहा है, इसे संकीर्ण करने के लिए आप "grep" फ़िल्टर को इस तरह जोड़ सकते हैं:

ps -ef | grep scp

यह सभी scp कमांड को लौटाएगा, लेकिन यह grep कमांड को scp की तलाश में लौटा सकता है और grep के स्ट्रिंग से मेल खाने के बाद से उन में लिखे गए अक्षर scp के साथ कोई अन्य कमांड। इसलिए आपको grep को दिए गए अभिव्यक्ति के साथ चतुर होने की आवश्यकता हो सकती है (बहुत बार आपको बस इसे उद्धृत करने और एक स्थान जोड़ने की आवश्यकता है:

ps -ef | grep "scp "

या इससे भी बेहतर नियमित अभिव्यक्ति का लाभ उठाने और:

ps -ef | grep "[s]cp "

यदि आप उपयोगकर्ता को जानते हैं और केवल यह जानना चाहते हैं कि वे क्या चला रहे हैं तो "ps -fu" आपका मित्र है। उदाहरण के लिए

ps -fu tom

जो निश्चित रूप से, टॉम की scp प्रक्रियाओं को प्राप्त करने के लिए grep के साथ जोड़ा जा सकता है:

ps -fu tom | grep "[s]cp "

कॉलम 6 ट्टी है।


1
+1 'grep "[s] cp"' ट्रिक के लिए - यह वही है जो मैं एक स्क्रिप्ट में उपयोग करता हूं जिसे मैं 'procname' कहता हूं।
जोनाथन लेफ़लर

3

आप ttyमानक इनपुट से जुड़े टर्मिनल के फ़ाइल नाम का पता लगाने के लिए उपयोग कर सकते हैं ।

आपके प्रश्न के उत्तरार्द्ध के लिए, sudoया suफिर grep -c 'command' /home/username/.bash_history

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.