基本上shell 分两大类:
1) 图形界面shell(Graphical User Interface shell 即GUI shell)
例如:
应用最为广泛的Windows Explorer (微软的windows 系列制作系统),还有也包括广
为人知的Linux shell,其中linux shell 包括X window manger (BlackBox 和FluxBox),以及
功能更强大的CDE、GNOME、KDE、XFCE。
2) 命令行式shell(Command Line Interface shell ,即CLI shell)
例如:
bash / sh / ksh / csh(Unix/linux 系统)
cmd.exe/ 命令提示字符(Windows NT 系统)
Windows PowerShell(支援.NET framework 技术的Windows NT 系统)
Linux文件与目录管理1.目录树
在Linux 底下,所有的文件与目录都是由根目录开始的。
根目录是所有目录与文件的源头,再一个一个的分支下来,有点像是树枝状。
因此,我们也称这种目录配置方式为:『目录树(directory tree)』。
他主要的特性有:
l 目录树的启始点为根目录(/, root);
l 每一个目录不止能使用本地端的partition 的文件系统,也可以使用网络上的filesystem 。(NFS)
如果我们将整个目录树以图标的方法来显示,并且将较为重要的文件数据列出来的话,那么目录树架构有点像这样:
2.绝对路径和相对路径
绝对路径就是文件或目录在硬盘上真正的路径。绝对路径名称表示的文件在文件系统里面唯一的名称。由根目录(/)开始写起的文件名或目录名称
相对路径是一个相对性的对于绝对路径来说的。以“当前所在路径的相对位置”来表示的。eg:
特殊目录:
3.Linux目录结构
FHS(Filesystem Hierarchy Standard)文件系统层次标准
四种交互作用的形态:
执行文件与用户的邮件等数据/ 自己机器上面运作的装置文件或者是与程序有关的socket 文件/ 函式库、文件说明文件、系统管理员所管理的主机服务配置文件/ 登录文件、一般用户可自行收受的新闻组等等
FHS 针对目录树架构仅定义出三层目录底下应该放置什么数据:
l / (root, 根目录):与开机系统有关;
l /usr (unix software resource):与软件安装/执行有关;
l /var (variable):与系统运作过程有关。
Linux重要的目录:/bin (放置单人维护模式下还能被操作的指令)
/boot(开机会使用到的文件) /dev(装置与接口设备) /etc(系统主要配置文件)
/home(系统默认的用户家目录) /lib (系统的函式库/外挂)/media(可移除的装置)
/mnt (暂时挂载某些额外的装置)/opt(第三方协议软件放置的目录、KDE)
/root /sbin(某些服务器软件程序)/ srv(网络服务所需要去用的数据目录)
/tmp(一般使用者或正在执行的程序暂时放置文件的地方)
Linux比较特殊的目录:/lost+found (使用标准的ext2/ext3文件系统格式才会产生的
一个目录,当文件系统发生错误时,将一些遗失的片段放置到这个目录下)
/proc(虚拟文件系统,目录数据在内存中)
/sys (虚拟文件系统,记录与核心相关的信息)
4.有关目录的命令
man cd 查看cd指令的帮助文档
pwd 当前路径
ls
cd /
mkdir mysql
rmdir mysql 删除mysql目录
touch mysql 创建名为mysql的文件
rm mysql
mv mysql /new 将mysql文件移动到目录/new下
cp
more mysql.log、 less mysql.log 、tail -20f mysql.log (文件尾部输出)、cat mysql.log 打开文件
用户和组
1,用户和用户组文件
在linux中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的。
在linux系统中,所创建的用户帐号和其相关信息(密码除外)均是存放在/etc/passwd配置文件中。由于所有用户对passwd文件均有读取的权限,因此密码信息并未保存在该文件中,而是保存在了/etc/shadow的配置文件中。
在passwd文件中,一行定义一个用户帐号,每行均由多个不同的字段构成,各字段值间用":”分隔,每个字段均代表该帐号某方面的信息。
在passwd配置文件中,从左至右各字段的对应关系及其含义:
用户帐号 用户密码 用户ID 用户组ID 用户名全称 用户主目录 用户所使用的shell
root x 0 0 root /root /bin/bash
由于passwd不再保存密码信息,所以用x占位代表。
2.有关用户和组的指令
添加用户useradd
useradd [-u UID] [-g initial_group] [-G other_group]
修改用户usermod
usermod [-cdegGlsuLU] username
修改密码passwd
passwd [useraccount]
删除用户userdel
userdel [-r] username
显示用户所属的组groups
groups username
创建组groupadd
groupadd abc //创建abc组
修改组groupmod
groupmod - modify groupname
删除组gruopdel
groupdel abc //删除abc用户组
显示用户信息id
id username //显示该用户和组的信息
有关权限
ls -l中显示的内容如下:
-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc
- 10个字符确定不同用户能对文件干什么
- 第一个字符代表文件(-)、目录(d),链接(l)
- 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)
- 第一组rwx:文件所有者的权限是读、写和执行
- 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行
- 第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行
也可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7
- 1 表示连接的文件数
- root 表示用户
- root表示用户所在的组
- 1213 表示文件大小(字节)
- Feb 2 09:39 表示最后修改日期
- abc 表示文件名
改变权限的命令
chmod 改变文件或目录的权限
chmod 755 abc:赋予abc权限rwxr-xr-x
chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限
chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限
chmod a+r abc:给所有用户添加读的权限
VI和VIM
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
最后基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源在下方免费获取~



