Day02_Linux
1、Linux文件管理
1.1 touch命令
- 参数说明:
- a 改变档案的读取时间记录。
- m 改变档案的修改时间记录。
- c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
- f 不使用,是为了与其他 unix 系统的相容性而保留。
- r 使用参考档的时间记录,与 --file 的效果一样。
- d 设定时间与日期,可以使用各种不同的格式。
- t 设定档案的时间记录,格式与 date 指令相同。
- –no-create 不会建立新档案。
- touch a.txt (创建一个新a.txt)
- touch a{1…10}.txt (批量创建文件 文件名:a1.txt a2.txt…)
1.2 stat 命令
- stat [文件或目录] 用于显示inode内容
1.3 vi与vim命令
- vi只能编辑 文本内容,不能对字体段落进行排版,没有菜单,只有命令
- vim 代码补全、编译及错误跳转等方便编程的功能特别丰富
1.3 vi/vim模式
-
vim a.txt 进入命令模式不能输入文字。
-
命令模式下按 i 键进入编辑模式,此时可以写入内容,按Esc可回到命令模式。
-
在命令模式下按:进入末行模式,左下角会有一个冒号出现,此时可以敲入命令并执行。
-
:q 当vim进入文件没有对文件内容做任何操作可以按"q"退出
-
:q! 当vim进入文件对文件内容有操作但不想保存退出
-
:wq 正常保存退出
-
:wq! 强行保存退出,只针对与root用户或文件所有用户
-
-
vim txtfile.txt 如果文件已经存在, 会直接打开该文件,如果文件不存在, 保存且退出时 就会新建一个文件
1.4 文件查看
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | cat 文件名 | concatenate | 查看小文件内容 |
02 | less -N 文件名 | less | 分频 显示大文件内容 |
03 | head -n 文件名 | 查看文件的前一部分 | |
04 | tail -n 文件名 | 查看文件的最后部分 | |
05 | grep 关键字 文件名 | grep | 根据关键词, 搜索文本文件内容 |
1.4.1 cat命令
- cat -n a.txt 文件名为txtfile.txt的内容(加入行号)
1.4.2 grep命令(搜索和查看进程)
- grep eee a.txt 搜索 存在关键字【eee】 内容的行
- grep -n eee a.txt 搜索 存在关键字【eee】 内容的行并显示行号
- grep -i EEEE a.txt 忽略大小写 搜索 存在关键字 的行
- grep -v 中国 txtfile.txt 搜索 不存在关键字 的行
- ps -ef | grep sshd 查找指定的进程信息(包含grep进程)
- ps aux | grep sshd | grep -v “grep” 查找指定的进程信息(不包含grep进程)
- ps -ef|grep -c sshd 查找进程个数
1.4.3 tail命令
- tail -行数 文件名 显示最后几行文件到末尾
- tail -f 文件名 动态显示最后的日志(ctrl + c 结束)
- tail -c 45 文件名 显示最后45个字符
- tail -n+2 文件名 从第二行到末尾
1.4.4 vim定位行
- vim 文件名 + 行数 查看文件并定位到具体的行数
1.4.5 vim的异常处理
- 如果vim异常退出,在磁盘上可能出现交换文件
- 此时我们只需要删除这个交换文件就可以正常编辑这个文件了
1.4.6 echo命令(想文档输入字符串的命令)
- echo 字符串 展示文本
- echo 字符串>文件名 将字符串写到文件中(覆盖文件中内容)
- echo 字符串>>文件名 将字符串写到文件中(不覆盖文件内容)
- cat 不存在的文件名 &>> 【文件名】 将命令失败的结果追加error.log的文件中
1.4.7 awk命令 (是一种处理文本文字语言)
过滤和切割
- cat a.txt | awk/john|nick/ 查找含有尼克和约翰的词条
- cat a.txt | awk -F ‘ ”{print $1,$2,$3,$4}’ 按照空格切割并输出切割
关于awk的部分约束
- $0 当前记录(这个变量中存放着整个行的内容)
- 1 1~ 1 n 当前记录的第n个字段,字段间由FS分隔
- FS 输入字段分隔符 默认是空格或Tab
- NF 当前记录中的字段个数,就是有多少列
- NR 已经读出的记录数,就是行号,从1开始,如果有多个文件话,这个值也是不断累加中。
- FNR 当前记录数,与NR不同的是,这个值会是各个文件自己的行号
- RS 输入的记录分隔符, 默认为换行符
- OFS 输出字段分隔符, 默认也是空格 OFS=“字符”
- ORS 输出的记录分隔符,默认为换行符
- FILENAME 当前输入文件的名字
例如:cat a1.txt | awk -F ‘ ‘ ‘{print $1,$2}’意为以空格作为分隔符,输出第一第二列的内容
cat 文件名 | awk -F ‘‘ ’’ ‘ {OFS = “分割内容”}{print $1,$2,$3}’
注意:OFS = 需要在中括号中且需要打上双引号,而后续使用的toupper,length使用括号即可且不需要引号的使用
1.5 软连接
(类比快捷方式)软连接指向文件名索引,从文件名所指向的地址中再去寻找文件
- ln -s 需要创建软连接(快捷方式)的文件 (快捷方式)文件名
1.6 Find
按照文件名来查找文件
- find 。 -name “*。txt” 查找以txt为后缀的文件名
- 分的 。-ctime -1 查找最近一天内访问过的文件
1.7 压缩
-
GZIP(压缩命令)
- gzip 文件名 压缩一个文件(源文件消失)
- gzip * 压缩当前文件夹下所有文件,压缩文件无法再次压缩
- gzip -dV* 解压文件并列出详细信息
-
Gunzip(解压命令)
- gunzip 解压文件名(如果想解压当前文件夹下所有压缩文件也可以在此处使用*代替)
-
tar 命令
- tar 【必要参数】【选择参数】【文件】
- tar -cvf a.tar(压缩后名字) a.txt(要压缩文件) 打包
- tar -zcvf b.gz(压缩后名字) b.txt(要压缩文件) 压缩
- tar -zcvf 压缩后文件名 目录或文件名 文件夹压缩打包
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sxJdNzbV-1594802003358)(https://i.loli.net/2020/06/12/mjol2pLURMsdizG.png)]
1.8 解压
-
ZIP
-
zip -q -r 压缩包文件名 需要压缩文件
-
unzip -i显示压缩包所包含的文件 -d 解压并指定文件夹
-
unzip 只能解压zip格式的文件夹 (unzip -d 指定文件夹 指定压缩包)
-
-
Bzip2(新型算法,体积小,耗时长)
- bzip2【参数选项】 文件 压缩
- bzip2 需要压缩的文件名 压缩一个文件
- bunzip -v 解压并看详细信息
2、网络命令
2.1 ifconfig命令
- ifconfig 显示激活的网卡信息
- ifconfig ens37 down 关闭ens37网卡
- ifconfig ens37 up 打开ens37网卡
- ifconfig ens37 192.168.23.199 配置ip地址
- ifconfig ens37 192.168.23.133 netmask 255.255.255.0 配置ip和子网掩码
2.2 ping 命令
- ping www.baidu.com 检测是否与主机连通
- ping -c 2 www.baidu.com 收到两次包后自动退出
2.3 netstat命令
- netstat -a 显示详细的连接状况
- netstat -i 显示网卡列表
2.4 lsblk命令
- lsblk 以树状列出所有块设备
- lsblk -f 默认选项不会列出所有空设备
2.5 df 命令
- df 显示磁盘使用情况统计情况
- df 目录名 显示目录使用情况
- df --total df显示所有的信息
- df -h 换算后显示(显示GB,MB)
2.6 mount命令
- mkdir -p mnt/cdrom 创建挂载点
- mount -t auto /dev/cdrom /mnt/cdrom 开始挂载
- ls -l -a ./mnt/cdrom/ 查看挂载点内容
2.7 umount命令
- umount ./mnt/cdrom/ 卸载cdrom
3、yum常用命令
- yum check-update 列出所有可更新的软件清单命令:
- yum update 更新所有软件命令:
- yum install <package_name> 仅安装指定的软件命令:
- yum update <package_name> 仅更新指定的软件命令:
- yum list 列出所有可安裝的软件清单命令:
- yum remove <package_name>删除软件包命令:
- yum search 查找软件包 命令:
- 清除缓存命令:
- yum clean packages: 清除缓存目录下的软件包
- yum clean headers: 清除缓存目录下的 headers
- yum clean oldheaders: 清除缓存目录下旧的 headers
- yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers
3.1 安装tree
- yum -y install tree 当安装过程提示选择全部为"yes"
- tree 以树型结构显示
- yum remove tree 移除tree
3.2更改yum源
-
yum install -y wget 安装wget
-
备份原文件
- cd /etc/yum.repos.d/
- mv CentOS-Base.repo CentOS-Base.repo.back
-
下载阿里云文件
- wget -O CentOS-Base.repo
- http://mirrors.aliyun.com/repo/Centos-7.repo
-
cat CentOS-Base.repo 查看repo文件
-
yum clean all 重新加载yum
-
yum makecache 清理之前(CentOS)的缓存
-
yum search tomcat 验证yum源使用
-
base: mirrors.aliyun.com
-
extras: mirrors.aliyun.com
-
updates: mirrors.aliyun.com
显示以上信息证明更改成功
-