Linux面试题最新版
一、Linux概述
什么是LinuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
2.Unix和Linux有什么区别?
Linux和Unix都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之处,甚至有一部分人错误地认为Unix和Linux操作系统是一样的,然而,事实并非如此,以下是两者的区别。
开源性Linux是一款开源操作系统,不需要付费,即可使用;Unix是一款对源码实行知识产权保护的传统商业软件,使用需要付费授权使用。
跨平台性Linux操作系统具有良好的跨平台性能,可运行在多种硬件平台上;Unix操作系统跨平台性能较弱,大多需与硬件配套使用。
可视化界面Linux除了进行命令行操作,还有窗体管理系统;Unix只是命令行下的系统。
硬件环境Linux操作系统对硬件的要求较低,安装方法更易掌握;Unix对硬件要求比较苛刻,安装难度较大。
用户群体Linux的用户群体很广泛,个人和企业均可使用;Unix的用户群体比较窄,多是安全性要求高的大型企业使用,如银行、电信部门等,或者Unix硬件厂商使用,如Sun等。
相比于Unix操作系统,Linux操作系统更受广大计算机爱好者的喜爱,主要原因是Linux操作系统具有Unix操作系统的全部功能,并且能够在普通PC计算机上实现全部的Unix特性,开源免费的特性,更容易普及使用!
3.什么是Linux内核?
Linux系统的核心是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。
系统内存管理应用程序管理硬件设备管理文件系统管理
4.Linux的基本组件是什么?
就像任何其他典型的操作系统一样,Linux拥有所有这些组件:内核,shell和GUI,系统实用程序和应用程序。Linux比其他操作系统更具优势的是每个方面都附带其他功能,所有代码都可以免费下载。
5.Linux的体系结构
从大的方面讲,Linux体系结构可以分为两块:
用户空间(UserSpace):用户空间又包括用户的应用程序(UserApplications)、C库(CLibrary)。
内核空间(KernelSpace):内核空间又包括系统调用接口(SystemCallInterface)、内核(Kernel)、平台架构相关的代码(Architecture-DependentKernelCode)。
为什么Linux体系结构要分为用户空间和内核空间的原因?
1.现代CPU实现了不同的工作模式,不同模式下CPU可以执行的指令和访问的寄存器不同。 2.Linux从CPU的角度出发,为了保护内核的安全,把系统分成了两部分。
用户空间和内核空间是程序执行的两种不同的状态,我们可以通过两种方式完成用户空间到内核空间的转移:1)系统调用;2)硬件中断。
6.BASH和DOS之间的基本区别是什么?
BASH和DOS控制台之间的主要区别在于3个方面:
1.BASH命令区分大小写,而DOS命令则不区分; 2.在BASH下,/character是目录分隔符,\作为转义字符。在DOS下,/用作命令参数分隔符,\是目录分隔符 3.OS遵循命名文件中的约定,即8个字符的文件名后跟一个点,扩展名为3个字符。BASH没有遵循这样的惯例。
7.Linux开机启动过程?
1、主机加电自检,加载BIOS硬件信息。2、读取MBR的引导文件(GRUB、LILO)。3、引导Linux内核。4、运行第一个进程init(进程号永远为1)。5、进入相应的运行级别。6、运行终端,输入用户名和密码。
8.Linux系统缺省的运行级别?
关机。单机用户模式。字符界面的多用户模式(不支持网络)。字符界面的多用户模式。未分配使用。图形界面的多用户模式。重启。
9.Linux使用的进程间通信方式?管道(pipe)、流管道(s_pipe)、有名管道(FIFO)。信号(signal)。消息队列。共享内存。信号量。套接字(socket)。10.Linux有哪些系统日志文件?
比较重要的是/var/log/messages日志文件。
该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵。另外,如果胖友的系统里有ELK日志集中收集,它也会被收集进去。
11.Linux系统安装多个桌面环境有帮助吗?
通常,一个桌面环境,如KDE或Gnome,足以在没有问题的情况下运行。尽管系统允许从一个环境切换到另一个环境,但这对用户来说都是优先考虑的问题。有些程序在一个环境中工作而在另一个环境中无法工作,因此它也可以被视为选择使用哪个环境的一个因素。
12.什么是交换空间?
交换空间是Linux使用的一定空间,用于临时保存一些并发运行的程序。当RAM没有足够的内存来容纳正在执行的所有程序时,就会发生这种情况。
13.什么是root帐户
root帐户就像一个系统管理员帐户,允许你完全控制系统。你可以在此处创建和维护用户帐户,为每个帐户分配不同的权限。每次安装Linux时都是默认帐户。
14.什么是LILO?
LILO是Linux的引导加载程序。它主要用于将Linux操作系统加载到主内存中,以便它可以开始运行。
15.什么是BASH?
BASH是BourneAgainSHell的缩写。它由SteveBourne编写,作为原始BourneShell(由/bin/sh表示)的替代品。它结合了原始版本的BourneShell的所有功能,以及其他功能,使其更容易使用。从那以后,它已被改编为运行Linux的大多数系统的默认shell。
16.什么是CLI?
命令行界面(英语**: 开源允许你将软件(包括源代码)免费分发给任何感兴趣的人。然后,人们可以添加功能,甚至可以调试和更正源代码中的错误。它们甚至可以让它运行得更好,然后再次自由地重新分配这些增强的源代码。这最终使社区中的每个人受益。
19.GNU项目的重要性是什么?
这种所谓的自由软件运动具有多种优势,例如可以自由地运行程序以及根据你的需要自由学习和修改程序。它还允许你将软件副本重新分发给其他人,以及自由改进软件并将其发布给公众。
1.简单Linux文件系统?
在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录都被看作是一个文件。
也就是说在Linux系统中有一个重要的概念**:一切都是文件**。其实这是Unix哲学的一个体现,而Linux是重写Unix而来,所以这个概念也就传承了下来。在Unix系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。
Linux支持5种文件类型,如下图所示:文件类型
2.Linux的目录结构是怎样的?
这个问题,一般不会问。更多是实际使用时,需要知道。
Linux文件系统的结构层次鲜明,就像一棵倒立的树,最顶层是其根目录: Linux的目录结构
常见目录说明:
/bin:存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里;/etc:存放系统管理和配置文件;/home:存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示;**/usr**:用于存放系统应用程序/opt:额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里;/proc:虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;/root:超级用户(系统管理员)的主目录(特权阶级o);/sbin:存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等;/dev:用于存放设备文件;/mnt:系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;/boot:存放用于系统引导时使用的各种文件;**/lib**:存放着和系统运行相关的库文件;/tmp:用于存放各种临时文件,是公用的临时文件存储点;/var:用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;/lost+found:这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里。3.什么是inode?
一般来说,面试不会问inode。但是inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。
理解inode,要从文件储存说起。
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个sector组成一个block。
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程?
一般来说,面试官不太会问这个题目。
Linux通过inode节点表将文件的逻辑结构和物理结构进行转换。
·inode节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。在inode节点表中最重要的内容是磁盘地址表。在磁盘地址表中有13个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。 ·Linux文件系统通过把inode节点和文件名进行连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的inode节点号,通过该inode节点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑结构。
4.什么是硬链接和软链接?
1)硬链接
由于Linux下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配inode。每添加一个一个硬链接,文件的链接数就加1。
不足:1)不可以在不同文件系统的文件间建立链接;2)只有超级用户才可以为目录创建硬链接。
2)软链接
软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。
不足:因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。
实际场景下,基本是使用软链接。总结区别如下:
·硬链接不可以跨分区,软件链可以跨分区。 ·硬链接指向一个inode节点,而软链接则是创建一个新的inode节点。 ·删除硬链接文件,不会删除原文件,删除软链接文件,会把原文件删除。
5.RAID是什么?
RAID全称为独立磁盘冗余阵列(RedundantArrayofIndependentDisks),基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。RAID通常被用在服务器电脑上,使用完全相同的硬盘组成一个逻辑扇区,因此操作系统只会把它当做一个硬盘。
RAID分为不同的等级,各个不同的等级均在数据可靠性及读写性能上做了不同的权衡。在实际应用中,可以依据自己的实际需求选择不同的RAID方案。
当然,因为很多公司都使用云服务,大家很难接触到RAID这个概念,更多的可能是普通云盘、SSD云盘酱紫的概念。
三、安全
1.一台Linux系统初始化环境后需要做一些什么安全工作?
1、添加普通用户登陆,禁止root用户登陆,更改SSH端口号。
修改SSH端口不一定绝对哈。当然,如果要暴露在外网,建议改下。l
2、服务器使用密钥登陆,禁止密码登陆。
3、开启防火墙,关闭SElinux,根据业务需求设置相应的防火墙规则。
4、装fail2ban这种防止SSH暴力破击的软件。
5、设置只允许公司办公网出口IP能登陆服务器(看公司实际需要)
也可以安装VPN等软件,只允许连接VPN到服务器上。
6、修改历史命令记录的条数为10条。
7、只允许有需要的服务器可以访问外网,其它全部禁止。
8、做好软件层面的防护。8.1设置nginx_waf模块防止SQL注入。8.2把Web服务使用 数据库网页端注入这种,可以考虑使用nginx_waf做过滤与预防。
Shell
1.Shell脚本是什么?
一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务。
-什么是默认登录Shell?
在Linux操作系统,"/bin/bash"是默认登录Shell,是在创建用户时分配的。
使用chsh命令可以改变默认的Shell。示例如下所示:
##chsh用户名-s新shell##chshThinkWon-s/bin/sh
-在Shell脚本中,如何写入注释?
注释可以用来描述一个脚本可以做什么和它是如何工作的。每一行注释以#开头。例子如下:
#!/bin/bash##Thisisa 功能类似于cat,more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示。
命令参数:
+n从笫n行开始显示-n定义屏幕大小为n行+/pattern在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示-c从顶部清屏,然后显示-d提示“Pressspacetocontinue,’q’toquit(按空格键继续,按q键退出)”,禁用响铃功能-l忽略Ctrl+l(换页)字符-p通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似-s把连续的多个空行显示为一行-u把文件内容中的下画线去掉
常用操作命令:
Enter向下n行,需要定义。默认为1行Ctrl+F向下滚动一屏空格键向下滚动一屏Ctrl+B返回上一屏=输出当前行的行号:f输出文件名和当前行的行号V调用vi编辑器!命令调用Shell,并执行命令q退出more
实例:
(1)显示文件中从第3行起的内容
more+3text.txt
(2)在所列出文件目录详细信息,借助管道使每次显示5行
ls-l
more-5
按空格显示下5行。
11.mv命令
移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。
实例:
(1)将文件test.log重命名为test1.txt
mvtest.logtest1.txt
(2)将文件log1.txt,log2.txt,log3.txt移动到根的test3目录中
mvllog1.txtlog2.txtlog3.txt/test3(3)将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
mv-ilog1.txtlog2.txt
(4)移动当前文件夹下的所有文件到上一级目录
mv*../
12.rm命令
删除一个目录中的一个或多个文件或目录,如果没有使用-r选项,则rm不会删除目录。如果使用rm来删除文件,通常仍可以将该文件恢复原状。
rm[选项]文件…
实例:(1)删除任何.log文件,删除前逐一询问确认:
rm-i*.log
(2)删除test子目录及子目录中所有档案删除,并且不用一一确认:
rm-rftest
(3)删除以-f开头的文件
rm---f*
13.tail命令
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
常用参数:
-f循环读取(常用于查看递增的日志文件)-n行数显示行数(从后向前)
(1)循环读取逐渐增加的文件内容
ping.0.0.1ping.log
后台运行:可使用jobs-l查看,也可使用fg将其移到前台运行。
tail-fping.log
(查看日志)
14.touch命令
Linuxtouch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
ls-l可以显示档案的时间记录。
语法
touch[-acfm][-d日期时间][-r参考文件或目录][-t日期时间][--help][--version][文件或目录…]
参数说明:a改变档案的读取时间记录。m改变档案的修改时间记录。c假如目的档案不存在,不会建立新的档案。与--no-create的效果一样。f不使用,是为了与其他unix系统的相容性而保留。r使用参考档的时间记录,与--file的效果一样。d设定时间与日期,可以使用各种不同的格式。t设定档案的时间记录,格式与date指令相同。–no-create不会建立新档案。–help列出指令格式。–version列出版本讯息。
实例
使用指令"touch"修改文件"testfile"的时间属性为当前系统时间,输入如下命令:
touchtestfile#修改文件的时间属性
首先,使用ls命令查看testfile文件的属性,如下所示:
ls-ltestfile#查看文件的时间属性#原来文件的修改时间为16:09-rw-r--r--1hddhdd-08-:09testfile
执行指令"touch"修改文件属性以后,并再次查看该文件的时间属性,如下所示:
touchtestfile#修改文件时间属性为当前系统时间ls-ltestfile#查看文件的时间属性#修改后文件的时间属性为当前系统时间-rw-r--r--1hddhdd-08-:53testfile
使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件"file",输入如下命令:
touchfile#创建一个名为“file”的新的空白文件
15.vim命令
Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
打开文件并跳到第10行:vim+10filename.txt。打开文件跳到第一个匹配的行:vim+/search-termfilename.txt。以只读模式打开文件:vim-R/etc/passwd。
基本上vi/vim共分为三种模式,分别是命令模式(Commandmode),输入模式(Insertmode)和底线命令模式(Lastlinemode)。
简单的说,我们可以将这三个模式想成底下的图标来表示:
**16.whereis命令
**
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。whereis及locate都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。
常用参数:
-b定位可执行文件。-m定位帮助文件。-s定位源代码文件。-u搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
实例:
(1)查找locate程序相关文件
whereislocate
(2)查找locate的源码文件
whereis-slocate
(3)查找lcoate的帮助文件
whereis-mlocate
17.which命令
在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:
which查看可执行文件的位置。whereis查看文件的位置。locate配合数据库查看文件位置。find实际搜寻硬盘查询文件名称。
which是在PATH就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
常用参数:
-n指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
实例:(1)查看ls命令是否存在,执行哪个
whichls
(2)查看which
whichwhich
3)查看cd
whichcd(显示不存在,因为cd是内建命令,而which查找显示是PATH中的命令)
查看当前PATH配置:
echoPATH
或使用env查看所有环境变量及对应值
七、文档编辑命令
1.grep命令
强大的文本搜索命令,grep(GlobalRegularExpressionPrint)全局正则表达式搜索。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。
命令格式:
grep[option]patternfile
dir
常用参数:
-An--after-context显示匹配字符后n行-Bn--before-context显示匹配字符前n行-Cn--context显示匹配字符前后n行-c--count计算符合样式的列数-i忽略大小写-l只列出文件内容符合指定的样式的文件名称-f从文件中读取关键词-n显示匹配内容的所在文件中行数-R递归查找文件夹
grep的规则表达式:
^#锚定行的开始如:^grep匹配所有以grep开头的行。#锚定行的结束如:grep匹配所有以grep结尾的行。.#匹配一个非换行符的字符如:gr.p匹配gr后接一个任意字符,然后是p。*#匹配零个或多个先前字符如:*grep匹配所有一个或多个空格后紧跟grep的行。.*#一起用代表任意字符。[]#匹配一个指定范围内的字符,如[Gg]rep匹配Grep和grep。[^]#匹配一个不在指定范围内的字符,如:[^A-FH-Z]rep匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。\(..\)#标记匹配字符,如\(love\),love被标记为1。\#锚定单词的开始,如:\grep匹配包含以grep开头的单词的行。\#锚定单词的结束,如grep\匹配包含以grep结尾的单词的行。x\{m\}#重复字符x,m次,如:0\{5\}匹配包含5个o的行。x\{m,\}#重复字符x,至少m次,如:o\{5,\}匹配至少有5个o的行。x\{m,n\}#重复字符x,至少m次,不多于n次,如:o\{5,10\}匹配5--10个o的行。\w#匹配文字和数字字符,也就是[A-Za-z0-9],如:G\w*p匹配以G后跟零个或多个文字或数字字符,然后是p。\W#\w的反置形式,匹配一个或多个非单词字符,如点号句号等。\b#单词锁定符,如:\bgrep\b只匹配grep。
实例:
(1)查找指定进程
ps-ef
grepsvn
(2)查找指定进程个数
ps-ef
grepsvn-c
(3)从文件中读取关键词
cattest1.txt
grep-fkey.log
(4)从文件夹中递归查找以grep开头的行,并只列出文件
grep-lR^grep/tmp
(5)查找非x开关的行内容
grep^[^x]test.txt
(6)显示包含ed或者at字符的内容行
grep-Eed
attest.txt
2.wc命令wc(wordcount)功能为统计指定的文件中字节数、字数、行数,并将统计结果输出
命令格式:
wc[option]file..
实例:(1)查找文件的行数单词数字节数文件名
wctext.txt
结果:
test.txt
(2)统计输出结果的行数
cattest.txt
wc-l
八、磁盘管理命令
1.cd命令cd(changeDirectory)命令语法:
cd[目录名
说明:切换当前目录至dirName。
实例:(1)进入要目录
cd/
(2)进入“home”目录
cd~
(3)进入上一次工作路径
cd-
(4)把上个命令的参数作为cd参数使用。
cd!
2.df命令
显示磁盘空间使用情况。获取硬盘被占用了多少空间,目前还剩下多少空间等信息,如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以1KB为单位进行显示,除非环境变量POSIXLY_CORRECT被指定,那样将以字节为单位进行显示:
-a全部文件系统列表-h以方便阅读的方式显示信息-i显示inode信息-k区块为字节-l只显示本地磁盘-T列出文件系统类型
实例:(1)显示磁盘使用情况
df-l
(2)以易读方式列出所有文件系统及其类型
df-haT
3.du命令
du命令也是查看使用空间的,但是与df命令不同的是Linuxdu命令是对文件和目录磁盘使用的空间的查看:
命令格式:
du[选项][文件]
常用参数:
-a显示目录中所有文件大小-k以KB为单位显示文件大小-m以MB为单位显示文件大小-g以GB为单位显示文件大小-h以易读方式显示文件大小-s仅显示总计-c或--total除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
实例:(1)以易读方式显示文件夹内及子文件夹大小
du-hscf/
(2)以易读方式显示文件夹内所有文件大小
du-ahscf/
(3)显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和
du-hctest/scf/
(4)输出当前目录下各个子目录所使用的空间
du-hc--max-depth=1scf/
4.ls命令
就是list的缩写,通过ls命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。
常用参数搭配:
ls-a列出目录所有文件,包含以.开始的隐藏文件ls-A列出除.及..的其它文件ls-r反序排列ls-t以文件修改时间排序ls-S以文件大小排序ls-h以易读大小显示ls-l除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
实例:(1)按易读方式按时间反序排序,并显示文件详细信息
ls-lhrt
(2)按大小反序显示文件详细信息
ls-lrS
(3)列出当前目录中所有以"t"开头的目录的详细内容
ls-lt*
(4)列出文件绝对路径(不包含隐藏文件)
ls
sed"s:^:`pwd`/:"
(5)列出文件绝对路径(包含隐藏文件)
findpwd-maxdepth1
xargsls-ld
5.mkdir命令
mkdir命令用于创建文件夹。
可用选项:-m:对新建目录设置存取权限,也可以用chmod命令设置;-p:可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。
实例:(1)当前工作目录下创建名为t的文件夹
mkdirt
(2)在tmp目录下创建路径为test/t1/t的目录,若不存在,则创建:
mkdir-p/tmp/test/t1/t
6.pwd命令
pwd命令用于查看当前工作目录路径。
实例:(1)查看当前路径
pwd
(2)查看软链接的实际路径
pwd-P
7.rmdir命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限。注意:不能删除非空目录
实例:(1)当parent子目录被删除后使它也成为空目录的话,则顺便一并删除:
rmdir-pparent/child/child11
九、网络通讯命令
1.ifconfig命令
ifconfig用于查看和配置Linux系统的网络接口。查看所有网络接口及其状态:ifconfig-a。使用up和down命令启动或停止某个接口:ifconfigeth0up和ifconfigeth0down。
2.iptables命令
iptables,是一个配置Linux内核防火墙的命令行工具。功能非常强大,对于我们开发来说,主要掌握如何开放端口即可。例如:
把来源IP为..1.访问本机80端口的包直接拒绝:iptables-IINPUT-s..1.-ptcp--dport80-jREJECT。
开启80端口,因为web对外都是这个端口
iptables-AINPUT-ptcp--dport80-jACCE
另外,要注意使用iptablessave命令,进行保存。否则,服务器重启后,配置的规则将丢失。
3.netstat命令
Linuxnetstat命令用于显示网络状态。
利用netstat指令可让你得知整个Linux系统的网络情况。
语法
netstat[-acCeFghilMnNoprstuvVwx][-A网络类型][--ip]
参数说明:-a或–all显示所有连线中的Socket。-A网络类型或–网络类型列出该网络类型连线中的相关地址。-c或–continuous持续列出网络状态。-C或–cache显示路由器配置的快取信息。-e或–extend显示网络其他相关信息。-F或–fib显示FIB。-g或–groups显示多重广播功能群组组员名单。-h或–help在线帮助。-i或–interfaces显示网络界面信息表单。-l或–listening显示监控中的服务器的Socket。-M或–masquerade显示伪装的网络连线。-n或–numeric直接使用IP地址,而不通过域名服务器。-N或–netlink或–symbolic显示网络硬件外围设备的符号连接名称。-o或–timers显示计时器。-p或–programs显示正在使用Socket的程序识别码和程序名称。-r或–route显示RoutingTable。-s或–statistice显示网络工作信息统计表。-t或–tcp显示TCP传输协议的连线状况。-u或–udp显示UDP传输协议的连线状况。-v或–verbose显示指令执行过程。-V或–version显示版本信息。-w或–raw显示RAW传输协议的连线状况。-x或–unix此参数的效果和指定"-Aunix"参数相同。–ip或–inet此参数的效果和指定"-Ainet"参数相同。
实例
如何查看系统都开启了哪些端口?
[root
centos6~13:20#55]#netstat-lnpActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp.0.0.0:.0.0.0:*LISTEN/sshdtcp00:::22:::*LISTEN/sshdudp.0.0.0:.0.0.0:*/dhclientActiveUNIXdomainsockets(onlyservers)ProtoRefCntFlagsTypeStateI-NodePID/ProgramnamePathunix2[ACC]STREAMLISTENING/init/转载请注明:http://www.sonphie.com/jbby/14258.html