java中linux常用命令全集
-
在Java程序开发中,经常需要和Linux系统进行交互,执行一些常用的Linux命令。下面是一些常用的Linux命令汇总:
1. ls:列出当前目录下的文件和文件夹
2. cd:切换当前工作目录
3. pwd:显示当前工作目录的绝对路径
4. mkdir:创建新的目录
5. rm:删除文件或目录
6. cp:复制文件或目录
7. mv:移动文件或目录
8. touch:创建新的文件
9. cat:显示文件的内容
10. more/less:逐页显示文件内容
11. grep:在文件中查找指定的字符串
12. find:在文件系统中搜索文件或目录
13. top:显示进程的动态信息
14. ps:显示当前运行的进程
15. kill:终止指定的进程
16. chmod:修改文件或目录的权限
17. chown:修改文件或目录的所有者
18. chgrp:修改文件或目录的所属组
19. tar:打包和解包文件
20. unzip:解压缩文件
21. ping:测试与远程主机的连通性
22. ssh:远程登录其他Linux主机
23. scp:在本地主机和远程主机之间复制文件
24. ftp:在本地主机和远程主机之间传输文件
25. curl:通过URL获取数据
26. wget:下载文件以上只是一些常用的Linux命令,Java中可以通过`Runtime`类,`ProcessBuilder`类或第三方库(如Apache Commons Exec)执行这些命令。在Java程序中,可以使用这些命令来管理文件、目录、进程等,实现一些操作系统相关的功能。
2年前 -
在Java中,可以使用Java的Runtime类和Process类来执行系统命令。通过Java代码执行Linux常用命令可以帮助我们进行文件管理、进程管理以及系统配置等操作。
以下是Java中常用的Linux命令的示例代码:
1. 查看文件内容(cat命令)
“`java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class CatCommand {
public static void main(String[] args) {
try {
// 执行cat命令
Process process = Runtime.getRuntime().exec(“cat fileName.txt”);// 获取命令输出结果
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}// 等待命令执行完毕
int exitCode = process.waitFor();
System.out.println(“Exit code: ” + exitCode);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
“`2. 创建文件夹(mkdir命令)
“`java
public class MkdirCommand {
public static void main(String[] args) {
try {
// 执行mkdir命令
Process process = Runtime.getRuntime().exec(“mkdir newFolder”);// 等待命令执行完毕
int exitCode = process.waitFor();
System.out.println(“Exit code: ” + exitCode);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
“`3. 查看进程列表(ps命令)
“`java
public class PsCommand {
public static void main(String[] args) {
try {
// 执行ps命令
Process process = Runtime.getRuntime().exec(“ps -ef”);// 获取命令输出结果
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}// 等待命令执行完毕
int exitCode = process.waitFor();
System.out.println(“Exit code: ” + exitCode);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
“`4. 复制文件(cp命令)
“`java
public class CpCommand {
public static void main(String[] args) {
try {
// 执行cp命令
Process process = Runtime.getRuntime().exec(“cp sourceFile.txt destinationFile.txt”);// 等待命令执行完毕
int exitCode = process.waitFor();
System.out.println(“Exit code: ” + exitCode);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
“`5. 查看系统负载情况(top命令)
“`java
public class TopCommand {
public static void main(String[] args) {
try {
// 执行top命令
Process process = Runtime.getRuntime().exec(“top -n 1”);// 获取命令输出结果
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}// 等待命令执行完毕
int exitCode = process.waitFor();
System.out.println(“Exit code: ” + exitCode);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
“`通过以上示例可以看出,Java中可以通过Runtime类的exec方法以及Process类来执行系统命令。通过获取命令的输入流来获取命令输出结果,通过waitFor方法可以等待命令执行完毕并获取命令的退出码。这样可以实现在Java中执行Linux常用命令的功能。当然,除了以上示例中的命令,还可以通过类似的方式执行其他Linux常用命令,根据不同的需求灵活运用。
2年前 -
Java中可以通过ProcessBuilder类执行系统命令来调用Linux下的常用命令。下面是一些常用的Linux命令及其在Java中的使用方法。
## 1. ls
命令解释:显示目录文件列表。
Java代码示例:
“`java
import java.io.IOException;public class LSCommand {
public static void main(String[] args) {
try {
ProcessBuilder processBuilder = new ProcessBuilder(“ls”);
Process process = processBuilder.start();int exitCode = process.waitFor();
System.out.println(“Exit Code: ” + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
“`
上述代码通过ProcessBuilder类创建一个Process对象,并通过start()方法启动该进程。然后使用waitFor()方法等待进程结束,并获取执行结果的退出码。## 2. cd
命令解释:切换当前目录。
Java代码示例:
“`java
import java.io.IOException;public class CDCommand {
public static void main(String[] args) {
try {
ProcessBuilder processBuilder = new ProcessBuilder(“cd”, “/root”);
Process process = processBuilder.start();int exitCode = process.waitFor();
System.out.println(“Exit Code: ” + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
“`
上述代码通过ProcessBuilder类创建一个Process对象,并通过start()方法启动该进程。执行”cd”命令时需要与其他命令一起执行,如”/root”。然后使用waitFor()方法等待进程结束,并获取执行结果的退出码。## 3. mkdir
命令解释:创建目录。
Java代码示例:
“`java
import java.io.IOException;public class MkdirCommand {
public static void main(String[] args) {
try {
ProcessBuilder processBuilder = new ProcessBuilder(“mkdir”, “/tmp/new_directory”);
Process process = processBuilder.start();int exitCode = process.waitFor();
System.out.println(“Exit Code: ” + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
“`
上述代码通过ProcessBuilder类创建一个Process对象,并通过start()方法启动该进程。执行”mkdir”命令时需要指定目录的路径,如”/tmp/new_directory”。然后使用waitFor()方法等待进程结束,并获取执行结果的退出码。## 4. rm
命令解释:删除文件或目录。
Java代码示例:
“`java
import java.io.IOException;public class RmCommand {
public static void main(String[] args) {
try {
ProcessBuilder processBuilder = new ProcessBuilder(“rm”, “/tmp/file.txt”);
Process process = processBuilder.start();int exitCode = process.waitFor();
System.out.println(“Exit Code: ” + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
“`
上述代码通过ProcessBuilder类创建一个Process对象,并通过start()方法启动该进程。执行”rm”命令时需要指定文件或目录的路径,如”/tmp/file.txt”。然后使用waitFor()方法等待进程结束,并获取执行结果的退出码。## 5. cp
命令解释:复制文件或目录。
Java代码示例:
“`java
import java.io.IOException;public class CpCommand {
public static void main(String[] args) {
try {
ProcessBuilder processBuilder = new ProcessBuilder(“cp”, “/tmp/source.txt”, “/tmp/destination.txt”);
Process process = processBuilder.start();int exitCode = process.waitFor();
System.out.println(“Exit Code: ” + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
“`
上述代码通过ProcessBuilder类创建一个Process对象,并通过start()方法启动该进程。执行”cp”命令时需要指定源文件路径和目标文件路径,如”/tmp/source.txt”和”/tmp/destination.txt”。然后使用waitFor()方法等待进程结束,并获取执行结果的退出码。## 6. mv
命令解释:移动文件或目录。
Java代码示例:
“`java
import java.io.IOException;public class MvCommand {
public static void main(String[] args) {
try {
ProcessBuilder processBuilder = new ProcessBuilder(“mv”, “/tmp/source.txt”, “/tmp/destination.txt”);
Process process = processBuilder.start();int exitCode = process.waitFor();
System.out.println(“Exit Code: ” + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
“`
上述代码通过ProcessBuilder类创建一个Process对象,并通过start()方法启动该进程。执行”mv”命令时需要指定源文件路径和目标文件路径,如”/tmp/source.txt”和”/tmp/destination.txt”。然后使用waitFor()方法等待进程结束,并获取执行结果的退出码。## 7. cat
命令解释:显示文件内容。
Java代码示例:
“`java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class CatCommand {
public static void main(String[] args) {
try {
ProcessBuilder processBuilder = new ProcessBuilder(“cat”, “/tmp/file.txt”);
Process process = processBuilder.start();BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}int exitCode = process.waitFor();
System.out.println(“Exit Code: ” + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
“`
上述代码通过ProcessBuilder类创建一个Process对象,并通过start()方法启动该进程。执行”cat”命令时需要指定文件路径,如”/tmp/file.txt”。然后通过BufferedReader读取进程的输出,并输出到控制台。最后使用waitFor()方法等待进程结束,并获取执行结果的退出码。除了以上列举的常用命令外,Java中还可以调用其他大部分Linux命令,只要通过ProcessBuilder类创建相应的Process对象,并指定命令及其参数即可。需要注意的是,Linux命令的执行结果可能会有输出,如果需要获取输出结果,可以通过Process对象的getInputStream()方法获取进程的标准输出流,并通过BufferedReader读取输出内容。
2年前