2.2.5 权限管理
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | sudo | 放在一个命令前,表示使用管理员权限执行 |
| 02 | chmod | 修改文件权限:修改谁的什么权限( u:拥有者 g :同组人 o:其他) |
-
部分命令细节说明
-
sudo: 在打开终端第一次使用sudo时需要输入密码
-
chmod 在设置权限时,可以字母也可以使用三个数字分别对应 拥有者 , 同组 和 其他 用户的权限
直接修改文件|目录的 读|写|执行 权限,但是不能精确到 拥有者|组|其他 chmod augo +/- rwx 文件名/目录名 例如:chmod g-w hello.py 同组其他人减去了写权限 chmod o+r hello.py 其他用户加上读权限 -
-

例如: 777 ===> u=rwx,g=rwx,o=rwx 755 ===> u=rwx,g=rx,o=rx 644 ===> u=rw,g=r,o=r
666 ===>u=rw,g=rw,o=rw`
例如 chmod 666 hello.py 拥有者 同组人 其他用户都赋予读写权限
2.2.6 显示展示命令
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | echo | 向终端打印内容 |
| 02 | date | 显示当前时间 |
| 03 | df | 显示磁盘剩余空间 |
| 04 | whoami | 显示当前用户 |
-
部分命令细节说明
-
echo : -n 表示打印完成不换行
-
df: -h 选项以Mb为单位显示,-T显示文件系统类型 ext4的为磁盘
-
-
输出重定向:将命令的生成结果保存到文件中去
重定向符 含义 实例 > file 将file文件重定向为输出源,新建模式 echo "hello world" > out.txt,将echo "hello world" 执行结果,写到out.txt文件中,若有同名文件将被删除 >> file 将file文件重定向为输出源,追加模式 ls /usr >> Lsoutput.txt,将ls /usr的执行结果,追加到Lsoutput.txt文件已有内容后
2.2.7 其他命令
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | shutdown | 关机或者重启 |
| 02 | ln | 创建链接 |
-
部分命令细节说明
-
shutdown:
-
shutdown -r now 立即重启
-
shutdown now 立即关机
-
shutdown +10 10分钟后关机
-
shutdown -c 取消关机计划
-
-
ln : 一般使用 -s 选项 创建软链接,相当于快捷方式,找起来方便,如果跨目录创建要使用绝对路径。当源文件更改内容时,软链接的文件跟着更新,但不要移动源文件位置,否则软链接失效。目的是在一个庞大项目中,找起关键性入口文件等比较方便
ln -s hello.py hello
-
3.1.1 什么是vi
vi是Linux操作系统中一个自带的编辑器。没有图形界面,只能编译文本内容,没有字体段落等设置,通过命令强大的命令完成一系列的编写工作。
3.1.2 学习目的
-
在实际工作中,要对 服务器上的文件进行简单的修改,使用 vi 进行快速的编辑即可。
-
对一些配置文件的修改,需要一定的权限,这时vi编辑器是最佳选择。
-
vi 编辑器在系统管理、服务器管理编辑文件时,其功能不是图形界面的编辑器能比拟的。
3.1.3 操作使用
-
打开和新建文件
vi [文件名] 如果文件已经存在,会直接打开该文件 如果文件不存在,会新建一个文件 vim比vi 多一个小组件
-
工作模式
-
命令模式
-
打开文件首先进入命令模式,是使用 vi 的 入口
-
通过 命令 对文件进行常规的编辑操作,例如:定位、翻页、复制、粘贴、删除……
-
在其他图形编辑器下,通过 快捷键 或者 鼠标 实现的操作,都在 命令模式 下实现
-
-
末行模式 —— 执行 保存、退出 等操作
-
要退出 vi 返回到控制台,需要在末行模式下输入命令
-
末行模式 是 vi 的 出口
-
-
编辑模式 —— 正常的编辑文字
-
-
进入编辑模式命令
| 命令 | 英文 | 功能 | 常用 |
|---|---|---|---|
| i | insert | 在当前字符前插入文本 | 常用 |
| I | insert | 在行首插入文本 | 不常用 |
| o | 在当前行后面插入一空行 | 常用 | |
| O | 在当前行前面插入一空行 | 不常用 |
-
底行模式常用命令
| 命令 | 功能 |
|---|---|
| w | 保存 |
| q | 退出,如果没有保存,不允许退出 |
| q! | 强行退出,不保存退出 |
| wq | 保存并退出 |
| w! | 强制保存 |
-
命令模式常用命令
-
1)行内移动
命令 功能 w 向后移动一个单词 b 向前移动一个单词 0(零) 行首 $ 行尾 -
2) 行数移动
命令 功能 gg 文件顶部 G 文件末尾 :数字 移动到 数字 对应行数 -
-
撤销和恢复撤销
| 命令 | 功能 |
|---|---|
| u | 撤销上次操作 |
| CTRL + r | 恢复撤销的操作 |
-
删除文本
| 命令 | 功能 |
|---|---|
| x | 删除光标所在字符,或者选中文字 |
| c | 和移动命令连用,删除光标所在位置到指定位置内容 |
cw # 从光标位置删除到单词末尾 c0 # 从光标位置删除到一行的起始位置 cb # 从光标位置删除到单词开头
-
剪切、复制、粘贴
| 命令 | 功能 |
|---|---|
| yy | 复制一行,可以 nyy 复制多行 |
| dd | 剪切光标所在行,可以 ndd 剪切多行 |
| p | 粘贴 |
-
替换
| 命令 | 功能 | 工作模式 |
|---|---|---|
| r | 替换当前字符 | 命令模式 |
| R | 替换当前行光标后的字符(不断的往后替换覆盖) | 替换模式 |
| :%s/str/replace/g | 替换str为replace | 底行模式 |
R 命令可以进入 替换模式,替换完成后,按下 ESC 可以回到 命令模式
-
查找
| 命令 | 功能 |
|---|---|
| /str | 查找 str |
| :set nu | 显示行号 |
3.2 添加用户/str 查找到指定内容之后,使用 n 查找下一个出现的位置
:set nu ! 可以取消行号显示
3.2.1 基本概念
-
用户:Linux操作系统可以有不同的用户,这是系统管理的重要一环,不同的用户有自己独立的空间内容。
-
用户组:为了方便对用户管理,Linux操作系统使用用户组的概念。将不同的用户添加到对应的组中,可以方便用户设置权限的设置。
-
root用户:Linux系统中的root用户通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限,一般工作中不会使用root用户进行系统操作,防止一些误操作带来系统损坏。
3.2.2 用户管理命令
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | groupadd 组名(一般认为创建用户前先添加组,其实也不用) | 添加组(管理员权限sudo,下同) |
| 02 | groupdel 组名 | 删除组 |
| 03 | useradd -m 用户名称 -g 组名称(不写-g 组 默认组名称同用户名称) | 添加用户 |
| 04 | passwd 用户名 | 设置用户密码 |
| 05 | userdel -r 用户 | 删除用户 |
-
useradd : -m 表示添加用户时添加主目录,-g表示选择用户所在组,如果不写默认会创建一个与用户同名的组。
useradd -m levi
-
passwd : 设置密码,设置之后才能切换新用户登录
-
设置密码后为新用户添加sudo权限,打开sudoers文件增加如下内容,然后 :w! 强制保存 :q 退出
-
sudo vi /etc/sudoers
-
设置命令解释器(将默认的sh解释器改成bash版本解释器,更加友好哦)
注意:1. 新创建的用户和密码信息存储在 /etc/passwd文件中 2. 如果切换用户终端命令行只有一个$ 提示,则vi打开这个文件,将该用户对应的内容修改
-
userdel: 一般使用-r 彻底删除,如果删除失败说明刚刚使用了该用户没有注销,需要重启再删除。或者执行下面命令。
Linux下安装的软件包是 deb格式软件包。由于当时Linux系统中软件包存在复杂的依赖关系。因此,通常使用网络安装,自动帮你检测与依赖关系,很少图形化安装或者本地安装。
| 作用 | 命令 |
|---|---|
| 更新软件源(获取服务器端最新版软件,通常在国内的清华中科大阿里巴巴网站下载软件源,前提是这个服务器网站还在,这些更新源网站写在我们系统文件里面了) | sudo apt update |
| 安装软件 | sudo apt install 软件名称 |
| 卸载软件 | sudo apt remove --purge 软件名称 |
| 删除缓存的软件安装包(前提是当前命令的位置在/var/cache/apt/archives) | sudo apt clean |
-
注意事项 : 安装软件包通常需要使用管理员权限。
-
软件包下载位置:/var/cache/apt/archives
sudo apt install sl # 安装叫sl的一个测试软件 运行sl 出现一个小火车 sudo apt remove --purge sl # purge彻底卸载3.4 ssh服务
ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。在数据传输方面有很多应用。之前说到,实际工作中经常需要远程访问服务器,ssh就是通用的远程访问服务器的方法。
-
安装启动(用ssh服务需要安装软件支持的)
-
安装ssh服务 : sudo apt install openssh-server(服务器端已经帮你安装好了,客户端linux自带)
-
查看ssh服务状态 : ps -e|grep ssh 其中上边是服务器端的ssh ,下面是客户端的ssh(你目前计算机扮演两个端,因此有两个)
-
启动和关闭服务器端ssh
sudo service ssh start/restart/stop(启动/重启/停止 默认开机启动)
-
-
常用命令
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | ssh 用户名@ip | 登录远程主机 |
| 02 | scp 用户名@ip:文件名绝对路径 目标位置 | 远程复制文件 |
-
ssh登录
ssh levi@192.168.100.5 # 登录 exit # 退出
-
scp拷贝(实质与cp命令一样用)
# 注意:`:` 后面的路径写绝对路径 #把当前文件复制到服务器目录下 scp demo.py levi@192.168.100.5:/home/tarena # 把远程主目录下demo.py文件 复制到本地当前目录下 scp levi@192.168.100.5:/home/tarena/demo.py ./ # 加上 -r 选项可以传送文件夹 scp -r demo levi@192.168.100.5:/home/tarena/
-
ssh秘钥(免得名称登录都要输入密码麻烦)
-
什么时候使用: 如果使用的客户端个人计算机是自己独有的计算机,经常通过ssh访问服务器,此时不想频繁输入密码,则可以使用秘钥处理。
-
使用方法
1. 在个人计算机中生产秘钥对 : ssh-keygen 命令 执行以后会在主目录下生成一个.ssh隐藏文件夹,其中包含私钥文件id_rsa和公钥文件id_rsa.pub。然后把公钥给服务器 2. 在服务器主机上创建文件(云服务器当中会自动为我们创建) touch ~/.ssh/authorized_keys,将信任的计算机的id_rsa.pub文件内容追加到服务器authorized_keys文件中即可。
-
在服务器中并没有pycharm这些集成编译工具,所有当我们最后将程序部署在服务器上执行时,往往需要通过终端运行python程序。
-
编写python程序在第一行增加解释器声明
-
修改文件的权限,使其有可执行权限
-
通过指定文件位置执行代码(即输入文件名称就可以执行了,连python都不用写了)
-
通过in 建立软连接到主目录下,可以直接输入链接名称就执行到这个文件了
前情回顾
1. 什么是操作系统 OS
2. Linux操作系统
特点 : 开源 网络功能强大 跨平台 多用户
使用 : 服务器 小型智能化设备
构成 : 内核 文件系统 命令 应用
3. 文件系统
文件系统结构 : 树形结构 /etc /home / /usr
文件位置表达 : 绝对路径 相对路径 . ..
4. Linux 命令 (shell 命令)
man
ls cd touch mkdir rm cp mv
grep wc cat
zip tar
-----------------------------------------------------------------------
练习01 : 使用vi编辑器编写
写一个函数 ,参数传入一个整数,判断这个整数
是否为质数,返回布尔类型表达
创建用户步骤
1.添加用户 sudo useradd -m levi
2.设置密码 sudo passwd levi
3.改配置文件 sudo vi /etc/sudoers
进入后在21行增加一行
levi ALL=(ALL:ALL) ALL
强制保存退出
4.改配置文件 sudo vi /etc/passwd
修改 对应用户 /bin/sh --> /bin/bash
5. 删除用户 (先注销按钮)
sudo userdel -r levi
服务器信息 :
ip : 124.70.164.124
用户 : aid
密码 : 2102
ssh aid@124.70.164.124
scp hello.py aid@124.70.164.124:/home/aid
添加密钥对
个人计算机 : ssh-keygen 创建密钥对
cd ~/.ssh
cat id_rsa.pub
复制 内容
进入服务器 : cd ~/.ssh
touch authorized_keys
echo "复制的内容" >> authorized_keys
服务器运行项目
1. 在文件第一行 增加解释器说明
#!/usr/bin/python3
2. 修改权限为可执行
chmod u+x hello.py
3. 在方便的位置创建软连接文件
ln -s /home/tarena/stage02/day02/hello.py hi
Linux 操作系统总结
理论知识:
1. 操作系统作用
2. Linux操作系统的特点和应用
掌握知识 :
1. Linux文件结构特点
2. 熟练使用Linux操作系统进行开发工作
实操内容 :
1. 基础的Linux命令 ls cat cd mv cp
2. 常用的Linux服务器功能
压缩包处理,软件安装,用户创建和配置
vi编辑器的使用
3. 远程链接操作服务器
4. 能够在服务器环境运行Python程序
《鸟哥私房菜》
Linux 操作训练
1. 使用vi编写一个程序,求出1000以内所有的
水仙花数(三位数)
解释 : 百位数的立方 + 十位数的立方 + 个位数的立方
等于原数字
2. 让这个程序在桌面下上成一个快捷方,在终端输入
快捷方式则可以执行程序
ln -s /home/tarena/stage02/day02/number.py num



