知识点小结~2
一、变量 1、环境变量 普通变量:VAR=value;临时环境变量:export VAR=value 2、变量的设定规则: (1)变量与变量的内容以一个等号来链接; 3、实现运算:(其中的变量不用加$)? (1) let var=算术表达式 $[] 和$(()):在其中进行算数运算,变量前的$符可以省略掉。 [ ]内部(前后都要有空格)变量使用""引起来,可以避免变量未被定义时为空(等价于变量缺失)带来的其他麻烦。 [[]]内部(前后都要有空格)支持扩展的正则表达式,适用于需要扩展正则表达式判断时使用,一般情况下使用[]即可。(=~)后面筛选的条件直接写即可,不需要使用“”或‘‘括起来,否则会错误。 4、数值比较: -gt 是否大于 5、字符串比较: = 是否等于(也可用 == )已验证 注意:用于字符串比较时的用到的操作数都应该使用引号 6、()与{}变量传递 ()开启的子进程与bash命令开启的子进程不同,在()内开启的子进程会继承其父进程定义的变量,但如果()内有与该变量同名的变量,则从父进程继承来的变量便会被覆盖,以()内的变量为准,()开启的子进程执行完其中语句后进程自动结束,其中的变量也会被释放。管道命令也会开启子进程,管道后的命令进程执行完毕后自动结束,与()相类似,而{}不会开启子进程。{}与()相比,除前后都需要加空格外,{}中每条命令后面都需要加;()中最后一条命令后不需要加;。例如:(cmd1;cmd2;cmd3) ,{ cmd1;cmd2;cmd3;} 。 7、read命令输入变量 read -p "input" INPUT 等价于echo -e "inputc" INPUT=$1 read -n 5 name :在给name进行输入时只允许输入5个字符,读满5个后自动退出。 read -d C name :C为输入结束标志符,在读到C字符后,输入结束,name变量中不包含C字符。 read -t 3 name:在为name变量输入值时,等待3秒。 read命令也支持多变量输入,以空格分隔开。 只读变量? readonly? 或 declare -r? ? 定义只读变量。只读变量不能使用unset命令释放,exit退出即可。 二、文件查找与压缩打包 1、通过whereis -l来查看执行whereis命令时所查找的文件夹。 2、whatis 搜索主要依赖于数据库使用,数据库makewhatis或mandb命令生成。 4、find命令各项参数(): 5、find 执行额外命令格式: find 目录 -mtime -4 (-4:表示4天以内变动过的;+4:表示4天以前变动过的;4:表示在第四天当天变动过的) find 目录 -size? ?-2M? (-1M:表示[0-2M]);+1M:表示(2M,无穷);2M:表示(1M,2M]) 6、常用压缩工具及参数 (1)compress(仅对文件压缩)? ?? -d:解压缩,相当于uncompress -c:结果输出至标准输出,不删除源文件 -v:显示详情 (2)gzip(仅对文件压缩) -d:解压缩,相当于gunzip -c:结果输出至标准输出,保留源文件改变 bzip2(仅对文件压缩) -k:keep,保留源文件 -d:解压缩 (3)xz(仅对文件压缩) -k:keep,保留源文件 -d:解压缩 (4)zip(压缩及打包,可对文件及目录) 例如: zip -r 被打包压缩文件路径? ?打包压缩生成的目录 unzip -p message > message(解压重定向输出) cat messages | zip messages - (其中-代表前一条命令的参数) (5)tar(打包,可通过参数增加压缩功能) tar -cpvf 打包生成的文件名 .tar 被打包文件 (归档打包) tar -rf 以有打包文件.tar 被追加文件 (追加文件只归档) tar -tf 打包文件.tar (查看归档文件中的文件列表) tar -xvf 打包文件 -C 解压文件路径 (解压) tar -(z|j|J)(c|x)vf (结合压缩工具实现归档并压缩,z:gzip;j:bzip2;J:xz) ?(6)cpio(打包,需配合重定向输入输出使用) find? ./etc -print | cpio -ov > bak.cpio? ?(将etc目录备份) find /data | cpio? -oA -F bak.cpio? ? (将/data内容住家到bak.cpio,-F指定文件输出) cpio -tv? < etc.cpio? ? (内容预览,配合重定向输入) cpio -idv? <? etc.cpio? (解包文件,配合重定向输入) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |