Linux## 阿里云
1.首先需要下载Linux系统,在官网可以很方便下载
ubuntu分为
服务器版
桌面版
Linux系统别名
红帽子
树莓派
深度桌面版 (linux操作系统)
2.你需要配套的服务器(我使用的是阿里云,主要是便宜),xshell,FileZilla Client还有一些插件Apache2 java
node等,服务器的插件安装及配置可以参考https://blog.csdn.net/weixin_43430676/article/details/106173029
3.Linux的特点:
1. 性能强劲,运行稳定,一般作为服务器
2. 整个操作系统可以被压缩成很小的一个文件,容易植入一些硬件设备中
飞行器
3. 开源免费(linux源代码)
linux -> 硬件设备
ubuntu -> 树莓派
源码
----->
使用
修改
第三方 linux()
git git版本控制 github
4. 对于初学者容易建立编程思维,是学习编程语言最好的环境
linux
c vc
java eclipse/myeclipse
c++ vc
php eclipse
web dw/ws
hello.html -> 浏览器
hello.c -编译-> hello.o -> 运行
5. 文件系统
没有盘符的概念,所有的文件都处于根目录下,目录也是一种特殊的文件
c语言
算法 -- c语言版本
c语言
数据结构 - c语言版本
操作系统(树莓派 DIY)
计算机网络 组网
数据库系统概论 mysql -> linux ->sql
select * from user where gender='male';
4.Linux的使用:
1) linux
登录方式:
win10 openssh: dos
mac 打开ssh服务:
win7 xshell
$ ssh root@ip
应用镜像,
wordpress
lamp
系统镜像
win server
centos
ubuntu16.04
ubuntu18.04
登录成功
root@VM-0-9-ubuntu:~$
root 当前账号
@ 分隔符号
VM-0-9-ubuntu 主机名称
: 分割符号
~ 当前所在目录
$ 分割符号
windows
c:/users/licy
linux
/home/licy
2. 用户管理(超级管理员身份)
root / 默认密码(重置密码)
使用root登录到ubuntu系统中
1) 创建新用户
$ adduser 用户名称
过程:
1. 新建组,组名与用户名保持一致
/etc/group 保存了组信息
2. 新建用户,并且将用户放到刚刚新建的组中
/etc/passwd 保存了用户信息
/etc/shadow 保存了用户的密码信息
3. 创建了一个家目录 /home/xxx
两居室
三居室
四居室
改善型 (平层、别墅) -小康
4. /etc/skel拷贝到用户家目录
2) 删除用户
$ userdel -r zhangsan
删除用户信息,并且将用户家目录也给删除
3) 切换用户
$ su -
4) 修改用户
$ usermod
$ usermod -g 1008 zhangsan
将zhangsan的组id换成1008
5) 修改组信息
$ groupmod
$ groupmod -n group0 boss
(未完待续...)
3. linux目录结构
/
/home 普通用户家目录
zhangsan
lisi
默认情况下,普通用户只能在用户家目录中进行更新操作(增加、删除、修改)
/root 超级管理员的家目录
/etc 系统配置文件目录
/opt 第三方文件解压安装目录
/usr 文件的默认目录
/var
/sys 系统目录
/dev
...
硬件 -> 软件
linux 云服务器
树莓派
传感器
算法
4. 目录操作
1) 新建目录
$ mkdir linux es5 es6
$ mkdir -p day01/a/b/c
2) 新建文件/修改最近访问时间
$ touch 文件名
如果指定的文明名不存在,创建该文件。如果存在,修改最近访问时间为当前时间
5. 其他命令
基础命令
1.clear 清楚屏幕
2.cd
cd + / 进入跟目录
cd + 空格 回到家目录
cd + /绝对路径
cd + ./相对路径
cd .. 返回上一次
3.ls
查看命令
ls ./ 查看指定文件夹底下的内容
ls /
ls -a 查看所有文件,包括隐藏文件
ls -A 查看所有文件.包括隐藏文件但不包括.文件和..文件
ls -l 查看文件的详细信息
drwxr-xr-x
d 文件夹 directory
rwx 当前用户对该文件的权限 可读可写可执行
r-x 同组用户对该文件的权限 不可写
r-x 其他用户对该文件的权限 不可写
4.mkdir
新建文件夹 当前路经
mkdir + 文件夹名
touch 新建文件
touch + 文件名
rmdir 删除文件夹
只能删除空文件夹
rm -r + 文件夹名
可以删除非空文件夹
rm + 文件名
删除文件,不可以删除文件夹
mv +文件名
移动
mv + 需要移动的文件/文件夹 + 目标路径
cp
复制
cp + 本体 + 复制之后的文件名
pwd
显示当前所在路径
more
more +文件的路径/文件名预览文件
tail
tail + 文件的路径/文件名 预览文件的后10行
head
head + 文件的路径/文件名 预览文件的前10行
man
man + 具体的命令
帮助文档
用户相关
1.adduser + 名字
新建一个用户
2.userdel + 名字
删除一个用户
userdel + -r + 名字
完全删除用户
3.su -用户名
完全切换
root切换到普通用户不需要输入密码
普通到普通需要密码
普通到root需要密码
root@cyl:~#
root 当前用户是谁
@ 分隔符
cyl 主机名
: 分隔符
~ 当前路经
修改主机名
/etc/hostname
修改密码
passwd 用户名
/etc/passwd 用户信息
/etc/shadow 用户密码
id 用户名 查看用户的id和分组
groupmod 修改组名
groupmod -n 新名字 旧组名
usermod -g 组id 用户名
把用户移动到指定分组
groupdel 组名
删除组
su
切换用户
表示不完全切换
- 表示完全切换
----------------------------------------------------------------------------
date 输出当前日期
calendar 输出日历
> 注入 ,重定向
把输入的内容注入到某个文件
压缩
1.gzip
压缩:gzip 文件名
解压缩: gunzip 压缩文件.gz
2.bzip2
压缩:bzip2 文件名
解压缩:bunzip2 文件名.bz2
整体压缩:bzip2 *.txt all.txt.bz2
打包压缩
安装
apt-get install zip
为用户授权
压缩:zip 压缩后的文件名字 文件名
解压缩:unzip
解压到当前目录下
unzip 压缩文件名 -d 要放的地址
cat
预览文件,可以预览多个文件
cat 文件名 文件名
nl 预览文件设置行号
nl 文件名
tac 将文件内容倒叙展示
tac 文件名
卸载某个软件
apt-get remove --purge 具体软件名
grep 筛选
进程相关的
ps -ef | gref java 筛选出Java相关的进行
java -jar 文件名(jar包名字) 运行jar
nohup java -jar 文件名 后台运行jar
kill -9 进程号 退出进程
修改权限
1.chmod o+w
o 其他用户
w 自己本身
g 同组用户
w 写
r 读
x 可执行
eg: chmod g+w index.html
2.chmod
chmod 776 index.txt
xxx
同组成员 7
group 7
other 6
rwx
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-w 101 5
rw- 110 6
rwx 111 7
给用户添加sudo权限:在root用户下执行命令:vi /etc/dudoers
如下图,然后把root那一行复制一份,名字改成zhangsan,就给用户zhamgsan授予一个sudo权限
三种模式
命令行模式
其他两种模式按 esc ------> 命令行模式
命令行模式 ------> 编辑模式
I 在光标所在的当前行的前面进行输入
i 在光标所在当前字符之前插入
A 在光标所在的当前行的后面进行输入
a 在光标所在当前字符之后插入
O 在当前行之前插入一行
o 在当前行之后插入一行
1.删除
dd 删除当前一行
3dd 删除包括当前的三行
x 删除当前字符
3x 删除包括当前的三个字符
dw 删除一个单词,删除光标之后的内容
3dw 删除连续3个单词
2.复制
yy 复制一行
3yy 复制三行
yw 复制一个单词
3yw 复制三个单词
p 粘贴
底行模式
1.:set 参数
临时
:set nu 设置临时的序/行号参数
:set autoindent
设置缩进,和上一行保持一致
:set tabstop = xxx
设置tab缩进
2.定位光标的位置
:n 将光标跳转到第n行
:$ 跳转到最后一行
3.保存
:w 保存
:q 退出
:wq 保存并退出
:wq! 强制保存并退出
:w! 强制保存
:q! 强制退出
:w 文件名
当前文件另存为...
默认保存在当前路经下
4.查找
:/字符 当前行往下寻找
n 寻找下一个
N 寻找上一个
:?字符 当前行往上
n 上一个
N 下一个
5.替换
:n,ms/old/new/g
n:开始行
m:结束行
old:被替换的字符
new:同来替换的字符
g:全局替换
6.移动
:17,19co20
把17到19行复制到20行下
:16,20m 23
从16到20行移动到23行
7.分屏
:split 分屏
:close 关闭分屏
编辑模式
低行模式 <---->命令行模式 <-----> 编辑模式