第一章
操作系统:调度和管理计算机硬件进行工作
Linux系统:系统级应用程序+Linux系统内核
Linux发行版:人们获得并修改内核,并且自行集成系统级程序
主要基于CentOS操作系统,辅助Ubuntu系统
VMware:虚拟机
FinalShell:协助window系统和Linux连接
第二章
1.Linux目录结构
Linux没有盘符概念,只有一个根目录/,所有文件都在它下面(只有一棵树)
路径之间层级关系:Linux系统/ Window系统\
/usr/local/hello.txt 开头/表根目录,后面/表层级关系
2.Linux命令基础
command [-options] [paramater]
command:命令本身
-options:(选填)命令的一些选项
parameter:(选填)命令的参数
3.ls命令
列出当前目录下的内容(默认HOME目录)
ls [-a -l -h] [Linux路径]
HOME目录:用户在Linux系统的专属目录,默认在:/home/用户名
查看根目录下面的内容
ls /
-a:all的意思,列出全部文件(包含隐藏的文件)
linux系统中前面带.的为隐藏文件
-l:以列表(竖向排列)的形式展示内容,并展示更多信息
选项可以组合使用:ls -l -a ls -la ls-al
-h:以易于阅读的形式,列出文件大小,如K、M、G
4.cd命令
更改当前所在的工作目录
cd [Linux路径] 要切换到哪个目录下
不写参数会回到用户的HOME目录
5.pwd命令
查看当前所在的工作目录
6.路径
绝对路径:根目录为起点,以/开头
相对路径:以当前目录为起点,无需以/开头
特殊路径符:
. 当前目录
.. 上一级目录
~ HOME目录
7.mkdir命令
创建新的目录(文件夹)
mkdir [-p] Linux路径
-p选填,表示自动创建不存在的父目录(一次创建多个层架目录,将一整条链表都创建完成)
清屏:clear
8.touch-cat-more-命令
touch:创建文件
touch Linux路径(必填)
ls -l (d开头为文件夹,-是一个文件)
cat:查看文件的内容
cat Linux路径(必填)
more:查看文件内容
more Linux路径(必填)
cat是直接将内容全部显示出来,more支持翻页如果文件内容过多可以一页页展示
more进文件查看:空格翻页,q退出查看
9.cp-mv-rm-命令
cp:复制文件或文件夹
cp [-r](可选) 参数1 参数2
-r:复制文件夹使用,表示递归
mv:移动文件或文件夹
参数1:Linux路径,表示被复制的文件或文件夹
参数2:Linux路径,表示复制要去的地方
如果目标不存在,要改名(将参数1改为参数2的名字存在)
rm:删除文件或文件夹
rm [-r -f] 参数1 参数2 ..... 参数n
-r:删除文件夹
-f:强制删除(普通用户删除内容不会弹出提示,只有root管理员用户删除内容有提示)
rm支持通配符*,用来模糊搜索
超级管理员
10.which-find命令
Linux命令,本体为一个个的二进制可执行程序
which 要查找的命令 查看所使用的一系列命令的程序文件存放在哪里
find
以文件名查找文件 find 起始路径 -name "被查找文件名"
起始路径:表明从哪个盘开始搜索
以文件大小查找文件 find 起始路径 -size +或-n[kMG]
+或-表大于小于
n表大小数字
k为kb,M为MB,G为GB
11.grep-wc-管道符
grep [-n] 关键字 文件路径
找出关键字都在哪些行
-n:可在结果中显示匹配的行的行号
关键字:如果有空格或者其他特殊符号,要用""将关键字包围起来
文件路径:可作为内容输入端口
wc [-c -m -l -w] 文件路径
统计文件的行数、单词数量
-c:bytes数量
-m:字符数量
-l:行数
-w:单词数量
管道符 |
将管道符左边命令的结果,作为右边命令的输入
12.echo-tail-重定向符
echo 输出的内容
用echo命令在命令行内输出指定内容
复杂内容可用" "包围
反引号 `(esc下面的键)
``包围的内容,会被作为命令执行,而不是普通字符被直接输出
重定向符:>和>>
> 将左侧命令的结果,覆盖写入到符号右侧指定的文件中
>> 将左侧命令的结果,追加写入到符号右侧指定的文件中
tail [-f -num] Linux路径
查看文件尾部内容,跟踪文件的最新修改
-f:持续跟踪 将CentOS系统复制一个,再复制的那个里面输入,原来的会持续跟踪显示
-num:查看尾部多少行,不填默认10行 直接写数字 -5这种
13.vi编辑器
文本编辑器
vim为vi的升级版,更方便,用哪个都行
命令模式
vim 文件路径 编辑文件
用vim打开文件然后上下键调光标,按i进入输入模式
快捷键用的时候去查
第三章
1.root用户
超级管理员
普通用户一般在其HOME目录内不受限,HOME外无修改权限
su - [用户名] exit
sudo命令:可以让一条普通命令带有root权限,语法:sudo 其他命令(为了安全)
需要用root为普通用户配置sudo认证
2.用户和用户组
用户组管理
需要用root用户执行
创建:groupadd 用户组名 删除:groupdel 用户组名
用户管理
需要用root用户执行
创建:useradd [-g -d] 用户名
-g:规定用户组,不指定-g会创建同名组并自动加入,指定-g需要组已经存在,如果已经有同名组,必须使用-g
-d:规定用户HOME路径,默认在/home/用户名
删除:userdel [-r] 用户名
-r:删除用用户的HOME目录
查看用户所属组:id [用户名] 无则查看自身
修改用户所属组:usermod -aG 用户组 用户名
getent 查看
getent passwd 查看用户
得出7份信息:用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
getent group 查看用户组
得出3份信息:组名称:组认证(显示为x):组ID
3.查看权限控制
1.文件权限控制信息
2.文件所属用户
3.文件所属用户组
认知权限信息
-表无此权限
r读 查看文件,文件夹内容
w写 修改文件,创建、删除、改名文件夹
x执行 将文件作为程序执行,可以更改工作目录到此文件夹(即cd进入)
4.修改权限控制
修改1
只有文件、文件夹所属用户和root用户可以修改
chmod [-R] 权限 文件或文件夹
-R:对文件夹内的全部内容应用同样的操作
chmod u=rwx,g=rx,o=x hello.txt ->rwxr-x--x
u:user g:group o:other
权限的数字序号:r为4,w为2,x为1 二进制转化
751表示rwx(7) r-x(5) --x(1)
修改2 3
只适用于root用户执行
chown [-R] [用户] [:] [用户组] 文件或文件夹
-R:对文件夹内全部内容应用相同规则
: 用于分隔用户和用户组
只修改组前面要加:分隔来表示是组
第四章
1.各类快捷键
ctrl+c 强制停止
crtl+d 退出(不能用于退出vi/vim)
history 查看历史输入过的命令
!命令前缀 自动执行上一次匹配前缀的操作
ctrl+r 输入内容去匹配历史的命令
ctrl+a 光标跳到命令开头
ctrl+e 光标跳到命令结尾
ctrl+键盘左键 向左跳一个单词
ctrl+键盘右键 向右跳一个单词
ctrl+l 清屏
2.软件安装
rpm文件 ->Linux系统软件安装包格式
yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题
yum需要root权限,需要连网
yum [-y] [install/remove/search] 软件名称
-y:自动确认,无需手动确认安装或卸载过程
install:安装 remove:卸载 search:搜索
3.systemctl命令
systemctl命令控制Linux系统已经集成的软件
能被systemctl管理的软件->服务
systemctl start(启动) | stop(关闭) | status(查看状态) | enable(开启开机自启) | disable(关闭开机自启) 服务名
4.软链接
将文件、文件夹链接到其它地方,类似Windows系统中的快捷方式
ln -s 参数1 参数2
-s:创建软链接
1:被链接的文件或文件夹
2:要链接去的目的地
5.日期和时区
date [-d] [+格式化字符串]
%Y 年 %y 年份后两位数字 %M 月份 %d 日 %H 小时 %M 分钟 %S 秒 %s 时间戳
这俩连用
-d:按照给定的字符串显示日期
格式化字符串:"+1 day"
6.IP地址、主机名
IP 对外联网地址
查看本机IP ifconfig
ens33 -> 主网卡
127.0.0.1 此IP指代本机
0.0.0.0 特殊IP地址:1.用于指代本机 2.在端口绑定种用来确定绑定关系 3.在一些IP地址限制种,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问
主机名
hostname 查看主机名
hostnamectl set-hostname 主机名 修改主机名(需root)
域名解析
7.虚拟机配置固定IP
1.在WMware Workstation中配置IP地址网关和网段
2.在Linux系统中手动修改配置文件,固定IP
8.网络请求和下载
ping
检查指定网络服务器是否是可联通状态
ping [-c num] ip或主机名
-c:检查的次数,不使用-c选项,将无限次数持续检查
wget
文件下载器,可在命令行内下载网络文件
wget [-b] url
-b:后台下载,会将日志写入到当前工作目录的wget-log文件
url:下载链接
curl
可以发送http网络请求,可用于:下载文件,获取信息等
curl [-O] url
-O:用于下载文件
curl cip.cc 可以获取主机的公网IP地址
9.端口
设备与外界通讯交流的出入口,端口有:物理端口和虚拟端口
物理端口:接口,USB接口
虚拟端口:计算机内部的端口,用来操作系统与外部进行交互使用的
计算机程序之间的通讯,IP地址只能锁定计算机,端口可以锁定具体的程序
Linux系统可以支持65535个端口:
公认端口:1~1023,用于一些系统内置或知名程序预留使用,如SSH服务22端口,HTTPS服务的443端口,尽量不要占用这个范围的接口
注册端口:1024~49151,可以随意使用,用于松散的绑定一些程序
动态端口:49152~65535,程序对外进行网络链接时,用于临时使用
nmap
查看IP地址下哪些端口的占用情况
nmap 被查看的IP地址
安装nmap:yum -y install nmap
netstat
查看指定端口的占用情况
netstat -anp | grep 端口号
安装netstat:yum -y install net-tools
10.进程管理
每一个程序在运行的时候,会被操作系统注册为系统中的一个进程,并为每个进程分配独有的进程号
ps
查看Linux系统中的进程信息
ps -ef 列出全部进程的全部信息
UID:进程所属的用户ID
PID:进程的进程号ID
PPID:进程的父ID(启动此进程的其它进程)
C:此进程的CPU占用率(百分比)
STIME:进程的启动时间
TTY:启动此进程的终端序号,如显示?,表示非终端启动
TIME:进程占用CPU的时间
CMD:进程对应的名称或启动路径或启动命令
kill
关闭进程
kill [-9] 进程ID
-9:表示强制关闭,不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制
11.主机状态监控
top
查看CPU、内存使用情况,类似Windows的任务管理器
默认5s刷新一次,按q或ctrl+c退出
top内容
df
参看硬盘使用情况
df [-h]
-h:人性化的单位显示
sar
查看网络的相关统计
sar -n DEV num1 num2
-n:查看网络,DEV表示查看网络接口
num1:刷新间隔(不填就查看一次结束) num2:查看次数(不填无限次数)
12.环境变量
操作系统运行时,记录的一些关键性信息,用以辅助系统运行
env命令即可查看当前系统中记录的环境变量
$ 取变量的值
echo $PATH 取得PATH这个环境变量的值并输出
echo ${PATH}ABC 输出PATH这个环境变量的值并拼接字符串ABC
自行设置环境变量
临时设置:export 变量名=变量值
永久生效:对当前用户生效,配置在当前用户的~/.bashrc文件中
对所有用户生效,配置在系统的/etc/profile文件中
生效:source 配置文件进行立刻生效,或重新登录FinalShell生效
环境变量PATH记录了系统执行命令的搜索路径
修改PATH:export PATH=$PATH:/root/myenv (原有的加上自己后添的)
13.文件的上传和下载
通过FinalShell
下载
上传直接往里面一拖就行
rz、sz命令
需用yum -y install lrzsz安装
发送到window sz 文件名
接收 rz 然后会出现图形化选就行了
14.压缩和解压
Windows常用:zip 7zip rar
Linux常用:zip tar gzip
MacOS常用:zip tar gzip
.tar 称之为tarball,归档文件 简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装
.gz 常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大减少压缩后的体积
tar命令压缩文件
tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N
-c:创建压缩文件,用于压缩模式(类似于打下包)
-v:显示压缩、解压过程,用于查看进度
-x:解压模式
-f:要创建的文件或要解压的文件,-f必须在所有选项中位置处于最后一个
-z:gzip模式,不使用-z就是普通的tarball格式,使用的话就放在选项位第一个
-C:选择解压的目的地,用于解压模式,单独使用与解压所需其它参数分开
常见的压缩文件组合:
tar -cvf test.tar 1.txt 2.txt 3.txt 将1.txt 2.txt 3.txt 压缩到test.tar文件内
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt 将1.txt 2.txt 3.txt压缩到test.tar.gz文件内,使用gzip模式
解压文件组合:
tar -xvf test.tar 解压test.tar 将文件解压至当前目录
tar -xvf test.tar -C /home/liuben 解压test.tar,将文件解压至指定目录(/home/liuben)
tar -zxvf test.tar.gz -C /home/liuben 以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/liuben)
zip命令压缩文件
压缩文件为zip压缩包
zip -r 参数1 参数2 ... 参数N
-r:被压缩包含文件夹时
示例:zip test.zip a.txt b.txt c.txt
解压zip压缩包
unzip [-d] 参数
-d:指定要解压去的位置,同tar的-C选项
参数:位置
示例:unzip test.zip -d /home/liuben