一.Linux简介
1.Linux和Windows对比
(1)文件系统的差别
Linux目录:
(2)用户管理差别
Windows上用户概念很模糊,但是Linux上就会经常使用到
Linux通过用户权限来指定不同不的用户对文件的使用权限
(3)运用方向不一样
Windows更多是代替纸质书写的办公,提升日常生活工作的交流效率
Linux一开始很大程度上就面对网络服务,所以Linux是可以随便换桌面的,Linux也有很多不同的桌面系统
2.Linux的发行版本
3.用户介绍
root 是Linux管理员,也称为超级用户
bd 是Linux普通用户,在Ubuntu中,root用户被锁定,当需要是使用的时候可以使用sudo来提权
这里的Clem是主机名,相当于Windows上的计算机名。
~ 是当前用户的家目录,家目录就相当于我们window系统盘中的用户目录
# 是超级用户的提示符,$是普通用户的提示符
二.基本常用命令
三.基本文件操作
创建文件 -
删除文件 rm sheng.txt
复制文件 cp /etc/passwd a.txt
移动文件 mv a.txt /tmp
创建文件夹 mkdir test
删除文件夹 rmdir test
删除文件夹 rm -rf test
查看文件cat sheng.txt
四.Ubuntu软件管理
1.软件介绍
2.apt的使用
安装软件:sudo apt install -y lrzsz
删除软件:sudo apt remove -y lrzsz
五.用户与权限管理
1.用户与用户组
(1)用户的操作
使用管理员账户或sodo提权
创建用户:
useradd -m 用户名
-m: 自动建立用户的登入目录
-u UID: 指定 UID,这个 UID 必须是大于等于500,并没有其他用户占用的 UID
-g GID/GROUPNAME: 指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在
-G GROUPS: 指定额外组
-c COMMENT: 指定用户的注释信息
-d PATH: 指定用户的家目录
vim/etc/passwd 文件 修改内核为bash (vim是编辑器,类似于Windows记事本)
groups 查看当前登录用户的组内成员
su 切换登录的用户
修改用户密码:
passwd 用户名
删除用户:
sudo userdel -r 用户名
(2)用户组操作
使用管理员账户或sodo提权
创建用户组:
groupadd python
修改用户组:
usermod -g 组
-c<备注>: 修改用户帐号的备注文字;
-d<登入目录>: 修改用户登入时的目录;
-g<群组>: 修改用户所属的群组;
-G<群组>: 修改用户所属的附加群组;
-l<帐号名称>: 修改用户帐号名称;
-L: 锁定用户密码,使密码无效;
-s<shell>: 修改用户登入后所使用的shell;
-u<uid>: 修改用户ID;
删除用户组:
groupde python
切换不同用户组:
newgrp moran
2.文件权限
首字母表示文件类型,d是文件夹,-是文件
第1列表示文件权限
第2列为硬链接个数,文件夹表示引用计数,即…加上里面的目录个数
第3列表示文件所有者,就是文件属于那个用户
第4列表示文件所属的组
第5列表示文件大小,文件夹表示文件夹的大小,不是文件夹的总大小
第6、7、8列表示文件的修改时间
第9列表示文件名或目录名
权限,9个字符,每三个一组,第一组是所有者u,第二组是所有组g,第三组是其他人o
所有者:rwx
所有组:rwx
其他人:r-x
r读,w写,x执行
0 没有任何权限
1 执行
2 写
3 写执行
4 读
5 读执行
6 读写
7 可读可写可执行
更改文件或者文件夹的权限:
chmod 操作组操作符权限
chmod u+x py.txt # 对应用户增减制定权限
chmod 0-r py.txt # 对应用户增减制定权限
chmod 640 py.txt # 直接用数字来指定权限
改变用户组:
chgrp root py.txt # 将py.txt更改为root用户组
改变属主:
chown –R bd:bd test # 将test文件夹更改成bd用户所属主和所属组
六.命令查找
1.命令搜索
whereis 搜索命令的位置和帮助文档的位置
which 搜索位置和命令的别名
2.find命令
类似于Windows中的搜索文件
find [-path] -options ‘文件’
path : 要查找的目录,默认是当前目录
option:
-name 按文件名的某种规则的查找
-type 按文件类型查找 f 普通文件 l 符号连接 d 目录
-size 按文件大小查找
-exec<执行指令>: 假设find指令的回传值为True,就执行该指令;
-print 假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串
通配符:
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
3.grep命令
查找文件内容
grep –options file 文件
options:
-c 计算符合范本样式的列数。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-i 忽略字符大小写的差别。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-o 只输出文件中匹配到的部分。
七.文本传输
1.管道
将程序或命令的输出作为另一个程序或者命令的输入,就是用管道来进行完成
管道把一系列的命令链接起来
管道符:|
命令:xargs
2.输入重定向:
在Linux系统中,所有的都是文件或文件夹,终端也是文件
输入重定向指的是把命令或者程序的标准输入重定向到指定的文件中,输入可以不是来自键盘,而是来自一个指定的文件。
改变执行对象,改变一个命令或程序的输入源
正常来说,输入来自于键盘
使用:命令 < 文件名
查看文件行数:wc-l
3.输出重定向:
输出重定向指的是把命令或者程序的标准输出重定向到指定的文件中,输出可以不是来自显示器,不是在屏幕中显示,而是输出到某个指定文件中
改变显示对象,改变一个命令或程序的写入源,把结果写入哪个位置
正常来说,输出来自于终端
输出命令:echo
输出重定向使用:命令 > 文件名
一个大于号会进行覆盖
如果想要追加内容使用两个大于号:>>
使用场景:快速的给某个文件插入一段文本,不需要vim进行编辑
4.终端信息传输:
tty终端的信息
who am登录的用户,终端的标记,登录的时间
w 登录的用户,终端的标记,星期几登录的,具体的登录时间,闲置时间,正在执行的程序,占用cpu的时间,系统的运行时间和平均负载
因为终端的本质也是文件,所以可以使用输出重定向在一个终端执行输出命令重定向到另一个终端进行显示
八.文件传输
1.文件别名-alias
命令别名
别名:小名,方便使用,自定义缩写
使用方法: alias 新的命令**=‘原命令-选项/参数’
设置指定的别名命令:alias
查看别名:alias或者type
取消定义的别名:unalias
前面所写的定义别名的方式都是临时的,只有在当前登录有效,下次登录就没有了
永久定义别名:
定义别名的行为是个人用户,永久定义别名是写入在配置文件中,给电脑系统进行持久化保存识别~/.bashrc
1.把命令写入在当前用户的家目录的.bashrc文件中alias ct = 'cd /home/bd/test’保存并退出
2.默认下次登录生效,想要立即生效:source ~/.bashrc
2.文件压缩与解压缩
命令:tar,用于将文件打包或解压
选项:
打包(cvf、vcf)仅仅是打包,不会压缩大小:
c:建立新的压缩包
f:命名,注意f必须是最后一个
v:输出信息,压缩了哪些文件
解包(xvf):
x:解压压缩包
f:命名,注意f必须是最后一个
v:输出信息,压缩了哪些文件
压缩:
z:gzip压缩 后缀名:.tar.gz
j:bzip2压缩 后缀名:.tar.bz2
c:建立新的压缩包
f:命名,注意f必须是最后一个
v:输出信息,压缩了哪些文件
解压:
带上对应压缩的选项+解压选项
-c:解压到指定的目录
3.文件链接
链接:连接、映射【——对应】
硬链接
创建一个文件与指定的文件进行关联,同步。备份操作
命令:ln
功能:可以进行备份,会与指定的文件进行关联,更新其中一个另一个也会进行更新,会创建一个真实存在的文件,内存
软链接
可以理解为快捷方式,生成一个链接文件,不会占用磁盘空间
使用:ln -s
功能:相当于windonws系统的快捷方式
九.进程管理
相当于windonws的任务管理器
进程:正在运行的程序,但是现在科技发展在很多情况下程序为了更高的完成更多的事情,往往一个程序会开启多个进程
1.ps- 一次性进程监视
命令:
ps -e
u 按用户和启动时间的顺序来显示进程
a 显示所有用户的所有进程
x 显示无终端控制的进程
f 列出进程全部相关信息,通常和其他选项联用
e 所有进程
l 采用详细的格式来显示程序状况
USER: 启动进程的用户
PID: 进程的ID号
%CPU: 进程占用的CPU百分比
%MEM: 进程占用的物理内存百分比
VSN: 进程使用的虚拟内存总量,单位KB
RSS: 该进程占用实际物理内存的大小,单位KB
TTY: 该进程在哪个终端中运行
STAT: 进程状态
START: 启动进程的时间
TIME: 进程消耗CPU的时间
COMMAND: 产生此进程的命令名
STAT常见状态:
R 运行, S 睡眠,T 停止,s 包含子进程,+ 位于后台 Z僵尸进程 <优先级比较高的进程
2.top- 动态监控
第1行分别是:系统时间、系统启动22小时18分、登录的用户有2个、 “load average” 代表:最近1分钟,5分钟,15分钟的系统负载值,如超过CPU个数的2倍说明高负载,需处理
第2行Tasks表示:有184个进程在内存中,1个正在运行,148个睡眠,0个停止,1个处于僵尸状态
第3行Cpu(s)表示:user上花费的时间,sys上花费的时间,nice优先级调整上花费的时间,idle:CPU空闲时间,iowait等待系统io时间,hi硬件中断时间,si软中断时间,steal被虚拟机偷掉的时间
第4行Mem表示:总内存、空闲的内存、已经使用的内存、用于缓存文件系统的内存、交换内存的总容量,这内存还可以用free命令来查看
第5行Swap表示:交换空间总大小、空闲的交换空间、使用的交换内存空间、用于缓存文件内容的交换空间
top 实时显示进程情况
-d 设置更新的时间间隔
-n 显示更新的次数,然后退出
-u 只显示指定用户的进程信息
-s 安全模式运行,禁用一些交互命令
也可以下载htop来查看
3.进程暂停和杀死
Linux 的 进程 分为前台进程和后台进程,前台进程占用终端窗口,而后台进程不占用终端窗口。
要启动一个前台进程,只需要在命令行输入启动进程的命令即可,要让一个程序在后台运行,
只需要在启动进程时,在命令后加上 & 符号即可
暂停和启用
Ctrl + z 让正在前台执行的进程暂停
jobs 获取当前的后台作业号
fg 将进程从后台调到前台执行
bg 将进程放到后台执行
杀死进程
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
示进程情况**
-d 设置更新的时间间隔
-n 显示更新的次数,然后退出
-u 只显示指定用户的进程信息
-s 安全模式运行,禁用一些交互命令
也可以下载htop来查看
喜欢的,点个赞呗,学习好累,得多看看姑娘!!!哈哈哈