当前位置: 首页 > Linux

扎实基础系列之四:Linux知识总结

时间:2023-04-06 19:57:13 Linux

前言现在很多公司都使用Linux服务器进行项目部署,尤其是互联网公司。对于较大的互联网公司,系统可能非常复杂,无法在本地启动。一般使用专用的开发机,供开发人员开发和测试。实习期间接触到的项目,没有一个是在本地启动的。他们都需要写代码,更新代码到开发机上,编译部署,部署过程中检查有没有错误或者查看访问本机的日志。而这些操作需要熟悉基本的Linux命令。今天总结一下Linux的相关概念和基本操作。想了解更多可以去《鸟哥的私房菜》。同时也希望大家多实践,才能理解的更深。Linux常识概括了以下几个部分:Linux常用概念、Linux常用命令、vi操作和一个最简单的shell脚本。详解1.Linux常用概念1.1Linux与Windows的区别Linux严格区分大小写Linux中的所有内容都以文件的形式保存,包括硬件。一切都是文件。Linux不以扩展名区分文件类型,而是以权限区分文件类型。带后缀的文件名是约定俗成的,方便管理。Windows下的程序无法在Linux下安装运行。1.2Linux使用字符界面有什么优点?字符界面占用系统资源少。字符界面减少了错误和攻击的可能性。1.3PartitioningType主分区:最多只能有4个。扩展分区最多只能有1个主分区,扩展分区最多有4个数据不能写入,只能包含逻辑分区。2GB以上)推荐分区/boot(boot分区,200MB)1.5普通目录的作用/根目录/bin命令存放目录(普通用户可以阅读的命令)/boot启动目录,启动相关文件/dev设备文件存放目录/etc配置文件存放目录/home普通用户主目录/lib系统库存放目录/mnt系统挂载目录/media挂载目录/root超级用户主目录/tmp临时目录/sbin命令保存目录(超级用户/proc直接写入内存/sys/usr系统软件资源目录/usr/bin/系统命令(普通用户)/usr/sbin/系统命令(超级用户)/var系统相关文件内容根目录usr下的bin和sbin目录,usr目录下的bin和sbin,这四个目录是用来保存系统命令的,proc和sys目录是不能直接操作的,这两个目录存放的是内存过载点。2、Linux常用命令2.1命令基本格式命令[选项][参数]2.2查询目录内容ls[选项][文件或目录]选项:-a:显示所有文件,包括隐藏文件-l:显示详细信息-d:查看目录属性-h:人性化显示文件大小-i:显示inode2.3目录处理命令mkdir-p[目录名]-p递归创建命令英文原义:makeDirectoriescd[目录]命令英文原义:改变directory简化操作cd~进入当前用户家目录cdcd-进入上一级目录cd..进入上层目录cd。文件或目录]选项:-r:删除目录-f:强制2.5复制命令cp[选项][源文件或目录][目标目录]选项:-r:复制目录-p:复制文件属性-d:如果如果源文件是链接文件,则复制链接属性-a:相当于-pdr2.6剪切或重命名命令mv[原文件或目录][目标目录]2.7链接命令ln-s[原文件][目标file]生成链接文件选项:-s创建软链接硬链接特点:具有相同的i-node和storageblock,可以看作是同一个文件i-node可以识别不能跨分区不能对目录使用软链接特点:类似于Windows快捷方式软链接有自己的i-node和blockblock,但datablock中只保存了原文件的文件名和i-node号,并没有实际的文件数据。lrwxrwxrwx表示软链接。既改又删原文件,不能用软链接。如果目标文件和源文件不在同一个目录下,源文件必须写绝对路径。2.8文件搜索命令locatefilename在后台数据库中按文件名搜索,搜索速度较快/var/lib/mlocatelocate命令搜索后台数据库updateddb更新数据库。默认情况下每天更新。快的。缺点:只能按文件名搜索。find[搜索范围][搜索条件]搜索文件find/-nameinstall.log避免大范围搜索,消耗系统资源。find是在系统中搜索符合条件的文件名。如果需要匹配,则使用通配符匹配,即完全匹配。*匹配什么?匹配任意字符[]匹配方括号中的任意字符find/root-inameinstall.log不区分大小写find/root-userroot按所有者查找find/root-nouser查找无所有者find/var/log-mtime+10查找文件10天前修改找到。-size25k查找文件大小为25KB的文件find.-inum262422查找i节点为262422的文件2.9commandwhereiscommandforsearchcommands搜索命令所在路径和帮助文档所在位置选项:-b:只查找可执行文件-m:只查找帮助文件whichcommand可以看到目录和别名2.10searchstringcommandgrep[option]stringfilenameinthefile其中匹配符合条件的字符串选项:-i:忽略大小写-v:排除指定的字符串2.11help命令mancommandcommand--helpshell内部命令info命令2.12压缩命令zip格式压缩zip压缩文件名源文件压缩文件zip-r压缩文件名源目录压缩目录zip格式unzip解压压缩文件gz格式压缩gzip源文件压缩成.gz格式压缩文件,source文件会消失gzip-c源文??件>压缩文件压缩成.gz格式,源文件保留gzip-r目录压缩目录下的所有子文件,但不能压缩目录gz格式解压gzip-d压缩文件解压文件gunzip压缩文件解压文件bz2格式压缩bzip2源文件压缩成.bz2格式,不保留源文件bzip2-k源文件压缩后保留源文件bzip2命令无法压缩目录打包命令tartar-cvf打包文件名源文件解包命令tar-xvf打包文件名.tar.gz压缩格式其实.tar.gz的格式是先打包成.tar格式,再压缩成.gz格式tar-zcvf压缩包名.tar.gz源码file.tar.gz解压tar-zxvf压缩包名.tar.gz.tar.bz2压缩格式tar-jcvf压缩包名.tar.bz2源文件.tar.bz2解压tar-jxvf压缩包名.tar.bz22.13关机命令shutdown[Options]时间选项:-c:取消之前的一个关机命令-h:shutdown-r:restarthaltpoweroffinit02.14restartrebootinit62.15系统运行级别0:关机1:单用户2:不完全多用户,不包括NFS服务3:完全多用户4:未分配5:图形界面6:restartcat/etc/inittab修改系统默认runlevelrunlevelquerysystemrunlevellogout登出2.16mount命令查询和自动mountmount根据配置文件/etc/fstab中mount-a的内容查询系统中挂载的设备,自动挂载mount命令格式mount[-t文件系统][-o特殊选项]设备文件名挂载点挂载光盘mkdir/mnt/cdrom创建挂载点mount-tiso9660/dev/cdrom/mnt/cdrom/mountCD卸载命令umount设备文件名或挂载点umount/mnt/cdrom2.17查看登录用户信息wusername命令输出:USER:登录用户名TTY:登录终端FROM:从哪个IP地址登录LOGIN@:登录时间IDLE:用户空闲timeJCPU:连接到本终端的所有进程占用的时间PCPU:当前进程占用的时间WHAT:当前运行的命令whousername查询当前登录和过去登录的用户信息last查看所有用户的最后一次登录时间lastlog2.18history命令history[option][savefileforhistorycommand]option-c:clearhistorycommand-w:writehistorycommandincachetosavefileforhistorycommand~/.bash_historyhistory该命令默认会保存1000条,可以在里面修改环境变量配置文件/etc/profile2.19统计wc[option][filename]option-c:countbytes-w:countwords-l:countlines2.20使用管道符查看输出ls-l/etc|更多网络统计-an|grepESTABLISHED2.21用户和用户组用户:使用操作系统的人用户组:具有相同系统权限的一组用户/etc/group:存放当前所有用户组信息组名组密码占位符组号用户名列表系统/etc/gshadow:存放当前系统用户组密码信息组名组密码组管理员组用户名列表/etc/passwd:存放当前系统所有用户的信息,用户名,密码占位符,用户号,用户组号,用户注意事项用户家目录shell类型/etc/shadow存放当前系统所有用户的密码信息用户名password3.vi操作3.1操作方式CommandMode:命令方式InsertMode:输入方式LastLineMode:底线方式3.2common命令vim+abc打开文件并将光标定位到最后一行vim+2abc第二行vim+/xxxabc跳转到指定字符串第一次出现的地方同时打开多个文件可以使用nNprev切换3.3底行模式常用命令:w保存文件,但不退出vi:q退出vi:!强制执行/xxx向下查找,按n查找下一个,N查找上一个,这和less命令的查找方式一样吗?xxxtoSearchbefore,按n查找下一个,N查找上一个3.4命令模式常用命令h:光标左移j:光标下移k:光标上移l:光标右移ctrl+f:向下翻页ctrl+b:向上翻页ctrl+d:向下翻半页ctrl+f:向上翻半页dd:删除光标所在行o:在光标下插入一行光标并切换到输入模式yy:复制光标所在行p:粘贴P到光标所在行下方:粘贴到光标所在行上方命令echo[option][outputcontent]3.3脚本编写第一行#!/bin/bashecho"helloworld"授予执行权限,直接运行chmod755hello.sh./hello.sh通过bash执行脚本bashhello.sh我建立了我建立了一个技术交流群,每天我会精选文章发布科技早报,里面会有技术大佬一起交流学习,需要一起成长的朋友可以加我微信(微信ID:yonglun_1994),拉你入群,并有Learningspree互相发送。关注公众号:回复【Java经典】获取Java经典电子书;回复【Java学习】,获取Java整个体系的学习资料;回复【Java项目】获取Java项目学习资料;回复【互联网认知】,获取互联网认知相关的学习资料;回复【技术学习】获取更多技术学习资料;回复【MySQL学习】获取MySQL学习资料;回复【面试】获取面试相关资料;