扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
之前的一篇文章小懿已经给大家说了学习大数据都需要学习哪些内容,接下来,小懿就会带领着读者们一起开始学习大数据的旅程。既然开始,那么就得从最基础的地方开始,装Linux系统,别说Linux系统没啥用,毕竟你已经学会了Java,不想做运维的话,哪怕你只是会上传文件,打包,解压,启动Tomcat的话,你都要会Linux的命令才能进行操作不是么?
创新互联建站是一家专业提供锦江企业网站建设,专注与网站设计、成都网站设计、H5响应式网站、小程序制作等业务。10年已为锦江众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
其实我们划重点,核心就是不要钱,开源,免费,功能还强大,那肯定是我们大家首选的东西了。学技术得先看点有趣的东西,那就是Linux的创始作者。
对就是这个人,在1991年,还在上大二的托瓦兹在互联网上放出了他自己编写的操作系统 Linxus 0.01 版本。于是就有了最开始的Linux,以至于以后通过开源社区的不断补充,使其从当年一个人的“小项目”日益壮大起来。而之所以Linux能够获得这些资源,其实全依靠 Linux 采用的授权协议——GPL。
行了,这了解了Linux的创始和来源,我们就来安装一下Linux操作系统吧。
在安装Linux系统的时候,首先我们需要一个介质工具,那就是VMware Workstation,虚拟机,安装好这个之后,就相当于是在你的电脑上装了一个虚拟计算机的软件,小懿相信,百分之九十以上的人,电脑里面都会有这个,它提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试、部署新的应用程序的最佳解决方案。
如果有条件的,大家肯定可以使用阿里云或者华为云或者百度云等各种大厂出品的云服务器来进行使用,毕竟人家的服务器也是支持你在任何地方进行访问的,只要你有账号和密码,所以阿粉也是整了一个云服务器来进行测试。
linux没有盘符的概念,一切都是文件.
linux目录结构 :
磁盘管理 :
最常用的就是查看文件多少的命令了,
ls 显示当前目录下的文件或子目录
cd 切换目录
pwd 显示当前工作的目录
mkdir 创建目录
touch 创建文件
文件浏览 :
cat 命令 查看文件所有内容
less 命令 分页查看
tail 名称 查看日志文件,查看的文件末尾内容.
这个命令比如我们需要看日志的时候,就不用再去使用 XFTP 这样的工具去把日志弄到本地来看了,直接就 tail -99f xxxx.log
文件操作 :
cp 复制
mv 重命名或移动
rm 删除
find 查询
文档编辑
这是我们使用过程中最重要的一点,因为你需要修改配置文件的时候经常会使用到文档编辑的命令,所以这块的内容是你最需要掌握的。
vi/vim 修改
vi : 修改文件,但是显示字体是白色
vim : 修改文件,但是关键字高亮显示
这时候需要的就是我们需要熟记的一些命令,能够帮我们剩下很多的时间,
一般模式:
插入模式:
底行模式:
grep 查找过滤
一般我们使用 grep 命令的时候,都是搭配着 ps 命令一起,去查看我们需要的一些进程信息,比如说:
ps -ef|grep tomcat 查看tomcat进程
kill 杀死进程
压缩和解压缩 :
chmod 文件授权
我们一般常用的组合就是那么几种:
一般知道上面的权限这点内容就差不多了,毕竟咱们干开发又不是专职 干运维的。
本文根据饥人谷相关课程整理,如有新知识或遗漏将继续补充。
1.程序员为了输入方便对命令进行缩写
2.缩写规则是省略A、E、I、O、U五个元音字母,留下2~3个字母(有时会例外)
注: Windows默认不支持链接
3. ~ 表示用户目录
假设用户名是administrator,那么
· 在Windows下, ~ 表示 /User/administrator/ 目录 (一般在C盘)
· 在Linux下, ~ 表示 /home/administrator/ 目录
注: 永远不要运行 rm -rf / 即强制删除整个硬盘
在命令后加 \ ,意思是这句话没完
有空格等特殊字符的时候加引号
find 命令的基本结构如下:
find 命令手册 : man find
find 命令中的 -name 选项可以根据文件名称进行检索( 区分大小写 )。如需要忽略文件名中的大小写,可以使用 -iname 选项。
-name 和 -iname 两个选项都支持 wildcards 。如:
例1:查找 /usr 目录下所有文件名以 .txt 结尾的文件
例2:查找 /usr 目录下所有文件名刚好为 4 个字符的文件
例3:查以大写字母开头的文件
例4:查以两个小写字母和两个数字开头的txt文件
类似的还有:
-lname -ilname
-path -ipath
-regx -iregx
有些时候,你需要在搜索时匹配某个文件或目录的 完整路径 ,而不仅仅是匹配文件名。可以使用 -path 或 -ipath 选项。
例1:如查找 /usr 下所有文件名以 .txt 结尾的文件或目录,且该文件的父目录必须是 src 。可以使用以下命令:
例2:在当前目录除aa之外的子目录内搜索 txt文件
例3:在当前目录,不再子目录中,查找txt文件
如果只想搜索得到文件 或 目录,即不想它们同时出现在结果中。可以使用 -type 选项指定文件类型。
-type 选项最常用的参数如下:
例:检索 /usr 下所有文件名以 python 开头的目录
find 命令支持 -empty 选项用来检索 为空 的文件或目录。空文件即文件里没有任何内容,空目录即目录中没有任何文件或子目录。
例:检索用户主目录下所有的空目录
find 命令也允许用户对当前的匹配条件进行 “反义” (类似于 逻辑非 操作)。
如需要检索 /usr 下所有文件名 不 以 .txt 为后缀的文件。可以使用以下命令:
也可以“翻转”任何其他的筛选条件,如:检索 /usr 下所有内容不为空的文件
为了检索归属于特定用户的文件或目录,可以使用 -user 选项。
例:检索根目录下所有属主为 starky 的文件
类似于 -user 选项, -group 选项则可以根据文件或目录的 属组 进行检索。
有些时候,需要根据文件创建或修改的时间进行检索。
Linux 系统中,与文件相关联的时间参数有以下三种:
与此对应的是 find 命令中的 -mtime , -atime 和 -ctime 三个选项。
这三个选项的使用遵循以下示例中的规则:
检索 /usr 下两天前被修改过的文件
如果觉得 -mtime 等选项以 天 为单位时间有点长,还可以使用 -mmin , -amin , -cmin 三个选项。
查找比 aa.txt 新 的文件
查找比 aa.txt 旧 的文件
查找比aa.txt新,比bb.txt旧的文件
-size 选项允许用户通过文件大小进行搜索(只适用于文件,目录没有大小……)。
表示文件大小的单位由以下字符组成:
另外,还可以使用 + 或 - 符号表示 大于 或 小于 当前条件。
检索文件大小高于 1 GB 的文件
find 命令可以使用 -perm 选项以文件权限为依据进行搜索。
9.1使用符号形式
例1:如需要检索 /usr 目录下权限为 rwxr-xr-x 的文件,可以使用以下命令:
例2:搜索 /usr 目录下所有权限为 r-xr-xr-x (即系统中的所有用户都只有读写权限)的文件和目录,可以使用以下命令:
很多时候,我们只想匹配文件权限的一个 子集 。比如,检索可以直接被任何用户执行的文件,即只关心文件的执行权限,而不用管其读写权限是什么。
上述的需求可以通过以下命令实现:
其中 a=x 前面的 / 符号即用来表示只匹配权限的某个子集(执行权限),而不用关心其他权限的具体设置。
9.2使用数字形式
例如:搜索 /usr 目录下权限为 644 (即 rwxr-xr-x )的文件
find 命令默认是以 递归 的方式检索项目的,这有时候会导致得到的结果数量非常巨大。可以使用 -maxdepth 限制 find 命令递归的层数。
例如:搜索时向下递归的层数最大为 3
在之前的例子中有出现多个搜索条件的 组合 以及对某个搜索条件的 反转 。
实际上 find 命令支持 “and” 和 “or” 两种逻辑运算,对应的命令选项分别是 -a 和 -o 。通过这两个选项可以对搜索条件进行更复杂的组合。
此外还可以使用 小括号 对搜索条件进行 分组 。注意 find 命令中的小括号常需要用 单引号 包裹起来。因小括号在 Shell 中有特殊的含义。
如检索 /usr 下文件名以 python 开头且类型为目录的文件
该命令等同于:
更复杂的组合形式如:
例4:在除dir0及子目录以外的目录下查找txt后缀文件
说明:-a 应该是and的缩写,意思是逻辑运算符‘与’(); -o应该是or的缩写,意思是逻辑运算符‘或’(||), -not 表示非.
命令行的意思是:如果目录dir0存在(即-a左边为真),则求-prune的值,-prune 返回真,‘与’逻辑表达式为真(即-path './dir0*' -a -prune 为真),find命令将在除这个目录以外的目录下查找txt后缀文件并打印出来;如果目录dir0不存在(即-a左边为假),则不求值-prune ,‘与’逻辑表达式为假,则在当前目录下查找所有txt后缀文件。
-delete 选项可以用来删除搜索到的文件和目录。
例如:删除 home 目录下所有的空目录:
-exec 选项可以对搜索到的结果执行执行该参数所给出的shell命令。形式为 command {} \; ,注意{}与\;之间有空格 。每当 find 命令检索到一个符合条件的文件,会使用其完整路径取代命令中的 {} ,然后执行 -exec 后面的命令一次。
例1:如需要将 home 目录下所有的 MP3 音频文件复制到移动存储设备(假设路径是 /media/MyDrive ),可使用下面的命令:
其中的 大括号 ( {} )作为检索到的文件的 占位符 ,而分号( ; )作为命令结束的标志。因为分号是 Shell 中有特殊含义的符号,所以需要使用单引号括起来或前面加上转义符 \ 。
例2:查看当前目录下的所有普通文件,并在 - exec 选项中使用 ls -l 命令将它们列出
例3:在多个文件中检索某个指定的字符串。如在用户主目录下的所有文件中检索字符串 hello ,可以使用如下命令:
创建 Gzip 格式的压缩文件的命令为:
现在假设需要将用户主目录下所有的 MP3 文件添加到压缩包 music.tar.gz 中,直观的感觉是,其命令应为如下形式:
实际情况是,这样得到的 music.tar.gz 其实只包含一个 MP3 文件。原因是 find 命令 每次 发现一个音频文件,都会再执行一次 -exec 选项后面的压缩命令。导致先前生成的压缩包被覆盖。
可以先让 find 命令检索出所有符合条件的音频文件,再将得到的 文件列表 传递给后面的压缩命令。完整的命令如下:
如果想浏览搜索到的文件(目录)的详细信息(如权限和大小等),可以直接使用 -ls 选项。
例如:浏览所有 1G 以上大小的文件的详细信息
与exec作用相同,区别在于,在执行命令之前,都会给出提示,让用户确认是否执行
与 exec 作用相同 ,起承接作用。区别在于 |xargs 主要用于承接删除操作 ,而 -exec 都可用 如复制、移动、重命名等
例1:查找以ap或may开头的文件
例2:查硬连接数大于2的文件或目录
例3:查找含特定字符串的文件。查找当前目录下含有"the string you want find…"字符串的文件:
例4:从根目录开始查tmpfile,一旦查到马上删除
例5:如何用find查找某一天更改的文件?可以使用这一行命令来实现:
A Guide to the Linux “Find” Command
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流