长津湖 21/10/19 linux初级6

vim新建和编辑文件

输出重定向:> >>

nl 显示行号 输出文件的内容 并且编号

number lines of files 等于cat -n

一个简单脚本 涉及到重定向和eof输入
在这里插入图片描述
在这里插入图片描述
先察看一下 在这里插入图片描述
然后再执行
top 动态的显示cpu和内存、进程的信息,查看系统负载 按q退出

cat是一股脑把所有内容都展示给你

在这里插入图片描述

在这里插入图片描述
linux内存详解

在这里插入图片描述
内核进程空间可以随意访问用户空间
用户空间不能访问内核空间

在这里插入图片描述
free -m 以兆的形式显示
在这里插入图片描述

cat命令 不消耗cpu 消耗内存

缓存:临时存放数据的地方

在这里插入图片描述

文件从磁盘里面读取出来,然后放入缓存空间,从cahce空间拿出,然后输出到屏幕上

在这里插入图片描述
buff/cache 临时用来存放数据

一般来说,都是参考free是否还有空间

清除缓存
在这里插入图片描述
清楚缓存后,资源释放
在这里插入图片描述

cat读大文件(这个文件的大小比内存还大)的危害:
消耗的cpu不是特别多,
内存的消耗确实是慢慢增多,时间久了会导致比较多的内存
大量的文本内容需要读取到内存里

free没有了,就默认没有空间了

面试题:如何优化内存?

在这里插入图片描述
需要显示行号怎么办 加入管道符号
在这里插入图片描述

| 管道符号 将前面一个命令的输出送给后面的一个命令作为输入
将两个功能进行合并

管道符号:本质是实现了进程与进程之间的通信

读取并进行编号
在这里插入图片描述

head tail

在这里插入图片描述

在这里插入图片描述
想查看这个文件前十行和后10行
在这里插入图片描述
在这里插入图片描述
wc统计文件有多少行 ,单词,字节
-l – lines 行数

在这里插入图片描述

在这里插入图片描述

head默认取前十行
在这里插入图片描述

head取前
在这里插入图片描述
取尾10行
在这里插入图片描述
取尾10行并查看行数
在这里插入图片描述
head取前5行
在这里插入图片描述
tail取最后三行
在这里插入图片描述
取文件的第5行到第十行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
取文件只取第八行
在这里插入图片描述
在这里插入图片描述
tail - f 动态监控某个文件
一直盯着这个文件的末尾查看,一旦有内容往文件里写入,马上就可以看到

对于空文件 末尾没有东西 就只有空的光标
在这里插入图片描述
想往文件末尾追加点东西 右键点击虚拟机 然后复制会话
把一个文件追加到另外一个文件

另外开一个终端,使用重定想追加内容到

追加3次

在这里插入图片描述
在这里插入图片描述
按ctrl+c强行终止

tail-f 未来我们会监控一些日志文件 看日志文件的变化

日志:电脑里的程序记录当时发生的事情到一个文件里

日志文件:记录日志的文件,会记录时间、程序、发生的事情

在这里插入图片描述
tail -n+2 文件从第二行读到末尾
在这里插入图片描述
不写+号
只读最后两行

在这里插入图片描述
df查看磁盘的使用情况
df -Th 查看磁盘分区的挂载使用
在这里插入图片描述
挂载:相当于windows里的移动硬盘连接到系统里,系统给它分配一个盘符,这个我们就可以去使用移动硬盘里的数据了

windows里喜欢叫盘 linux里喜欢叫分区

sed history

在这里插入图片描述
查看一共有多少行
在这里插入图片描述
展示前5行
在这里插入图片描述
如果不接的话 是前10行
在这里插入图片描述
末尾10行 和末尾3行
在这里插入图片描述
w 命令是一个在linux系统中用来显示
当前登录用户及这些用户正在做什么的命令。

新浪面试题: 查看10-20行 取连续的行 使用head和tail
在这里插入图片描述
sed可以显示不连续的行
awk也可以显示不连续的行

不连续用分号
在这里插入图片描述
p 是print的意思

连续的用逗号
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

sed是linux文本替换和处理的命令
-n 不显示不符合条件的行数

history 查看历史命令 你累计使用了多少命令

!620 去执行第620条历史命令

history -c 清除历史命令

clear 清除命令

!+数字 再现命令的原因:命令较长,有出错风险,偷懒用的,确保程序的运行的安全性、提升效率

!+命令
在这里插入图片描述

这个地方有三条 !+命令,执行最近的一条命令,也就是最后一条

service sshd restart
在这里插入图片描述
服务器重启
在这里插入图片描述
重现命令 写出命令一部分就可以了 他会去找以ser开头的命令

上下方向键一样作用 调出历史命令

在linux里面执行的命令都是放在内存里面的

linux里面最多可以保存多少条命令——保留最近的1000条

查看环境变量
在这里插入图片描述
HISTSIZE=1000 >指明历史命令最多可以保留1000条
1 1—1000
2 1001
51 1050

history | more 分页显示 历史数据

HISTSIZE的值可以改变,但是临时有效,如果想要长久有效,必须修改成文件

保存的命令越多 占用内存越多

1kb=1024字节

linux里面的计算器 bc

20个字符串 一个英文字符占1个字节 2000条数据
2012000/1024 =39k

yum Install bc -y bc是linux里面的计算器

按bc进入计算器 按quit退出 按q显示0 按ctrl+c 也可以退出

在这里插入图片描述

数组 容器

如果修改数量的文件 能够永久保存
在这里插入图片描述
在这里插入图片描述

按字母键 i

按esc 退出并保存

然后去执行这个命令 发现配置没有立马执行在这里插入图片描述
grep是文本过滤的命令
上文的意思是 有his的 全部过滤显示出来 没有his的不过滤显示
在这里插入图片描述

sed也可以过滤
在这里插入图片描述
linux文本处理三剑客
1.grep 文本过滤
2.sed 文本替换
3.awk 文本截取

在这里插入图片描述
按i开始输入
在这里插入图片描述
整行输出

用sed去改文本文件里的内容 曾琪雷改成胡琪雷
在这里插入图片描述
截取里面的字段 例如:截取第2个字段
在这里插入图片描述

在这里插入图片描述
从第二行显示到末尾
在这里插入图片描述

截取第二个字段
在这里插入图片描述

w

linux’中的w是什么意思

该命令将列出所有当前登录的用户一级他们相关联的信息

w命令是一个在linux系统中用来显示当前登录用户及这些用户正在做什么的命令。它同时也能显示系统运行时长,当前系统时间和系统平均负载情况。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
w命令选项介绍
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
逐步过滤

在这里插入图片描述

更改完配置后,不会立刻生效,需要重启or刷新服务

比如 重新登陆 su - root 用户重新登陆 会加载新的变量的值

reboot 重启服务系统 不过不推荐 没有人会把正在使用的系统重启 会耽误其他进程

在这里插入图片描述
source/etc/profile 推荐使用

source在当前进程执行

bash在子进程里执行

历史命令
在这里插入图片描述

.bash_history 文件介绍

为什么清楚了,历史命令就没了,但是重新登陆后,历史命令又会重现
文件是保存在用户的加目录下的,里面保存的是这个用户上次登录linux系统的时候,使用过的命令

在这里插入图片描述
用强哥用户去登陆系统

pwd print working directory打印工作目录的缩写
功能是显示用户所处的当前目录的绝对路径

在这里插入图片描述
ls常用参数
-a:显示隐藏文件
-l:列表方式显示信息
-h:显示文件大小
alh没有顺序要求,可以lah,alh,hal任意搭配

ls 显示不被隐藏的所有文件与文件夹

ls -a 显示当前目录下的所有文件及文件夹,其中包括所有被隐藏的文件和文件夹
ls -l 显示不被隐藏的所有文件与文件夹的详细信息,并成列表显示

ls -al 显示的所有文件与文件夹的详细信息,包括所有被隐藏的文件和文件夹,并成列表显示
在这里插入图片描述你使用一个用户登陆期间,所写的命令都是该用户的,
退出用户登录之后,用户的命令都写进了一个。bash_history文件
用户登录之后,都读取出来

在这里插入图片描述

history-c 清除 内存

类似文件追加 并没有实现空白上覆盖
在这里插入图片描述
删除文件可以实现
在这里插入图片描述
进入日志文件
在这里插入图片描述
你想去删除某些东西不太可能,你只是个普通用户

在这里插入图片描述
但是如果只是删除bash。history,这个是可以的 删除保存历史命令的文件

which

查找类的命令
在这里插入图片描述
可执行文件 mkdir vim touch

指明cp在哪个文件夹
在这里插入图片描述
指明mkdir放在哪个文件夹
在这里插入图片描述
进入文件夹 查看信息
在这里插入图片描述
进入这种文件夹
只要是显示绿色的 就是可执行文件
浅蓝色 链接文件
在这里插入图片描述
bin binary 二进制 0 1
一般的linux命令都是二进制文件,而且都是可以运行的

自定义文件 不会出现在这个路径里面

在这里插入图片描述
path变量
which命令去linux系统里查找命令的时候,会固定到某些文件夹里去寻找
在这里插入图片描述
会从path变量定义的路径里,
从左边第一个文件夹可以查找,如果找不到,
就往下走,如果没有找到,往第二个文件夹里查找,以此类推

env:环境变量 适用于查看或设置当前用户环境变量信息的一个工具
可以列出系统中所有环境变量及其赋值

查看env在这里插入图片描述
*在这里插入图片描述
例子:自己写一个c语言程序,然后放进path里面去

在这里插入图片描述
按回车进入 按i进行书写 这里不是shell编程 是c语言编程

先写一段c语言的代码

在这里插入图片描述
输入
:wq
这样退出

安装编译器gcc
yum Install gcc -y

必须在root用户下才有安装权限 需要切换到root’用户下
普通用户没有安装的权限
怎么切换到root用户
su root

普通用户登录是$ root用户是#

编译器:将c语言的代码翻译成机器可以认识的语言(二进制)

gcc -o hello hello.c 将hello.c这个文件,编译成hello这个二进制文件

在这里插入图片描述

绿色文件代表可执行文件

在这里插入图片描述

为什么二进制文件执行后,在目录里面仍然找不到

在这里插入图片描述
因为根据前文提示,你的文件在sc这个文件夹

现在将文件复制到user/bin这个文件夹
在这里插入图片描述
linux找文件,是去对应的固定的path文件夹去找的

我们自己编写的程序,要想让linux系统知道,该怎么处理
答案:将你的程序复制到path变量指定的文件夹下就可以了

在这里插入图片描述
根目录文件的显示,跟在哪个路径下没有关系,都是一样可以查找到文件的存在
在这里插入图片描述
注意看,此处ls下面并没有bin目录,我们此处的mv 实际上是新创建文件夹
在这里插入图片描述
在mv命令中,存在的话,就改名字,不存在的话,就去新建

在这里插入图片描述
新建文件已经有了怎么办 给它改名字

在这里插入图片描述

在这里插入图片描述
我们在找linux文件的时候,一般默认的是在path目录里面去找,
但是我们书写的文件,不是放在path目录的,
所以我们需要把文件改变路径

当path变量没有相关路径的时候,我们就去改变path变量
在这里插入图片描述
在这里插入图片描述

在shell变成里面,等号左右是不能有空格的
在这里插入图片描述
目前展示的sc,都是一次性的,path一直都是它默认的形式,会发生一次性改变
在这里插入图片描述
为什么echo可以找到

shell内部命令和外部命令

内部命令
**在这里插入图片描述
如果想要永久有效,需要修改配置文件
在这里插入图片描述
在文件第一行配置信息,使得永久有效 ,对任何用户都生效,都知道你的程序安装路径

在这里插入图片描述

作业练习:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值