笔记--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),无进程名称

  1. 即时监听命令——top命令(自动更新,Q退出)
  2. 查看占用某文件的进程——lsof命令

lsof +文件名称 查看正在使用此文件的进程的信息

lsof 列出使用打开文件的相关进程

  1. 向进程发射信号:kill+进程号(PID)

kill默认向进程发送TERM信号,即终止信号,但不要以为kill就是用来终止进程的,kill -l 查看所有kill信号,一下是常用信号(有前缀SIG,可以省略)

A8E8601C44C3C55BF9DA5F1A56D50A4F

Kill命令不一定可以终止进程,只要程序选择“忽略”某个信号,例如在shell命令里加入,trap “”(英文) TERM 可以用来忽略TERM信号。

  1. 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

67CBE3FB6F27C1430B112D29A71ECB42

Shell脚本编程

  1. 开头 #!/bin/bash 明确命令模块,使用哪个shell
  2. echo -n 不换行输出
  3. read -p “提示语句” 变量名 read -p “请输入” A

-t 限定输入时间 read -t 3 -p “提示语” name sex 限制三秒输入

-n 限制接受字符个数,到达固定个数时自动赋值

-s 输入内容不显示

  1. Whereis +关键字 查看文件路径
  2. 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命令时,这个命令被执行后的结果将作为这个表达式的值,倒引号中的特殊字符一般会被解释

图层 1运算符

表达式求值

#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

posted @ 2023-03-26 16:06  没有羊的牧羊少年  阅读(313)  评论(0)    收藏  举报