目录
购买云服务器,重装系统,作者购买的腾讯云个人的云服务器,系统装TencentOS

Linux(like unix),Windows,Unix
Linux操作系统主要做OS的内核(进程管理,网络管理,内存管理,驱动管理)
Linux各种发行版:Ubuntu,CentOS,RedHat,SuSE
1,具备一个ssh客户端
2,知道云服务器的公网ip
3,云服务的ssh服务器对外的监听端口:默认是22端口
4,云服务器的用户名和密码
命令行操作和文件传输
命令行执行命令
文件传输

使用树形结构进行组织
文件可以分为目录,一类分为普通文件(都视为书上的普通节点)
描述文件路径:
绝对路径:从根触发的路径
相对路径:从当前位置触发的路径
路径中的分隔符不同
windows采用 "\" 进行分割
Linux采用 "/" 进行分割
windows存在盘符,是有不同分区的,是由好几棵树组成,不同盘符的根不同

Linux只有一个根,就是 /


usr:用户安装软件的目录
如果用户输入了一个死循环的命令,终止循环的操作是:Ctrl + C

自己写程序作为命令:


为什么我们自己写的程序需要使用路径执行,而类似 ls 这种命令可以不需要路径呢?
原因在于环境变量的配置

可以看到在/user/local/sbin , /usr/local/bin , /usr/bin , /usr/sbin , /root/bin 下的文件都配置了环境变量,所以他们下面编译好的文件,可以直接使用文件名就可以编译,因此我们可以将自己编译好的文件,放在/root/bin目录下,直接输入文件名也可以执行
查看运行路径的命令:which ls
which ls

whereis ls
whereis ls 和which ls 的功能是一样的。
输入的第一个字符串是命令 , 后面使用空格隔开的字符串,会按照空格进行分割成字符串,将这些字符串传到命令中去执行,得到结果
如果参数中想要出现空格,直接使用 " " 将含有空格的字符串引入,就可以将空格传入到参数中。
自动补全命令:Tab键,当输入的串有多个命令匹配时,连续按下两次Tab,就会列出所有的候选命令。
自动补全路径:Tab键
清屏:clear 或 Ctrl + L
文本的复制粘贴:

1,我是谁
who
whoami
2,我在哪 pwd
pwd
(print working direction)
3,我的周围有什么 ls
ls
(list file)列出周围的文件
ls --help :查看帮助命令

ls -l:列出文件的权限,文件的用户和组,文件大小,文件最后修改时间,文件名

ls -a == ls -all 其中-a 是短指令, ls -all是长指令,短指令可以符合使用
例如:ls -la : -l 列出文件的详细信息,-a 列出当前目录下的全部信息。所以ls -la表示列出当前目录下所有文件的详细信息。
cd :切换目录 - 》change directory
cd.. :返回上一级目录
cd path : 进入到path目录
cd /root/bin :进入root下的bin目录
cd - :返回到上一级目录
cd 或 cd ~ : 一键返回到用户目录下。
touch :如果文件不存在,可以起到创建一个新的文件的作用,文件内容为空
:如果文件存在,会修改文件的最后修改时间
- touch a.txt //创建一个空文件,如果再次调用
- touch a.txt //会更新a.txt 的最后修改时间
cat : 查看文件内容
cat -n : 不断展示文本文件,还展示行号
cat hello.txt -n //会输出文件的内容,并且每行行号都标出
cat :读取标准输入的内容,写到标准输出上
- cat
- hello //会输出hello
- cat -n
- hello //会打印行号 + hello
Ctrl + D终止输入 ,Ctrl + c 结束程序
tac :逆序输出
mkdir : 创建文件
mkdir 目录名:创建文件目录 ,只能一级级的创建
mkdir -p 目录名:可以创建多级目录
rm : 删除文件
rm 文件路径 :删除普通文件
rm - r 递归目录文件:删除目录 -r :recursive :递归的意思,所以删除文件夹,就是递归删除子文件,遍历也是 ls -r : 递归遍历所有的文件。
rm -i --interative (交互式)文件名 : //每次删除一个文件时,都要询问是否被删除,当用户输入y时,就会删除,其他命令不删除
rm -f --force (强制的) 文件名 : //每次删除文件,都不会咨询是否删除,直接删除
要删除文件夹:要使用-r才能删除
通配符:* :
rm -rf *.java //删除以.java结尾的文件名
mv : 文件的复制和移动
如果是普通文件:就视为移动节点,或者修改文件名
mv hello.txt peiqi.txt //在同一级目录中,将hello移动成peiqi,就等于重命名
如果是目录文件:将目录作为一个根节点移动到另一个位置
mv dir1 dir2 :将dir1移动到dir2中去
cp : 文件的复制
普通文件的复制:节点复制
cp hello.txt peiqi.txt :复制hello到当前目录下,文件名为peiqi
目录文件复制:递归复制节点下的所有节点,如果文件中由重名文件,子咨询是否覆盖
cp dir1 dir2 : 复制dir1到dir2中
man命令: 打开命令帮助手册
man mv : 删除命令的帮助文档
显示文本文件的内容的命令:cat / more / less /head / tail
more 文件名 : 查看文本内容,定位到首页,每次显示一页,按tab换页
less 文件名:查看文本内容,定位到首页,可通过上下键移动,按q退出
cat 文件名:查看文本内容,定位到尾页
head 文件名:显示文本的前多少行 ,默认是10行
tail 文件名: 显示文本文件的后多少行,默认为10行
head -n 1 pom.xml 只显示第一行
无论是那个命令,都跟cat一样,如果没有指定文件路径,则从标准输入读取内容,写入到标准输出中。

管道:

cat new.txt | head -n 10 | tail -n 3

wc 文件名 : 统计行数
grep :gnu组织下开发的rep命令
grep 字符串 文件名 : 进行文本匹配的命令,只输出包含指定文件字符串的内容

grep 字符串 : 从标准输入中读取只包含该字符串的行

1,统计行数:wc -l access.log
2,统计get请求的次数:
将包含GET的行分割,输出到下一个进程中,在使用wc -l 统计行数
3,统计每个url请求的次数

4,统计get请求不同的url的次数

5,统计不同方法的请求次数

1,输入重定向:修改了进程的标准输入 : <
2,输出重定向:修改了进程的标准输出
1,追加模式: >> 2,覆盖模式: >
3,错误重定向:修改了进程错误输出
1,追加模式: 2>> 2,覆盖模式: 2>
0:标准输入 ,1:标准输入 ,2 :标准错误输出
find:查找命令
vim:文本编辑命令,按exc :wq退出
ps aux :查看进程命令
ps -elf:查看进程命令
这两个命令相当于快照
top:动态的观察进程
free -m :按照M为单位计算内存
iostat:查看io使用情况
netstat:查看网络状态
netstat -na :以数字的形式,列出所有的网络状态
netstat -nat : 以数字形式,列出所有的tcp网络状态
netstat -nlt :艺术字形式,列出所有处于listening状态的tcp
netstat -nltp :艺术字形式,列出所有处于listening状态的tcp,查看是哪个进程在监听
netstat -nltp | grep 22 :显示那个线程在监听22端口的tcp连接,如果没有处于该状态的网络,则不显示