find linux 指定后缀_Linux终端命令入坑必备知识与技巧

2ba7e1609c13a4a92b3f9dc7a54f5ed5.png

才接触Linux系统,一些概念简直是一头雾水,那么本文的目的就是在Linux中使用终端输入命令时,常见的一些概念及技巧。

1 什么是主目录(home directory)? Linux是一个典型的多用户操作系统,当然,Windows也是。 一个多用户操作系统,也就意味着可以允许多个用户访问在同一时刻访问该系统。 为了方便管理每个用户的数据,系统在创建登陆用户的同时,就会创建一个用户目录,这个目录就是当前用户的主目录。 主目录的名称,通常就是登陆的用户名 。 在Linux中,主目录的路径是存放在/home目录下,小编在安装linux的时候创建了一个Bruce的用户名,那么在登陆系统后,/home/bruce 就是我的的账号主目录,我对该目录有完全的控制权: 创建(Create),读取(Retrieve),修改(Update),删除(Delete),该目录下的所有文件/文件夹都可执行“CRUD”操作。 对比同样是多用户的Windows系统,在创建登录账号时,同样也会创建主目录(用户目录),路径通常默认是在 C:\Users\下, 这点和Linux在设计上是没什么区别的。 2. 如何查看当前的工作目录(present working directory)? 通常要运行Linux命令,就得打开终端,然后输入想要的命令。 那么这里就涉及到几个概念,当前目录以及用户环境变量。 每当打开Linux终端时,都是从主目录开始的,此时的工作目录就是主目录。 那么怎么知道当前的工作目录的完整路径呢? 3d05c110d56ea3071a9d5b1284340229.png 正如上图描述的那样,pwd命令就可以查询当前的工作目录。 3. 如何切换工作目录? 更改工作目录,使用 cd命令就可以实现, cd(Change Directory)命令需要带上一个目录名或者完整的目录路径名。 举个例子: 当前的工作目录是/home/bruce ( ~),如果想要切换目录到当前目录的Documents目录,则可输入
cd Documents
也可输入完整路径
cd /home/bruce/Documents.
从上面的例子就可以知道两种方式的具体使用场景,对于只输入目录名的方式,条件是需要目录是当前目录的子目录。 切换到其他目录,则需要输入完整的路径。 4. 如何查看目录下的文件? 使用 ls命令便可查看一个目录下的内容,包括文件,文件夹。 如果运行ls不带任何参数,那么就默认显示当前目录下的内容。 55dcee098e9c7fc8af92f8fa717f4621.png 想要列出指定目录的内容,则在ls命令后面添加目录的路径即可 c297b983092e48738c7a1458356f1bbc.png 显示的结果,你会发现有颜色区别,这个什么意思? 这些不同的颜色代表不同属性的内容,比如 蓝色: 目录, 白色:文本文件, 红色:归档文件 5. 如何创建一个新文本文件? 通常在windows下,通过鼠标右键文件夹,然后新建文本文档的方式就可创建一个空白的文本文档。 在Linux的终端中,通过使用touch命令,就可以创建一个文件。 touch test.txt 便可创建一个名为test.txt的文档文件,txt后缀并不是必备的,Linux下文件通常并不是由后缀来确定的。 只是有个后缀,便于人识别。 使用 标准流重定向 同样也能创建文件,并且在创建的同时往里面写入数据。 比如下方的命令,
ls > ls.txt
就是将ls命令的结果,通过fd重定向到ls.txt文件中。 6. 如何重命名/复制/删除一个文件? 通过命令的方式对文件进行重命名,复制以及删除操作,通过mv, cp, rm命令,就可以快速的实现。 使用 mv命令来重命名一个文件: 要想给当前目录下的文件 test.txt 重命名为 test_new.txt。 输入如下命名
mv log.txt new_log.txt
如果文件不在当前目录,可以通过cd,跳转到目录然后执行mv命令。 也可在mv命令中直接加上文件名的完整路径。 使用cp命令复制文件: cp命令和mv的用法基本类似,不同之处就是mv命令执行完毕后,是通过删除原文件,保留新文件的方式来达到重命名的方式。 而cp命令则是两个文件都保留。 使用rm命令来删除文件: rm命令是比较常见使用的命令功能简单,但危害也很大,大多数没有接触过Linux或多或少听过rm -rf /*的梗。 执行上面的命令, 导致数据丢失而服务器宕机的 血案“也是时有发生的。 c7821a5917fe62681af2ae8d34969de3.png 那么 rm -rf /* 是什么意思? -r: 表示以递归的方式删除子目录下所有的文件和目录。 -f: 表示不需要确认,直接执行强制删除。 /*: 表示根目录下所有文件。 如果上面的命令的效果,就相当于删除磁盘上所有文件的操作,虽然有些文件不一定能删的掉。 但是让系统崩溃,还是能做到的。 所以,小编建议在执行rm命令的时候,多加小心。 7. 如果查找文件? 要搜索指定目录中的文件,可使用find命令。 该命令需要目录路径和文件名作为参数。 例如,要在/home/bruce/目录中搜索名为climate.py的文件,输入以下命令:
find /home/bruce -name climate.py
aa395fc3541cad5232c7978e1646b6bc.png 如果未指定目录路径,find命令则会在当前工作目录中搜索。 使用通配符与find命令可以实现模糊查找。 例如,如果要搜索/home/bruce/目录所有的py后缀的文件,那么就可以将搜索的名字换成 *.py。 这样就会匹配查找所有py后缀的文件。 "*"字符是一个通配符,可以表示任意数量的字符。 8. 如何在文件中搜索文本? 在使用Linux操作系统的过程中,小编我最爱的就是grep命令了。 要搜索文件中的文本,便可使用grep命令。 该命令需要关键字和文件名作为参数,然后会在终端显示输出包含关键字的行。 例如,要搜索文件/home/bruce/Documents/*.py所有py文件中包含关键字climate的所有行 就可使用grep 命令:
grep climate Documents/*.py
ff92eb0f74680654a2823ab79af1a7fd.png 如果希望grep在输出中显示行号,加上-n命令行选项。 同时grep不像find命令会自动搜索子目录,如果需要搜索所有文件并以递归的方式在所有子目录下查找,则需要加上-R参数。 于是搜索目录及其子目录所有文件中是否含有关键词“climate“,并返回带有行号的结果,则可输入如下命令:
grep -nR climate *
5aad9bf913435bdac004982e2c087f93.png 9. 什么是自动补全功能? 使用终端执行各项操作的时候,比较麻烦的一点,就是你需要对你输入的各个命名,各个文件夹都要心里有数。 如果你不记得完整的名字,可能就没法执行操作。 当然,为了解决这个麻烦事,终端上,可以通过tab自动补全的方式自动补全输入的命令或文件名。 这个功能并非Linux或macOS独有,在Windows的cmd命令提示符中,tab同样也有相同的作用。 在输入某个命令时,你并不需完整的敲完所有字母。 当你在键盘输入gre时,试试敲击tab键两次会有什么效果? 终端上会显示grep gresource 这两个命令。 如果这个时候你再在键盘上输入s,然后再按下tab,你会发现光标处会自动补全为gresource. 系统就默认以为你是想要输入gresouce这个命令,因为以gres为前缀的命令系统就自动识别gresource这一个。 9d6a94b44874d84feec53d0146d700d8.png 同样,如果你想要在当前目录输入Documents这个文件名,则可在输入Doc后,按下tab键自动补全。 前提是当前目录只有一个Doc开头的文件。 否则需要按下两次tab看有几个备选项。 命令的方式执行任务会很强大,但是也是要一定的学习成本。 在学习的过程中,善于利用好搜索影响,以及多对比Windows和Linux的区别。 这样会有助于更好的玩转Linux。 电手发布,未经允许禁止转载 bf5e7ff9c2a6b398032edb49315992c5.png c09222ad5cc713b9b83e7e937a9afc9d.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值