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内部命令和外部命令
内部命令
**
如果想要永久有效,需要修改配置文件

在文件第一行配置信息,使得永久有效 ,对任何用户都生效,都知道你的程序安装路径

作业练习:

本文概述了Linux中vim编辑文件、输出重定向、行号显示、内存理解、内存优化技巧、文件操作(如head/tail、wc、df、sed、awk)、路径查找(which)、环境变量、历史命令、编程工具和文件管理,涉及关键概念如缓冲区、文件系统和文本处理工具的使用。
244

被折叠的 条评论
为什么被折叠?



