接上文 :Linux操作系统安装和各客户端的安装-CSDN博客
当我们进入系统,在命令行输入ls后,就会显示很多目录。这些目录基本都是系统自带的目录 。
那么这些目录到底有什么含义呢 ? 下面就对这些目录中做一个介绍。
3.1 目录结构说明
目录名 | 描述 | 举例 |
---|---|---|
/ | 跟目录,所有目录的顶点 | |
/bin | 用来存放二进制可执行命令的目录,用户常用的命令都存在该目录下 | mkdir,cp,cat,ls等 |
/boot | 存放一些核心文件,包括内核文件和引导文件 | |
/dev | 存放设备文件的目录 | 硬盘,分区,鼠标,键盘等 |
/etc | 存放系统配置文件的目录 | passwd密码配置文件,hostname主机文件,yum.conf配置文件等 |
/home | 普通用户的家目录,用户存放普通用户的文件 | 创建的新用户就会保存到这个目录下 |
/lib | 存放的是动态库文件,几乎所有的应用程序都需要用到这些共享库。类似于window中的dll文件。 | |
/media | 挂载可移动设备的临时目录 | iso镜像文件,USB设备 |
/mnt | 让用户临时挂载别的文件系统的目录 | |
/proc | 虚拟文件系统,这个目录是一个虚拟目录,它是系统内存的映射,主要存放标记为文件的进程 | 如硬盘分区,内存信息的进程 |
/opt | 安装软件的存放目录 | 如安装mysql则可以放在这个目录 |
/sbin | 存放二进制可执行文件,只是这里面的命令只供系统管理员(root用户)使用。 | iptables(防护墙)、ifconfig(查看网卡信息)、service(服务)等。 |
/srv | 该目录存放一些服务启动之后需要提取的数据。 | |
/tmp | 临时文件目录,有时用户运行程序的时候,会产生临时文件。 | |
/usr | 用于存放与系统用户直接有关的应用程序文件 | |
/var | 存放经常修改的数据, | 比如程序运行的日志文件 |
3.2 主要目录说明
虽然对以上的目录都一一的进行了说明,但是光靠一些简单说明可能不能更好的理解 。所以,接下来根据更多的实际操作来再进行进行解析。
可执行命令
根据上面所知,/bin目录下是主要存放的是一些常用命令,如ls,而/sbin存放的是一些管理员用户可执行的命令 ,比如ifconfig。那么我通过which来看看这两个命令到底执行的是那个目录下的 ?
通过上图可以看到,执行ls命令,其实是执行的是/usr/bin下的ls,同样执行ifconfig,其实执行的是/usr/sbin下的ifconfig。 这跟我们上面说的并不一样啊 ? 为什么呢 ?
在回答这个问题之前,我们先切换到根目录,然后命令ll查看下回显情况 。
通过上图可以看出,我们最开始说到的/bin和/sbin目录分别都链接到了/usr/bin和/usr/sbin了。而且我们所执行的命令优先执行的是/usr下的指令 。
那么/bin目录和/sbin目录下的指令在什么时候用到呢 ? 以下两种情况会被使用到
-
直接调用/bin目录或/sbin目录下的指令,如/bin/ls ,/sbin/ifconfig
-
在单用户模式下,就会调用到/bin目录或者/sbin目录下的指令 。
虚拟文件系统
在根目录下还有两个目录比较特殊,那就是/proc和/sys,在这两个目录中存放的数据都是存放在内存中的,所以它们是不占任何硬盘空间的,这个通过查看它们的大小能够证明 。
4.Linux命令集合
Linux所支持的命令非常非常多,这个通过ls -F /opt/bin和ls -F /opt/sbin就可以知道可执行命令到底有多少,但是对于我们工作而言,我们只是用到的是其中的一部分命令 ,下面就是根据使用的频度进行来分类的。
4.1 命令集1-基础命令
接下来我们针对上面的命令进行一个整体的练习 。
#具体需求
1.进入到/test目录下
2.查看/test目录下的所有内容
3.在/test目录下创建两个文件aa.log,bb.log
4.在/test目录下创建两个目录abc,bcd
5.删除文件bb.log
6.删除目录bcd,在删除之前确认
7.移动aa.log 到目录abc下
8.拷贝info文件到abc下
9.进入到abc目录下,并查看当前路径
10.查看info文件内容
11.将字符串"xyz" 追加到info文件中
12.将字符串"zzz"覆盖info文件内容,并查看其内容
13.进行清屏
14.查看ls命令的帮助信息
15.退出当前终端
4.2 命令集2-文本命令![](https://i-blog.csdnimg.cn/blog_migrate/44a62ee8e3e91de47ff69c8c8b95acfa.png)
#具体需求-命令练习
1.显示根目录下所有的目录
2.显示根目录下所有文件和目录并保存到文件b.txt下
3.查看文件java.conf的最后3行
4.查看文件java.conf的开头3行
5.查看文件java.conf的3~10行
6.查看当前目录下所有*.txt的文件
7.查看文件java.conf第3~5行的内容
8.查看文件tt.log的前两列内容
9.将文件c.txt的内容每5行显示成一行
10.查看文件tt.log中每行的前11个字符
11.统计文件tt.log的行数
12.统计文件tt.log的行数,字符数,字节数
13.将man的说明文件转存为纯文本文件并过滤掉所有控制字符
14.将文件c.txt 和d.txt的内容放在一起显示
15.将文件info按每5行分隔成一个文件
16.去除掉文件a.txt中重复的行,重复的行仅保留一行
17.将a.txt和c.txt的文件的列合并起来
18.识别当前目录下不同类型的文件并显示
19.读取标准输入的内容赋值给变量name1
20.将aa.txt文件内容全部转化成大写
1.显示根目录下所有的目录
4.3 命令集3![](https://i-blog.csdnimg.cn/blog_migrate/c5a31c5df6a8060bf582031451e5084f.png)
#具体需求-命令练习
1.计算两个变量值进行相加
2.将a.txt内容的结果赋值给一个变量
3.查看当前系统进程并杀掉一个进程
4.查看服务器的CPU和内存信息
5.单独查看服务器的内存信息
6.查看当前系统磁盘的使用空间
7.查看a.txt文件大小
8.查看当前系统分区大小
9.查看当前主机的ip地址
10.确定是否能访问百度
11.以目录树结构显示当前目录
4.4 命令集4![](https://i-blog.csdnimg.cn/blog_migrate/547e1f53d129e7ec422b5d169eabead4.png)
#具体需求-命令练习
1.将文件a.txt的所属用户和组都设置为读,写,执行权限
2.将文件a.txt的所属用户和组都修改为test用户
3.添加一个用户mytest
4.修改该用户名为mytest1
5.删除用户mytest1
6.添加一个用户组mygroup,并删除该组
7.切换当前用户为test用户
8.修改test用户的密码
9.查看最近登录系统的账号信息
10.查看哪些账号登录该系统
11.显示当前系统信息
12.查看当前日期
4.5 命令集5![](https://i-blog.csdnimg.cn/blog_migrate/81bbfcf553f960a790c6d0aad3576ded.png)
#具体需求-命令练习
1.查找当前目录下所有的.txt文件
2.给date命令设置别名
3.设置环境变量xyz的值,然后再删除此变量
4.比较a.txt和b.txt两者的区别
5.为a.txt建立一个软连接
6.为所有.txt文件进行归档压缩
7.解压.zip文件
8.显示开机信息
9.显示用户id和组的id
10.显示登入系统的用户信息