准备学习下大数据,查了下大数据的学习步骤,首先进行Linux的学习。Linx日常开发中还是经常使用到的,不过也没有系统的去学习过,毕竟公司也有运维,也就偷懒了。本来是根据刘遄老是的Linux就该这么学,做的阅读笔记。如果对这本书有兴趣,可以在在线阅读,当然为了表示支持,我自己也还是买了本实体书,哈哈ヾノ≧∀≦)o
在才学习Linx的时候,我们会有很多时候对各种命令的用法并不是特别熟悉,我们可以度娘,google,有时候还有另一种选择,就是看linux给我们提供的帮助命令去看各种命令的用法。
echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串,例如我们可以通过shell脚本把实体文件的内容读出来打印到屏幕上。
在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数,也就是我们常说的时间戳毫秒数,所以在输出需要阅读的时间的时候,我们需要用date命令格式化时间。
例3 显示当前天数是当年的第几天,这个实际可以用作备份的时候做区分,数字越大,月靠近当前时间,备份越新
扩展一下,有时候我们手工设置的时间并不准确,这个时候我们可以设置互联网时间,使用ntpdate
-a日志文件:在指定的日志文件中记录资料的执行过程; -A后缀名:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔; -b:进行后台的方式运行wget; -B连接地址:设置参考的连接地址的基地地址; -c:继续执行上次终端的任务; -C标志:设置服务器数据块功能标志on为激活,off为关闭,默认值为on; -d:调试模式运行指令; -D域名列表:设置顺着的域名列表,域名之间用“,”分隔; -e指令:作为文件“.wgetrc”中的一部分执行指定的指令; -h:显示指令帮助信息; -i文件:从指定文件获取要下载的URL地址; -l目录列表:设置顺着的目录列表,多个目录用“,”分隔; -L:仅顺着关联的连接; -r:递归下载方式; -nc:文件存在时,下载文件不覆盖原有文件; -nv:下载时只显示更新和出错信息,不显示指令的详细执行过程; -q:不显示指令执行过程; -nh:不查询主机名称; -v:显示详细执行过程; -V:显示版本信息; --passive-ftp:使用被动模式PASV连接FTP服务器; --follow-ftp:从HTML文件中下载FTP连接文件。
这里的 -ef 是命令系统的两个短格式参数,需要注意的是长格式参数不能合并,短格式参数可以合并,只需要保留 一个-就可以了。
Z(僵死):进程已经终止,但是进程描述符还在,知道父类进程调用wait4()系统函数后将进程释放
D //无法中断的休眠状态(通常 IO 的进程); R //正在运行可中在队列中可过行的; S //处于休眠状态; T //停止或被追踪; W //进入内存交换 (从内核2.6开始无效); X //死掉的进程 (基本很少见); Z //僵尸进程; //优先级高的进程 N //优先级较低的进程 L //有些页被锁进内存; s //进程的领导者(在它之下有子进程); l //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads); + //位于后台的进程组;
UID //用户ID、但输出的是用户名 PID //进程的ID PPID //父进程ID C //进程占用CPU的百分比 STIME //进程启动到现在的时间 TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。 CMD //命令的名称和参数
USER //用户名 %CPU //进程占用的CPU百分比 %MEM //占用内存的百分比 VSZ //该进程使用的虚拟內存量(KB) RSS //该进程占用的固定內存量(KB)(驻留中页的数量) STAT //进程的状态 START //该进程被触发启动时间 TIME //该进程实际使用CPU运行的时间
第一行:系统时间,运行时间,登录用户数,系统负载(三个数分表代表1分钟,5分钟,15分钟内的平均值,值越小,负载越低)
第三行:用户占用资源百分比,系统内核占用资源百分比,改变过优先级的进程资源百分比,空闲的资源百分比。(我们比较关心的就是空闲资源百分比,也就是99.8 id 这个参数,表示有99.8%的CPU资源处于空闲状态)
不过我们一般不这么查询进程,因为现实的信息不全,如果有多个相同服务的进程,我们并不知道具体的路径,这个时候我们一般会用前文提到的ps -ef或者ps aux加上管道符和grep 条件
killall命令也是用户杀死进程,不过不是根据PID,是根据进程名进行杀死,会杀死同名的所有进程。
显示内容分别为系统时间,系统运行时间,连接的终端数,负载信息(1分钟,5分钟,15分钟内压力情况,负载值越低越好,尽量不要长期超过1,现网不要超过5)
出了cd 切换目录,还可以cd -返回上一次所处目录,cd..返回上一级目录,cd ~返回当前用户的根目录
ls 命令的 -a 参数可以查看当前目录下的所有文件(包含隐藏文件),-1 参数可以查看文件大小,属性等信息,所有我们一般组合使用
cat命令是在屏幕上快速翻滚,一直到底部,如果文本太长,应该使用more 命令,可以翻页查看,按q退出
cut [参数] 文本 参数 -b:仅显示行中指定直接范围的内容; -c:仅显示行中指定范围的字符; -d:指定字段的分隔符,默认的字段分隔符为“TAB”; -f:显示指定字段的内容; -n:与“-b”选项连用,不分割多字节字符; --complement:补足被选择的字节、字符或字段; --out-delimiter=字段分隔符:指定输出内容是的字段分割符; --help:显示指令的帮助信息; --version:显示指令的版本信息。
diff命令用于比较多个文件的差异,--brief参数可以确认两个文件是否相同,-c 参数可以详细展示文本之间的差异
-a:或--time=atime或--time=access或--time=use 只更改存取时间; -c:或--no-create 不建立任何文件; -d:时间日期 使用指定的日期时间,而非现在的时间; -f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题; -m:或--time=mtime或--time=modify 只更该变动时间; -r:参考文件或目录 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同; -t:日期时间 使用指定的日期时间,而非现在的时间; --help:在线帮助; --version:显示版本信息。
-a:此参数的效果和同时指定-dpR参数相同; -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录; -f:强行复制文件或目录,不论目标文件或目录是否已存在; -i:覆盖既有文件之前先询问用户; -l:对源文件建立硬连接,而非复制文件; -p:保留源文件或目录的属性; -R/r:递归处理,将指定目录下的所有文件与子目录一并处理; -s:对源文件建立符号连接,而非复制文件; -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件; -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀; -b:覆盖已存在的文件目标前将目标文件备份; -v:详细显示命令执行的操作。
rm 命令用于删除文件,我们一般删除用rm -rf xxx其中f表示强制删除,r表示文件夹递归删除
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换,具体感觉比较复杂,可以自行google
注意:指定数字的地方若以下列字符结尾则乘以相应的数字:b=512;c=1;k=1024;w=2 参数: 1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。 if=input file 2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。 of=output file 3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。 obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。 bs=bytes:同时设置读入/输出的块大小为bytes个字节。 4. cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。 5. skip=blocks:从输入文件开头跳过blocks个块后再开始复制。 6. seek=blocks:从输出文件开头跳过blocks个块后再开始复制。 注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。 7. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。 8. conv=conversion:用指定的参数转换文件。 ascii:转换ebcdic为ascii ebcdic:转换ascii为ebcdic ibm:转换ascii为alternate ebcdic block:把每一行转换为长度为cbs,不足部分用空格填充 unblock:使每一行的长度都为cbs,不足部分用空格填充 lcase:把大写字符转换为小写字符 ucase:把小写字符转换为大写字符 swab:交换输入的每对字节 noerror:出错时不停止 notrunc:不截短输出文件 sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
file 命令用于查看文件类型,也就是我们说的文件格式,在linux种,文本,目录,设置这些都是文件
tar 命令用于对文件进行打包压缩或解压,在linux上主要使用的是.tar 或.tar.gz 或.tar.bz2 格式,所有我们可以用tar命令
其次,-z 参数指定使用 Gzip 格式来压缩或解压文件,-j 参数指定使用 bzip2 格式来压缩或解压文件。一般用tar -czvf压缩文件,用tar -xzvf解压文件。
grep命令是文本搜索匹配工具,参数特别多,最常用的为 -n 新手搜索到的信息的行号,-v反选信息
find 命令用于安置指定条件查询文件,除了查找还可以使用-exec 执行后续操作,例如复制
find [查找路径] 寻找条件 操作 寻找条件: -amin分钟:查找在指定时间曾被存取过的文件或目录,单位以分钟计算; -anewer参考文件或目录:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录; -atime24小时数:查找在指定时间曾被存取过的文件或目录,单位以24小时计算; -cmin分钟:查找在指定时间之时被更改过的文件或目录; -cnewer参考文件或目录查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录; -ctime24小时数:查找在指定时间之时被更改的文件或目录,单位以24小时计算; -daystart:从本日开始计算时间; -depth:从指定目录下最深层的子目录开始查找; -expty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录; -exec执行指令:假设find指令的回传值为True,就执行该指令; -false:将find指令的回传值皆设为False; -fls列表文件:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件; -follow:排除符号连接; -fprint列表文件:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件; -fprint0列表文件:此参数的效果和指定“-print0”参数类似,但会把结果保存成指定的列表文件; -fprintf列表文件输出格式:此参数的效果和指定“-printf”参数类似,但会把结果保存成指定的列表文件; -fstype文件系统类型:只寻找该文件系统类型下的文件或目录; -gid群组识别码:查找符合指定之群组识别码的文件或目录; -group群组名称:查找符合指定之群组名称的文件或目录; -help或——help:在线帮助; -ilname范本样式:此参数的效果和指定“-lname”参数类似,但忽略字符大小写的差别; -iname范本样式:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别; -inuminode编号:查找符合指定的inode编号的文件或目录; -ipath范本样式:此参数的效果和指定“-path”参数类似,但忽略字符大小写的差别; -iregex范本样式:此参数的效果和指定“-regexe”参数类似,但忽略字符大小写的差别; -links连接数目:查找符合指定的硬连接数目的文件或目录; -iname范本样式:指定字符串作为寻找符号连接的范本样式; -ls:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出; -maxdepth目录层级:设置最大目录层级; -mindepth目录层级:设置最小目录层级; -mmin分钟:查找在指定时间曾被更改过的文件或目录,单位以分钟计算; -mount:此参数的效果和指定“-xdev”相同; -mtime24小时数:查找在指定时间曾被更改过的文件或目录,单位以24小时计算; -name范本样式:指定字符串作为寻找文件或目录的范本样式; -newer参考文件或目录:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录; -nogroup:找出不属于本地主机群组识别码的文件或目录; -noleaf:不去考虑目录至少需拥有两个硬连接存在; -nouser:找出不属于本地主机用户识别码的文件或目录; -ok执行指令:此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行命令; -path范本样式:指定字符串作为寻找目录的范本样式; -perm权限数值:查找符合指定的权限数值的文件或目录; -print:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串; -print0:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行; -printf输出格式:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式可以自行指定; -prune:不寻找字符串作为寻找文件或目录的范本样式; -regex范本样式:指定字符串作为寻找文件或目录的范本样式; -size文件大小:查找符合指定的文件大小的文件; -true:将find指令的回传值皆设为True; -typ文件类型:只寻找符合指定的文件类型的文件; -uid用户识别码:查找符合指定的用户识别码的文件或目录; -used日数:查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算; -user拥有者名称:查找符和指定的拥有者名称的文件或目录; -version或——version:显示版本信息; -xdev:将范围局限在先行的文件系统中; -xtype文件类型:此参数的效果和指定“-type”参数类似,差别在于它针对符号连接检查。

