目录
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.1PATH变量为什么叫环境变量呢?(定义变量等号两边不能有空格)
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
1、history 是用于查看自己最近所输入的命令默认保存第1000行 用法:
1.1、history -c 清除历史命令记录,只会删除1000条
1.2、history保留历史命令临时修改和永久修改、以及查看history的基本设置
文章图片
history所显示的所有命令都是占内存的,但所占内存并不大
1.3、ssh协议
文章图片
图片解释:bash为终端
1.4、.bash_history保存我们上一次登录期间在linux里输入的命令,退出的时候,会自动保存到该文件。创建一个新用户,然后敲一些命令,这些命令会存在内存中,退出该用户,就会把这些命令写到.bash_history
(这个文件为该用户的家目录下边的隐藏文件)里边去
[root@fttsaxf html]# find / -name ".bash_history"
/root/.bash_history
/home/fdd/.bash_history
/home/fzt/.bash_history
1.5、打扫自己的痕迹(历史命令) 查看.bash_history
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/105bf55bb6e24927bbe1a4d91885c456.jpg)
文章图片
打扫痕迹
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/80858091628a4b03ae723154a4b5b582.jpg)
文章图片
2、w查看当前linux系统里的登录用户的信息
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/4c99953f90854b71991f7378cc0ef02c.jpg)
文章图片
图片解释:终端有两种类型:一种是ttym(m为1到6,即tty类型的终端有六个,默认从第一个终端进入),是真正的终端;另一种是pts/n(n的取值为无穷,即可有无数个伪终端),是xshell模拟出来的伪终端
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/e62752779d434c8eb43b5fd60058b90d.jpg)
文章图片
2.1、pkill-t pts/n-9根据终端编码来杀死某个进程
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/30b7405ff1984db3bc9b79a61c70c89b.jpg)
文章图片
ctrl+alt+F1~F6 或者 alt+F1~F6 开启tty1到tty6的终端注意:这个命令要在VMware中输入这个命令才行
3、yum命令的原理
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/12e731fa47f7443aa41c82a0cfaf8f3f.jpg)
文章图片
base基本软件包
extras额外软件包
updates更新的软件包
4、bin和sbin的区别
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/03362078694c4857ab5c1ea1130a58ff.jpg)
文章图片
/usr/bin-->存放二进制可执行程序的binary-->linux里的很多命令都是使用C语言编写的
/usr/sbin-->存放超级用户(有权限的用户)使用的命令superuser binary-->sbin
/usr -->存放linux系统李默认的软件安装的路径
5、PATH环境变量
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/af18a13977464890a2d500a8e60940cb.jpg)
文章图片
PATH变量:指定了linux里存放的命令的路径
5.1PATH变量为什么叫环境变量呢?(定义变量等号两边不能有空格)
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/4cf8e5ac7bce4059a34dc2dd67a525d1.jpg)
文章图片
环境变量(都是大写的,而且是不需要我们人去自定义的,操作系统自带的):很多用户都可以使用的变量,export 输出为全局变量,但是不同用户是不能使用
5.2、PATH变量如果被破坏的后果后果:找不到很多命令(外部命令),但是bash的内部命令还是可以使用
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/b48ec776d47d47c69927d49c52deadcd.jpg)
文章图片
后果linux展示:
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/410d035bed48482ca6e96a3429d47c62.jpg)
文章图片
这是临时破坏
5.2.1、PATH变量被破坏之后的恢复方法
恢复方法:1、重新恢复它的路径2.重新登陆这个用户
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/cca3a5a297504cb5b01568e96523b6bd.jpg)
文章图片
5.3、拓展:在windows里改变PATH变量(在电脑属性中打开)
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/c205aa6619b1408bb46dee2dda176d89.jpg)
文章图片
然后里边有一个环境变量,然后在path那里前边加一个你想要加的变量的文件夹路径就行了
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/074b4736810f4e42a054b2bc0a4db67a.jpg)
文章图片
6、which PATH变量的作用:就是指定which命令查找命令的路径的一个变量
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/728ca8560eb34362b2146b28661175bd.jpg)
文章图片
图片解释:后边这些都是文件夹,且都是以":"分开的
用which找命令都是按照这些文件的排序(图中所示)从左到右查找
7、什么是可执行(文件)程序?? 7.1、C语言(编译型语言) 7.1.1、案例:自己使用c语言编写一个hello,world的程序,然后加入到PATH变量里(制作一个二进制程序gcc -o)
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/ec1146aa489a454aba2ffc011458eafd.jpg)
文章图片
图片解释:gcc -o制作一个可执行的二进制程序
7.1.2、用./+二进制文件代码执行代码
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/b3136b75d7724a1aabc7a49b72f721ab.jpg)
文章图片
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/7bbb0a21369c47c1bacb69eb88a3b8d6.jpg)
文章图片
图片解释:在/(根目录)下执行hello,并不会执行成功,因为在PATH变量中查找的路径中没有这个文件所在的目录
7.1.3、解决上述问题,让别人找到我们的程序(在PATH变量中加入该代码路径)
1)将我们的程序放到PATH变量指定的路径里——》可以理解为适应世界,这个方法简单且有效。
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/538bd667cccd403c89a75669fbc80d12.png)
文章图片
2)我们修改PATH变量——》可以理解为改变世界
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/09f41b80eef3408ab94b68e5d6341120.png)
文章图片
图片解释:这种方法是临时修改PATH变量的值
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/f53601151bfc49fa8f381ed5af374deb.jpg)
文章图片
图片解释:我们想要永久定义这个代码文件,就必须在包含PATH变量的文件中加入该文件所在的路径。
我们能在这些文件(/etc/profile、/etc/bashrc影响所有用户; /root/.bash_profile、/root/.bashrc只是影响root用户)
7.2、go语言 这是hellogo.go的文本内容
package mainimport "fmt"func main() {
fmt.Println("Hello, World! golang")
fmt.Println("i am cali")
}
7.2.1、go语言转化二进制文件
转化为二进制文件,然后运行
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/6e44e5177e2d426294d6123b7b19ae58.jpg)
文章图片
默认转化的二进制文件,只会把后边的".go" 删掉后,把前边的文件名作为新的文件名。若是我们想要改变这个二进制文件名可以这样做。
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/19409fb50a7f4573b404502cc2d2996b.jpg)
文章图片
7.3、python语言(解释型语言) 1)编写python程序
#!/usr/bin/python3import 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()) # 获取当前文件夹里的内容
2)授予可执行权限
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/469e064cb3cc4230bf235364a62a17e3.jpg)
文章图片
3)运行这个程序
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/8f0ef5bb677e44dea24bdf0b62312463.jpg)
文章图片
4)用之前那个办法使这个文件可以全局执行
7.3.2文件名过长的解决办法(ln -s)
1)进行链接文件ln -s
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/70bb9fc739964839b6b3231d69bc0c49.jpg)
文章图片
7.4 、shell
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/ccaf1734f9934aad8b51ef57490c117e.png)
文章图片
7.4.1、推广
方法一:复制到PATH变量里
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/438aecde7fe34edd8a6a8e294ff3aac8.jpg)
文章图片
方法二:修改PATH变量
临时有效
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/51c0bc18d4204e09b123662788e1ca45.jpg)
文章图片
永久修改PATH变量
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/4ab0b46013e94103b0a0ffee5e329e0c.jpg)
文章图片
永久修改别名
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/2a5a6eae9f614a909110c4ca8c03e197.jpg)
文章图片
8、语言分类方法 8.1、编程语言: 编译型:c、go
解释型:shell,python,java不是解释型语言的话用xshell第一行不需要声明是什么解释器
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/ae293e0170164f5594fc57e19747b494.jpg)
文章图片
8.2、强类型语言和弱类型语言 定义:是否进行变量类型的自动转换
强类型:不允许进行变量类型的自动转换,严格区分变量的类型,不自动转化
弱类型:背后会自动转换变量的类型
8.3、动态语言和静态语言 【linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)】定义:就是在定义变量的时候,必须要声明变量的类型,就是静态的
c语言:弱类型,静态语言
python:强类型,动态语言
java:静态语言,强类型语言
9、rpm -qa其中
–a选项是查询所有已经安装的软件包。
-q是查询一个包是否安装
(显示区别:已经安装的rpm包不会显示后缀.rpm ,而未安装的包则显示后缀.rpm)
一般查询一个安装包是否安装的的命令为:
例如:rpm -qa | grep screen
![linux学习|9.linux——历史命令、.bash_history文件、which、PATH变量、C语言、python、语言分类(强弱类语言和动静态语言)](https://img.it610.com/image/info8/80d47f73236b4aa38e18e60f91fcf1d3.png)
文章图片
推荐阅读
- Linux之uniq命令
- 运维|centos5.5上安装oracle 11g R2
- linux|linux vs 安装程序,在Linux中安装VSCodium(100%开源的Microsoft VS Code)
- 数据库|【无标题】
- Linux|Linux Shell脚本实现自动交互
- java|【开发工具】Windows远程桌面连接
- Linux|个人学习linux的心得(其实熟悉命令就是记住秘籍)
- Linux操作系统|【Linux】进程信号
- Linux操作系统|【Linux】进程间通信(匿名管道、命名管道、共享内存)