xshell:连接远程服务器
小黄鸭:文件传输的图形化界面
- 在小黄鸭根目录下var/www/html即apache
- 上传文件
- 访问:http://ip:80/demo/index.html
轻量级用户 http://ip:80
一、什么是Linux
Linux是一个操作系统的内核(类似于Windows系统)
unix:收费,常用于大型项目的商业用途
linux:开源免费
Ubuntu:基于linux的桌面操作系统(类似于win7win10是基于Windows的桌面操作系统)
二、特点
-
安全性
linux针对多用户的系统
针对不同用户,linux设定了不同用户权限/属性,普通用户不能直接操作系统文件/敏感文件,只有root超级管理员才可以 -
性能强,稳定性高
对硬件要求不高(不用经常关机也可以)
适用于做服务器使用 -
开源免费
-
可压缩
可以压缩成很小植入到硬件设备中 -
适合初学者建立编程思想
vi编辑器 -
文件系统
Windows:c:/ d:/linux:黑屏界面
/:根目录
/home:所有普通用户的家目录
/root:超级管理员root的家目录
~:当前用户家目录
/etc:系统配置目录
1./etc/group:用户分组目录
2./etc/passwd:用户信息
3./etc/shadow:用户密码信息
/sys:系统目录
/var:静态文件存放目录
/opt:第三方压缩文件存放目录
三、安装
- 虚拟机
- 双系统
- 云服务器(推荐):Ubuntu16.04
四、登录
mac:直接通过命令行工具
ssh 用户名@ip 密码
Windows:
打开xshell,输入ip 用户名 密码
五、命令
1.普通/常用命令
clear:清屏
cd:切换位置
- cd ./切换到当前目录,相当于没切换(相对路径)
- cd…/ 切换到上一级
- cd /home 切换到普通用户的家目录
- cd / 切换到根目录(绝对路径)
man:显示当前命令的介绍 eg:man ls
ls:list
- ls:以列表的方式列出当前文件夹内的文件
- ls /home:以列表方式列出/home文件夹内的文件
- ls -a:将所有文件包括入口文件显示出来(包括隐藏文件)
- ls -l:以长列表的形式显示所有文件的信息
head:预览当前文件的前十行
tail:预览当前文件的后十行
more:预览当前文件所有行(例如想要选择demo.txt进行预览,可以输入d+tab系统自动补全;不想看就Ctrl+c结束)
pwd:展示当前所在目录结构
Ctrl+d:断开远程连接
上下键:直接得到上一个/下一个命令
2.用户操作
添加用户:adduser 用户名
此命令相当于执行以下几个步骤:
1.创建用户
2.创建和用户同名的分组
3.将新建的用户存放到新建的同名分组下
4.在/home下创建用户文件夹 /home/tom
5.从/etc/skel复制当前文件到用户目录
6.设置密码
7.信息重置
删除用户:userdel -r 用户名
修改用户信息:
usermod
eg:usermod -g 1005 用户名(把用户的分组id修改为1005)
查看用户信息
id
切换用户
1.Ctrl+d直接断开root连接,转而连上普通用户
2.su - 普通用户
su - root或su -
退出用户登录
exit
3.文件操作
新建文件夹
mkdir dir(文件夹名称)
mkdir dir1 dir2……(可一次性创建多个文件夹)
级联创建:
mkdir -p dir1/dir2(将dir2创建在dir1下)
新建/修改文件:
此含义为,若选中的是当前文件夹下没有的文件即“新建”,若选中的是当前文件夹下已有的文件即“修改”
touch a.t xt
echo “想要输入的文本”>>a.txt(在创建a.txt的同时在其中输入文本内容)
vi a.txt
查看文件详情:
stat a.txt
复制
cp a.txt b.txt(复制a.txt到b.txt)
cp -r dir1 dir2(通常对文件夹的操作要加-r,也有不加的情况)
移动
mv a.txt b.txt(移动a.txt到b.txt)
mv dir1 dir2
删除
rm a.txt b.txt 删除文件
- rm *.txt(删除所有txt)
rm -r dir 删除一个文件夹及其下所有文件
- rm -r *(删除所有内容)
rm -ir 文件夹:逐一询问是否要删除文件夹内的每一个文件
rm -Ir 文件夹:询问一次,不管文件夹几层嵌套只询问一次以防误操作
打包/压缩文件
.gz(单文件压缩)
- 压缩:gzip a.txt
- 解压:gunzip a.txt.gz
.bz2(单文件压缩)
- 压缩:bzip2 a.txt b.txt……
- 解压:bunzip2 a.txt.bz2
.zip(合并压缩) 待安装
- 压缩:zip all.zip *.txt(把所有.txt压缩成为all.zip)
- 解压:
1.unzip all.zip
2.unzip all.zip -d dir(解压文件输出到一个叫dir的文件内)
4.软件安装
-
apt
Apache,git……
apt install 软件名称 -
解压安装
node
MySQL
……
5.权限管理
ls-l查看文件信息,例如我们可以得到drwxr-xr-x 3 root root 4096 Feb 23 14:31 home
d rwx r-x r-x 当前文件操作权限
d:文件类型
d:文件夹
-:普通文件/压缩包
b:设备文件
p:管道文件
l:链接文件
rwx(u) r-x(g) r-x(o):权限
当前用户权限(u)
同组人权限(g)
其他人权限(o)
r:read可读性
w:write可写性
x:excute可执行
3 当前文件连接数
root 当前文件所属用户
root 当前用户所属分组
4096 当前文件大小
Feb 23 14:31 当前文件最后一次创建/修改时间
home 文件名称
修改权限 chmod
1.表达式
chmod g+w 用户名(使同组人权限增加可写权限)
chmod o-r 用户名(使其他人权限减去可读权限)
2.二进制
–x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
每个数字代表一组权限
eg:chmod 644 a.txt
六、vi编辑器
打开vi编辑器
1.直接打开编辑器
$ vi ——> 输入内容后:wq a.txt以a.txt另存为
2.打开文件
$ vi a.txt
3.打开文件的同时定位光标
$ vi +number a.txt(number代表行号)
vi命令操作的三种模式
- 命令行模式(是输入模式与底行模式两个模式之间进行改变的中间桥梁)
命令行模式——>i/a/o/I/A/O/s/S——>插入模式
命令行模式——>:或/(/用于检索)——>底行模式
对文档整体进行操作
命令:esc进入命令模式
yy,p复制粘贴
nyy,p复制n行并粘贴
dd删除
ndd删除n行
u撤销
- 插入/编辑模式(i 编辑状态)
插入模式——>esc——>命令行模式
命令行模式——>:或/——>底行模式
用于编写
i在当前光标位置插入文本
I在当前光标所在行的第一个字符插入文本
a在当前光标后一位插入文本
A在当前光标所在行的最后一个字符插入文本
o在当前光标所在行下一行插入新行
O在当前光标所在行上一行插入新行
s删除当前光标所在字符,然后插入
S删除当前光标所在行,然后插入
- 底行模式
底行模式——>使用两次esc——>命令行模式
底行模式——>使用两次esc进入命令行模式,然后i/a/o/s/I/A/O/S——>插入模式
:->保存
/ ->筛选或检索
对文件进行保存,对内容进行检索或筛选
:set nu 显示行号
:set nonu 不显示行号
:wq 保存并退出
:w 保存不退出
:q 不保存,直接退出
! 强制
:q! 强制退出
:wq! 强制保存并退出
:1,4co10 将1-4行复制到第10行
:1,4co$ 将1-4行复制到文档末尾
:1,4m10 将1-4行移动到第10行
/terry 全文搜索terry字符并将光标定位于此。若有多个terry,按n字符切换到下一个
配置
设置当前用户永远有行号:
在当前用户下键入命令vi ~/.vimrc,之后set nu
- 手动配置
~/.vimrc
1.cd ~
2.ls -a
3.vi .vimrc - 自动配置(利用第三方框架spf13-vim)
sudo:临时调用超级管理员权限执行命令
进入/etc下的sudoers file,在大约19行的位置设置一个添加用户权限