目录
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
文章图片
打扫痕迹
文章图片
2、w查看当前linux系统里的登录用户的信息
文章图片
图片解释:终端有两种类型:一种是ttym(m为1到6,即tty类型的终端有六个,默认从第一个终端进入),是真正的终端;另一种是pts/n(n的取值为无穷,即可有无数个伪终端),是xshell模拟出来的伪终端
文章图片
2.1、pkill-t pts/n-9根据终端编码来杀死某个进程
文章图片
ctrl+alt+F1~F6 或者 alt+F1~F6 开启tty1到tty6的终端注意:这个命令要在VMware中输入这个命令才行
3、yum命令的原理
文章图片
base基本软件包
extras额外软件包
updates更新的软件包
4、bin和sbin的区别
文章图片
/usr/bin-->存放二进制可执行程序的binary-->linux里的很多命令都是使用C语言编写的
/usr/sbin-->存放超级用户(有权限的用户)使用的命令superuser binary-->sbin
/usr -->存放linux系统李默认的软件安装的路径
5、PATH环境变量
文章图片
PATH变量:指定了linux里存放的命令的路径
5.1PATH变量为什么叫环境变量呢?(定义变量等号两边不能有空格)
文章图片
环境变量(都是大写的,而且是不需要我们人去自定义的,操作系统自带的):很多用户都可以使用的变量,export 输出为全局变量,但是不同用户是不能使用
5.2、PATH变量如果被破坏的后果后果:找不到很多命令(外部命令),但是bash的内部命令还是可以使用
文章图片
后果linux展示:
文章图片
这是临时破坏
5.2.1、PATH变量被破坏之后的恢复方法
恢复方法:1、重新恢复它的路径2.重新登陆这个用户
文章图片
5.3、拓展:在windows里改变PATH变量(在电脑属性中打开)
文章图片
然后里边有一个环境变量,然后在path那里前边加一个你想要加的变量的文件夹路径就行了
文章图片
6、which PATH变量的作用:就是指定which命令查找命令的路径的一个变量
文章图片
图片解释:后边这些都是文件夹,且都是以":"分开的
用which找命令都是按照这些文件的排序(图中所示)从左到右查找
7、什么是可执行(文件)程序?? 7.1、C语言(编译型语言) 7.1.1、案例:自己使用c语言编写一个hello,world的程序,然后加入到PATH变量里(制作一个二进制程序gcc -o)
文章图片
图片解释:gcc -o制作一个可执行的二进制程序
7.1.2、用./+二进制文件代码执行代码
文章图片
文章图片
图片解释:在/(根目录)下执行hello,并不会执行成功,因为在PATH变量中查找的路径中没有这个文件所在的目录
7.1.3、解决上述问题,让别人找到我们的程序(在PATH变量中加入该代码路径)
1)将我们的程序放到PATH变量指定的路径里——》可以理解为适应世界,这个方法简单且有效。
文章图片
2)我们修改PATH变量——》可以理解为改变世界
文章图片
图片解释:这种方法是临时修改PATH变量的值
文章图片
图片解释:我们想要永久定义这个代码文件,就必须在包含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语言转化二进制文件
转化为二进制文件,然后运行
文章图片
默认转化的二进制文件,只会把后边的".go" 删掉后,把前边的文件名作为新的文件名。若是我们想要改变这个二进制文件名可以这样做。
文章图片
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)授予可执行权限
文章图片
3)运行这个程序
文章图片
4)用之前那个办法使这个文件可以全局执行
7.3.2文件名过长的解决办法(ln -s)
1)进行链接文件ln -s
文章图片
7.4 、shell
文章图片
7.4.1、推广
方法一:复制到PATH变量里
文章图片
方法二:修改PATH变量
临时有效
文章图片
永久修改PATH变量
文章图片
永久修改别名
文章图片
8、语言分类方法 8.1、编程语言: 编译型:c、go
解释型:shell,python,java不是解释型语言的话用xshell第一行不需要声明是什么解释器
文章图片
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之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】进程间通信(匿名管道、命名管道、共享内存)