【方向盘】达到Linux第三阶段的常用命令笔记记录---PartⅠ(下)

简介: 【方向盘】达到Linux第三阶段的常用命令笔记记录---PartⅠ(下)

查看命令历史 history


可以按一下上\下方向键,命令行就会显示相对于当前命令的上一条或下一条历史记录.但如果太多了,那就得使用history了


history [n] n为数字,列出最近的n条命令 n不指定,默认值为200条

所有命令记录在这里:~/.bash_history


使用! 执行历史命令。


  •    ! number 执行第几条命令


  •    ! command 从最近的命令查到以command开头的命令执行


  •    !! 执行上一条


查看系统时间、日期 date、cal


直接输出date、cal能看到系统当前时间、日期、日历等等


格式化输出:date +%Y-%m-%d 输出为: 2018-12-28

cal 2018 :会把2018年12个月的日历都打印出来

cal 12 2018:这查看的是2018年12月指定月的日历


搜索查找 find、locate、grep、whereis、which


先说两个最轻量级的查找whereis、which。

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

image.png

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。


image.png


which 查看可执行文件的位置

whereis 查看文件的位置

locate 配 合数据库查看文件位置

find 实际搜寻硬盘查询文件名称

find


-name 文件名查找

-user 文件所属查找

-size 文件大小查找 +大于 -小于


find /usr -name a.txt 在目录/usr下查找名字叫a.txt的文件

find /usr -user root 查找目录下文件所属为root的目录和文件

find /usr -size +20M /usr目录下所有大于20M的文件


多参数可以联合使用


locate


使用locate数据库快速查找,无需遍历整个文件系统,所以效率还是蛮高的。需要定期更新locate数据库;第一次执行时,updatedb创建locate数据库。执行前,可先执行一遍updatedb命令。。。


缺点:centos系统要使用此命令,请先安装:


yum -y install mlocate


然后执行updatedb


locate命令要比find -name快得多


grep

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。


常用参数:

-w或–word-regexp 只显示全字符合的列。

-c或–count 计算符合范本样式的列数。

–color :将匹配到的内容以颜色高亮显示。 这个还挺好用的


image.png


# 若有如下文本
db.username=xbk_classroom
slave.db.username=xbk_classroom
slave1.db.username=xbk_classroom
user.ribbon.listOfServers=http://10.102.131.176:9090
isolation.db.username=xbk_classroom
grep user -c    结果为:5   效果同grep -c user
grep user -wc   结果为:1(完整匹配,所以经常使用)  grep -wc user


pattern正则表达式主要参数:


\: 忽略正则表达式中特殊字符的原有含义。

^:匹配正则表达式的开始行。

$: 匹配正则表达式的结束行。

<:从匹配正则表达 式的行开始。

>:到匹配正则表达式的行结束。

[ ]:单个字符,如[A]即A符合要求 。

[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。

。:所有的单个字符。

* :所有字符,长度可以为0。


使用案例:


grep ‘test’ d* #显示所有以d开头的[文件中]包含 test的行。
grep ‘[a-z]\{5\}’ aa #显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
grep man * #会匹配 ‘Batman’、’manic’、’man’等,
grep ‘\<man’ * #匹配’manic’和’man’,但不是’Batman’,
grep ‘\<man\>’ #只匹配’man’,而不是’Batman’或’manic’等其他的字符串。
‘^’:指匹配的字符串在行首,
‘$’:指匹配的字符串在行 尾,
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep -n pattern files  即可显示行号信息
我常用的:grep -A(后面N行) -B(前面N行) -C(前后N行)


过滤符。将前一个命令的结果,通过管道符进行过滤


| 管道命令,将前面命令的处理结果传递给后一个处理


cat a.txt | grep -ni hello 把a.txt的文件内容传递给grep过滤,grep过滤出所有hello字段,-n表示显示行号,-i表示不区分大小写


也可以直接使用:

grep -n aaa /home/a.txt --在home文件下的a.txt查找含有aaa字符的行数(区分大小写匹配aaa)


统计出现的次数 |wc -l


如:

grep -n You README |wc -l


////

输出: 这样只会输出一个总次数数字了


6


压缩与解压


习惯上以.tar后缀代表tar包,用xxx.tar.gz或.tgz代表gzip压缩过的tar文件,用.tar.bz2代表bzip2压缩过的tar文件。


tar

打包:将一大堆文件或目录变成一个总的文件【tar命令】

压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】


只是打包动作,相当于归档处理,不做压缩;解压也一样,只是把归档文件释放出来。

tar [主选项+辅选项] 文件们或目录

主选项:【一条命令以下5个参数只能有一个】

-c: --create 新建一个压缩文档,即打包

-x: --extract,–get解压文件(解压的时候使用)

-t: --list,查看压缩文档里的所有内容


-r:–append 向压缩文档里追加文件


-u:–update 更新原压缩包中的文件

辅助选项(可多个):


-v:显示操作过程!这个参数很常用


-f:使用文档名,注意,在f之后要立即接文档名,不要再加其他参数!


-z:是否同时具有gzip的属性?即是否需要用gzip压缩或解压?一般格式为xxx.tar.gz或xx.tgz


-j:是否同时具有bzip2的属性?即是否需要用bzip2压缩或解压?一般格式为xx.tar.bz2


常用组合为:

将img1和img2两个文件夹打包成img.tar,仅打包不压缩

tar -cvf img.tar img1 img2


//

将img1和img2两个文件夹打包成img.tar.gz,打包后,以gzip压缩


tar -zcvf img.tar.gz img1 img2

解压:tar -tf img.tar这个不解压直接查看

tar -xvf file.tar //解压 tar包


gzip、gunzip、zip、unzip


gzip 是linux中常见的压缩/解压工具,最常见的使用对象是*.gz格式的文件

相关文章
|
16小时前
|
Linux 编解码 Python
FFmpeg开发笔记(二十四)Linux环境给FFmpeg集成AV1的编解码器
AV1是一种高效免费的视频编码标准,由AOM联盟制定,相比H.265压缩率提升约27%。各大流媒体平台倾向使用AV1。本文介绍了如何在Linux环境下为FFmpeg集成AV1编解码库libaom、libdav1d和libsvtav1。涉及下载源码、配置、编译和安装步骤,包括设置环境变量以启用这三个库。
11 3
FFmpeg开发笔记(二十四)Linux环境给FFmpeg集成AV1的编解码器
|
3天前
|
Linux 应用服务中间件 nginx
linux小技巧: 可以补全命令 别名永久有效
linux小技巧: 可以补全命令 别名永久有效
|
3天前
|
缓存 关系型数据库 MySQL
linux 基本知识与命令
linux 基本知识与命令
|
3天前
|
网络协议 Linux 数据库
蓝易云 - Linux常用命令dhcpd命令
在使用dhcpd命令之前,需要确保已经正确配置了dhcpd.conf文件,该文件定义了DHCP服务器的行为和要分配的IP地址范围等信息。
9 0
|
3天前
|
Linux Docker 容器
蓝易云 - 【Linux】如何在linux系统重启或启动时执行命令或脚本(也支持docker容器内部)
以上就是在Linux系统和Docker容器中设置启动时运行命令或脚本的方法。希望对你有所帮助。
16 0
|
4天前
|
网络协议 Linux Shell
Linux重定向笔记
Linux重定向笔记
11 0
|
4天前
|
Linux 开发工具
蓝易云 - Linux虚拟机常用命令
以上就是一些常用的Linux命令,希望对你有所帮助。
15 0
|
5天前
|
存储 Linux 开发工具
Linux 基础(从环境搭建到基础命令)
Linux 基础(从环境搭建到基础命令)
|
7天前
|
存储 Linux 网络安全
在 Linux 中通过 SSH 执行远程命令时,无法自动加载环境变量(已解决)
SSH远程执行命令时遇到“命令未找到”问题,原因是Linux登录方式不同导致环境变量加载差异。解决方案:将环境变量写入`/etc/profile.d/`下的文件,或手动在命令前加载环境变量,如`source /etc/profile`。
|
9天前
|
关系型数据库 MySQL Java
1.Linux常用命令
1.Linux常用命令
34 1