Linux基础
一.Linux简介
1.Linux系统和Window系统有什么区别?
1.Linux系统开源,window系统开源
2.Linux系统主要用于服务器上,window系统主要用于个人电脑上面
3.Linux系统为命令行操作,window系统为图形化界面
4.Linux系统为多用户操作,window系统为单用户操作
2.Linux内核和发行版本
1.Linux内核版本 link.
查看自己的版本号 uname -a
5代表主版本号,13代表次版本号,0代表修订版本号 39代表第39次微调(一般数字越大,内核越新)
2.Linux的发行版本
1.红帽子公司 全球最大的开源技术厂商,提供非常广泛的Linux套件,提供全球技术支持(收费)
有企业版(RHEL),有社区版本(centos),还有一个卓面版本(Fedora).
2.debian公司
企业版本(debian) 用户版本(ubuntu)
ubuntu系统是基于debian派生出来的一个产品,对最新的软件兼容性很好,大多数认为ubuntu是一个很好的linux系统
优点:
- ubuntu系统广泛应用于电脑,服务器,物联网
- 既适用于家庭使用环境,又适用于商业使用环境
- ubuntu拥有良好的安装和操作页面
- ubuntu系统承诺免费(没有技术支持)
3.桌面介绍
1.打开终端
1.ctrl+alt+t
2.在桌面右键打开
stu :用户名
stu-virtual-machine : 主机名
~:当前路径
$:超级管理员 # 普通用户
2.怎么控制终端大小
ctrl shift ‘+’ 放大终端
ctrl - 缩小终端
进入超级管理员: sudo su
退出超级管理员: exit
二.Linux目录结构
window: 将存储空间分为多个盘符 : D ,E,F…
Linux: 只有一个根目录 ,倒立的存储结构,所有文件都是从根目录开始向下开始存储的
1.Linux结构目录图:
2.常用目录介绍:
-
/bin 存放常用命令(二进制可执行命令)
-
/boot 存放系统内核及其启动相关文件,一般不会让别的存储
-
/dev存放我们的设备文件
-
/etc存放系统配置文件
-
/home 家目录,所有普通用户的家目录
-
/lib 存放库文件
-
/proc 存放虚拟文件系统目录,保存进程在内存中的信息
-
/usr 存放系统应用文档和程序 (如qq)
-
/var 存放系统运行中常修改的文件,(如系统日志)
-
/root 存放管理员的家目录
-
/mnt 临时挂载点 挂载外来文件,如插入一个u盘,则把盘符分配在这里
-
/tmp 存放临时文件
3.相对路径和绝对路径
相对路径:从系统根目录开始向下遍历到指定位置的路径,中途我们用’/'隔开
绝对路径 : 从当前路径向下遍历到指定位置的路径
例如stu 桌面的绝对路径: /home/stu/Desktop
’ .’ 代表当前位置
’ …’ 代表上一层位置
‘-’ 代表上一次位置
三.Linux系统文件类型和文件权限
1.文件类型
Linux系统认为一切皆文件
Linux文件类型的分类:
普通文件:“-”
目录文件:“d” (directory)
管道文件: “p” (piping) 进程间通讯的一种手段
链接文件:“l”(link) 软链接(字符链接) 硬链接 ,软链接类似window下的快捷方式 硬链接 当有一个用户指向它,它的链接数就会增加,当它的链接数为0时,它就会被删除
设备文件 (块设备"b"(block),字符设备"c"(char)) 块设备:可以从任意位置读取一定长度的设备(U盘,磁盘)。 字符设备:只能一字节一字节读取,且只能从头开始读取,不能任意读取 (鼠标)
套接字文件"s"(socket) 网络通讯的一种方式
Linux不以文件后缀名来区分文件类型,后缀名(给使用者看的)
在ubuntu系统中,/user/bin 和bin 指的其实是同一地方,因为它的权限界限比较模糊
2.文件权限
- r 读权限 值为 4
- w 写权限 值为2
- x 执行权限 值为1 对于普通文件,代表可执行,对于目录文件,代表可进入
- -无权限 值为0
- u:属主的访问权限(拥有者)
- g:属组的访问权限(同一组)
- o:其它的访问权限(其他人的权限)
3.修改权限
-
文字设定法
-
数字设定法
3.1文字设定法
chmod 修改权限命令
- u:属主权限
- g:属组权限
- o:其他人权限
- +:增加权限
- -:减去权限
- =:赋值权限
如果同时想给属主,属组,其它修改权限,则中间用’,'号隔开
chmod u-r 文件名 给属主减去r权限
chmod u-r,g+r,o-r 文件名 给属主减去r权限,给属组加上r权限,给其它加上r权限
chmod a= 文件名 给所有人去除全部权限
3.2 数字设定法
- r:read 值为4(100)
- w:write 值为2(010)
- x:execute 值为1 (001)
chmod xxx filename(0<=x<=7)
-
0:没有权限
-
1:–x
-
2: -w-
-
3: -wx
-
4: r–
-
5: -wx
-
6: rw-
-
7: rwx
touch filename 创建普通文件
mkdir dirname 创建目录文件
四.常用命令介绍
1.基础命令
1.pwd 显示当前绝对路径
2.cd 切换目录,后面跟的参数可以是相对路径,也可以是绝对路径
cd ~ :返回用户家目录
cd - 返回上次目录所在地
cd . :无事发生
cd . . :返回上以级目录
3.ls 显示当前目录下的文件
ls -l :显示当前目录下文件的详细信息
ls -a: 显示文件以及隐藏的文件
ls -al(-la) :显示文件以及隐藏文件的所有信息 (可以简写为ll)
4.man
帮助手册,用来查看命令,系统调用,库函数的详细信息。
5.创建文件
5.1 touch 文件名 创建普通文件
5.2 mkdir 文件名 创建目录文件
6.删除文件
6.1 删除普通文件 rm 文件名
6.2 删除目录文件 rm -r 文件名 (有点危险)
rmdir 文件名 :只能删除非空文件夹
rm *.o 删除所有后缀为.o 的文件
7.拷贝文件
7.1拷贝普通文件
cp 文件名1 文件名2
cp 文件名1 路径/新文件名
如果没有写新文件名字的话,则新文件名为原来的文件名
7.2拷贝目录文件
cp -r 文件名1 文件名 2
cp -r 文件名 路径/(新文件名) 如果没有填的话,则会把原来的名字拷贝过去
拷贝目录文件的时候会把文件中的所有东西同时拷贝
同时执行两次cp -r dir dir2
第一次 把 dir 复制成dir2 拷贝到当前目录
第二次 把dir 拷贝到dir2目录下
8.mv(剪切,移动,重命名)
2.重命名
存在覆盖风险,小心使用mv
9.find
在目录树中遍历一遍,也可以指定遍历开始位置
10.grep
加参数-c 只显示行数 有几行含有这个字符
-v 取反,取本身之外的数据全部打印
11.管道"|"
将前一个命令的输出信息作为下一个命令的输入信息
12.wc
统计文件中的信息,比如
-w :显示有多少单词
-l : 统计行数
-c :统计字符个数
-
su
切换用户 su +username
如果不加用户名,则默认为超级用户
sudo su 切换root 用户
14.关机和重启
- shutdown -h now 立刻关机
- shutdown -r now 立刻重启
- init 0 关机
- init 6重启
- halt 关机
- reboot 重启
- init 级别:0~6 7种级别
- 0 :关机
- 1:单用户模式
- 2:多用户无网络模式
- 3:完全的多用户文本界面
- 4:未定义或未初始化
- 5:图形化界面
- 6:重启
15.修改用户密码
passwd 用户名 修改
sudo passwd 用户名 强制修改
2.打包,解包,压缩,解压
2.1tar 将文件打包或者解包
-
c:创建包文件
-
f:指定目标为文件而不是设备
-
v:显示详细过程
-
t:显示包中内容而不释放
-
x:释放包中内容
-
z:gun中新添加的,让tar有压缩和解压的功能
2.1.1 tar打包过程
2.1.2 tar解包过程
2.2 gzip对文件进行压缩和解压
2.2.1 gzip 对文件进行压缩
2.2.2 gzip对文件进行解压
2.2.3 tar对压缩包一步压缩
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-10tY78Cu-1650806259368)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20220419094934686.png)]
2.2.3 tar对压缩包一步解压
3.文件编译器vim
1.vim的介绍和安装
一般来说,我们ubuntu系统自带的是vi,而红帽子自带的是vim,vim可以认为是vi的升级版,vim相对于vi来说,兼容性更好,功能更强大。
vim的官网 link.
apt updata:更新标准软件源
或者
apt -get updata: 更新标准软件源
安装命令 apt install vim
2.vim的配置文件的修改(添加行号,缩进等等)
2.1:配置文件的介绍:
配置文件是计算机软件的底层设计或者初始值的设定,比如说行号的设置,和tab的缩进
2.2配置文件的设定
用root 权限打开vimrc
vim /etc/vim/vimrc
在文件末尾写入:
- set nu
- set tabstop =4 按tab缩进4个空格
- set softtabstop =4
- set shiftwidth =4
- set expandtab
- set smartindent 自动缩进
3.vim的模式介绍
vim将使用模式分为了3种模式:
1.命令模式
2.插入模式(编辑模式)
3.末行模式
3.1.1 命令模式切换 插入模式
- i :从当前光标位置开始编辑
- I:从当前光标所在行的行头开始编辑
- a:从当前光标后开始编辑
- A:从当前光标所在行的行末开始编辑
- o:进入当前光标的下一行开始编辑
- O:进入当前光标的上一行开始编辑
- 补充 x:删除当前位置的字符
3.1.2 命令模式切换末行模式
- “:” 对文本的设置保存工作
- w:只保存
- wq:保存并退出
- q: 只退出
- q!:强制退出
- w 文件名:另存为
- set nu:显示行号
- set nonu:不显示行号
- set hlsearch 设置搜索结果高亮
- set nohlsearch 设置搜索结果不高亮
- “/” 对本文向下搜索字符串 如/abc
- "?"对本文向上搜索字符串 如?abc
搜索到之后 n :重复上一次命令
3.vim/vi常用命令
n dd:删除从光标开始向下的n行
dd :只删除当前这行
n yy :拷贝从光标向下的n行
p:粘贴
u:撤销上一次操作
ctrl +r:恢复上一次撤销操作
r:替换当前光标字符
shift+6:将光标移动到当前行的行头
shift+4:将光标移动到当前行的行末
shift+g :将光标移动到文本的最后一行
gg:将光标移动到文本的第一行
n G :将光标移动到文本的第n行
d n G:删除第n行数据
y n G:拷贝第n 行数据
H:移动到当前屏幕的第一行
M:移动到当前屏幕的中间行
L:移动到当前屏幕的末行
"."重复上次操作
h:向左移动光标
j:向上移动光标
k:向下移动光标
l:向右移动光标
4.文件查看命令
vim可以打开文件,查看里面的数据,但vim始终存在修改数据的风险,所以我们平时查看文件时可以使用其他命令。
4.1cat
4.1.1用于查看文件数据
4.1.2 合并两个文件 cat 文件1 文件2 > 文件3
4.1.3 往文件中写入数据 cat > 文件名 写完之后按ctrl+d (不过这个有点危险,会先清空文件中的内容)
4.1.4 往文件末尾写入数据 cat >> 文件名 ctrl +d 结束输入
4.2 more
more 文件名
当文件的内容屏幕显示不完,则可以使用more这个命令,分屏显示内容
使用space / Enter往下查看 space一次向下跳转的比较多,Enter一次向下跳转的比较少
查看一半不想查看时,可以通过’q’退出
红帽可以通过方向键查看
4.3 less
less 和 more 差不多
只不过
- less查询之后的数据不会在终端页面上遗留
- less查看的内容左下角没有百分比,而且可以使用方向键查看(也可以使用Enter/space)
4.4 head
head -n filename
显示文件的前n行数据(如果不写,则默认查看文件前10行数据)
4.5 tail
4.5.1 tail -n filename 显示文件的末尾后n行数据(不写的话则默认后10行)
4.5.2 用于查看日志文件
tail 这个命令一般用来查看日志文件
tail -f filename 实时跟踪显示文件末尾信息
5.用户管理命令
5.1 用户基本信息的存储
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-656Xc6Q8-1650806259371)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20220419173118826.png)]
用户名 | 密码 | UID | GID | 描述性信息 | 主目录 | 默认shell |
---|---|---|---|---|---|---|
root | x(表示有密码) | 用户id | 组id | 对用户的简单描述 | 一般就是家目录 | 默认命令解释 |
一般为了安全起见,密码加密之后都另外存在另一个文件中(/etc/shadow)
5.2 添加新用户
useradd user_name
红帽会在创建新用户的时候,顺手将同名家目录创建好
ubuntu需要自己手动添加家目录
5.3修改密码
通过passwad这个命令修改密码:
passwad user_name
如果密码过于简单,系统不让修改
sudo passwd 用户名 强制修改
5.4 删除用户
使用userdel 用户名 删除用户
1.首先保证用户没有登录
2.使用userdel删除时,不过不会删除家目录
3.如果想顺便把家目录删除掉,userdel -r 用户名