看《C++ Primer Plus》時整理的學習筆記,部分內容完全摘抄自《C++ Primer Plus》(第6版)中文版,Stephen Prata 著,張海龍 袁國忠譯。只做學習記錄用途。 ...
轉自:
http://www.java265.com/JavaCourse/202204/2913.html
Shell命令:
Shell俗稱殼(用來區別於核),是指“為使用者提供操作界面”的軟體(command interpreter,命令解析器)。它類似於DOS下的COMMAND.COM和後來的cmd.exe。它接收用戶命令,然後調用相應的應用程式。
shell分兩大類:
一:圖形界面shell
(Graphical User Interface shell 即 GUI shell)
例如:應用最為廣泛的Windows Explorer(微軟的Windows系列操作系統),還有也包括廣為人知的Linux shell,其中Linux shell包括X Window Manager(BlackBox和FluxBox),以及功能更強大的CDE、GNOME、KDE、 Xfce。
二:命令行式shell
(Command Line Interface shell ,即CLI shell)
例如:
sh(Bourne Shell)/csh/tcsh/bash/ksh/zsh/fish等(Unix及類unix)
COMMAND.COM(CP/M系統;MS-DOS、PC-DOS、DR-DOS、FreeDOS等DOS;Windows 9x)
cmd.exe/命令提示符(OS/2、Windows NT、React OS)
Windows PowerShell(支持.NET Framework技術的Windows NT)
GCOS Command Language (GCL)(Honeywell GCOS) [6]
MULTICS Command Language(MULTICS) [4] [9]
DIGITAL Command Language(DCL)(OpenVMS [7-8] [11] )
RDOS/DOS Command Line Interpreter [5] [10]
傳統意義上的shell指的是命令行式的shell,以後如果不特別註明,shell是指命令行式的shell。
文字操作系統與外部最主要的介面就叫做shell。shell是操作系統最外面的一層。shell管理你與操作系統之間的交互:等待你輸入,向操作系統解釋你的輸入,並且處理各種各樣的操作系統的輸出結果。
shell提供了你與操作系統之間通訊的方式。這種通訊可以以交互方式(從鍵盤輸入,並且可以立即得到響應),或者以shell script(非交互)方式執行。shell script是放在文件中的一串shell和操作系統命令,它們可以被重覆使用。本質上,shell script是命令行命令簡單的組合到一個文件裡面。
Shell基本上是一個命令解釋器,類似於DOS下的COMMAND.COM。它接收用戶輸入的命令(如ls等),然後調用相應的應用程式。較為通用的shell有標準的Bourne shell和C Shell。
下文筆者講述使用java代碼運行linux命令的方法分享,如下所示:
實現思路: 使用Runtime.getRuntime()中的exec()方法即可運行指定的shell命令
例:
Runtime run = Runtime.getRuntime(); Process process = run.exec(new String[]{"/bin/sh","-c", cmd}); InputStream in = process.getInputStream(); BufferedReader bs =new BufferedReader(new InputStreamReader(in)); StringBuffer sf =new StringBuffer(); String result =null; while ((result = bs.readLine()) !=null) { sf.append(result); sf.append("\n"); } process.destroy();