工作中linux常用命令你会用到哪些?
2 个回答
好运不会眷顾傻瓜。陈飞以 Java 程序员的维度需要掌握如下基本命令: ### 开发和构建工具 1. **`javac` 和 `java`**:编译和运行 Java 程序 ```bash javac MyProgram.java # 编译 Java 源文件 java MyProgram # 运行编译后的 Java 程序 ``` 2. **`mvn`(Maven)**:构建和管理依赖 ```bash mvn clean install # 清理并编译项目 mvn test # 运行测试 mvn package # 打包项目 mvn dependency:tree # 显示依赖树 ``` 3. **`gradle`**:构建和管理依赖 ```bash gradle build # 构建项目 gradle test # 运行测试 gradle clean # 清理项目 gradle dependencies # 显示依赖 ``` ### 调试和监控 4. **`jps`**:显示所有正在运行的 Java 进程 ```bash jps -l # 显示 Java 进程的完整包名 ``` 5. **`jstack`**:生成 Java 进程的线程堆栈快照 ```bash jstack <pid> > threaddump.txt # 导出指定进程的线程堆栈 ``` 6. **`jmap`**:生成 Java 内存堆转储 ```bash jmap -dump:format=b,file=heapdump.hprof <pid> # 导出指定进程的内存堆 ``` 7. **`jstat`**:监控 Java 虚拟机统计信息 ```bash jstat -gc <pid> 1000 # 每隔1秒输出一次垃圾收集信息 ``` 8. **`jconsole`**:图形化的 Java 监控和管理工具 ```bash jconsole # 启动 JConsole GUI ``` ### 服务器和应用管理 9. **`systemctl`**:管理系统服务(例如 Tomcat) ```bash sudo systemctl start tomcat # 启动 Tomcat 服务 sudo systemctl stop tomcat # 停止 Tomcat 服务 sudo systemctl restart tomcat # 重启 Tomcat 服务 sudo systemctl status tomcat # 查看 Tomcat 服务状态 ``` 10. **`netstat`**:检查网络端口占用情况 ```bash netstat -tuln | grep 8080 # 检查 8080 端口是否被占用 ``` ### 日志分析 11. **`tail`**:实时查看日志文件 ```bash tail -f /var/log/tomcat/catalina.out # 实时查看 Tomcat 日志 ``` 12. **`grep`**:搜索日志文件中的特定信息 ```bash grep "ERROR" /var/log/tomcat/catalina.out # 搜索日志文件中的错误信息 ``` ### 文件传输和版本控制 13. **`scp`**:通过 SSH 进行文件传输 ```bash scp localfile user@remote:/path/to/destination # 将本地文件传输到远程服务器 scp user@remote:/path/to/file localpath # 将远程文件传输到本地 ``` 14. **`git`**:版本控制 ```bash git clone https://github.com/user/repo.git # 克隆仓库 git pull # 拉取最新代码 git push # 推送代码 git branch # 列出所有分支 git checkout branch_name # 切换到指定分支 ``` ### 性能监控和调优 15. **`top` 和 `htop`**:监控系统资源使用情况 ```bash top # 查看系统资源使用情况 htop # 更友好的交互式系统资源监控工具(需要安装) ``` 16. **`free`**:查看内存使用情况 ```bash free -h # 以人类可读的格式显示内存使用情况 ``` ### 网络调试 17. **`curl`**:测试 HTTP 请求 ```bash curl -I http://example.com # 获取 HTTP 响应头信息 curl -X POST -d "param1=value1¶m2=value2" http://example.com/resource # 发送 POST 请求 ``` ### 数据库操作 18. **`mysql`**:MySQL 数据库命令行工具 ```bash mysql -u username -p # 连接到 MySQL 数据库 ``` 19. **`psql`**:PostgreSQL 数据库命令行工具 ```bash psql -U username -d database # 连接到 PostgreSQL 数据库 ``` 这些命令对于 Java 程序员来说,在日常的开发、部署、调试和维护过程中非常有用。掌握这些命令可以显著提高工作效率和解决问题的能力。发布于 2024-05-30 08:42 •IP属地 北京举报评论收藏
改变的秘密,是把所有的精力全放在新的事物上,而不是与过去抗衡。穷凶极恶在日常工作中,Linux 命令行工具是非常重要的工具集。以下是一些常用的 Linux 命令及其用途: ### 文件和目录操作 1. **`ls`**:列出目录内容 ```bash ls -l # 列出目录内容的详细信息 ls -a # 显示所有文件,包括隐藏文件 ls -lh # 以人类可读的形式显示文件大小 ``` 2. **`cd`**:更改目录 ```bash cd /path/to/directory # 进入指定目录 cd ~ # 进入用户主目录 cd - # 返回上一个目录 ``` 3. **`pwd`**:打印当前工作目录 ```bash pwd ``` 4. **`mkdir`**:创建目录 ```bash mkdir new_directory mkdir -p /path/to/new_directory # 创建多级目录 ``` 5. **`rm`**:删除文件或目录 ```bash rm filename # 删除文件 rm -r directory # 递归删除目录及其内容 rm -f filename # 强制删除文件 rm -rf directory # 强制递归删除目录及其内容 ``` 6. **`cp`**:复制文件或目录 ```bash cp source destination # 复制文件 cp -r source_directory destination_directory # 递归复制目录 ``` 7. **`mv`**:移动或重命名文件或目录 ```bash mv old_name new_name # 重命名文件或目录 mv file /path/to/destination # 移动文件到新位置 ``` 8. **`touch`**:创建一个新的空文件或更新文件的时间戳 ```bash touch filename ``` ### 文件内容操作 1. **`cat`**:连接文件并打印到标准输出 ```bash cat file ``` 2. **`less`**:逐页查看文件内容 ```bash less file ``` 3. **`more`**:逐页查看文件内容 ```bash more file ``` 4. **`head`**:输出文件的开头部分 ```bash head file head -n 20 file # 显示文件的前20行 ``` 5. **`tail`**:输出文件的末尾部分 ```bash tail file tail -n 20 file # 显示文件的最后20行 tail -f file # 实时查看文件追加内容 ``` 6. **`grep`**:搜索文本中的匹配行 ```bash grep "pattern" file grep -r "pattern" directory # 递归搜索目录中的文件 ``` 7. **`find`**:查找文件或目录 ```bash find /path -name filename find /path -type d -name dirname # 查找目录 ``` 8. **`diff`**:比较文件内容的不同 ```bash diff file1 file2 ``` ### 系统信息和管理 1. **`top`**:实时显示系统资源使用情况 ```bash top ``` 2. **`htop`**:交互式的 `top` 命令(需要安装) ```bash htop ``` 3. **`ps`**:显示当前运行的进程 ```bash ps aux # 显示所有进程 ps -ef # 另一种格式显示所有进程 ``` 4. **`kill`**:终止进程 ```bash kill PID # 终止指定进程ID的进程 kill -9 PID # 强制终止指定进程ID的进程 ``` 5. **`df`**:显示文件系统的磁盘空间使用情况 ```bash df -h # 以人类可读的形式显示磁盘使用情况 ``` 6. **`du`**:显示目录或文件的磁盘使用情况 ```bash du -h directory # 显示目录的磁盘使用情况 du -sh directory # 显示目录的总使用情况 ``` 7. **`free`**:显示内存使用情况 ```bash free -h # 以人类可读的形式显示内存使用情况 ``` 8. **`uname`**:显示系统信息 ```bash uname -a # 显示所有系统信息 ``` 9. **`who`**:显示当前登录用户信息 ```bash who ``` 10. **`uptime`**:显示系统的运行时间和负载 ```bash uptime ``` ### 网络相关 1. **`ping`**:测试网络连通性 ```bash ping hostname_or_ip ``` 2. **`ifconfig`**:显示或配置网络接口(需要安装 net-tools) ```bash ifconfig ``` 3. **`ip`**:显示或配置网络接口 ```bash ip addr show ip link set eth0 up # 启动网络接口 ip link set eth0 down # 禁用网络接口 ``` 4. **`netstat`**:显示网络连接、路由表、接口统计等(需要安装 net-tools) ```bash netstat -tuln ``` 5. **`curl`**:进行网络请求 ```bash curl http://example.com ``` 6. **`wget`**:下载文件 ```bash wget http://example.com/file ``` ### 文件压缩和解压缩 1. **`tar`**:创建和解压缩 tar 包 ```bash tar -czvf archive.tar.gz directory # 创建压缩包 tar -xzvf archive.tar.gz # 解压缩包 ``` 2. **`zip` 和 `unzip`**:创建和解压缩 zip 包 ```bash zip -r archive.zip directory # 创建 zip 包 unzip archive.zip # 解压 zip 包 ``` ### 权限管理 1. **`chmod`**:改变文件权限 ```bash chmod 755 file # 赋予所有者读写执行权限,组和其他用户读执行权限 chmod -R 755 directory # 递归改变目录及其内容的权限 ``` 2. **`chown`**:改变文件所有者 ```bash chown user:group file # 改变文件的所有者和组 chown -R user:group directory # 递归改变目录及其内容的所有者和组 ``` 这些是日常工作中常用的一些 Linux 命令。熟练掌握这些命令,可以极大地提高工作效率和系统管理的能力。发布于 2024-05-29 23:26 •IP属地 北京举报评论收藏
公众号进入网站体验更佳

