当前位置: 首页 > Linux

Linux常用命令(一)基本格式、文件处理和文件查找命令、链接

时间:2023-04-06 04:35:54 Linux

一、基本命令格式1.1起始字符/命令提示符[root@localhost~]#root当前登录用户localhost主机名~当前所在目录(homedirectory)#超级用户提示符$普通用户提示符1.2命令格式command[option][parameter]注:个别命令不遵循此格式。当有多个选项时,可以写在一起。简化与完整选项。例如:-a等于-all1.3lsls-a显示所有文件,包括隐藏文件ls-l显示详细信息ls-d检查目录属性ls-h以用户友好的方式显示文件大小,K/Mls-i显示inode1.4文件权限(10位)第一位是文件类型,后面是一组3位-rw-r--r---文件类型(-filed目录l软链接(硬链接不会显示l))rw-uOwnerr--g所属组r--oothersrreadwwritexexecute-rw-r--r--。1rootroot1207.表示ACL权限1applicationcount以“.”开头的文件在linux中是一个隐藏文件。二、文件处理命令linux中一切皆文件。一个目录就是一个目录文件。普通文件用来保存数据,目录文件用来保存文件。2.1常用目录介绍及作用Linux是一个严谨的操作系统,对一级目录有严格的规定。建议在主目录(root或home)和tmp中进行练习。1./根目录2./sbin和/bin命令将bin和sbin保存在该目录的根目录下,将bin和sbin保存在usr目录下。这四个目录用于保存系统命令。其中,任何用户都可以执行bin目录下的命令,只有root可以执行sbin目录下的命令。Linux就是用这种方式来区分用户权限的。3./boot启动目录,启动相关文件4./dev设备文件存放目录5./etc配置文件存放目录6./home普通用户家目录7./lib系统库存放目录操作系统不保存所有的功能全部写进linux,常用的功能都一一写进程序库。这些库都保存在lib中,需要的时候可以调用。避免将其全部写入linux内核,使其变得庞大而缓慢。8、/mnt系统挂载U盘、移动硬盘目录9、/media挂载CD目录10、/misc外接磁带机挂载目录11、/root超级用户家目录12、/tmp临时目录可以存放临时数据13./proc直接写入内存的目录不能用sys目录直接操作。这两个目录存放的是内存的挂载点。其中的数据是直接写在内存中的。避免因内存溢出导致数据丢失或系统崩溃。14./sys15./usr系统软件资源目录/usr/bin/系统命令(普通用户)/usr/sbin/系统命令(超级用户)16./var系统相关文件内容2.2目录处理命令清屏:Ctrl+Lcdspace..1.路径2-1)相对路径:指当前目录查找2-2)绝对路径:从根目录开始,递归查找2.pwd:查询where目录位置(打印workingdirectory)2.3文件处理命令注意:只能删除空目录2、删除文件或目录2-1)rm-rf[fileordirectory]??(remover:directoreisf:forcemandatory)2-1-1)Option-r:删除目录2-1-2)option-f:强制2-1-3)rm[文件名]:提示是否删除2-1-4)rm-r[目录]:删除需要的目录添加-r,目录有子文件,会继续询问是否删除2-1-5)rm-rf[directory]:删除目录,不会询问是否删除直接进行2-1-6)纯字符界面不回收站。注意自杀命令:rm-rf/2-2)rm-rf/tmp/*:删除tmp目录下的内容2-3)rm-rf/tmp/:删除tmp目录建议:删除文件或者目录并使用命令rm-rf[文件或目录]3.复制命令3-1)cp[选项][原始文件或目录][目标目录](复制)3-1-1)选项-r:复制目录3-1-2)Option-p:复制带文件属性3-1-3)Option-d:如果原文件是链接文件,则复制链接属性3-1-4)Option-a:相当于-pdrselectall3-2)例3-2-1)cpabc/tmp/如果目标目录没有添加文件名,则从原名复制3-2-2)cpabc/tmp/ana如果文件名加在目标目录后,重命名复制3-2-3)cp-rjapan//tmp/复制目录3-2-4)cp-ajapan//tmp/完全复制,包括allattributes3-3)复制文件的时间就是执行复制命令的时间,如果要让复制的文件和原文件一模一样,需要加上-a4,剪切或者重命名命令mv[originalfileordirectory]??[targetdirectory]??(move)mvjapan//tmp/cutdirectory不加-rmvabclongls当原文件和目标目录在同一目录时,是重命名命令5.当前系统时间命令:date6,ls-l命令别名:ll2.4连接命令2.4.1分两步格式化硬盘:将一个分区分成大小相等的块数据块,数据块通常为4KB。创建一个分区表,为每个文件创建一个相关数据。当用户查找文件时,会先在分区表中查找该文件对应的块存储位置,然后从对应的位置取出,返回给用户。生成链接文件命令:ln-s[原始文件][目标文件](链接)option-s创建软链接2.4.2硬链接特点具有相同的i节点和存储块,可以看作是同一个文件。硬链接与原始文件具有相同的索引节点。因此,与原始文件非常相似。当原文件或硬链接文件中的任何一个文件被删除时,文件索引操作都不会受到影响。可以看作是同一个文件的不合理入口点。这是相同的存储空间。1)可以被i-node识别2)不能跨分区创建3)不能用于目录,只能创建文件4)ln./source/abc./target/bcd.hard创建后,引用计数+15)ls-i./source/abc./target/bcd.hard您可以使用ls-i查看文件的i节点号。不建议创建硬链接文件。文件太隐蔽。除了i节点外很难区分。不是硬链接硬链接限制比较多,不能跨分区,不能针对目录,使用过程中容易出错。如何使用2.4.3软链接特性1)类似于Windows快捷方式2)软链接有自己的i节点和块,但是数据块中只保存了原始文件的文件名和inode号,并且有没有实际的文件数据。(分区表中有自己的索引数据,使用索引在分区表中找到文件的目标索引数据,再使用目标索引数据找到数据)3)lrwxrwxrwxlsoftlink,软链接文件权限为rwxrwxrwx,虽然权限显示为777,但实际权限需要看原文件权限。4)修改任意一个文件,其他都改5)删除原文件,软链接不能用6)创建软链接,原文件必须写绝对路径(硬链接没有这个要求)。否则,软链接会到它所在的同一目录去寻找原始文件。2.4.4硬链接和软链接关系图原图地址:硬链接和软链接图软链接和硬链接的区别3.文件搜索命令3.1locate命令:locate文件名搜索速度快但只能通过locate来搜索filename命令查找的后台数据库为/var/lib/mlocate(不同版本数据库名称可能不同,默认每天更新一次)updatedb更新数据库/etc/updatedb.conf配置文件PRUNE_BIND_MOUNTS="yes"\#启用搜索限制PRUNEFS=\#搜索时,不搜索的文件系统PRUNENAMES=\#搜索时,不搜索的文件类型PRUNEPATHS=搜索时,不搜索的路径总结:定位:只按文件名搜索,不做更复杂的搜索3.2whereis、which、whoami、whatis3.2.1whereis特点:用于搜索命令所在路径和帮助文档所在位置,不能搜索自己创建的普通文件.选项:-b:只查找可执行文件-m:只查找帮助文件3.2.2whichfeature:可以看到命令的路径,如果有别名,还可以看到别名的说明。注意:whereis和which看不到cd(shell自带)等shell命令,只能看到pwd等外部安装的命令。3.2.3$PATH说明类似于Windows中的环境变量,执行命令时,必须到path定义的目录中查找。因此像ls这样的命令可以在不添加路径(/bin/ls)的情况下执行。3.2.4whoami显示当前用户名3.2.5whatis查询命令执行什么功能,并将查询结果打印到终端。[root@localhost~]#whatislsls(1)-列出目录内容ls(1p)-列出目录内容3.3查找命令3.3.1精确匹配(默认)格式:find[搜索范围][搜索条件]示例:find/home-name文件名;注意:find搜索默认是精确匹配。避免大规模搜索,这会浪费系统资源。建议不要直接在“/”目录下搜索。find/root-inametest不区分要搜索的测试的大小写。find/root-userroot在根目录下搜索属于root用户的所有文件。查找/root-nouser没有所有者的文件。在liunx中,每个文件都有一个所有者。如果不是,一般是垃圾文件,但也有特殊情况。例如,内核生成的文件没有所有者。一般在proc和sys目录下;还有就是外来文件,就是复制到U盘里的文件也会不理会主人。3.3.2模糊查询需要加通配符,通配??符有以下三种“*”匹配任意字符,例如:find/home-name"*test*",显示名称中带test的所有文件;或者例子:find/home-name"*",home目录下的所有文件,包括隐藏文件。“?”匹配任何字符。"[]"匹配括号内的任意字符,例如:find/home-name"test[12]",显示test1和test2文件;或查找/home-name"[12]*",显示1或2个文件。组合使用:例:find/home-name"*[12]",显示所有以1或2结尾的文件3.3.3find按文件时间查找find/home-mtime+10在home目录下,查找10天前修改filesfind/home-mtime10在主目录下,查找10天前修改过的文件find/home-mtime-10在主目录下,查找10天内修改过的文件atime文件访问时间ctime更改文件属性mtime修改文件内容3.3.4finddirectory-sizefilesize注意:文件大小,小写k,大写M。固定格式:-exec{}\\表示直接对前面的搜索结果进行后面的命令处理。3.4grep命令grep[option]string文件名(用“”包围的字符串,结果是一行记录)-i忽略大小写-v排除指定字符串find命令和grep命令的区别:参考课程视频:Linux高手修真计划INextLinux常用命令(二)帮助命令、压缩与解压、关机与重启、挂载与登录信息查看命令