目录
Preface文件搜索相关命令1. find2.locate3.which4.whereis5. grep一些帮助命令6.man7.其他查看命令的方法压缩解压命令8. tar9.其他压缩解压命令挂载命令其他
Preface
还是介绍一下笔记的主要来源:B站上兄弟连的视频的笔记,大部分还是老师讲的内容,我只是整理下了笔记,有的地方加了我自己的理解。
文件搜索相关命令
1. find
这个命令搜索起来挺慢的,而且最好减少find的使用,因为它会占用大量的资源!如果要在Linux上搜索文件最好建议使用locate
命令(后面会介绍),只不过locate
没有find
命令灵活。
这里就说一个简单的用法,按照文件名查找,其他还有很多用法就不说了
用法:
find [搜索范围(哪个文件夹中)] -name 文件名
也可以是 -iname 表示不区分大小写
如:find $pwd M.txt 表示查找当前文件夹中是否有 M.txt 文件!
那个文件名是可以用一点正则表达式方面的内容,不用正则的话,文件名就必须完全匹配才能搜索到,具体就不多说了。
此外再介绍两个选项,挺有用的!
-exec 或者 是 -ok 这两个
对搜索的结果执行操作,可以把搜索的结果作为参数传递给其他命令使用!!
如:我们要搜索一个文件,并查看这个文件中的内容,或者是找到了把他给删除!
find $pwd -iname main.cpp -exec cat {} \;
find $pwd -iname main.cpp -exec 空格 cat {} 空格 \; 注意空格
下面这个是把系统的appliaction中的CLion.desktop文件拷贝到当前文件夹中!我用了通配符 * 表示匹配0个或任意多个字符!
把find的结果传给了cp命令!![]()
2.locate
这个就跟Windows中的一款软件(Everything)差不多,查找速度特别快!它会自己建立一个映射表那种,搜索时就是在查表。而find是在磁盘中一个一个地翻文件,所以好资源也特别慢。
可以搭配 grep 命令使用!locate搜索的范围可以放大一点,然后 用 grep 来筛选查找的结果!
locate [-i] 文件名
下面的含义是:搜索系统中所有以
.desktop
结尾的文件,然后从中找出包含CLion
字符的结果(grep在后面讲)如果仅仅只用 locate 可能会出现像下面的很多结果
3.which
这个是专门用来搜索命令的!看命令所在的目录或者别名信息。
这个可以用来看 这个命令是root用的还是普通用户用的!
普通用户能用的命令基本都在 '/bin/' 或者 '/usr/bin/'下面
只能给root用的命令都在 '/sbin/' 或者 '/usr/sbin/'下面
4.whereis
搜索命令所在目录,及帮助文档 路径
英语不好的,可以把帮助文档
man
拷贝出来,然后拿翻译软件翻译一遍(比如像 知云翻译 就挺好使的,Winows中)。不过还是直接百度更方便,一般情况下用的也不是特别深,基本的就够用了!
5. grep
这个就类似于Word中的 ctrl + f 查找的功能,会把查到的字符串都标红!
grep [-iv] [要查找的字符串] [文件]
-i 表示忽略大小写
-v 表示不匹配谁
这也等价于下面这么用
我平时基本都是配合管道符使用的,就相当于是把管道符前面的结果 放到 grep 命令的最后面,所以就是从结果中 查找字符串
s
下面演示下 -v 选项
它把main.cpp中含有 字符 s 的行都过滤掉了,输出不含 字符 s 的行!
一些帮助命令
6.man
manual 手册的意思,这个会显示非常详细的帮助信息!
man 命令名字
如:man grep 回车之后
- R/空格/PageDown 用来向下翻页
- enter / 向下箭头按键 用来向下翻一行
- 向上箭头按键 用来向上翻一行
- q 退出
- '/' + 搜索内容,按 n 跳到下一个搜索内容!
7.其他查看命令的方法
whatis 显示一下命令的作用
whatis 命令名字
apropos 显示一下配置文件的作用
apropos [配置文件名]
命令 --help 获取命令有哪些选项,及说明
help 获取Shell内置命令的帮助信息
help 命令名字
压缩解压命令
这有点多!就说一个常用的,其他就列个名字和用途
8. tar
打包并压缩
tar -zcf [压缩后的文件名] [要压缩的目录]
-z 打包 同时 压缩
-c 打包
-f 指定文件名
Note: z 和 c 必须放在 f 前面,不然出错!
解压缩
tar -zxvf 文件
-z 在这里表示解压缩
-x 表示解包
-v 显示解压的详细信息
-f 指定解压缩的文件
9.其他压缩解压命令
gzip [文件]:压缩文件.gz,不保留源文件gunzip [文件]:解压缩文件.gz
zip [-r] [压缩后的文件名] [要压缩的文件或目录]unzip [压缩文件]
bzip2 [-k] [要压缩的文件或目录.bz2] -k 表示是否保留源文件bunzip2 [压缩文件.bz2]
还有一个 rar 的压缩解压,不过要下载安装,这里也不提了
挂载命令
Linux和Windows不太一样,你U盘插上去,有的要手动挂载一下!不然用不了!有的会自动挂载。。。。。比如我这个就是挂在/media文件夹下面!
还有现在U盘好多都是 ntfs-3g 的文件系统!CentOS上还需要自己编译,然后才能用。对于Ubuntu,这包管理器就能下载到!
sudo apt-get install ntfs-3g
输入密码后就能下载了!如下,我已经安装好了!
接下来还有个棘手的问题,我们需要自己去 /dev 文件夹下找出我们的优盘的设备文件名,不同电脑可能不太一样吧(一般应该都是sdxxxx,移动硬盘的话可能就不是sd开头的了)!我这用了一个笨的办法来找U盘的设备文件名(也不是很笨)!
用 ls 命令 和 grep搭配来找 用grep 匹配时间
用 ls -lh 列出 /dev下面的所有文件,然后用 grep 加上优盘插入的时间,就能找到一系列文件了。
接下来找文件类型为
b
的文件(b表示 block 一个优盘就是一个块)下图中有两个分别是
sdc
和sdc4
我们应该选择带数字的,后面这个数字我记得应该是分区好像,sdc表示系统的第三块磁盘,后面跟的数据表示这个磁盘下面的分区。
艾玛,反正就记得选这个带数字的就对了
如上图,我的优盘是在23:49分时插入的,所以grep后面放了23:49.
找到了设备文件名后,就进行挂载了:
用法:
mount -t U盘的文件系统 设备文件名 挂载点(就是一个文件夹)
如:
sudo mount -t ntfs-3g /dev/sdc4 /mnt/usb/
进入挂载点目录就能看到我的优盘里的文件了!
弹出优盘
umount 设备文件名或者挂载点
弹出优盘时,不要打开挂载点文件夹!更不要使用优盘中的文件!
其他
像用户管理命令这些,个人机器一般也用不上,简单了解下就行,用的时候在去网上搜索!
网络命令就不说了,我目前也没怎么用过,顶多用个ping
来测试网络的连通性!
下次把Vim中常用的命令写一次推送