才接触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终端时,都是从主目录开始的,此时的工作目录就是主目录。那么怎么知道当前的工作目录的完整路径呢? 正如上图描述的那样,pwd命令就可以查询当前的工作目录。3. 如何切换工作目录?更改工作目录,使用 cd命令就可以实现, cd(Change Directory)命令需要带上一个目录名或者完整的目录路径名。 举个例子:当前的工作目录是/home/bruce ( ~),如果想要切换目录到当前目录的Documents目录,则可输入

cd Documents

也可输入完整路径

cd /home/bruce/Documents.

从上面的例子就可以知道两种方式的具体使用场景,对于只输入目录名的方式,条件是需要目录是当前目录的子目录。切换到其他目录,则需要输入完整的路径。4. 如何查看目录下的文件?使用 ls命令便可查看一个目录下的内容,包括文件,文件夹。 如果运行ls不带任何参数,那么就默认显示当前目录下的内容。想要列出指定目录的内容,则在ls命令后面添加目录的路径即可显示的结果,你会发现有颜色区别,这个什么意思?这些不同的颜色代表不同属性的内容,比如蓝色:目录, 白色:文本文件, 红色:归档文件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 /*的梗。 执行上面的命令, 导致数据丢失而服务器宕机的血案“也是时有发生的。那么 rm -rf /* 是什么意思?-r: 表示以递归的方式删除子目录下所有的文件和目录。-f: 表示不需要确认,直接执行强制删除。/*:表示根目录下所有文件。如果上面的命令的效果,就相当于删除磁盘上所有文件的操作,虽然有些文件不一定能删的掉。但是让系统崩溃,还是能做到的。所以,小编建议在执行rm命令的时候,多加小心。7. 如果查找文件?要搜索指定目录中的文件,可使用find命令。该命令需要目录路径和文件名作为参数。例如,要在/home/bruce/目录中搜索名为climate.py的文件,输入以下命令:

find /home/bruce -name climate.py

如果未指定目录路径,find命令则会在当前工作目录中搜索。使用通配符与find命令可以实现模糊查找。例如,如果要搜索/home/bruce/目录所有的py后缀的文件,那么就可以将搜索的名字换成 *.py。这样就会匹配查找所有py后缀的文件。"*"字符是一个通配符,可以表示任意数量的字符。8. 如何在文件中搜索文本?在使用Linux操作系统的过程中,小编我最爱的就是grep命令了。要搜索文件中的文本,便可使用grep命令。该命令需要关键字和文件名作为参数,然后会在终端显示输出包含关键字的行。例如,要搜索文件/home/bruce/Documents/*.py所有py文件中包含关键字climate的所有行 就可使用grep 命令:

grep climate Documents/*.py

如果希望grep在输出中显示行号,加上-n命令行选项。同时grep不像find命令会自动搜索子目录,如果需要搜索所有文件并以递归的方式在所有子目录下查找,则需要加上-R参数。于是搜索目录及其子目录所有文件中是否含有关键词“climate“,并返回带有行号的结果,则可输入如下命令:

grep -nR climate *

9. 什么是自动补全功能?使用终端执行各项操作的时候,比较麻烦的一点,就是你需要对你输入的各个命名,各个文件夹都要心里有数。如果你不记得完整的名字,可能就没法执行操作。当然,为了解决这个麻烦事,终端上,可以通过tab自动补全的方式自动补全输入的命令或文件名。这个功能并非Linux或macOS独有,在Windows的cmd命令提示符中,tab同样也有相同的作用。在输入某个命令时,你并不需完整的敲完所有字母。 当你在键盘输入gre时,试试敲击tab键两次会有什么效果? 终端上会显示grep gresource 这两个命令。如果这个时候你再在键盘上输入s,然后再按下tab,你会发现光标处会自动补全为gresource.系统就默认以为你是想要输入gresouce这个命令,因为以gres为前缀的命令系统就自动识别gresource这一个。 同样,如果你想要在当前目录输入Documents这个文件名,则可在输入Doc后,按下tab键自动补全。前提是当前目录只有一个Doc开头的文件。否则需要按下两次tab看有几个备选项。命令的方式执行任务会很强大,但是也是要一定的学习成本。在学习的过程中,善于利用好搜索影响,以及多对比Windows和Linux的区别。这样会有助于更好的玩转Linux。电手发布,未经允许禁止转载

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

  1. find linux 指定后缀_linux下find(文件查找)命令的用法总结

    ?表示通配任意的单个字符 [ ]表示通配括号里面的任意一个字符 (2)根据文件所属用户和组来查找文件 #  -user         //根据属主来查找文件 #  -group        //根 ...

  2. linux终端命令教程,Linux终端命令入坑技巧

    什么是主目录(home directory)? 与Windows一样,Linux是一个典型的多用户操作系统. 一个多用户操作系统,也就意味着可以允许多个用户访问在同一时刻访问该系统.为了方便管理每个用 ...

  3. 肝货满满!CV学习笔记:入坑必备

    知乎:云时之间 链接:https://zhuanlan.zhihu.com/p/102044405 编辑:王萌 作者的话 最近因为一些原因被安排去做关于目标跟踪的一些工作,对我来说可谓是一个很大的挑战 ...

  4. 常见web漏洞验证攻略(萌新入坑必备!)

    常见web漏洞验证攻略(萌新入坑必备 首先,祝大家愚人节快乐,玩笑有度,"愚"人同乐. 其次,回想当年刚入坑的时候了解的比较少,也没人带,一般过去就是xss,后来xss的防护了,就 ...

  5. linux 修改文件名_Linux常用命令

    Linux下一切皆文件 查看型 ls 查看当前文件夹内容 选项 -a 查看隐藏文件 -l 查看文件详细信息 pwd 查看当前所在路径 su 切换用户 cat /etc/passwd 查看当前系统的用户 ...

  6. linux 截取列_Linux 常用命令汇总

    Linux命令太多,主要写写自己平时使用频率较高的常用命令,内容是自己的笔记内容,所以整个逻辑看起来会比较乱.每条认真看,看完会有收获哦. 文中会出现大部分的伪代码,只是帮助自己记忆的. 1.LINU ...

  7. 总结一些linux目录结构和终端命令

    linux目录架构 / 根目录 /bin    常用的命令 binary file 的目錄 /boot   存放系统启动时必须读取的档案,包括核心 (kernel) 在内 /boot/grub/men ...

  8. linux route 刷新_linux基础命令介绍十五:推陈出新

    本文介绍ip.ss.journalctl和firewall-cmd,它们旨在代替linux中原有的一些命令或服务. 1.ip ip [OPTIONS] OBJECT COMMAND ip是iprout ...

  9. mysql linux 关闭防火墙_linux常用命令和关闭防火墙

    2.        linux常用命令 Mkdir 创建 Rm -rf 删除 Chmod -R 777 权限 Mysql -uroot -r quit退出 find / -name svn 查找位置 ...

最新文章

  1. 两成开发者月薪超 1.7 万、算法工程师最紧缺! | 中国开发者年度报告
  2. 如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题
  3. 婚姻里的潜规则:你的男人也嫌你穷【转】
  4. 通过 Docker 部署 Redis 6.x 集群
  5. 模糊控制算法详细讲解
  6. 让步的人,最值得深交
  7. 20sccm_SCCM 2012安装图解教程(一步一步详细步骤)
  8. JEasyPoi 2.1.4 (Jeecg订制) 版本发布,Excel 和 Word 简易工具类
  9. PAT乙级1006 换个格式输出整数
  10. ACM——A + B Problem (4)
  11. leetcode python3 简单题191. Number of 1 Bits
  12. opensips日志配置
  13. pdfobject.js和pdf.js的详解
  14. 电脑共享问题—工作组里看不到其他的WIN10主机
  15. centos7基于k8s安装部署prometheus(普罗米修斯)
  16. 借助Writage,将 Word 转换为 Markdown发表csdn博客
  17. 开源工具 | 手游自动化框架GAutomator,新增iOS系统和UE4引擎支
  18. 3D导航栏翻转(css)
  19. 如果通过这次面试我们单位录用了你,但工作一段时间却发现你根本不适合这个职位,你怎么办?
  20. 一篇文章解读提速、降费黑科技:PCDN定义、功能、架构、场景和优势

热门文章

  1. 企业开发中,git提交时屏蔽某些文件,怎么搞!【idea的处理方法】
  2. 你所不知道的getResource()在maven下的黑洞!
  3. vue下的props,data
  4. leetcode 341. Flatten Nested List Iterator | 341. 扁平化嵌套列表迭代器(Java)
  5. P8实战(四):多种分布式锁实现
  6. 看动画学算法之:排序-归并排序
  7. Effective Java之避免使用终结方法(七)
  8. Spring之高级装配(二)
  9. leetcode--1025. 除数博弈
  10. C++ cin cout