🤞目录🤞
【大家好,我是爱干饭的猿,如果喜欢这篇文章,点个赞👍,关注一下吧,后续会持续分享Linux搭建java部署环境和每日一题】
上一篇文章:《前端+后端项目 - 论坛信息管理系统(Web+servlet+MySQL+JDBC)》
🎨一、 为什么要学习Linux命令?
Linux 是一个操作系统和 Windows 是 "并列" 的关系。
Linux 虽然也有图形化界面,但是在 服务器 / 嵌入式设备上往往都是通过命令行的方式操作的, 因此学习 ,Linux 命令就是使用 Linux 的重要基础。
🎨二、使用命令相对于使用图形化界面得好处有什么?
- 节省系统资源:运行图形化界面让系统有额外资源开销,尤其是对配置较低得嵌入式设备
- 节省网络带宽:如果通过网络访问服务器,使用图形化界面传输是一帧一帧的图像,而使用命令只需要传输简单的字符串
- 便于批量执行任务:可以通过脚本代码(Linux Shell)批量操作执行一些任务,完成简单编程工作(如定时备份文件,删除文件等)
🎨三、认识Linux 目录结构
Linux 是一个树形目录结构
编辑
1. 几个特殊的目录
- / 称为根目录
- . 称为当前目录
- .. 称为当前目录的上级目录
2. 绝对路径 vs 相对路径
形如: /usr/share/tomcat/logs/ 以根目录开头的, 称为绝对路径.
形如: ./logs 以 . 或者 .. 开头的, 称为相对路径.
3. 使用 tab 键补全
所有敲得Linux 命令,都可以用tab 补全,提高效率
4. 使用 ctrl + c 重新输入
🎨四、Linux 常用命令
🪁Linux -> ls
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
- ls -a 列出目录下所有文件,包括以 . 开头的隐含文件
- ls -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
- ls -l 列出文件详细信息
- ls -r 对目录反向排序
- ls -t 对目录以时间排序
- ls -R 列出所有子目录下的文件
🪁Linux -> pwd
功能:显示用户当前所在的目录
常用选项:
- pwd
🪁Linux -> cd
功能:改变工作目录。将当前目录改变到指定的目录下
常用选项:
- cd .. 返回上级目录
- cd ~ 进入用户家目录
- cd - 返回最近访问目录
🪁Linux -> touch
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
- touch test.txt
🪁Linux -> cat
功能:查看目标文件的内容
常用选项:
- cat test.txt
🪁Linux -> mkdir
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:
- mkdir -d 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统 将自动建立好那些尚不存在的目录,即一次可以建立多级目录
🪁Linux -> rm
功能:删除文件或目录
常用选项:
- rm -f 即使文件属性为只读(即写保护),亦直接删除
- rm -i 删除前逐一询问确认
- rm -r 删除目录及其下所有文件
重要事项:千万不要运行 rm -rf / , 尤其是在公司的生产服务器上
🪁Linux -> cp
功能:复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存 在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后 的目的地并非一个已存在的目录,则会出现错误信息
常用选项:
- cp -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
- cp -i 或 --interactive 覆盖文件之前先询问用户
- cp -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
- cp -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
🪁Linux -> mv
功能:
1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项:
- mv -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- mv -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
🪁Linux -> less
功能:查看文件内容. 不会立刻把所有文件内容加载到内存中,也能进行查找
常用选项:
- j k / 方向键: 向上向下滚动屏幕.
- -N 显示每行的行号
- /字符串:向下搜索“字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- q: 退出
🪁Linux -> head
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
常用选项:
- head -n<行数> 显示的行数
🪁Linux -> tail
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件
常用选项:
- tail -f 循环读取
- tail -n<行数> 显示行数
🪁Linux -> vim
功能:vim 就相当于 Windows 的记事本. 只不过功能比记事本强大一些
常用选项:
- vim
🪁Linux -> grep
功能:用于查找文件中是否包含指定字符串, 并显示对应的行
常用选项:
- -n<行数> 显示的行数
- -w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
- -r 递归查找. 可以搜索多级目录下的所有文件.
- --color 高亮查找到的结果
- --include 指定查找某些文件
- --exclude 指定排除某些文件
🪁Linux -> ps
功能:用于查看当前系统上运行的进程
常用选项:
- a 显示一个终端的所有进程
- u 以用户为主的格式来显示程序状况
- x 显示所有程序,不以终端机来区分
举例:
ps aux # 显示系统上所有的进程
ps aux | grep "进程名"
ps aux | grep "进程id"
🪁Linux -> netstat
功能:查看系统上的网络状态
常用选项:
- -a 显示所有正在或不在侦听的套接字
- -n 显示数字形式地址而不是去解析主机、端口或用户名
- -p 显示套接字所属进程的PID和名称
举例:
netstat -anp
netstat -anp | grep "进程名"
netstat -anp | grep "端口号"
🎨五、面试相关
🪁1. Linux 如何查看进程和网络状态
查看进程:
ps aux | grep "进程名"
ps aux | grep "进程id"
查看网络状态:
netstat -anp | grep "进程名"
netstat -anp | grep "端口号"
🪁2. Linux 如何运行一个Java 程序
vim b.java
esc + :wq!
javac b.java
java b
🪁3. Linux系统查看内存使用情况
free命令可以显示当前系统未使用的和已使用的内存大小,还可以显示被内核使用的内存缓冲区
编辑
🪁4. Linux 上如何关闭一个正在跑的项目
kill -9 pid (9: SIGKILL singal kill) 立即中断无法被拦截。
kill -15 pid (15: SIGTERM singal terminate) 终止程序,允许进程自我清理。
本次分享就到这里,如果你喜欢这篇文章,请点赞加关注吧,或者如果你对文章有什么困惑,可以私信我。
🏓🏓🏓