Linux学习-实验楼(1)
1.Shell:命令解释器
2.Linux技能树
3.X11:X窗口系统,其本身只是工具包及架构协议,Xorg是x架构规范的一个实现体,是实现了x协议规范的一个提供图形界面的服务器
4.终端本质上是对应着Linux上的/dev/tty设备,Linux的多用户登陆就是通过不同的/dec/tty设备完成的
5. 查看所属用户组: groups命令
实验4--Linux目录结构及文件基本操作
1.FHS标准:文件系统层次结构标准,它定义了系统中每个区域的用途,所需要的最小构成的文件和目录同事还给出了例外处理与矛盾处理。
2.进入当前登录用户的home路径
cd ~
3.使用touch命令创建空白文件,其主要作用是来更改已有文件的时间戳的
4.标准输入输出:执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),默认对应终端的键盘,标准输出文件(stdout)和标准错误输出文件(stderr),后面两个文件都对应被重定向到终端的屏幕,以便我们能直接看到输出内容。进程姜葱标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中
实验5-环境变量与文件查找
1.创建:可以用declare创建,也可以使用时直接创建
输出:echo $tmp,变量名只能是英文字母,数字或者下划线,且不能以数字作为开头。
2.变量类型:1)当前shell进程中用户自定义变量,只在当前shell中有效
2)Shell本身内建的变量
3)从自定义变量导出的环境变量
3.相关命令:1)set:显示当前Shell所有变量,包括其内建环境变量,用户自定义变量及导出的环境变量
2)env:显示与当前用户相关的环境变量,还可以让命令在制定环境中运行
3)export:显示从shell中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量..将变量export为环境变量后,在子shell中也可以查看。习惯将环境变量名设为大写
4.按生存周期来换分,Linux变量可以分为两类:
1)永久的:需要修改配置文件,变量永久生效
2)临时的:使用export命令行声明即可,变量在关闭shell时失效
5. 1) /etc/bashrc 和/etc/profile分别存放的是shell变量和环境变量,
2)每个用户目录下有一个.profile隐藏文件,该.profile文件只对当前用户永久生效,而卸载/etc/profile中是对所有用户永久生效,所以想要添加一个永久生效的环境变量,只需要打开/etc/profile,在最后加上你想添加的环境变量就好啦
6. 1)命令的查找路径与顺序:输入一个命令,shell是怎么去查找然后执行的呢?这是通过环境变量PATH来进行搜索的,它保存了shell中执行的命令的搜索路径
2)将自己创建的脚本文件或程序添加为系统命令:PATH=$PATH:/home/shiyanlou/mybin,其中mybin中存放着生成的可执行文件
3)每次启动shell时自动执行添加路径到PATH的命令:在每个用户的home目录中都有一个shell每次启动时会默认执行一个配置脚本,以初始化环境,包括添加一些用户自定义环境变量等。zsh的配置文件是.zshrc,相应Bash的配置文件是.bashrc,它们在etc下还都有一个或多个全局的配置文件,不过我们一般只修改用户目录下的配置文件。
将命令直接添加到.zshrc中:echo "PATH=$PATH:/home/shiyanlou/mybin">>.zshrc,其中>>表示将标准输出以追加的方式重定向到一个文件中(而>是以覆盖的方式重定向到一个文件中)。
7.修改和删除已有变量
1)修改
2)删除:可以使用unset命令删除一个环境变量
3)立刻生效:source命令。当我们在shell中修改了一个配置脚本文件之后,每次都要退出终端重新打开甚至重启主机之后才能生效,此时可以换用source命令来让其立即生效
8.搜索文件
1)whereis 简单快速:这个搜索很快,因为它并没有从硬盘中依次查找,而是直接从数据库中查询,whereis只能搜索二进制文件(-b),man帮助文件(-m)和源代码文件(-s),如果想要获得更全面的搜索结果可以使用locate命令。
2)locate快而全:通过 "/var/lib/mlocate/mlocate.db"数据库查找,不过这个数据库也不是实时更新的,系统会使用定时任务每天自动执行updatedb命令更新一次,所以有时候你刚添加的文件可能会找不到,需要手动执行一次updatedb命令。它可以用来查找指定目录下的不同文件类型,如查找/etc下所有以sh开头的文件。eg:locate /etc/sh.注意:它不只是在/etc目录下查找,还会自动递归子目录进行查找。
eg2:查找/usr/share/ 下所有jpg文件:locate /usr/share/\*.jpg。如果想只统计数目可以加上-c参数,-i参数可以忽略大小写进行查找,whereis的-b\-m\-s同样可以使用
3)which小而精:which本身是shell内建的一个命令,我们通常使用which来确定是否安装了某个指定的软件,因为它只从PATH环境变量指定的路径中去搜索命令
4)find精而细:find应该是几个命令中最强大的了,它不但可以通过文件类型、文件名进行查找而且可以根据文件的属性进行搜索。