相关概念
UNIX
由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发,后来他们在BASIC语言的基础上开发了c语言,并在此基础上重构了UNIX并开源,这时候开始流行。UNIX是一个多用户分时操作系统,以c语言、shell、虚拟内存、用户权限管理、文件化操作等为基础,具有移植方便、简洁易懂、方便自动化、网络安全等特点。商业化后,有两大版本:BSD UNIX(Berkeley)、Unix(AT&T),他们是付费软件;
类UNIX
符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX,主要有AIX(IBM)、Solaris(SUM)、HP-UX(HP)、IRIX(SGI)、Xenix(SCO)、A/UX(苹果);
POSIX标准
可移植操作系统接口(Portable Operating System Interface of UNIX),并不局限于UNIX;
Linux内核
由李纳斯·托瓦兹(Linus Torvalds)出于个人爱好编写的开源类UNIX系统(支持POSIX协议);
Linux发行版
Linux内核+应用,主要有Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS等;
终端
电脑支持多任务以后,通过串口连接到主机的输入输出设备,也即tty,Teletypes;
控制台
直接连接到主机的输入输出设备;
虚拟终端
在Linux系统中,alt+f1-f6可以呼出6个软件终端界面,实现在一台电脑上多个终端的软件模拟,现在也用tty表示;
Shell
UNIX类系统默认的脚本语言。
文件系统
Linux系统文件路径格式
/a/b/c.file
系统根目录主要文件夹
目录 | 用途 |
---|---|
/bin | 系统命令工具。 |
/usr/bin | 用户命令工具。 |
/sbin | 系统超级管理员命令工具。 |
/usr/sbin | 超级管理员管理命令。 |
/usr | 应用程序目录,原来是放用户信息的,后来专门放应用,名字没改。 |
/root | 超级管理员目录。 |
/home | 用户目录,每个用户有一个单独的子目录,以用户名为名称。 |
/dev | 设备相关文件(Linux下硬件设备也当作文件处理)。 |
/etc | 系统管理相关配置文件。etc法语中是额外,最开始放琐碎的文件,后来文件系统层次化标准(FHS,UNIX标准之一)规范后,统一放配置文件。 |
/sys | 系统目录。 |
/lib | 动态链接库。 |
/var | 经常修改的内容,例如日志等。 |
/tmp | 临时文件。 |
/usr/src | 内核源代码。 |
/opt | 非系统服务软件目录。 |
/boot | 启动系统所用的镜像及链接相关文件。 |
/media | 自动识别的光驱、U盘等媒体。 |
/mnt | 用于挂载别的文件系统。mount登山,在这里表示挂载。 |
/proc | process,虚拟目录,系统内存映射,可以用来获取系统信息,或者修改部分信息。 |
/srv | 一些服务启动后需要读取的数据。 |
/lost+found | 系统非正常关机的缓存文件。 |
/selinux | Selinux防火墙(Redhat、CentOS)。 |
文件权限
1、用户类型
用户 | 说明 |
---|---|
root用户 | 系统管理员,唯一,具有最高权限。 |
虚拟用户 | bin、daemon、adm、ftp、mail等系统服务。 |
普通用户 | 管理员创建,操作权限受限于文件权限。 |
管理员除了可以创建普通用户,还可以创建不同的用户组
,为普通用户设置分组,这样同一个分组的用户就有组内访问权限。
2、权限种类
权限 | 作用 |
---|---|
4 | r,读。 |
2 | w,写。 |
1 | x,执行。 |
用他们的和只需要1位数字即可表示,比如7表示文件或文件夹具有全部权限。
3、用户权限
权限 | 作用 |
---|---|
ower | 文件创建者的权限。 |
group | 文件创建者的所在用户组的权限。 |
other | 其他用户的权限。 |
4、表示
在终端下,用一个十位的字符串展示文件或文件夹的类型和权限
位 | 含义 |
---|---|
0 | 类型, d目录、-文件、l链接、b可随机存取装置。 |
1-3 | ower权限,r读、w写、x执行、-无。 |
4-6 | group权限,r读、w写、x执行、-无。 |
7-9 | other权限,r读、w写、x执行、-无。 |
例如:drwxrwxr-x 为文件夹默认权限(group以上可读写执行、其他只读和执行)。
相关文件
文件 | 作用 |
---|---|
/etc/shells | shell配置文件,系统通过这个文件来配置用户可以访问的shell |
/bin/sh /bin/bash /usr/bin/bash /bin/tcsh /bin/csh /bin/ksh /bin/zsh /user/local/bin/fish |
常见shell脚本。 |
/etc/group | 配置用户的分组关系,格式:groupName:password:GID:userList groupName 组名称;password 密码,一般显示为x;GID 分组id;userList 用户名列表,以逗号隔开。 |
/etc/passwd | 配置用户的基本信息,格式:userName:password:UID:GID:remark:homeDirectory:shellDirectory userName 用户名;password 密码,一般显示为x;UID 用户ID;GID 分组ID;remark 备注;homeDirectory 工作路径;shellDirectory 登陆之后默认的shell路径。 |
/etc/shadow | 配置用户的加密信息,格式:userName:password:updateDate:duration:period:warningDate:inactivePeriod:deadline userName 用户名;password 加密后的密码,* 锁定、!! 过期、$ 开头表示加密后的内容;updateDate 最后一次更新的时间,从1970年开始,单位为天;duration 两次修改密码的时间间隔,单位为天;period 密码有效期,单位为天;warningDate 警告用户的最后期限,单位为天;inactivePeriod 用户不登陆的有效期,单位为天;deadline 总有效时间,单位为天。 |
/etc/profile /etc/profile.d /etc/bashrc |
配置系统环境变量,不建议修改。 |
~/.bash_profile ~/.bashrc |
用户偏好设置。 |
终端登陆
1、本地登陆
直接在图形化界面调出虚拟终端界面;或者按alt+f1-f6切换终端;
2、远程登录
以腾讯云为例
ssh -q -l root -p 22 94.191.0.166
root@94.191.0.166's password: ???
[root@VM_0_8_centos ~]#
备注:提示符的组成[userName@host currentDirectory]#
其中#
表示root用户,如果是$
表示普通用户。这个提示符是可以修改的。
操作指令
查看帮助
help #主帮助索引
help cd #查看具体命令
ls --help #部分命令的help菜单
man -k ls #查看文档
info ls #查看信息
用户切换
su #当前用户切换到管理员(Switch User),需要密码
exit #管理员切换到当前用户
sudo ??? #在普通用户下执行root赋予的命令,需要安装sudo(Superuser Do)
目录基本操作
pwd #显示当前路径(Print Work Directory)
pwd -p #显示当前路径的真实路径(剔除超链接)
cd // #切换到根目录(Change Directory)
cd /usr/bin #切换到某个绝对路径
cd ./usr/ #切换到相对路径(相对当前文件夹)
cd ~ #切换到用户根目录
cd ~/test #切换到/用户根目录/test
cd .. #切换到上一级文件夹
cd ../test #切换到上一级文件夹的test文件夹
ls #列出当前文件夹所有文件及子文件夹
ls -a #列出所有文件
ls -d #只列出文件夹
ls -l #列出详细信息
mkdir test #创建文件夹(Make Directory),默认权限drwxrwxr-x
mkdir -p test/a/b/c #创建文件夹(有不存在的上级文件夹自动创建)
mkdir -m 711 d #创建文件夹d并赋予 drwx--x--x执行权限
chmod 777 e #修改文件夹e的权限为drwxrwxrwx
rmdir test/c #删除文件夹,不为空报错
rmdir -p test/a/b/c #上级文件夹如果为空会一起删除,有一个不为空报错
rm -r #删除文件,或文件夹及里面的内容
cp source1 source2 source3 destination #copy 复制source1、source2、source3到destination
mv source1 source2 source3 destination #move 移动source1、source2、source3到destination
文件操作
#新建文本
touch a.txt #默认权限-rw-rw-r--
#预览文本
cat a.txt ,从第一行开始
tac a.txt #从最后一行开始
nl a.txt #带行号
more a.txt #分页,从前往后
less a.txt #分页,从后往前
head a.txt #只看头几行
less a.txt #只看最后几行
echo "hello" > a.txt #覆盖文件
echo "hello" >> a.txt #写入文件
编辑文档可以使用其他更便捷的工具,如vi、vim等。
其他常用指令
useradd -d /usr/user1 -m user1 #管理员创建新用户user1
userdel -r user1 #管理员删除用户(同时删除目录)
usermod -s /bin/sh user1 #管理员修改用户(这里修改了他的登陆shell)
passwd user1 #管理员修改user1的密码
groupadd group1 #管理员新建用户组
groupdel group1 #管理员删除用户组
groupmod -g 123 group1 #管理员修改用户组(这里修改了编号)
newgrp group2 #一个用户在多个组的时候,用于切换组