咳咳,这个周要考试了,争取在不挂科的同时拿到一个好成绩,给自己一个交代吧
相比同系的其他几位朋友们,他们的基础很扎实,进度也在慢慢上去,我这儿进度还是比较慢的,不过我还是选择坚持自己的想法,从我一开始学的地方整理,因为我觉得每一次复习都会有不同的体验,不要不耐烦。
好了,废话不多说,开始今天的整理,还是比较常用的命令,多学一个记一个。
再次理解一次管道,管道的更多用法是过滤,用关键字过滤 grep
cd -是上一级路径,cd..是上一个命令,什么意思呢
例如 /home /bin/ 如果输入cd-就是/home 而cd..就是/;
8)创建目录 mkdir
通过mkdir命令可以创建一个新的目录,参数-p可以通过递归来创建目录
需要注意的是新建目录不能与当前目录已有的目录或者文件同名,并且目录创建者必须对当前具有写权限。
在创建目录时可以带上路径,在递归创建目录时,例如
我想在按文件中创建b文件再在把文件中创建c文件,可以用mkdir /a//c -p
9)删除目录 rmdir
这个删除命令只能删除空文件夹,
10)删除文件:rm
可通过rm删除文件或者目录,使用rm命令要小心,因为文件删除后不能回复,为了防止文件误删,可在rm使用-i参数以逐个确认要删除的文件
附:常用参数以及含义
-i,以进行交互方式进行
-f 强制删除,忽略不存在的文件,无需提示
-r 递归地删除目录下的内容,删除文件必须加此参数
例如rm*rf经典代码,(在昨天的博客,一位大佬在评论下来了一句请使用rm*rf,这人太坏了),这段代码很容易误删文件,如果不加f,删除的效率就会很慢,用i显示可能很清楚,但是文件太多,就会很繁琐。
删除中间也可以带路径的!!!
11)建立链接文件:ln
Linux链接文件类似于Windows下的快捷方式,链接文件分为软连接和硬链接
软连接:软连接不占用磁盘空间,源文件删除则软连接失败(软连接常用,类似于Windows的快捷方式,不占内存,一旦源文件消失,软连接无意义)作用
硬链接,硬链接只能接普通文件,不能链接目录。作用,给某个文件拷贝拷贝一份,这两个独立占用内存,改变其中一个文件,会影响到另一个文件,删除某个硬链接文件,不会影响另外一个文件。
使用格式:ln 源文件 链接文件或lh -s 源文件 链接文件
如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接还是存在,所以-s选项是更常见的形式。
如果软连接文件和源文件不在同一个目录,源文件最好要使用绝对路径,不要使用相对路径
12)cat 产看或者合并文件内容;cat
13)grep 文本搜索
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找,如果找到匹配模式,grep打印包含模式所有行。
一般格式为:grep 【选项】“搜索内容串” 文件名
在grep命令中输入字符串参数时,最好是引号或双引号括起来,例如:grep”a“ 1.txt
常用选项 -v显示不包含匹配文本的所有行(等于求反) -n显示匹配行以及行号 -i忽略大小写
grep搜索内容串可以是正则表达式。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特性字符以及这些特定字符的组合,组成一个规则字符串,这个规则字符串用来表达对字符的一种过滤。
grep常用正则表达式
^a 行首 搜以a开头的行 例如 grep ,-n "^a" 1.txt
ke$ 行尾 搜以ke结束的行(只针对Linux文本文件) grep -n "ke$" 1.txt
[Ss]igna[lL] 匹配[ ]里中一系列字符中的一个,搜索匹配单词signal signaL Signal SignaL的行grep -n "[Ss]igna[lL]" 1.txt
. (点) 匹配一个非换行的字符 匹配e和e之间有任意一个字符,可以匹配 eee,eae 但是不匹配ee eaae
14)find 查找文件
find 命令功能非常强大,通常用在待定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件
常用用法 、
find ./-name test.sh 查找当前目录下所有名为test的文件
find./-name'*.sh' 查找当前目录所有后缀为.sh的文件
find./-name"[A-Z]*" 查找当前目录下所有以大写字母开头的文件
find /tmp -size ( - +)2M 查找当前目录下小于 等于 大于2m的文件
find . /-size+4K-size-5M 查找当前目录大于4k小于5M的文件
find ./-perm 0777 查找当前目录下权限为777的文件或目录
15)拷贝文件 :cp
cp命令的功能是将给出的文件或目录复制到另一个文件之中相当于DOS下的copy命令
常用选项说明
-a 该选择复制目录是使用,它保留链接,文件属性,并递归地复制目录,简单而言,就是保持文件原有属性
-f 删除已存在的目录文件而不提示
-i 交互式赋值,再覆盖目标文件之前给出提示要求用户确认
-r 若给出的源文件是目录文件,则cp将递归复制该目录下所有的子目录和文件,目标文件必须为一个目录名
-v 显示拷贝进度
16)移动文件
用户可以使用mv命令来移动文件或者目录,也可以给文件或者目录重命名
常用选项说明
-f 禁止交互式操作,如有覆盖也不会给出提示
-i 确认交互式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免覆盖文件
-v 显示移动进度
17)归档管理 tar
计算机的数据经常要备份,tar是Linux中最常用的备份工具,此命令可以把一系列文件归到一个大文件中,也可以把档案类文件解开以恢复数据。
tar使用格式 tar [参数] 打包文件名 文件
tar命令很特殊,其参数前面可以使用”-“,也可以不使用
常用参数
-c 生成档案文件,创建打包文件
-v 列出归档解档的详细过程,显示进度
-f 指定档案文件名,f后面一定是tar,所以必须选项最后
-t 列出档案文件名称,f后面一定是.tar文件,所以必须选项最后
-t 列出档案中包含的文件
-x 解开档案文件
18)gzip压缩tar包
gzip xxx.tar 自动在当前目录生成一个后缀为 xxx.tar.gz
解压:gizp -d xxx.tar.gz
压缩打包;tar -czvf xxx.tar.gz 所需文件
解压解包;tar -xzvf xxx.tar.gz
19)文件压缩解压:bzip2
tar与bzip2命令结合使用实现文件打包,压缩(用法跟gzip一样)
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxx.tar.bz2
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩功能,实行一个先打包后压缩的过程
压缩用法:tar jcvf 压缩包包名 文件。。(tar jcvf bk.bz2*.c )
解压用法:tar jxvf 压缩包包名(tar jxvf bk.tar.bz2)