当前位置: 首页 > Linux

Linux纯干货知识汇总-专访专题

时间:2023-04-06 22:12:20 Linux

介绍:学习Linux的重要性相信不用多说。下面小编总结了Linux常用的基础知识以及面试中经常被问到的Linux命令。建议大家装个Linux越系统练习,进步越快!学习Linux的重要性相信不用我多说大家都明白。下面是小编总结的常见Linux基础知识以及面试中经常问到的Linux命令。希望能帮助大家更规范的理解和使用~绝对路径和相对路径绝对路径以正斜杠开头的完整文件位置路径可以在任何想固定文件名的时候使用相对路径不以aslash相对于当前工作目录或目录的位置,可以指定为文件名的缩写-Basename:basename,即文件本身的名称-directoryname:dirname,即文件夹的名称是在ChangedirectorycdChangedirectoryuseabsoluteorrelativepathcd/home/wangcdhome/wangswitchtoparentdirectory:cdswitchtoPreviousworkingdirectory:cd-options:-P相关环境变量:PWD:当前目录路径OLDPWD:以前的目录路径文件通配符*匹配零个或多个字符?匹配任意单个字符~当前用户主目录~mage用户mage主目录~+当前工作目录~-上一个工作目录[0-9]匹配数字范围[a-z]:字母[wang]匹配列表中任意字符[^wang]匹配列表中除字符以外的所有字符创建一个空文件并刷新时间touch命令格式:touch[OPTION]…FILE…-achangeonlyatimeandctime-mchangeonlymtimeandctime-t[[CC]YY]MMDDhhmm[.ss]指定atime和mtime的时间戳-c如果文件不存在,则不创建复制文件和目录cpcp常用选项-i:覆盖前提示,-n:不覆盖,注意以两个-r的顺序,-R:递归复制目录及其所有内容-a:归档,相当于-dR--preserv=all-d:--no-dereference--preserv=links不复制原始文件,只有链接名-preserv[=ATTR_LIST]mode:permissionownership:ownerandgroupcpoption-p:equal—preserv=mode,ownership,timestamp-v:--verbose-f:--force-u:--update只复制源比目标更新或目标不存在的文件-b:目标存在,覆盖前备份--backup=编号后缀移动并重命名文件mv[OPTION]...[-T]SOURCEDESTmv[OPTION]...SOURCE...DIRECTORYmv[option]...-tDIRECTORYSOURCE...常用选项:-i:interactive-f:force-b:目标存在,备份并删除rm[OPTION]...FILI...覆盖前。(建议工作时不要使用rm命令)常用选项:-iinteractive-fforcedelete-rrecursive--no-preserve-rootdelete/例子:rm-rf/*directoryoperationtree显示目录树-d:只显示目录-Llevel:指定显示层数-ppattern:只显示指定模式匹配的路径mkdircreatedirectory-p:存在而不报错,并且可以自动创建需要的目录-v:显示详细信息-mMODE:创建目录时直接指定权限rmdir删除空目录-p:递归删除父级空目录-v:显示详细信息rm-r递归删除目录树索引节点**inode(索引节点)table包含文件系统中所有文件的列表inode表结构**节点(indexnode)是表中的一个条目,包含关于文件的信息(元数据),包括:文件类型、权限、UID、GID的数量链接(指向此文件名的路径名的数量)文件的大小和不同的时间戳指向磁盘上文件的数据块指针有关文件的其他数据硬链接和软链接(符号链接)硬链接-创建硬链接link会增加一个额外的记录项来引用文件-对应同一个文件系统上的一个物理文件-每个目录引用相同的inode号-创建时增加链接数-删除文件时:链接文件rm命令递减存在计数,当链接计数为零时至少有一个链接计数,文件被删除-不能跨越驱动器或分区-语法:Infilename[linkname]符号链接(软链接)-符号链接指向另一个文件-IS-l显示链接和引用文件的名称-符号链接的内容是它所引用的文件的名称-可以在目标上进行-可以交叉分区-points到另一个文件的路径;它的大小指向的路径字符串长度不会增减目标文件inode的引用计数;-语法:in-sfilename[linkname]硬链接:一个文件的多个名称软链接:原始文件一般路径使用相对路径,相对路径必须相对于软链接文件的路径。硬链接和软链接的区别:(1)本质:一个硬链接是一个文件有多个名字,一个软链接对应多个快捷方式(2)跨分区:硬链接不能跨分区,软链接可以跨分区分区。(3)链接数:硬链接会增加链接数,而软链接则不会。(4)节点号:硬链接相同,软链接不同。(5)删除原文件会影响链接文件吗?硬链接是各个文件之间的层级关系,访问仍然可以访问,而软链接是依赖关系,删除原文件后链接失效。(6)目录:硬链接不支持目录,软链接支持目录。确定文件内容-文件内容可以包含多种类型的数据-检查文件的类型,然后确定合适的打开命令或应用程序使用-file[options]...-常用选项:-b列出文件时识别结果,不显示文件名-ffilelist列出文件filelist中文件名的文件类型-F使用指定的分隔符替换输出文件后默认的“:”分隔符-L查看文件的文件类型对应对应的软链接-help显示命令的在线帮助标准输入输出程序:指令+数据读入数据:输入输出数据:输出打开的文件有一个fd:文件描述符(filedescriptor)Linux提供了三种程序的I/O设备-标准输入(STDIN)-0默认接受来自键盘的输入-标准输出(STDOUT)-1默认输出到终端窗口-标准错误(STDERR)-2默认输出到终端窗口I/O重定向:更改默认位置以将输出和错误重定向到文件STDOUT和STDERR可以重定向到文件命令操作符号filename支持的操作符号包括:>redirectSTDOUTtoafile2>redirectSTDERRtoafile&>redirectalloutputtoafile>filecontentwillbeoverwrittenset-C禁止内容覆盖现有文件,但可以添加>file强制覆盖set+C允许覆盖>>在原有内容的基础上,添加内容2>覆盖重定向错误输出数据stream2>>appendredirectionerroroutputdataStream标准输出和错误输出被定向到不同的位置COMMAND>/path/to/file.out2>/path/to/error.out将标准输出和错误输出合并到同一个数据流中用于重定向->覆盖重定向-&>>追加重定向-COMMAND>/path/to/file.out2>&1(顺序很重要)-COMMAND>>/path/to/file.out2>&1():mergeSTDOUTof多个程序(cal2007;cal2008)>all.txttr命令tr转换和删除字符tr[OPTION]...SET1[SET2]options-c-C–complement:取字符集的补集-d–delete:删除属于第一个字符集的所有字符-s–squeeze-repeats:将连续重复的字符表示为单个字符-t–truncate-set1:替换第一个对应的字符字符集转换为第二个字符集对应的字符[:alnum:]:字母和数字[:alpha:]:字母[:cntrl:]:控制(非打印)字符[:digit:]:数字[:graph:]:图形字符[:lower:]:小写字母[:print:]:可打印字符[:punct:]:标点符号[:space:]:空白字符[:upper:]:大写字母[:xdigit:]:十六进制字符将多行发送到STDIN使用“<<停用词”命令将多行从键盘重定向到STDIN-停用词位置之前的所有文本都发送到STDIN-有时称为本地文本(此处为文本)Mail-s"PleaseCall"admin@magedu.com<HiWang>>当你进来的时候请给我打电话。我们可能需要>对服务器1做一些维护。>>详情当你在-site>Zhang>ENDpipe管道(使用符号“|”)连接命令command1|command2|command3...-将命令1的STDOUT发送到命令2的STDIN,将命令2的STDOUT发送到STDIN-STDERRtocommand3默认不能通过pipeline转发,可以使用2>&1或者|&来实现-最后一条命令会在当前shell进程的子shell进程中执行-结合多个工具的功能是|tr'a-z''A-Z'less:按页面类型查看页面ls-l/etc|lessmail:通过电子邮件发送类型echo"testemail"|mail-s"test"user@example.comlpr:将输入发送到打印机回显“测试打印”|lpr-Pprinter_name管道中的符号示例:打包/home中的文件,但打包数据不记录在文件中,而是传输到标准输出。通过管道后,tar-cvf-/home被传输到后面的tar-xvf-,后面的-是获取前面命令的stdout。因此,不需要使用临时文件tar-cvf-/home|tar-xvf-redirecttomultipletargetsCommand1|tee[-a]filename|command2将文件中command1的STDOUT保存为command2输入-追加使用-保存不同阶段的输出-复杂管道的故障排除-同时查看和记录输出查找:findLocate命令定位KEYWORD有用的选项-i不区分大小写的搜索-nN仅列出前N个匹配项-r使用正则表达式示例来搜索名称或路径中带“conf”的文件locateconf使用正则表达式搜索以“.conf”结尾的文件locate-r'.conf$'find命令实时搜索工具,通过遍历指定路径完成文件搜索功能:-搜索速度稍慢-精确搜索-实时搜索-可能只搜索用户具有读取和执行权限的目录语法:find[OPTION]...findpath[处理动作]Findpath:指定具体的目标路径;默认为当前目录搜索条件:指定搜索条件、文件名、大小、类型、权限等标准;默认查找指定路径下的所有文件。处理动作:对满足条件的文件进行操作,默认输出到屏幕。最小搜索目录深度先处理目录下的文件,再处理目录-depth根据文件名和inode进行搜索:-name"文件名":支持使用glob*,?,[],[^]-iname"文件名":不区分大小写-inumn按inode号搜索-samefilename具有相同inode号的文件-linksn具有n个链接的文件-regex"PATTERN":将整个文件路径与PATTERN匹配,而不是根据属主的文件名,属性Groupsearch:-userUSERNAME:查找属主为指定用户(UId)File-groupGRPNAME:查找所属组为指定组(GID)的文件-uidUserID:查找所属组为指定UID号的文件-gidGroupID:查找所属组为指定GID号的文件-nouser:查找没有属主的文件-nogroup:查找没有组的文件根据文件类型查找“typeTYPE”:f:普通文件d:目录文件l:符号链接文件s:套接字文件b:块设备文件c:字符设备文件p:管道文件空文件或目录-empty查找/app-typed-empty组合条件:with:-aor:-onot:-not,!德摩根定律(非A)或(非B)=NOT(AANDB)(NOTA)AND(NOTB)=NOT(AORB)示例:!A-a!B=!(A-oB)!A-0!B=!(A-aB)根据文件大小查找更多学习资料:点击这里