程序技术好文:面试知识点六:JavaWeb

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 程序技术好文:面试知识点六:JavaWeb

64.jsp 和 servlet 有什么区别?


65.jsp 有哪些内置对象?作用分别是什么?


66.说一下 jsp 的 4 种作用域?


67.session 和 cookie 有什么区别?


68.说一下 session 的工作原理?


69.如果客户端禁止 cookie 能实现 session 还能用吗?


70.spring mvc 和 struts 的区别是什么?


71.如何避免 sql 注入?


72.什么是 XSS 攻击,如何避免?


73.什么是 CSRF 攻击,如何避免?


64.jsp 和 servlet 有什么区别?


首先来看一下Servlet:Java服务器小程序(Server Applet)


  事实上,Servlet不复杂,它只是一个接口,而接口的作用是什么,规范。


servlet接口定义的是一套处理网络请求的规范,所有实现servlet的类,都需要实现它那五个方法,其中最主要的是两个生命周期方法 init()和destroy(),还有一个处理请求的service(),也就是说,所有实现servlet接口的类,或者说,所有想要处理网络请求的类,都需要回答这三个问题:


你初始化时要做什么


你销毁时要做什么


你接受到请求时要做什么


这是Java给的一种规范!servlet是一个规范,那实现了servlet的类,就能处理请求了吗?答案是,不能。


看一下service方法的说明,该方法是被servlet container即servlet容器调用来响应请求的,比如我们最常用的Tomcat容器。


所以,servlet不直接和客户端打交道,而是通过Tomcat,Tomcat监听了端口,请求过来后,根据url等信息,确定要将请求交给哪个servlet去处理,然后调用那个servlet的service方法,service方法返回一个response对象,tomcat再把这个response返回给客户端。


/


Defines methods that all servlets must implement.




A servlet is a small Java program that runs within a Web server. Servlets


receive and respond to requests from Web clients, usually across HTTP, the


HyperText Transfer Protocol.


*/


public interface Servlet {


/


Called by the servlet container to allow the servlet to respond to a


request.


*/


public void service(ServletRequest req, ServletResponse res)


throws ServletException, IOException;


}


servlet的本质是什么,它是如何工作的?


servlet容器与tomcat容器的区别


Servlet应用无法独立运行,必须运行在Servlet容器中。Tomcat 是Web应用服务器,就是一个Servlet/JSP容器。Servlet容器将用户的请求传递给Servlet应用,并将结果返回给用户。Web服务器和Web客户端间通过HTTP协议通信,因此Web服务器也叫HTTP服务器。像下图


接着看一下JSP: Java Server Pages,直译就是运行在服务器端的页面,是Sun 公司指定的一种服务器端动态页面技术的组件规范,Jsp是以“.jsp”为后缀的文件,在该文件中主要是html 和少量的java 代码。jsp 文件在容器中会转换成Servlet去执行。


当有人请求JSP时,服务器内部会经历一次动态资源(JSP)到静态资源(HTML)的转化,服务器会自动帮我们把JSP中的HTML片段和数据拼接成静态资源响应给浏览器。也就是说JSP是运行在服务器端,但最终发给客户端的都已经是转换好的HTML静态页面(在响应体里)。


即:JSP = HTML + Java片段(各种标签本质上还是Java片段)


浅谈JSP


所以:简单总结一下servelet与JSP的区别:


1、运行过程


客户在第一次请求JSP时,请求较慢,因为JSP Engine先把JSP程序转换成servlet代码,接着将它编译成类文件,以后贮存在内存中再次调用速度就快了;


访问servlet时,可以直接对其编译好的类文件执行。


2、使用方式


要想使用servlet必须把它放在特定位置而且必须对其映射配置;


jsp可以放在和html同样位置(webapps根目录下或者webapps根目录下的子目录下)而且不需要配置,可以直接使用。

//代码效果参考:http://hnjlyzjd.com/hw/wz_24085.html


3、程序组成


Servlet在Java代码中通过HttpServletResponse对象动态输出HTML内容;


JSP在静态HTML内容中嵌入Java代码,Java代码被动态执行后生成HTML内容


4、职能分工


jsp更侧重于前端页面显示,servlet更侧重于业务逻辑。


5、本是一家人


Jsp 本质上是servlet,用jsp实现的页面用servlet也能实现。


Jsp和Servlet有什么区别?


浅谈Servlet与JSP


最后,servlet和JSP通过MVC双剑合璧


各自的特点


Servlet能够很好地组织业务逻辑代码,但是在Java源文件中通过字符串拼接的方式生成动态HTML内容会导致代码维护困难、可读性差


JSP虽然规避了Servlet在生成HTML内容方面的劣势,但是在HTML中混入大量、复杂的业务逻辑同样也是不可取的


//代码效果参考:http://hnjlyzjd.com/hw/wz_24091.html

既然JSP和Servlet都有自身的适用环境,那么能否扬长避短,让它们发挥各自的优势呢?答案是肯定的——MVC(Model-View-Controller)模式非常适合解决这一问题。

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller):


Controller——负责转发请求,对请求进行处理


View——负责界面显示


Model——业务功能编写(例如算法实现)、数据库设计以及数据存取操作实现


在JSP/Servlet开发的软件系统中,这三个部分的描述如下所示:


<img src="" data-rawwidth="842" data-rawheight="326" class="origin_image zh-lightbox-thumb" width="842" data-original=""/>


Web浏览器发送HTTP请求到服务端,被Controller(Servlet)获取并进行处理(例如参数解析、请求转发)


Controller(Servlet)调用核心业务逻辑——Model部分,获得结果


Controller(Servlet)将逻辑处理结果交给View(JSP),动态输出HTML内容


动态生成的HTML内容返回到浏览器显示


MVC模式在Web开发中的好处是非常明显,它规避了JSP与Servlet各自的短板,Servlet只负责业务逻辑而不会通过out.append()动态生成HTML代码;JSP中也不会充斥着大量的业务代码。这大大提高了代码的可读性和可维护性。


注意:MVC是web开发都有的一种模式,比如PHP开发web时也有MVC模式。而三层架构则是JavaEE的:Controller/Service/Dao。分层开发是为了使代码逻辑更加清晰,也起到了一定的解耦合作用。


65.jsp 有哪些内置对象?作用分别是什么?


在jsp开发中会频繁使用到一些对象,如ServletContext HttpSession PageContext等.如果每次我们在jsp页面中需要使用这些对象都要自己亲自动手创建就会特别的繁琐.SUN公司因此在设计jsp时,在jsp页面加载完毕之后自动帮开发者创建好了这些对象,开发者只需要使用相应的对象调用相应的方法即可.这些系统创建好的对象就叫做内置对象.


在servlet程序中,如果开发者希望使用session对象,必须通过request.getSession()来得到session对象;而在jsp程序中,开发中可直接使用session(系统帮我们创建好的session对象的名字就叫session)调用相应的方法即可,如:session.getId().


JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception


内置对象(又叫隐含对象)特点:


1. 由JSP规范提供,不用编写者实例化。


2. 通过Web容器实现和管理


3. 所有JSP页面均可使用


4. 只有在脚本元素的表达式或代码段中才可使用(或)


对象名功能类型作用域


request


向客户端请求数据


javax.servlet.ServletRequest


Request


response


封装了jsp产生的响应,然后被发送到客户端以响应客户的请求


javax.servlet.SrvletResponse


Page


pageContext


为JSP页面包装页面的上下文。管理对属于JSP中特殊可见部分中己经命名对象的该问


javax.servlet.jsp.PageContext


Page


session


用来保存每个用户的信息,以便跟踪每个用户的操作状态


javax.servlet.http.HttpSession


Session


application


应用程序对象


javax.servlet.ServletContext


Application


out


向客户端输出数据


javax.servlet.jsp.JspWriter


Page


config


表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet


javax.servlet.ServletConfig


Page


page


Jsp实现类的实例,它是jsp本身,通过这个可以对它进行访问


javax.lang.Object


Page


exception


反映运行的异常


javax.lang.Throwable


Page


JSP九大内置对象及其作用+四大域对象


66.说一下 jsp 的 4 种作用域?


分类:


ServletContext application域(context域 )


HttpServletRequet request域


HttpSession session域 --前三种在学习Servlet时就能接触到


PageContext page域 --jsp学习的


域对象的作用:保存数据,获取数据,共享数据.


保存数据:Context.setAttribute("内容");//默认保存到page域


pageContext.setAttribute("内容",域范围常量);//保存到指定域中


//四个域常量


PageContext.PAGE_SCOPE


PageContext.REQUEST_SCOPE


PageContext..SESSION_SCOPE


PageContext.APPLICATION_SCOPE


获取数据:


pageContext.getAttribute("内容"); pageContext.getAttribute("name",域范围常量);


   //自动在四个域中搜索数据 pageContext.findAttribute("内容");//在四个域中自动搜索数据,顺序:page域->request域->session域->application域(context域)


域作用范围:


page域: 只能在当前jsp页面使用 (当前页面)


request域: 只能在同一个请求中使用 (转发)


session域: 只能在同一个会话(session对象)中使用 (私有的)


context域: 只能在同一个web应用中使用 (全局的)


67.session 和 cookie 有什么区别?


  首先明白为什么需要session和cookie?


  因为HTTP协议是无连接无状态的。无连接: 一个请求完毕后,会断开连接,不会保持。无状态:http本身不会存储客户端和服务器在临时会话中产生的数据,而是通过客户端添加cookie机制与服务器添加session机制实现会话期间缓存产生的数据。比如你看到的网站啊,论坛啊,能记住你的密码,记住你的登陆状态,那是用cookie和session实现的,和HTTP无关。


  http协议无状态中的 "状态" 到底指的是什么?!


  什么是Http无状态?Session、Cookie、Token三者之间的区别


  session与cookie:Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。


  由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。


  Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客 户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务 器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。


  Cookie和Session详解


  Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。


  虽然Session保存在服务器,对客户端是透明的,它的正常运行仍然需要客户端浏览器的支持。这是因为Session 需要使用Cookie作为识别标志。HTTP协议是无状态的,Session不能依据HTTP连接来判断是否为同一客户,因此服务器向客户端浏览器发送一 个名为JSESSIONID的Cookie,它的值为该Session的id(也就是HttpSession.getId()的返回值)。Session 依据该Cookie来识别是否为同一用户。该Cookie为服务器自动生成的,它的maxAge属性一般为–1,表示仅当前浏览器内有效,并且各浏览器窗口间不共享,关闭浏览器就会失效。


  总结一下session与cookie的区别:


保持状态:cookie保存在浏览器端,session保存在服务器端


使用方式:


(1)cookie机制:如果不在浏览器中设置过期时间,cookie被保存在内存中,生命周期随浏览器的关闭而结束,这种cookie简称会话cookie。如果在浏览器中设置了cookie的过期时间,cookie被保存在硬盘中,关闭浏览器后,cookie数据仍然存在,直到过期时间结束才消失。


Cookie是服务器发给客户端的特殊信息,cookie是以文本的方式保存在客户端,每次请求时都带上它


(2)session机制:当服务器收到请求需要创建session对象时,首先会检查客户端请求中是否包含sessionid。如果有sessionid,服务器将根据该id返回对应session对象。如果客户端请求中没有sessionid,服务器会创建新的session对象,并把sessionid在本次响应中返回给客户端。通常使用cookie方式存储sessionid到客户端,在交互中浏览器按照规则将sessionid发送给服务器。如果用户禁用cookie,则要使用URL重写,可以通过response.encodeURL(url) 进行实现;API对encodeURL的结束为,当浏览器支持Cookie时,url不做任何处理;当浏览器不支持Cookie的时候,将会重写URL将SessionID拼接到访问地址后。


存储内容:cookie只能保存字符串类型,以文本的方式;session通过类似于Hashtable的数据结构来保存,能支持任何类型的对象(session中可含有多个对象)


存储的大小:cookie:单个cookie保存的数据不能超过4kb;session大小没有限制。


安全性:cookie:针对cookie所存在的攻击:Cookie欺骗,Cookie截获;session的安全性大于cookie。


  原因如下:(1)sessionID存储在cookie中,若要攻破session首先要攻破cookie;


       (2)sessionID是要有人登录,或者启动session_start才会有,所以攻破cookie也不一定能得到sessionID;


       (3)第二次启动session_start后,前一次的sessionID就是失效了,session过期后,sessionID也随之失效。


       (4)sessionID是加密的


       (5)综上所述,攻击者必须在短时间内攻破加密的sessionID,这很难。


应用场景和缺点等等  参考资料:浅谈session,cookie,sessionStorage,localStorage的区别及应用场景


68.说一下 session 的工作原理?


  Session字面含义就是会话。由于HTTP是无状态协议,为了保持浏览器与服务器之间的联系,才有了Session。Session就是用于在服务器端保存用户状态的协议。通常用来保存用户的登录状态。


  工作原理:


  Session内容保存在服务器端的,通常是保存在内存中,当然也可以保存在文件、数据库等等。客户端跟服务器端通过SessionId来关联, SessionId通常以Cookie的形式存储在客户端。每次HTTP请求,SessionId都会随着Cookie被传递到服务器端,这样就可以通过SessionId取到对应的信息,来判断这个请求来自于哪个客户端/用户。


  添加购物车场景示例:


核心对象&职责


对象


职责


SessionId


负责标识客户端/用户


HTTP


负责传递SessionId


Cookie


负责保存SessionId


服务器


负责保存Session内容


Session的工作原理和使用经验


69.如果客户端禁止 cookie 能实现 session 还能用吗?


  此处cookie的作用是HTTP请求时传递sessionID,不通过cookie也可以传递,即通过URL地址重写。


  URL地址重写是对客户端不支持Cookie的解决方案。URL地址重写的原理是将该用户Session的id信息重写 到URL地址中。服务器能够解析重写后的URL获取Session的id。这样即使客户端不支持Cookie,也可以使用Session来记录用户状态。


70.spring mvc 的工作原理?


  首先用户发送请求——>DispatcherServlet,DispatcherServlet——>HandlerMapping匹配到具体的URL,再通过HandlerAdapter调用具体的HandlerMethod,当Handler执行完成后返回ModelAndView,会被ViewResolver解析,调用具体的物理视图。最终响应给客户端浏览器。


  SpringMVC工作原理


71.如何避免 sql 注入?


  SQL注入指的是发生在Web应用对后台数据库查询语句处理存在的安全漏洞,简单的说,就是在输入字符串中嵌入SQL指令,在设计程序中忽略了对特殊字符串的检查,这些嵌入的指令便会被误认为正常的SQL指令,在数据库中执行,因此可以对后台数据库进行查看等工作,甚至破快后台数据库造成严重后果。


  避免SQL注入的方法:


输入验证:检查用户输入的合法性,尽量的限制用户输入特殊的符号,确信输入的内容只包含合法的数据。数据检查应当在客户端和服务器端都执行之所以要执行服务器端验证,是为了弥补客户端验证机制脆弱的安全性。


错误消息处理:防范SQL注入,还要避免出现一些详细的错误消息,因为可以利用这些消息。要使用一种标准的输入确认机制来验证所有的输入数据的长度、类型、语句、企业规则等。


加密处理:在一开始的CDNS例子中没有加密的数据就直接被利用了,但是加密了就不一定会解密成功,尽量不要用一些常见的加密算法,就算用也要使用32位以上的加密算法,将用户登录名称、密码等数据加密保存。加密用户输入的数据,然后再将它与数据库中保存的数据比较,这相当于对用户输入的数据进行了“消毒”处理,用户输入的数据不再对数据库有任何特殊的意义,从而也就防止了注入SQL命令。


存储过程来执行所有的查询:SQL参数的传递方式将防止利用单引号和连字符实施注入。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全上下文,这样就很难再发生注入式了。


  SQL注入其实很简单,别一不留神就被利用了


72.什么是 XSS 攻击,如何避免?


  跨站脚本(cross site script)为了避免与样式css混淆,所以简称为XSS。


  XSS是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式。那么什么是XSS呢?XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去。使别的用户访问都会执行相应的嵌入代码。从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。


  主要原因:过于信任客户端提交的数据!


  解决办法:不信任任何客户端提交的数据,只要是客户端提交的数据就应该先进行相应的过滤处理然后方可进行下一步的操作。


  1、将重要的cookie标记为http only, 这样的话Javascript 中的document.cookie语句就不能获取到cookie了.


  2、表单数据规定值的类型,例如:年龄应为只能为int、name只能为字母数字组合。。。。


  4、对数据进行Html Encode 处理


  5、过滤或移除特殊的Html标签, 例如: , , < for for >, &quot for


  6、过滤JavaScript 事件的标签。例如 "onclick=", "onfocus" 等等。


  xss跨站脚本攻击


73.什么是 CSRF 攻击,如何避免?


  CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。


  你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。


  下图简单阐述了CSRF攻击的思想:


  从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤:


  1.登录受信任网站A,并在本地生成Cookie。


  2.在不登出A的情况下,访问危险网站B。


  CSRF攻击之所以能够成功,是因为攻击者可以伪造用户的请求,该请求中所有的用户验证信息都存在于Cookie中,因此攻击者可以在不知道这些验证信息的情况下直接利用用户自己的Cookie来通过安全验证。由此可知,抵御CSRF攻击的关键在于:在请求中放入攻击者所不能伪造的信息,并且该信息不存在于Cookie之中。


  鉴于此,我们将为每一个表单生成一个随机数秘钥,并在服务器端建立一个拦截器来验证这个token,如果请求中没有token或者token内容不正确,则认为可能是CSRF攻击而拒绝该请求。


  CSRF攻击与防御


  浅谈CSRF攻击方式

相关文章
|
7天前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
|
2月前
|
存储 算法 安全
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
45 0
|
7天前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
|
1月前
|
消息中间件 缓存 NoSQL
再也不怕面试官问零拷贝技术
该文章主要讨论了零拷贝技术的相关概念、传统IO读写操作的过程以及零拷贝技术的两种实现方法。
再也不怕面试官问零拷贝技术
|
1月前
|
消息中间件 存储 Java
Android面试高频知识点(2) 详解Android消息处理机制(Handler)
Android 消息处理机制估计都被写烂了,但是依然还是要写一下,因为Android应用程序是通过消息来驱动的,Android某种意义上也可以说成是一个以消息驱动的系统,UI、事件、生命周期都和消息处理机制息息相关,并且消息处理机制在整个Android知识体系中也是尤其重要,在太多的源码分析的文章讲得比较繁琐,很多人对整个消息处理机制依然是懵懵懂懂,这篇文章通过一些问答的模式结合Android主线程(UI线程)的工作原理来讲解,源码注释很全,还有结合流程图,如果你对Android 消息处理机制还不是很理解,我相信只要你静下心来耐心的看,肯定会有不少的收获的。
105 3
Android面试高频知识点(2) 详解Android消息处理机制(Handler)
|
1月前
|
存储 安全 Java
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别;什么是程序计数器,堆,虚拟机栈,栈内存溢出,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
|
1月前
|
Linux 数据安全/隐私保护 Perl
解锁Linux高手秘籍:文件操作+命令解析大揭秘,面试场上让你光芒万丈,技术实力惊艳四座!
【8月更文挑战第5天】Linux作为服务器与嵌入式系统的基石,其文件管理和命令行操作是技术人员必备技能。本文从文件操作和基础命令两大方面,深入浅出地解析Linux核心要义,助你在面试中脱颖而出。首先探索文件系统的树状结构及操作,包括使用`ls -la`浏览文件详情、`touch`创建文件、`rm -r`慎删目录、`cp`与`mv`复制移动文件、以及利用`find`搜索文件。接着掌握命令行技巧,如用`cat`、`more`和`less`查看文件内容;借助`grep`、`sed`与`awk`处理文本;运用`ps`、`top`和`kill`管理进程;并通过`chmod`和`chown`管理文件权限。
62 8
|
1月前
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要。
99 9
|
1月前
|
Go 数据库 UED
[go 面试] 同步与异步:程序执行方式的不同之处
[go 面试] 同步与异步:程序执行方式的不同之处
|
1月前
|
监控 Linux 数据安全/隐私保护
Linux大神养成记:掌握这些逆天命令与快捷方式,面试秒变MVP,让你的技术实力燃爆全场!
【8月更文挑战第5天】Linux作为开源领域的核心,熟悉其基本命令对系统管理员和技术人员至关重要。本文精选了面试中常考的Linux命令,覆盖文件管理、文本处理、进程监控及权限调整等关键领域,并介绍了提高效率的快捷方式。通过掌握如`ls -l`、`grep &quot;error&quot;`、`top`、`chmod 755`等实用命令,以及Tab自动补全、历史命令浏览等功能,不仅能显著提升日常工作效能,还能在求职面试时展现出扎实的技术功底。
46 4

热门文章

最新文章

相关实验场景

更多