目录
1、history 是用于查看自己最近所输入的命令默认保存第1000行
1.1、history -c
1.2、history保留历史命令临时修改和永久修改、以及查看history的基本设置
1.3、ssh协议
1.4、.bash_history
1.5、打扫自己的痕迹(历史命令)
2、w 查看当前linux系统里的登录用户的信息
2.1、pkill -t pts/n -9 根据终端编码来杀死某个进程
3、yum命令的原理
4、bin和sbin的区别
5、PATH 环境变量
5.1 PATH变量为什么叫环境变量呢?(定义变量等号两边不能有空格)
5.2、PATH变量如果被破坏的后果
5.2.1、PATH变量被破坏之后的恢复方法
5.3、拓展:在windows里改变PATH变量(在电脑属性中打开)
6、which
7、什么是可执行(文件)程序?⭐
7.1、C语言(编译型语言)
7.1.1、案例:自己使用c语言编写一个hello,world的程序,然后加入到PATH变量里(制作一个二进制程序gcc -o)图片解释:gcc -o制作一个可执行的二进制程序
7.1.2、用./ +二进制文件代码执行代码
7.1.3、解决上述问题,让别人找到我们的程序(在PATH变量中加入该代码路径)
7.2、go语言
7.2.1、go语言转化二进制文件
7.3、python语言(解释型语言)
7.3.2 文件名过长的解决办法(ln -s)
7.4 、shell
7.4.1、推广
8、语言分类方法
8.1、编程语言:
8.2、强类型语言和弱类型语言
8.3、动态语言和静态语言
9、rpm -qa
用法:
清除历史命令记录,只会删除1000条
history 所显示的所有命令都是占内存的,但所占内存并不大
图片解释: bash为终端
保存我们上一次登录期间在linux里输入的命令,退出的时候,会自动保存到该文件。创建一个新用户,然后敲一些命令,这些命令会存在内存中,退出该用户,就会把这些命令写到.bash_history
(这个文件为该用户的家目录下边的隐藏文件)里边去
[root@fttsaxf html]# find / -name ".bash_history"
/root/.bash_history
/home/fdd/.bash_history
/home/fzt/.bash_history
图片解释:终端有两种类型:一种是ttym(m为1到6,即tty类型的终端有六个,默认从第一个终端进入),是真正的终端;另一种是pts/n(n的取值为无穷,即可有无数个伪终端),是xshell模拟出来的伪终端
ctrl+alt+F1~F6 或者 alt+F1~F6 开启tty1到tty6的终端 注意:这个命令要在VMware中输入这个命令才行
base基本软件包
extras 额外软件包
updates 更新的软件包
/usr/bin -->存放二进制可执行程序的 binary -->linux里的很多命令都是使用C语言编写的
/usr/sbin -->存放超级用户(有权限的用户)使用的命令 super user binary -->sbin
/usr -->存放linux系统李默认的软件安装的路径
环境变量(都是大写的,而且是不需要我们人去自定义的,操作系统自带的):很多用户都可以使用的变量,export 输出为全局变量,但是不同用户是不能使用
后果:找不到很多命令(外部命令),但是bash的内部命令还是可以使用
然后里边有一个环境变量,然后在path那里前边加一个你想要加的变量的文件夹路径就行了
PATH变量的作用:就是指定which命令查找命令的路径的一个变量
图片解释:后边这些都是文件夹,且都是以":"分开的
用which找命令都是按照这些文件的排序(图中所示)从左到右查找
图片解释:在/(根目录)下执行hello,并不会执行成功,因为在PATH变量中查找的路径中没有这个文件所在的目录
1)将我们的程序放到PATH变量指定的路径里——》可以理解为适应世界,这个方法简单且有效。
2)我们修改PATH变量——》可以理解为改变世界
图片解释:这种方法是临时修改PATH变量的值
图片解释:我们想要永久定义这个代码文件,就必须在包含PATH变量的文件中加入该文件所在的路径。
我们能在这些文件(/etc/profile、/etc/bashrc 影响所有用户; /root/.bash_profile、/root/.bashrc 只是影响root用户)
这是hellogo.go的文本内容
package main
import "fmt"
func main() {
fmt.Println("Hello, World! golang")
fmt.Println("i am cali")
}
默认转化的二进制文件,只会把后边的".go" 删掉后,把前边的文件名作为新的文件名。若是我们想要改变这个二进制文件名可以这样做。
1)编写python程序
#!/usr/bin/python3
import os
# os 是python里边的一个库,用来操作操作系统的,可以理解为在操作系统里新建文件夹,删除文件等命令的操作
import random
print("hello,world")
print("I am fdd")
# random 是python里的产生随机数的库,randint(1,10000)产生1到10000的一个随机数
# f为格式化 {}为引用某个命令,会优先执行个命令
os.mkdir(f"sanchuang{random.randint(1,10000)}")
print("列出当前文件夹下的所有的文件和文件夹")
print(os.listdir()) # 获取当前文件夹里的内容
4)用之前那个办法使这个文件可以全局执行
编译型:c、go
解释型:shell,python,java 不是解释型语言的话用xshell第一行不需要声明是什么解释器
定义:是否进行变量类型的自动转换
强类型:不允许进行变量类型的自动转换,严格区分变量的类型,不自动转化
弱类型:背后会自动转换变量的类型
定义:就是在定义变量的时候,必须要声明变量的类型,就是静态的
c语言:弱类型,静态语言
python:强类型,动态语言
java:静态语言,强类型语言
其中
–a选项是查询所有已经安装的软件包。
-q是查询一个包是否安装
(显示区别:已经安装的rpm包不会显示后缀.rpm ,而未安装的包则显示后缀.rpm)