1.Linux系统简介
Linux是一套免费使用和自由传播的操作系统内核,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统内核。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统内核。
特点:
开放性:特别是遵循开放系统互连(OSI)国际标准。
多用户:操作系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。
多任务:计算机同时执行多个程序,而同时各个程序的运行互相独立。
2.Unix和Linux和Ubuntu的关系是什么?
ubuntu 乌班图
Unix是内核,Linux是在Unix发展基础上的操作系统,Ubuntu是Linux操作系统中的具体某一个。
Ubuntu与Linux的关系,相当于window10与window操作系统的关系
Unix是爷爷,Linux是爸爸,Ubuntu是众多儿子中的一个。
3./下的目录介绍
bin 部分系统可执行文件目录
usr unix system resources 操作系统的文件
/usr/local 相当于c:/program files
var
可变文件目录
用户信息
apache的www目录
etc 配置文件目录
查看文件内容使用:cat 文件路径
查看文件内容使用:more 文件路径
/etc/passwd 用户信息
这些用户中的绝大多数是系统或服务正常运行所必需的用户,我们把这种用户称为系统用户或伪用户。系统用户是不能登录系统的,但是这些用户同样也不能被删除,因为一旦删除,依赖这些用户运行的服务或程序就不能正常执行,会导致系统问题。
用":"作为分隔符,划分为 7 个字段
root❌0:0:root:/root:/bin/bash
用户名称:密码标志:用户 ID(UID):用户的组 ID(GID):用户的简单说明:用户的家目录:登录之后的Shell
系统是通过 UID 来识别不同的用户和分配用户权限的,0:超级用户 UID,1~499:系统用户(伪用户)UID。
/etc/shadow 密码信息
1970-01-01 00:00:00 是格林威治时间
时间戳 当前时间到格林威治时间的秒数
划分为 9 个字段
root:$6$KoTdD9KR$4Z7gieoQ9hU.8RlcuIqrWscLoB2q2JjqJRtY0H8dYYzgHpr.plqmYtEiKgwQQd2qIS9qyS1ZOLj2FTFqhsCYM/:18337:0:99999:7:::
用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
使用date -d "1970-01-01 18337 days"命令可以查看最后一次修改时间
Mon Mar 16 00:00:00 CST 2020
密码有效期 99999,也就是 223 年,可认为是永久生效
/etc/group 组信息
分为 4 个字段
root:x:0:
组名:密码:GID:该用户组中的用户列表
如果该用户组是这个用户的初始组,则该用户不会写入这个字段,第四个字段没有写入 root 用户,因为 root 组是 root 用户的初始组。
/etc/gshadow 组密码信息
root:*::
组名:加密密码:组管理员:组附加用户列表
/etc/sudoers 写在sudoers文件内的用户可以临时使用sudo提升为管理员权限
root大老板 临时使用大老板的权利,得到大老板的承认。sudoers
/etc/profile 核心配置
/etc/skel 创建了新用户之后,复制的家文件
opt 安装软件目录 第三方安装包
解压即安装的软件 jdk
home 用户家目录 /home/ubuntu
root 超级用户家目录
4.添加用户
adduser 用户名
$ adduser briup
查看/etc/passwd
查看/etc/group
切换用户
su
切换到超级管理员身份
su 用户名
切换到用户 从root切换到其他用户不用输入密码
从其他用户切换到其他用户需要输入密码
whoami 当前用户
su -
彻底切换,切换家目录,切换环境变量
直接切换到用户的家目录
每个用户都有一个家目录
有用户变量
5.基础命令
pwd
查看当前所在路径
cd
空 ~
相对路径
cd 不以/开始的
绝对路径
cd 以/开始的
ls
查看当前目录下的目录或者文件
ls 路径
查看指定路径下的文件目录或者文件
-a 查看所有文件和隐藏文件
-A 查看所有文件和隐藏文件,除了.和…
-l 长格式列出所有的文件和目录
-rw-r–r-- 1 root root 11321 Mar 16 14:20 index.html
第一个字段:文件属性字段
文件属性字段总共有10个字母组成;第一个字符代表文件的类型。
字母“-”表示该文件是一个普通文件
字母“d”表示该文件是一个目录,字母"d",是dirtectory(目录)的缩写
注意:目录或者是特殊文件,这个特殊文件存放其他文件或目录的相关信息
字母“l”表示该文件是一个链接文件。字母"l"是link(链接)的缩写,类似于windows下的快捷方式
字母“b”的表示块设备文件(block),一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。没有文件大小,只有一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘等。最小数据传输单位为一个数据块(通常一个数据块的大小为512字节)
字母为“c”表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最小单位为一个字节。
字母为“p”表示该文件为命令管道文件。与shell编程有关的文件。
字母“s”表示该文件为sock文件。与shell编程有关的文件。
第1字符的后面9个字母表示该文件或目录的权限位。
r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)
其中前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
第二字段:链接占用的节点
第三字段:文件(目录)拥有者
第四字段:文件(目录)拥有者所在的组
第五字段:表示文件大小
第六字段:文件(目录)最近访问(修改)时间
第七字段:文件名
cat 预览文件内容
more 预览文件内容
空格翻页,回车换行,q退出
touch
可以创建文件或者更改最近访问时间
如果文件不存在,创建文件,如果文件存在,修改最最后一次访问的时间
touch 文件名
man 帮助手册
man ls
sudo 临时提升权限
如果没有使用sudo的权限,需要root用户操作/etc/sudoers文件,添加用户
sudo !! 执行上次命令
6.文件权限
用户角色
user 文件拥有者 u
由于Linux是个多人多任务的系统,因此可能常常会有多人同时使用这部主机来进行工作的情况发生, 为了考虑每个人的隐私权以及每个人喜好的工作环境,因此,这个【文件拥有者】的角色就显的相当的重要了!可以为文件设定不同的权限,来限制其他人的访问。
group 同组人 g
团队开发时,可以设置团队成员的访问权限
other 其他人 o
其他访问者。
文件权限
read 读 r 4
write 写 w 2
execute 执行 x 1
修改用户权限
1)chmod g+w index.html
为index.html添加同组人权限
2) chmod 777 index.html
用8进制设定
rwx rwx rwx
111 111 111
7 7 7
7.vim是vi的升级版,linux的主要文本编辑,类似于window的记事本
vim是可以安装插件的。
三种模式
输入模式
输入模式进入命令模式,使用esc
输入模式进入底行模式,使用esc进入到命令模式之后,使用:进入底行模式
命令模式
命令:
yy 复制一行
3yy 复制3行
p 在光标所在位置的下一行粘贴
dd 删除光标所在行
5dd 删除5行
u 撤销
…
命令模式进入输入模式,使用i,a,o,I,A,O
i在光标前插入文本
I在光标所在行前插入
a在光标后插入文本
A在光标所在行末插入
o在光标所在行下插入新行
O在光标所在行上插入新行
命令模式进入底行模式,使用: / ?
底行模式
底行模式进入命令模式,使用两次esc
底行模式进入输入模式,先使用两次esc,进入命令模式,然后再使用i,a,o,I,A,O进入输入模式
:set nu 显示行号
:set nonu 不显示行号
:wq 保存并退出
:w 保存不退出
:q 不保存,直接退出
:q! 强制退出
命令模式下ZZ也是保存并退出
配置当前用户vi永久显示行号和tab键的空格数
vi ~/.vimrc
set nu
set tabstop=2
6.文件操作
创建
mkdir 目录名
在当前目录创建一个目录
mkdir 目录名 目录名
在当前目录创建多个目录
mkdir a b
mkdir ~/a ~/b
mkdir -p 目录名
需要时创建上层目录
~
test目录 a目录
mkdir ~/b/c
mkdir -p ~/b/c
移动
mv 要移动的目录或文件 移动到的路径
将一个目录或文件移动到另一个地方
如果是移动到同一个目录,相当于重命名
mv day04 day05
mv ~/test/index.html /var/www/html/test/
复制/拷贝
cp 要复制的目录 复制到的目录
cp -R 要复制的目录 复制到的目录
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所 说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
删除
rmdir 目录
删除一个空目录
rm 文件
删除文件
rm -R 目录
递归删除非空目录中的内容
查找
find / -name '*.txt' 在根目录下查找.txt文件
压缩文件
tar –zcvf xxx.tar.gz /home/briup/day02
将day02文件夹压缩到当前目录下,压缩包名称为xxx.tar.gz
解压缩
tar -zxvf xxx.tar.gz
sudo
使用 root 的身份来运行命令
并非所有人都能够运行 sudo , 而是仅有规范到 /etc/sudoers 内的用户才能够运行 sudo 这个命令。其配置文件位于/etc/sudoers中。
在/etc/sudoers文件中,添加 ubuntu ALL=(ALL)ALL一行,其中ubuntu是用户名。
删除用户
userdel -r 用户名
-r删除所有的信息
删除用户的相关数据,而用户的数据有:
用户账号/口令相关参数:/etc/passwd, /etc/shadow
使用者群组相关参数:/etc/group, /etc/gshadow
用户个人文件数据: /home/username, /var/spool/mail/username.
id
id 这个命令则可以查询某人或自己的相关 UID/GID 等等的信息
linux系统中,使用/来表示根目录
linux系统中,使用~来表示家目录
linux系统中,使用./来表示当前目录
linux系统中,使用…/来表示上级目录
解释说明rwxr-xr-x这个是什么意思?
rwxr-xr-x是文件的权限。
ls -l 查看当前目录下的文件或者目录,并且以长列表的形式展示
当前文件或者目录的拥有者的权限是可读可写可执行
当前文件或者目录的拥有者所在的组的其他成员的权限是可读不可写可执行
当前文件或者目录的拥有者不在的其他组的成员的权限是可读不可写可执行
可以使用chmod修改文件或者目录权限