笔记--Linux从入门到精通
软件包管理
Apt-get /apt
Apt install | 下载并安装软件包 | Apt-get install |
Apt upgrade | 下载并安装已有软件包的最新版本 | Apt-get upgrade |
Apt remove | 卸载特定软件包 | Apt-get remove |
Apt clean | 删除所有已下载的软件包 | apt-get clean |
Apt source | 下载特定软件源代码 | Apt-get source |
Apt list | 列出已安装、可升级的包 | |
Apt search | 搜索软件包 | Apt-cache search |
apt-gt /etc/apt/sources.list 安装源
Apt-cache search 软件名 :查找对应软件包
进程管理
1、监视进程—ps命令
ps aux显示当前系统运行的所有进程信息

User:创建进程的用户名
PID:进程ID号
%MEN占用内存百分比
VSZ:占用虚拟内存大小
STAT:进程状态 R正在运行、S睡眠中(可以被唤醒),T停止,Z僵进程(已经结束但没有释放系统资源)
START:进程启动时间
Command:命令和参数
Ps lax 可以提供父进程ID(PPID)和谦让度(NI),无进程名称
- 即时监听命令——top命令(自动更新,Q退出)
- 查看占用某文件的进程——lsof命令
lsof +文件名称 查看正在使用此文件的进程的信息
lsof 列出使用打开文件的相关进程
- 向进程发射信号:kill+进程号(PID)
kill默认向进程发送TERM信号,即终止信号,但不要以为kill就是用来终止进程的,kill -l 查看所有kill信号,一下是常用信号(有前缀SIG,可以省略)

Kill命令不一定可以终止进程,只要程序选择“忽略”某个信号,例如在shell命令里加入,trap “”(英文) TERM 可以用来忽略TERM信号。
- servicce 进程名 start/stop/restart
网络篇
十一、网络配置
Ifconfig 配置网络接口
Eth 有线网络接口 wlan无线网络接口 lo回环网络127.0.0.1
Ifconfig eth0 down/up 关闭与开启
Rout配置静态路由
netstat -r 查看路由表

Default:默认路由,当路由表所有内容都不匹配时以此发送到指定网关
Route add default gw +IP地址(+指定接口号) 添加默认路由
Route add -net 网关IP地址 gw +IP地址B (+指定接口号) 添加静态路由
-host指定主机IP
Route del default 删除默认路由
主机名与IP地址映射
DNS服务器 或 /etc/hosts文件

传输文件
Linux之间的网络硬盘:NFS
Mount 10.12.34.1:/SUR/nfs_ps shara/
将对应IP地址的主机上的指定文件映射到自己电脑的shara目录下
Showmount -e IP地址 查看此ip导出的目录
Umonut /shara 卸载NFS文件,注意有时因为文件在使用无法卸载,可用lsof+文件名称 查 看使用该文件的进程再关闭进程。
Mount -o +NFS标志 +主机ip:/文件 /shara文件
rw 可读写 hard硬安装 soft 软安装 tcp使用TCP传输 等。。。。
启动时自动开启远程文件系统NFS
配置/srv/fstab 文件,以root身份添加
ip地址:/文件路径 /映射到本地目录 NFS标志 0 0(两个零暂且当做默认)
monut -a -t nfs 使设置立即生效,不需重启
程序开发篇
二十、Linux编程
Vim使用
Vim 文件 打开指定文件,若没有这创建
三种模式:命令模式、输入模式、末行模式
i进入输入模式,Esc退出输入模式, :进入末行模式
行末模式
wq保存退出 q退出(未编辑) q!编辑后退出,不保存
set nu显示行号 50,60d 删除50到60行
:% s/old/new/g %每行 s替换 g表示每行无论多少个都进行操作
命令模式
2yy 复制两行 p粘贴到当前行 dd删除当前行
gg回到第一行 G最后一行 50G到50行
命令行模式下
/string 搜索字符串 按N跳转到下一个目标字符串出现的地方
:[range] s /old/new/ [c,e,g,i](括号表示可选) 字符串替换
Range 范围如1,4 一到四行 %全文 1,&一到末尾
最后括号是可选内容 i不区分大小写 g替换一行中所有匹配项 e不显示错误信息
c替换前询问
%s/^M//g 清除文本末尾^M
:set autoindent 自动缩进 :syntax on 语法高亮
二十一、Shell编程
正则表达式
egrep “^a.*t&” + 文件 输出符合要求的所有字符串
egrep “^a.*t&” + 文件 |wc -w 输出符合表达式的字符串个数
egrep “^[[:upper:]]t&” + 文件
\<hi\>.+\<jerry\> hi 后面跟一个或多个字符后出现Jerry

Shell脚本编程
- 开头 #!/bin/bash 明确命令模块,使用哪个shell
- echo -n 不换行输出
- read -p “提示语句” 变量名 read -p “请输入” A
-t 限定输入时间 read -t 3 -p “提示语” name sex 限制三秒输入
-n 限制接受字符个数,到达固定个数时自动赋值
-s 输入内容不显示
- Whereis +关键字 查看文件路径
- if语句
#!/bin/bash
read -p "please inpute:" NUM
if [$NUM -lt 10]
变量与运算符
dog =12 pi=”i love you ” echo $dog echo $pi 注意=两边无空格
Shell脚本中的值值在该脚本中有用,source+脚本 启动脚本后,脚本关闭后其中的变量值也存在
#Source 01.sh --->pig=2021 #echo pig ---->2021
unset+变量名 注销一个变量
{}限制变量的开始与结束 echo “This apple is ${word}ger”
$0、$1、$2、$3 传递位置参数 $0比较特殊存放自己的名称
# ./01.sh first wecond
$0=01.sh $1=first $2=wecond $4= ($4没有值)
$*:包含参数列表 $@:同上 $#:包含参数个数
BASh引号规则
双引号:阻止shell对特殊字符的解释,如“$”,” ” ”等
单引号:阻止shell对所有字符进行解释倒引号:` 用倒引号括住一个shell命令时,这个命令被执行后的结果将作为这个表达式的值,倒引号中的特殊字符一般会被解释
运算符
表达式求值
#num=1 #num=$num+2 #echo $num --->1+2
shell是一种弱类型语言,并不能识别$num中保存的类型
num=$[&num+1] $[ ]告诉shell应该对表达式求值
#num1=1+2 #echo $num --->1+2 #num2=$[1+2] #echo $num2 --->3
$[ ]可以接受不同进制的数字 #$[ 2#11 +1 ] 二进制下的11即3+1=4

浙公网安备 33010602011771号