1。什么是Linux? 是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯本纳第克特托瓦兹于1991年第一次释出,它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。2。Linux内核主要负责哪些功能系统内存管理软件程序管理硬件设备管理文件系统管理3。交互方式 控制台终端、图形化终端4。启动shell GNUbashshell能提供对linux系统的交互式访问。作为普通程序运行,通常在用户登陆终端时启动。登录时系统启动的shell依赖与用户账户的配置。5。bash手册 大多数linux发行版自带以查找shell命令及其他GNU工具信息的在线手册。man命令用来访问linux系统上的手册页面。当用man命令查看手册,使用分页的程序来现实的。6。登陆后你在的位置? 一般登陆后,你的位置位于自己的主目录中。7。绝对文件路径?相对文件路径?快捷方式? 绝对文件路径:描述了在虚拟目录结构中该目录的确切位置,以虚拟目录跟目录开始,相当于目录全名。 以正斜线()开始,比如usrlocal。 相对文件路径:允许用户执行一个基于当前位置的目标文件路径。 比如:当前在usrlocallocallsCaskroomFrameworksbingolibsbinvarCellarHomebrewetcincludeoptsharelocalcdgo复制代码 快捷方式(在相对路径中使用): 单点符(。):表示当前目录;双点符(。。):表示当前目录的父目录。8。迷路,我的当前位置在哪? pwd显示当前目录〔rootiz2ze76ybn73dvwmdij06zzlocal〕pwdusrlocal复制代码9。如何切换目录? 语法:cddestination destination:相对文件路径或绝对文件路径 可以跳到存在的任意目录。10。如何查看目录中的文件?区分哪些是文件哪些是目录?递归查? ls命令会用最基本的形式显示当前目录下的文件和目录:locallsCaskroomFrameworksbingolibsbinvarCellarHomebrewetcincludeoptshare复制代码 可以看出默认是按照字母序展示的 一般来说,ls命令回显示不同的颜色区分不同的文件类型,如果没有安装颜色插件可以用lsF来区分哪些是目录(目录带),哪些是文件(文件不带) lsR递归展示出目录下以及子目录的文件,目录越多输出越多11。创建文件?创建目录?批量创建? 创建文件:touch文件名 批量创建文件:touch文件名文件名testtouchatestlsatesttouchbctestlsabc复制代码 创建目录:mkdir目录名 批量创建目录:mkdir目录名目录名testmkdiraatestmkdirbbcctestlsaaabbbccctestlsFaaabbbccc复制代码12。删除文件?强制删除?递归删除? 语法:rmdestination i询问是否删除,r递归删除,f强制删除。 rm不能删除有文件的目录,需要递归删除。xktestrmjdkrm:jdk:isadirectoryxktestrmrjdkxktestls复制代码 rmi询问删除,建议大家平时删除多用i,确定一下再删除。xktesttouchtomcatxktestrmitomcatremovetomcat?n复制代码 rmrf会直接删除,没有警告信息,使用必须谨慎。13。制表符自动补全? 有的时候文件的名字很长,很容易拼出错即使拼写对了也很浪费时间。xktestlsjavajavaxiaokaxiu复制代码 比如操作javaxiaokaxiu这个文件时,输入到java的时候,然后按制表键(tab)就会补全成javaxiaokaxiu,是不是方便多了。14。复制文件 语法:cpsourcetarget 如果target不存在则直接创建,如果存在,默认不会提醒你是否需要覆盖,需要加i就会询问你是否覆盖,n否y是。xktestcpacxktestcpiacoverwritec?(yn〔n〕)yxktestlsac复制代码15。重新命名文件?移动文件? 语法:mvsoucretarget 重命名:xktestlsxktesttouchjavaxktestlsjavaxktestmvjavajava1。8xktestlsjava1。8复制代码 移动文件: 新建jdk目录把java1。8文件移动到jdk目录下。xktestlsjava1。8xktestmkdirjdkxktestmvjava1。8jdkxktestlsRjdk复制代码。jdk:java1。816。什么是链接文件? 如过需要在系统上维护同一文件的两份或者多份副本,除了保存多分单独的物理文件副本之外。还可以采用保存一份物理文件副本和多个虚拟副本的方法,这种虚拟的副本就叫做链接。17。查看文件类型?字符编码? 语法:filedestinationapachefiletomcattomcat:ASCIItext复制代码 可以看出,file命令可以显示文件的类型text以及字符编码ASCII18。查看整个文件?按照有文本显示行号?无文本显示行号? 语法:catdestination n显示行号,b有文本的显示行号。(默认是不显示行号的)apachecatntomcat1text2text34start5stop6restart7endapachecatbtomcat1text2text3start4stop5restart6end复制代码复制代码19。查看部分文件 语法:taildestination 默认情况会展示文件的末尾10行。n行数,显示最后n行。apachetailn2tomcatrestartend复制代码 语法:headdestination 默认情况会展示文件的开头10行。n行数,显示开头n行。apacheheadn2tomcattexttext复制代码20。数据排序?对数字进行排序?对月份排序? 默认情况下,文件的数据展示是按照原顺序展示的。sort命令可以对文本文件中的数据进行排序。sort默认会把数据当成字符处理。 语法:sortdestination sortn所以排序数字时需要用n,它的含义是说当前排序是的数字。 sortM比如月份Jan、Feb、Mar,如果希望它按照月份排序,加入M就会按照月份的大小来排序。21。查找匹配数据?反向搜? 语法:grep〔options〕pattern〔file〕 该命令会查找匹配执行模式的字符串的行,并输出。apachegrepstarttomcatstartrestart复制代码 v反向搜apachegrepvstarttomcattexttext复制代码stopend n显示行号 c显示匹配的行数22。压缩工具有哪些? 23。如何压缩文件?如何解压文件? 比如以。gz的格式举例。 压缩语法:gzipdestinationapachegziptomcatapachelstomcat。gz复制代码 解压语法:gunzipdestinationapachegunziptomcat。gzapachelstomcat复制代码24。Linux广泛使用的归档数据方法? 虽然zip命令能压缩和解压单个文件,但是更多的时候广泛使用tar命令来做归档。 语法:tarfunction〔options〕obj1obj2 apachetarcvfservice。tarservice1service2创建规定文件service。taraservice1aservice2apachetartfservice。tar查看文件中的目录内容service1service2apachetarzxvfservice。tar解压xservice1xservice2复制代码25。如何查看命令历史记录? history命令可以展示你用的命令的历史记录。4463touchservice1service24464ls4465tarcvfservice。tarservice1service24466tartfservice。tar4467tarzxvfservice4468tarzxvfservice。t4469tarzxvfservice。tar4470ls4471tarzxvfservice。tar4472ls复制代码26。查看已有别名?建立属于自己的别名? aliasp查看当前可用别名〔rootiz2ze76ybn73dvwmdij06zz〕aliaspaliascpcpialiasegrepegrepcolorautoaliasfgrepfgrepcolorautoaliasgrepgrepcolorautoaliasl。lsd。colorautoaliaslllslcolorauto复制代码 aliaslilsli创建别名27。什么是环境变量? bashshell用一个叫作环境变量(environmentvariable)的特性来存储有关shell会话和工作环境的信息。这项特性允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到它们。这也是存储持久数据的一种简便方法。 在bashshell中,环境变量分为两类: 全局变量:对于shell会话和所有生成的子shell都是可见的。局部变量:只对创建他们的shell可见。28。储存用户的文件是?包括哪些信息? etcpasswd存储来一些用户有关的信息。〔rootiz2ze76ybn73dvwmdij06zz〕catetcpasswdroot:x:0:0:root:root:binbashbin:x:1:1:bin:bin:sbinnologin复制代码 文件信息包括如下内容。登录用户名用户密码用户账户的UID(数字形式)用户账户的组ID(GID)(数字形式)用户账户的文本描述(称为备注字段)用户HOME目录的位置用户的默认shell29。账户默认信息?添加账户?删除用户?〔rootiz2ze76ybn73dvwmdij06zz〕useraddD查看系统默认创建用户信息GROUP100HOMEhomeINACTIVE1EXPIRESHELLbinbashSKELetcskelCREATEMAILSPOOLyes〔rootiz2ze76ybn73dvwmdij06zz〕useraddxiaoka添加用户复制代码〔rootiz2ze76ybn73dvwmdij06zz〕userdelxiaoka删除用户30。查看组信息?如何创建组?删除组?〔rootiz2ze76ybn73dvwmdij06zz〕catetcgrouproot:x:0:bin:x:1:daemon:x:2:sys:x:3:adm:x:4:tty:x:5:disk:x:6:〔rootiz2ze76ybn73dvwmdij06zz〕groupaddjava创建组〔rootiz2ze76ybn73dvwmdij06zz〕groupdeljava创建组复制代码31。文件描述符?每个描述符的含义?〔rootiz2ze76ybn73dvwmdij06zzxiaoka〕lsl总用量0rwrr1rootroot04月2113:17arwrr1rootroot04月2113:17brwrr1rootroot04月2113:17crwrr1rootroot04月2113:17drwrr1rootroot04月2113:17e复制代码 1、文件类型:代表文件d代表目录l代表链接c代表字符型设备b代表块设备n代表网络设备 2、访问权限符号:r代表对象是可读的w代表对象是可写的x代表对象是可执行的 若没有某种权限,在该权限位会出现单破折线。 3、这3组权限分别对应对象的3个安全级别:对象的属主对象的属组系统其他用户31。修改权限? chmodoptionsmodefile 比如给文件附加可以执行权限:〔rootxiaoka〕chmodxfilename复制代码32。如何执行可以执行文件?〔rootxiaoka〕shsleep。shhello,xiaoka〔rootxiaoka〕。sleep。shhello,xiaoka复制代码33。列出已经安装的包?安装软件?更新软件?卸载? 列出已经安装的包:yumlistinstalled 安装软件:yuminstallpackagename 更新软件:yumupdatepackagename 卸载软件:yumremovepackagename只删除软件包保留数据文件和配置文件 如果不希望保留数据文件和配置文件 可以执行:yumerasepackagename34。源码安装通常的路子?tarzxvfxx。gz解包cdxx。configuremakemakeinstall复制代码35。vim编辑器几种操作模式?基本操作? 操作模式:普通模式插入模式 基础操作:h:左移一个字符。j:下移一行(文本中的下一行)。k:上移一行(文本中的上一行)。l:右移一个字符。 vim提供了一些能够提高移动速度的命令:PageDown(或CtrlF):下翻一屏PageUp(或CtrlB):上翻一屏。G:移到缓冲区的最后一行。numG:移动到缓冲区中的第num行。gg:移到缓冲区的第一行。 退出vim:q:如果未修改缓冲区数据,退出。q!:取消所有对缓冲区数据的修改并退出。wfilename:将文件保存到另一个文件中。wq:将缓冲区数据保存到文件中并退出。36。查看设备还有多少磁盘空间? df可以查看所有已挂在磁盘的使用情况。 m用兆字节,G代替g字节〔rootiz2ze76ybn73dvwmdij06zz〕df文件系统1K块已用可用已用挂载点devtmpfs1931568019315680devtmpfs1940960019409600devshmtmpfs194096072019402401runtmpfs1940960019409600sysfscgroupdevvda14115281290685443018056024tmpfs38819203881920runuser0复制代码快速判断某个特定目录是否有超大文件? 默认情况,du会显示当前目录的所有文件、目录、子目录的磁盘使用情况。〔rootiz2ze76ybn73dvwmdij06zzsrc〕du4。debug4。kernels12复制代码37。默认进程信息显示? ps它能输出运行在系统上的所有程序的许多信息。 默认情况下ps值显示运行在当前控制台下的当前用户的进程。〔rootiz2ze76ybn73dvwmdij06zz〕psPIDTTYTIMECMD10102pts000:00:00bash10131pts000:00:00ps复制代码38。实时监测进程 与ps相比,top可以实时监控进程信息。 image20200421114633852 平均负载有3个值:最近1分钟的、最近5分钟的和最近15分钟的平均负载。值越大说明系统的负载越高。由于进程短期的突发性活动,出现最近1分钟的高负载值也很常见,但如果近15分钟内的平均负载都很高,就说明系统可能有问题。39。如何中断一个进程? 在一个终端中,Ctrlc 通过这个命令许多(不是全部)命令行程序都可以被中断。40。如何把一个进程放到后台运行?〔rootiz2ze76ybn73dvwmdij06zz〕。sleep。sh复制代码 此时,进程并不能被Ctrlc中断。41。如何停止一个进程? kill命令被用来给程序发送信号。如果没有指定信号,默认发送TERM(终止)信号。 语法:kill〔signal〕PID image20200421141556974 42。验证网络可链接命令是什么?什么原理? ping。这个ping命令发送一个特殊的网络数据包(叫做IMCPECHOREQUEST)到一台指定的主机。大多数接收这个包的网络设备将会回复它,来允许网络连接验证。 image20200421142307602 一旦启动,ping会持续在特定时间(默认1秒)发送数据包。43。查看某端口是否被占用? netstatntulpgrep8080〔rootiz2ze76ybn73dvwmdij06zz〕netstatntulpgrep8080tcp000。0。0。0:80800。0。0。0:LISTEN4517java复制代码 参数说明:t(tcp)仅显示tcp相关选项u(udp)仅显示udp相关选项n拒绝显示别名,能显示数字的全部转化为数字l仅列出在Listen(监听)的服务状态p显示建立相关链接的程序名44。如何查找匹配的文件?基于文件属性? find程序能基于各种各样的属性,搜索一个给定目录(以及它的子目录),来查找文件。 find命令的最简单使用是,搜索一个或多个目录。 普通查找,按照name查找:〔rootiz2ze76ybn73dvwmdij06zz〕findnamexiaoka。xiaoka复制代码 文件类型查找: 比如,输出我们的家目录文件数量〔rootiz2ze76ybn73dvwmdij06zz〕findwcl17130复制代码 根据文件类型查:〔rootiz2ze76ybn73dvwmdij06zz〕findtypedwcl7340复制代码 find支持的类型:b块设备文件、c字符设备文件、d目录、f普通文件、l符号链接45。如何查看当前主机名?如何修改?如何重启后生效?〔rootiz2ze76ybn73dvwmdij06zz〕hostname查看当前主机名iz2ze76ybn73dvwmdij06zz〔rootiz2ze76ybn73dvwmdij06zz〕hostnamexiaoka修改当前主机名〔rootiz2ze76ybn73dvwmdij06zz〕hostnamexiaoka复制代码 大家知道一般来讲命令重启就会失效,目前基本上用的centos7的比较多,两种方式可以支持重启生效。 一、命令〔rootiz2ze76ybn73dvwmdij06zz〕hostnamectlsethostnamexiaoka〔rootiz2ze76ybn73dvwmdij06zz〕hostnamexiaoka〔rootxiaoka〕复制代码 二、修改配置文件:etchostname〔rootxiaoka〕vimetchostname复制代码46。如何写一条规则,拒绝某个ip访问本机8080端口?iptablesIINPUTsipptcpdport8080jREJECT复制代码47。哪个文件包含了主机名和ip的映射关系? etchosts48。如何用sed只打印第5行?删除第一行?替换字符串? 只打印第5行:apachesedn5ptomcatstop复制代码 删除第一行:〔rootxiaoka〕catstoryLongagoalionandabearsawakid。Theyspranguponitatthesametime。Thelionsaidtothebear,Icaughtthiskidfirst,andsothisismine。〔rootxiaoka〕catstoryTheyspranguponitatthesametime。Thelionsaidtothebear,Icaughtthiskidfirst,andsothisismine。复制代码 替换字符串:apachecatstoryLongagoalionandabearsawakid。Theyspranguponitatthesametime。Thelionsaidtothebear,Icaughtthiskidfirst,andsothisismine。apachesedsthisthatgstoryLongagoalionandabearsawakid。Theyspranguponitatthesametime。Thelionsaidtothebear,Icaughtthatkidfirst,andsothatismine。复制代码49。打印文件第一行到第三行? 文件tomcat中内容:apachecattomcattext21text22text23startstoprestartend复制代码apachehead3tomcattext21text22text23apachesedn1,3ptomcattext21text22text23apacheawkNR1NR3tomcattext21text22text23复制代码50。如何用awk查看第2行倒数第3个字段?apacheawkNR3{print(NF2)}storythisapachecatstoryLongagoalionandabearsawakid。Theyspranguponitatthesametime。Thelionsaidtothebear,Icaughtthiskidfirst,andsothisismine。 作者:Java小咖秀 链接:https:juejin。cnpost6844904180834893837