Linux for python教程02
1. Linux用户及权限管理
1.1. who
查看当前谁登录了我
who - q: 一共有多少个人登录了我
- 先ping通电脑:
ping IP address - 远程登录电脑:
ssh haoch@IP address - 查看谁登录了我的电脑:
who
1.2. 查看当前用户: whoami
查看当前系统当前账号的用户名
1.3. 添加用户账号: useradd
useradd [参数] 新建用户账号
| 参数 | 含义 |
|---|---|
| -d | 指定用户登录系统的主目录 |
| -m | 自动创建目录 |
| -g | 指定组的名称 |
useradd -d /home/abc abc -m |
创建abc用户,如果/home/abc目录不存在,就自动创建这个目录 |
useradd -d /home/abc abc -g test -m |
创建abc用户,如果/home/abc目录不存在,就自动创建这个目录,同时用户属于abc组 |
cat /etc/passwd |
这个文件下就可以看到注册的用户名 |
注意: 每个用户都要有一个主目录,主目录就是第一次登录系统,用户的默认当前目录(/home/用户);
- 查看现有电脑的用户:
cd /home/ + ls或者ls /home/ - 切换到管理员:
sudo -s - 管理员新建用户:
useradd laowang -m - 管理员修改用户名的密码:
passwd laowang - 从管理员退回普通用户:
exit - 从普通用户到另外一个普通用户:
su - laowang - 自己改自己的秘密:
passwd - 删除用户:
userdel -r laowang
1.4 切换用户 su
su - laowang: 切换账户及路径名su laowang:只切换账户,不切换到其目录sudo -s:切换到管理员

2.用户组
- 查看有哪些用户组:
cat /etc/group或者groupmod+两次Tab - 添加组:
groupadd abc - 删除组:
groupdel abc - 查看当前用户所在的用户组:
groups laowang - 查看用户组的当下存在的用户:
cat /etc/group | grep 'sudo' - 修改用户所在的组:
- 新建三个组:
groupadd AAA BBB CCC - 新建一个用户:
useradd lili -m在lili自己的组里面 - 切换到AAA组:
usermod -a -G AAA lili
- 新建三个组:
- 将普通用户拥有切换到管理员权限的能力:
- 添加到adm和sudo用户组:
usermod -a -G adm laowang+usermod -a -G sudo laowang
- 添加到adm和sudo用户组:
3. 修改文件权限: chmod
chmod修改文件权限有两种格式:字母法和数字法
字母法: chmod u/g/o/a +/-/= rwx 文件
| 参数 | 含义 |
|---|---|
| u | user表示该文件的所有者 |
| g | group表示与该文件的所有者属于同一组者,即用户组 |
| o | other表示其他以外的人 |
| a | all表示这三个都是 |
| + | 增加权限 |
| - | 撤销权限 |
| = | 设定权限 |

- 添加拥有者的执行权限:
chmod u+x 123.py - 添加其他人可以写的权限:
chmod o+w 123.py - 直接设置权限:
chomod g=w 123.py - 同时设置几个权限:
chmod u=x, g=x, o=x 1.py - 删除全部权限:
chmod u=, g=, o= 1.py
数字法: rwx这些权限也可以用数字代替
| 参数 | 数字代号 |
|---|---|
| r | 4 |
| w | 2 |
| x | 1 |
| - | 0(无权限) |
- 快速添加权限:
chmod 761 1.py(7=4+2+1, 6=4+2, 1=1)
(1). 修改文件所有者 chown
chown laowang 1.py
(2). 修改文件所属组: chgrp
chgrp AAA 1.py
3. 编辑器
3.1. gedit编辑器
类似window的记事本和word文档
3.2. sublime编辑器
| 快捷键 | 数字代号 |
|---|---|
| Ctrl+Shift+D | 快速复制 |
| Ctrl + | 字体变大 |
| Ctrl + F | 选中替换代码 |
| Ctrl + L | 选中一行 |
3.3. 安装软件
| 快捷键 | 数字代号 |
|---|---|
sudo apt-get update |
更新源 |
sudo apt-get install softwarename |
安装包 |
sudo apt-cache search softwarename |
搜索软件包 |
sudo apt-cache show softwarename |
获取包的相关信息 |
sudo apt-get remove package |
删除包 |
sudo apt-get remove package --purge |
删除包,以及配置文件等 |
sudo apt-get dist -upgrade |
升级系统 |
sudo apt-get source package |
下载该包的源代码 |
sudo apt-get clean && sudo apt -get autoclean |
清理无用的包 |
- 查看更新:
sudo apt -get update - 下载安装软件:
sudo apt -get install softwarename - 删除包: sudo apt -get remove package
4. Linux常用服务器构建-ftp服务器
FTP: 文件传输协议
- 安装vsftpd服务器
sudo apt-get install vsftpd
- 配置vsftpd.conf文件
用于谁可以登录我的电脑啊,指定上传路径啊,允许本机登录啊, 允许哪一个用户可以登录,允许上传文件到FTP服务器啊
sudo vi /etc/vsftpd.conf
打开配置文件:
sudo vi /etc/vsftpd.conf- 不允许匿名登录:
anonymous_enable = NO - 指定上传的路径:
local_root = /home/laowang/ftp - 允许本地登录:
local_enabled = YES - 允许
vsftpd.chroot_list文件中的用户登录FTP服务器:chroot_list_enable = YES + CHROOT_LIST_FILE = /ETC/VSFPD.CHROOT_LIST - 允许上传文件到FTP服务器:
write_enable = YES
- 不允许匿名登录:
建立list文件,将一个用户名放进去:
sudo vi /etc/vsftpd.chroot_list添加一个新的用户名进去
将文件夹的拥有者权限减去w权限
在ftp文件夹中新建一个文件夹,这个文件夹就是使用ftp客户端进行下载,上传时的文件夹
重启FTP服务器:
sudo /etc/init.d/vsftpd restart上传命令:
put somefile下载命令:
get somefile
- 图形化的FTP服务器软件
FileZilla-window
5.Linux常用服务器搭建-ssh和scp
SSH
SSH是建立在应用层和传输层基础上的安全协议
SSH是目前较为可靠,专门为远程登录回话和其他网络服务提供安全性的协议,常常用于远程登录,以及用户之间的资料拷贝
使用SSH服务,需要安装相应的服务器和客户端,服务器和客户端的关系:如果,A机器想要被B机器远程控制,那么A机器需要安装SSH服务器,B机器需要安装SSH客户端
(1). 安装SSH
A.安装SSH服务器
sudo apt-get install openssh-server
B.远程登录
ssh 用户名@IP
(2). 使用SSH链接服务器
先查看ip地址:
ifconfig
在直接远程登录
ssh 用户名@IP
SCP: linux之间互相拷贝
# 上传文件(本地->远程)
scp Filename RemoteUserName@RemoteHostIP:Remotepath
# 上传文件夹
scp -r Foldername RemoteUserName@RemoteHostIP:RemoteFile
# 下载文件(远程->本地)
scp RemoteUserName@RemoteHostIP:Remotepath Filename
# 下载文件夹
scp -r RemoteUserName@RemoteHostIP:RemoteFile Foldername

6. vim编辑器
vi 123.py
- 打开vi以后,默认进入到一种状态->命令模式
- 输入小写i, 由命令模式转为->编辑模式,在这种模式下才可以编辑
- 按ESC键,输入
:wq, 编辑模式->末行模式,保存并自动退出

| 快捷键 | 含义 |
|---|---|
| 88G | 快速定位到第88行 |
| 1G | 快速定位到文件首行 |
| G | 快速定位到文件末尾行 |
| dd | 删除光标所在行 |
| 5dd | 从当前光标算,删除5行 |
| x | 删除光标前的一个字符 |
| X | 删除光标后的一个字符 |
| D | 删除光标后本行所有内容 |
| d0 | 删除光标前本行所有内容 |
| dw | 删除光标开始位置的字 |
| u | 撤销命令 |
| Ctrl +r | 反撤销 |
| yy | 复制当前行 |
| 19yy | 复制19行 |
| p | 粘贴 |
| 2dd + p | 剪切2行 |
| v | 整体选中,可以选中多行 |
| v +>>/<< | 实现整体移动 |
| r | 替换 |
| :%s/main/MAIN/g | 整个文本将main替换为MAIN |
| :5,15s/main/MAIN/g | 文本第5-15行将main替换为MAIN |
| 查找print(n查看下一个) |
Linux for python教程02的更多相关文章
- 极简python教程02:基础变量,删繁就简
python极简教程已经开赛,如果错过说明可以回翻: 极简python教程:赛前说明 借这个机会,我再讲讲我的教程和其他网上的教程的区别: 1 我分享的内容,是我在工作中会高频使用的语法,是精华内容 ...
- Linux for Python教程01
目录 1. Linux和操作系统 1.1. 什么是操作系统 1.2. 现有操作系统 1.3. Linux用户目录 1.4. Linux文件权限 2. Linux命令 2.1 文件管理相关 (1).ls ...
- 大爽Python入门教程 0-2 什么是IDE?python选什么IDE好?
大爽Python入门公开课教案 点击查看教程总目录 一 感受IDE 什么是IDE? 在这里,我并不想直接给出一个回答, 因为这个回答对初学者来说,可能有些抽象. 我想先带大家感受下IDE. 1 比较不 ...
- python教程与资料
网上有个人写的python快速教程,非常好.比看书好多了.猛击下面的链接地址 http://www.douban.com/group/topic/30008503/ python文档资料收集 pyth ...
- CTF必备技能丨Linux Pwn入门教程——PIE与bypass思路
Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/am ...
- 学习Linux系列--Python资源收集
本系列文章记录了个人学习过程的点点滴滴. 回到目录 玩Linux,不懂一门脚本语言是不行的,我这里选择的是Python. 10.入门资源 下面前三遍是比较系统的文档,后面是一些心得,我看了好几天,终于 ...
- 《简明python教程》笔记一
读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info 安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...
- linux,python 常用的处理log的命令
一般的log文件都是需要过滤 ps:管道符| 管道符前面的输出值 grep 过滤查找 将是error的log过滤显示 grep '221.2.100.138' web.access.log gr ...
- Linux Shell系列教程之(十三)Shell分支语句case … esac教程
本文是Linux Shell系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell系列教程 分支语句非常实用,基本上高级语言都支持分支语句(python 没有),大多数都使 ...
随机推荐
- TCP三次握手与Tcpdump抓包分析过程
一.TCP连接建立(三次握手) 过程 客户端A,服务器B,初始序号seq,确认号ack 初始状态:B处于监听状态,A处于打开状态 A -> B : seq = x (A向B发送连接请求报文段,A ...
- [转]Docker php extensions gd
本文转自:https://docs.docker.com/samples/library/php/ How to use this image Create a Dockerfile in your ...
- C# winform自动更新 (附 demo下载)
随着需求的变化,如果Server每次更新出新的内容,Client都要重新安装的话. 太过于复杂化. 所以自动更新是很有必要的. 一..NET自带的更新方式 以服务器端为主 (自动更新,微软爸 ...
- .net core2.0+nginx+Ubuntu14.04【一个小白的初次尝试】
新的业务来了,需要使用linux环境部署web服务,作为一个C#的懒惰程序员,就这么上了车[狗脸],废话不多说,跟我一样的小白请看,大神请绕路. 站点暂时没有使用Docker部署,为什么呢,因为我还没 ...
- SQL Server跨服务器查询
来源:https://www.cnblogs.com/tylerflyn/p/8339895.html 创建链接服务器 exec sp_addlinkedserver 'ITSV', ' ', 'SQ ...
- mysql5.7 datetime 默认值为‘0000-00-00 00:00:00'值无法创建问题解决
mysql5.7 datetime 默认值为‘0000-00-00 00:00:00'值无法创建问题解决
- 【Redis】2、CentOS 7 上安装 redis3.2.3安装与配置
一.redis源码安装 [更正]现在最新稳定的版本已经到了3.2.8 截至到2016.8.11,redis最新稳定版本为3.2.3.本篇文章我们就以此版本为基础,进行相关的讲解. 下载redis源码, ...
- Python 执行 mysql 存储过程
mysql 创建简单的临时表 tmp create database test; use test; DROP TABLE IF EXISTS `tmp`; CREATE TABLE `tmp` ( ...
- iOS--------获取当前连接的WiFi以及IP地址
导入头文件 #import <ifaddrs.h>#import <arpa/inet.h>#import <SystemConfiguration/CaptiveNet ...
- Spring AOP原理(续)
十二.AOP 1. 说出Spring的通知类型有哪些? spring共提供了五种类型的通知: 通知类型 接口 描述 Around 环绕通知 org.aopalliance.intercept.Meth ...