操作键
|
功能
|
空格键
|
显示手册页的下一屏
|
Enter键
|
一次滚动手册页的一行
|
b
|
回滚一屏
|
f
|
前滚一屏
|
q
|
退出
|
远程管理常用命令
关机/重启
shutdown 选项 时间 关机/重新启动
shutdown命令可以安全关闭或者重新启动系统
-r 重新启动
不指定选项和参数,默认一分钟后关闭电脑
远程维护服务器时,最好不要关闭系统,应该重新启动系统
常用命令实例
$ shutdown -r now 立即重启操作系统
$ shutdown now 立即关机
$ shutdown 20:25 在20:50关机
$ shutdown +10 十分钟后关机
$ shutdown -c 取消之前指定的关机计划
查看或配置网卡信息
网卡是一个专门负责网络通讯的硬件设备
IP地址是设置在网卡上的地址信息
ifconfig 查看/配置计算机当前的网卡配置信息 configure a network interface
Windows ipconfig
一台计算机中可能会有一个物理网卡和多个虚拟网卡,在Linux中物理网卡的名字通常以ens
表示
127.0.0.1 被称为本地回环/环回地址,一般用来测试本机网卡是否正常
ping ip地址 检测目标ip地址连接是否正常
ping 127.0.0.1 检测本地网卡工作正常
ping一般用于检测当前计算机到目标计算机之间的网络是否通畅,数值越大,速度越慢
原理:网络上的机器都有唯一的ip地址,我们给目标IP地址发送一个数据包,对方就要返回一个数据包,根据返回的数据包以及时间,我们可以确定目标主机是否存在
CTRL+C 终止终端程序的执行
远程登陆和复制文件
ssh 用户名@ip 关机/重新启动
在Linux中ssh是非常常用的工具,通过ssh客户端我们可以连接到运行了ssh服务器的远程机器上,数据是加密和压缩的。
SSH客户端是一种使用secure shell(ssh)协议连接到远程计算机的软件程序
ssh是目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议
利用ssh协议可以有效防止远程管理过程中的信息泄露
通过ssh协议可以对所传输的数据进行加密,防止DNS欺骗(攻击者冒充域名服务器https://baike.baidu.com/item/DNS欺骗)和IP欺骗(伪装成被信任主机https://baike.baidu.com/item/ip地址欺骗/7838200)
域名和端口号
域名:由一串用点分割的名字组成,例如:https://baike.baidu.com/item/域名。域名是ip地址的别名,方便记忆。
端口号:通过端口号可以找到计算机上运行的应用程序
SSH服务器的默认端口号是22,如果是默认端口号,在连接时可以省略
常见服务端口号列表:
序号 |
服务 |
端口号 |
1 |
SSH服务器 |
22 |
2 |
Web服务器 |
80 |
3 |
HTTPS |
443 |
4 |
FTP服务器 |
21 |
SSH客户端的简单使用
ssh [-p port] user@remote
user 是在远程机器上的用户名,如果不指定的话默认为当前用户
remote 是远程机器的地址,可以是IP/域名,或者是后面提到的别名
port 是SSH Server监听的端口,如果不指定,就为默认值22
使用exit退出当前用户登陆
Windows下安装PuTTY或XShell(http://xshellcn.com)客户端软件
在工作中,SSH服务器的端口号很可能不是22,需要用-p选项,指定正确的端口号
Xhell连接Linux百度经验 https://jingyan.baidu.com/article/3aed632e2b68da70108091d2.html
ssh连接失败经验csdn https://blog.csdn.net/junbujianwpl/article/details/50936995
scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 远程复制文件
scp secure copy,是一个Linux下进行远程拷贝文件的命令
它的地址格式与ssh基本相同,需要注意的是,在指定端口时用的是大写 -P 而不是小写的
scp -P port 01.py user@remote:Desktop/01.py
把本地当前目录下的01.py文件复制到远程家目录下的Desktop/01.py。如果‘:’后面的路径不是绝对路径,则以用户的家目录作为参照路径
scp -P port user@remote:Desktop/01.py 01.py
把远程家目录下的文件复制到本地当前目录下
scp -r demo user@remote:Desktop
-r 选项可以传送文件夹
把当前目录下的demo文件夹复制到远程家目录的Desktop
scp -r user@remote:Desktop/demo demo
把远程Desktop目录下的demo文件夹复制到当前目录下的demo文件夹
-r 若给出的源文件是目录文件,则scp
将递归复制该目录下的所有子目录和文件,目录文件必须为一个目录名
-P 若远程SSH服务器的端口不是22,则需要使用大写字母-P选项指定端口
scp这个终端命令只能在Linux或者UNIX系统下使用
如果在Windows系统中,可以安装puTTY,使用pscp命令行工具或者安装FileZilla 使用FTP进行文件传输
FileZilla https://www.filezilla.cn/download/client
Filezilla在传输文件时,使用的是FTP服务,不是SSH服务,因此端口号应该设置为21
在FileZilla 中:
- 用sftp协议连接Server ,需要用port 22
- 用ftp协议连接Server, 用port21
FTP,FTPS,SFTP区别 https://blog.csdn.net/shmilychan/article/details/51848850
ssh高级
免密码登陆
配置公钥
执行ssh-keygen 即可生成SSH钥匙,一路回车
上传公钥到服务器
执行ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥
非对称加密算法
使用公钥加密的数据,需要使用私钥解密
使用私钥加密的数据,需要使用公钥解密
配置别名
gedit config 使用gedit创建并打开config
在~/.ssh/config 里面追加以下内容
Host 别名
HostName IP地址
User 用户名
Port 22
保存之后,即可以用 ssh 别名 实现远程登陆了,scp同样可以使用
用户权限相关命令
用户和权限的基本概念
用户是Linux系统工作中重要的一环,用户管理包括用户和组管理
在Linux系统中,不论由本机或远程登陆系统,每个系统必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限
在Linux系统中,可以指定每一个用户针对不同的文件或者目录的不同权限
权限 |
英文 |
缩写 |
数字代号 |
读 |
read |
r |
4 |
写 |
write |
w |
2 |
执行 |
excute |
x |
1 |
组
为了方便用户管理
实际应用中,可以先针对组设置权限,然后将不同的用户添加到对应的组中
ls -l 拓展
ls -l 可以查看文件夹下文件的详细信息,从左到右依次为
权限,第一个字符如果是d表示目录
硬链接数,就是有多少种方式可以访问到当前目录/文件下图祥解
拥有者,家目录下文件/目录的拥有者通常是当前用户
组,在Linux中,会出现组名和用户名相同的情况
大小
时间
名称
chmod可以修改用户/组对文件/目录的权限
chmod +/-rwx 文件名/目录名
会一次性修改拥有者/组的权限
超级用户
Linux系统中root账号通常用于系统维护和管理,对操作系统的所有资源具有所有访问权限
在大多数版本的Linux中,都不推荐直接使用root账户登陆系统
在Linux安装过程中,系统会自动创建一个用户账户,而这个默认的用户就称为标准用户
sudo
su是substitute user的缩写,表示使用另一个用户的身份
sudo命令用来以其他身份来执行命令,预设的身份为root
用户使用sudo时,必须输入密码,之后有五分钟有效期限,超过期限必须重新输入密码
若未经授权的用户企图使用sudo,则会发警告邮件给管理员
组管理终端命令
创建组/删除组的终端命令都需要sudo执行
groupadd 组名 添加组
groupdel 组名 删除组
cat /etc/group 确认组信息 (组信息保存在 /etc/group 文件中)
chgrp -R 组名 文件/目录名 修改文件/目录的所属组
组信息保存在 /etc/group 文件中
/etc 目录时专门用来保存系统配置信息的目录
用户管理终端命令
useradd -m -g 组 新建用户名 添加新用户 -m自动建立用户家目录 -g指定用户所在的组,否则会建立一个和用户名同名的组
passwd 用户名 设置用户密码 如果是普通用户,直接用passwd可以修改自己的账户密码
userdel -r 用户名 删除用户 -r选项会自动删除用户家目录
cat /etc/passwd | grep 用户名 确认用户信息 新建用户后,用户信息会保存在/etc/passwd 文件中
提示:
创建用户时,如果忘记添加-m选项下指定新用户的家目录,可以删除用户,重新创建
创建用户是,默认会创建一个和用户名同名的组名
用户信息保存在/etc/passwd 文件中
查看用户信息
id[用户名] 查看用户UID(用户代号)和GID(组代号)信息
who 查看当前所有登陆的用户列表
whoami 查看当前登陆用户的账号名who am i
passwd文件
/etc/passwd文件存放的是用户信息,有六个分号组成的七个信息分别是:
1,用户名
2,密码(x,表示加密的密码)
3,UID(用户标识)
4,GID (组标识)
5,用户全名或本地账号
6,家目录
7,登陆使用的Shell,就是登陆后,使用的终端命令,Ubuntu默认是dash
usermod
usermod可以用来设置用户的主组/附加组和登录Shell,命令格式如下:
主组:通常在新建用户时指定,在etc/passwd的第四列GID对应的组
附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加组
提示:设置了用户的附加组之后,需要重新登陆才能生效!
usermod -g 组 用户名 修改用户的主组(passwd中的GID)
usermod -G 组 用户名 修改用户的附加组
usermod -s /bin/bash 用户名 修改用户登陆的Shell(可以输入终端命令的窗口,一个软件)
Ubuntu默认时dash,在Windows下应使用bash
注意:默认使用useradd添加的用户没有权限使用sudo以root身份执行命令的,可以使用以下命令,将用户添加到sudo附加组中
usermod -G sudo 用户名
which
提示:
/etc/passwd 是用于保存用户信息的文件
/usr/bin/passwd 是用于修改用户密码的程序
which命令可以查看执行命令所在的位置
bin和sbin
在Linux中,绝大多数可执行文件都是保存在 /bin,/sbin,/usr/bin,/usr/sbin
/bin(binary)是二进制执行文件目录,主要用于具体应用
/sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
/usr/bin(user command for applications)后期安装的一些文件
/usr/sbin(super user commands for application)超级用户的一些管理程序
提示:
cd 这个终端命令是内置在系统内核中的,没有独立的文件,因此用which无法cd命令的位置
切换用户
su - 用户名 切换用户,并且切换目录 ’-‘可以切换到用户的家目录,否则保持当前位置不变
exit 退出当前登录用户
su 不接用户名,可以切换到root,但是不推荐用户,不安全
修改文件权限命令总结
chown 修改拥有者
chgrp 修改组
chmod 修改权限
chown 用户名 文件名/目录名 修改文件/目录的拥有者
chgrp -R 组名 文件名/目录名 递归修改文件/目录的组
chmod -R 755 文件名/目录名递归修改文件/目录的权限
chmod 在设置权限时,可以简单地使用三个数字分别对应拥有者/组和其他用户的权限
7:4’r‘,2’w‘,1’x‘ 可读可写可执行
5:4’r‘,1 ’x‘ 可读可执行
6:4‘r’,2‘w’ 可读可写
统信息相关命令
查看服务器上当前系统日期和时间/磁盘空间,占用情况/程序执行情况
目标
时间和日期
data
cal
磁盘和目录空间
df
du
进程信息
ps
top
kill
1,时间和日期
cal 查看日历,-y选项查看一年的日历
date 查看系统时间
2,磁盘信息
df -h diskfree显示磁盘剩余空间
du -h[目录名] disk usage显示目录下文件大小
选项说明
-h以人性化方式查看文件大小
3,进程信息
进程:当前正在执行的一个程序
ps a/u/x process status 查看进程的详细情况
top 动态显示运行中的进程并且排序
kill [-9] 进程代号 终止指定代号的进程,-9表示强行终止
ps 默认只会显示当前用户通过终端启动的应用进程
ps 选项说明
a 显示终端上的所有进程,包括其他用户的进程
u 显示进程的详细状态
x 显示没有控制终端的进程
提示:使用kill命令时,最好只终止由当前用户开启的进程,而不是终止root身份开启 的进程否则会导致系统崩溃
退出top可以直接输入q
其他命令
查找文件
find
软链接
ln
打包和压缩
tar
软件安装
apt-get
1,查找文件
· find 命令功能非常强大,通常用来在特定的目录下搜索符合条件(文件名/大小/文件权限,,,)的文本
find [路径] -name '*.py' 查找指定路径下扩展名为 .py 的文件,包括子目录
· 如果省略路径表示在当前文件夹下查找
· 之前学习的通配符,在使用 find 命令时同时使用
2,软链接
ln -s 被链接的文件 链接的文件名
作用:建立文件的软链接,类似于windows下的快捷方式
· 注意:
没有 -s 选项建立的是一个硬链接文件(两个文件占用相同大小的硬盘空间)
源文件要使用绝对路径,不能使用相对路径,这样可以方便移动软链接文件后,仍能正常使用
源文件删除,软链接当然就失效
硬链接
在Linux中,文件名和文件的数据是分开存储的
只有文件的硬链接数 == 0 才会被删除
ls -l 查看文件的硬链接数
3,打包和压缩
· 打包压缩,不同操作系统中,常用的打包压缩方式不同
Windows 常用 rar
Mac 常用 zip
Linux 常用 tar.gz
3.1 打包/解包
· tar 是Linux中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件
· tar -cvf 打包文件.tar 被打包的文件/路径,,, 打包文件
· tar -xvf 打包文件.tar 解包文件
· tar 选项说明
c 生成档案文件,创建打包文件
x 解开档案文件
v 列出归档/解档的详细过程,显示进度
f 指定档案文件名称,f 后面一定是 .tar,所有必须放选项后面
注意:f 选项必须放在最后
3.2压缩/解压缩
gzip
· tar 和 gzip 命令结合实现文件的打包与压缩
· tar 只负责打包
· 用gzip压缩tar打包后的文件,其拓展名一般用 xxx.tar.gz
· 在tar命令中有一个选项 -z 可以调用gzip ,方便实现打包压缩功能
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径 压缩文件
tar -zxvf 打包文件.tar.gz 解压缩文件
tar -zxvf 打包文件.tar.gz -C 目标路径 解压缩到指定路径
-C 解压缩到指定路径。注意:要解压缩的目录必须存在,提前创建
bzip2
· tar 只负责打包
· 用bzip2压缩tar打包后的文件,其拓展名一般用 xxx.tar.bz2
· 在tar命令中有一个选项 -j 可以调用bzip2 ,方便实现打包压缩功能
tar -jcvf 打包文件.tar.bz2 被压缩文件/路径 压缩文件
tar -jxvf 打包文件.tar.bz2 解压缩文件
tar -jxvf 打包文件.tar.bz2 -C 目标路径 解压缩到指定路径
4,软件安装
4.1 通过apt安装/卸载软件
· apt 是Advanced Packaging Tool,是Linux下的一款安装包管理工具
· 可以在终端中方便地安装/卸载/更新软件包
sudo apt install 软件包 安装软件
sudo apt remove 软件包 卸载软件
sudo apt upgrade 软件包 更新软件
sl 软件
htop 软件
4.2配置软件源
·如果希望在Ubuntu中安装软件,更加快速,可以通过设置镜像源,选择一个访问网速更快的服务器来提供下载/安装服务
·提示:更换服务器后,需要一个较长时间的更新过程。
所谓镜像源,就是所有服务器的内容是相同的(镜像),国内的服务器下载速度快