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

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: 文件传输协议

  1. 安装vsftpd服务器
sudo apt-get install vsftpd
  1. 配置vsftpd.conf文件

用于谁可以登录我的电脑啊,指定上传路径啊,允许本机登录啊, 允许哪一个用户可以登录,允许上传文件到FTP服务器啊

sudo vi /etc/vsftpd.conf
  • 打开配置文件: sudo vi /etc/vsftpd.conf

    1. 不允许匿名登录: anonymous_enable = NO
    2. 指定上传的路径: local_root = /home/laowang/ftp
    3. 允许本地登录:local_enabled = YES
    4. 允许vsftpd.chroot_list文件中的用户登录FTP服务器: chroot_list_enable = YES + CHROOT_LIST_FILE = /ETC/VSFPD.CHROOT_LIST
    5. 允许上传文件到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

  1. 图形化的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 查找print(n查看下一个)

Linux for python教程02的更多相关文章

  1. Linux for Python教程01

    目录 1. Linux和操作系统 1.1. 什么是操作系统 1.2. 现有操作系统 1.3. Linux用户目录 1.4. Linux文件权限 2. Linux命令 2.1 文件管理相关 (1).ls ...

  2. python教程与资料

    网上有个人写的python快速教程,非常好.比看书好多了.猛击下面的链接地址 http://www.douban.com/group/topic/30008503/ python文档资料收集 pyth ...

  3. CTF必备技能丨Linux Pwn入门教程——PIE与bypass思路

    Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/am ...

  4. 学习Linux系列--Python资源收集

    本系列文章记录了个人学习过程的点点滴滴. 回到目录 玩Linux,不懂一门脚本语言是不行的,我这里选择的是Python. 10.入门资源 下面前三遍是比较系统的文档,后面是一些心得,我看了好几天,终于 ...

  5. 《简明python教程》笔记一

    读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info  安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...

  6. linux,python 常用的处理log的命令

    一般的log文件都是需要过滤 ps:管道符| 管道符前面的输出值 grep 过滤查找 将是error的log过滤显示 grep '221.2.100.138'  web.access.log   gr ...

  7. Linux Shell系列教程之(十三)Shell分支语句case … esac教程

    本文是Linux Shell系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell系列教程 分支语句非常实用,基本上高级语言都支持分支语句(python 没有),大多数都使 ...

  8. 发布《Linux工具快速教程》

    发布<Linux工具快速教程> 阶段性的完成了这本书开源书籍,发布出来给有需要的朋友,同时也欢迎更多的朋友加入进来,完善这本书: 本书Github地址:https://github.com ...

  9. (原+转)简明 Python 教程:总结

     简明 Python 教程 说明:本文只是对<简明Python教程>的一个总结.请搜索该书查看真正的教程. 第3章 最初的步骤 1. Python是大小写敏感的. 2. 在#符号右面的内容 ...

随机推荐

  1. NetSuite API - SuiteScript API.js

    /* from: http://blog.csdn.net/levin_rain/article/details/8571444 */ ' Core SuiteScript Functions ' f ...

  2. asp.net中当服务器出错时显示指定的错误页面

    http://blog.csdn.net/helloxiaoyu/article/details/2943537 此篇文章描述了当异常再ASP.NET中发生时怎样使用C#.NET代码去拦截和相应异常. ...

  3. the type initializer for &#39;&#39; threw an exception

    the type initializer for '' threw an exception 问题:程序启动时初始化主窗口类时,弹出该错误.调查:查看类的构造函数是否会有异常抛出.解决:去掉类的构造函 ...

  4. javascipt学习笔记1

    一.javascript 部分 1.整理 <<javascript>> 要学习哪些章节 及核心内容? ①javascript简介 核心技术点:javascript定义 作用特点 ...

  5. linux 内存管理——内核的shmall 和shmmax 参数

    内核的 shmall 和 shmmax 参数 SHMMAX= 配置了最大的内存segment的大小 ------>这个设置的比SGA_MAX_SIZE大比较好. SHMMIN= 最小的内存seg ...

  6. Linux内核分析作业 NO.7

    可执行程序的装载 于佳心  原创作品转载请注明出处  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实 ...

  7. BZOJ1304 CQOI2009叶子的染色(树形dp)

    令f[i]表示i子树内最少染色次数,加上012状态分别表示该子树内叶节点已均被满足.存在黑色叶节点未被满足.存在白色叶节点未被满足,考虑i节点涂色情况即可转移.事实上贪心也可以. #include&l ...

  8. 面图层拓扑检查和错误自动修改—ArcGIS案例学习笔记

    面图层拓扑检查和错误自动修改-ArcGIS案例学习笔记 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com 数据源: gis_ex10\ex01\parcel.shp, ...

  9. Windows server 2012-remoteapp RDWEB修改默认端口

    RDWEBl默认是通过3389端口调用remoteapp发布的应用程序.如果要修改该端口,可按下面的方式来修改: 1.修改mstsc远程连接的端口 http://www.cnblogs.com/rus ...

  10. JaveScript之CSS变量

    大概是CSS3吧,出了一个叫CSS变量的东西,也叫自定义属性,还是比较有用的东东,可以用JavaScript灵活控制,变量作用 我们来实现一个div跟随鼠标滚动的小东西用来说明如何自定义变量 :roo ...