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: 文件传输协议
安装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查看下一个)