Linux

常见问题

ssh: connect to host 192.168.199.142 port 22: Connection timed out

systemctl status sshd # 查看ssh服务状态
systemctl start sshd # 启动ssh服务
systemctl stop sshd # 停止ssh服务
systemctl restart sshd # 重启ssh服务

chkconfig sshd on # 设置ssh服务为开机启动命令
chkconfig sshd off # 设置ssh服务禁止开机启动命令

vim

sudo

sed -i "s/\r//" ~/.vimrc "命令行执行解决window的换行符

vim配置插件

# Nerdtree
目录树的使用主要通过在vim的command模式下键入如下命令
?: 快速帮助文档
o: 打开一个目录或者打开文件,创建的是 buffer,也可以用来打开书签
go: 打开一个文件,但是光标仍然留在 NERDTree,创建的是 buffer
t: 打开一个文件,创建的是Tab,对书签同样生效
T: 打开一个文件,但是光标仍然留在 NERDTree,创建的是 Tab,对书签同样生效
i: 水平分割创建文件的窗口,创建的是 buffer
gi: 水平分割创建文件的窗口,但是光标仍然留在 NERDTree
s: 垂直分割创建文件的窗口,创建的是 buffer
gs: 和 gi,go 类似
x: 收起当前打开的目录
X: 收起所有打开的目录
e: 以文件管理的方式打开选中的目录
D: 删除书签
# Nerdcommenter
<leader>cc   加注释
<leader>cu   解开注释
<leader>ca 切换注释的样式:/*....*/和//..的切换
<leader>c<space>  加上/解开注释, 智能判断
<leader>cy   先复制, 再注解(p可以进行黏贴)
<leader>cs  '性感的'注释(我很喜欢这个!)
#Tagbar
#需要安装ctags
yum install ctags

配新机步骤

#记得勾选WALN !!!!!
```less
vi /etc/sysconfig/network-scripts/ ifcfg-ens32 
#将ONBOOT="no" =>ONBOOT="yes"
```
# 更新
yum -y upgrade
yum -y update
#配置ssh
systemctl enable sshd
chkconfig  sshd  on 
#查看ip
ip add
#转到cmd
ssh root@ip
#安装图形页面
yum groupinstall -y "X Window System"
yum groupinstall -y "GNOME Desktop"
systemctl set-default graphical.target # 设置默认打开桌面
#关闭防火墙
systemctl disable firewalld
vim /etc/sysconfig/selinux  修改SELINUX=disabled #永久关闭
#安装常用工具
yum install -y lrzsz sysstat elinks wget net-tools bash-completion

tmux

yum install tmux
1, 启动: tmux 
2,上下分屏:ctrl + b  再按 "
3,左右分屏:ctrl + b  再按 %
4,切换屏幕:ctrl + b  再按o
5,关闭一个终端:ctrl + b  再按x
6,上下分屏与左右分屏切换: ctrl + b  再按空格键

查看ip

ip add

配置ssh

配置图形页面指令

安装vscode

终端美化


# 下载终端
y

//使用现成的

//失败尝试
git config --global --unset http.proxy 
git config --global --unset https.proxy

git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
source ~/.zshrc

git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

source ~/.zshrc
# 语法高亮
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh}/plugins/zsh-syntax-highlighting
# 命令补全
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh}/plugins/zsh-autosuggestions

#修改.zshrc
plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
source ~/.zshrc
chsh -s /bin/zsh

git

yum install git
git config --global user.name "Uoyue"
git config --global user.email 3294365633@qq.com

ping问题

systemctl restart httpd  #解决浏览器无法ping地址的问题   <=很有用
#网络服务
systemctl restart network 
systemctl restart NetworkManager 
systemctl stop firewalld.service

#手动配置IP
vim /etc/sysconfig/network-scripts/ifcfg-ens32 #具体网卡文件
BOOTPROTO=none #手动
IPADDR=192.168.199.147 # 当协议,需要自定义ip地址
NETMASK=255.255.255.0 #默认子网掩码 用来定义网络的,确定网段的
GETEWAY=192.168.199.2 #网关, 默认路由器
DNS1=192.168.199.2 #域名解释  一定要加上1 不是DNS我也不知道为什么
systemctl restart network  #重启网卡

学习日记

[2023.4.13]

ls -l == ll 列出文件信息 -文件 d目录vim b是设备了
touch ../file 新建文件
mkdir ../dir 新建目录
mkdir -p ../dir/a/b/c/d/e/f //多级目录
cp 原来文件路径 现在目录(/new_name)
cp -r 原来目录路径 现在目录(/new_name)

mv 原来路径 现在路径(/new_name)
rm -rf 文件/目录 *是任意字符匹配cat 查看
head/tail -3 文件名字
grep 关键字 文件名字

[2023.4.14]

执行顺序
wget https://getcomposer.org/installer || ( echo "failed"; exit ) && php composer-setup.php && rm -r composer-setup.php && echo "install oj8k"
这里是其他的shell命令

解释:
'&&': 顺序执行执行作用 如a && b, a成功后才会执行b, 否则b不会执行
'||': 如a||b a执行失败才会执行b,a 成功了就不会执行b了
';' : 两条shell要使用逗号隔开
(): 为了将多条命令当作一个整体看, 如例子中 ( echo "failed"; exit ) 如果wget执行失败会执行echo 和 exit退出脚本这两个动作, 一定要加上(), 不然exit会被当成独立的语句,所以无论怎么都会被执行到, 这就违背了我们的意图了


重定向输出到指定文件 > file
yy 复制
p 粘贴

v 进入 可视化模式就是可以选取字符,命令少一个yy->y dd->d
i 插入模式
esc : 命令行模式

h是左j是下k是上l是右
0是行首,$是行尾
gg是文章头G是文章尾部
3G是进入3行
/string 查找字符串 n是查找下一个
:1,5(定位) s(switch)/(old)/(new)/g(全局)
w oldpath(默认是本文件) newpath

[2023.4.15]

Ubuntu
ip地址 : 192.168.199.130
账户 : uoyue
密码 : aswd123
CentOS
ip地址 : 192.168.199.142
账户 : root
密码 : aswd


hostname -I 查看ip地址
配置ssh
https://blog.csdn.net/weixin_38924500/article/details/106783645
查看是否配置
rpm -qa|grep -E "openssh"
重启
service sshd restart
开机自启动
systemctl enable sshd
ls -a 查看所有文件
.swap 就是交换文件
. 代表当前目录
什么都不打代表当前目录
.. 上一级目录


window
1、查看端口占用

netstat -ano

2.查看指定端口的占用情况
netstat -aon|findstr 8080 数字为端口号

3.查看PID对应的进程
tasklist|findstr 5769 数字为PID

4.结束该进程

taskkill /f /t /im xxx.exe 杀程序
taskkill /f /PID 5769 杀PID

[2023.4.16]

getconf LONG_BIT ..看系统32还是64
20:47 2023/4/17
mkdir -p(v) {1111/{11,222},3333} //递归创建
mkdir {1111{11,222},3333} // 创建 111111 1111222 3333
cp -f(froce强制) -n(不提示) -v(visable 可视) -r(递归) 通配符
.(.) * 是隐藏文件 // /
删除不了

[2023.4.20]

(1)//用户信息
/etc/passwd文件解析
用户名字 : x(密码有关) :uid :gid (基本组id):描述 :目录 :shell
user identification //用户身份证号码
uid 0 特权用户
uid 1~499 系统用户
uid 1000+ 普通用户
group identification
描述(一般是用户名或者是空)
目录:
/root/home/用户名 就是~号
shell:(命令解释器)
nologin(不用登录)
bash


(2)//用户密码
/etc/shadow文件解析
用户名:加密:距今天数:修改最小间隔:密码有效期:警告时间:不活动时间:失效时间:保留

  1. guest(用户名):
  2. (加密方式)ZxI.S39F$TITsFlcsArPmTXPPYcF/I97oO38QK3lYLmw1D1CMVargrFbKpX1qkSol8ZRpLtDMUxHmwNMe/qxQGIp/aLMzP1】(加密 *被锁了 !!过期了):
  3. 19463(最后修改密码时间(1970.1.1)相对历史的一个天数):
  4. 0(修改密码的最小间隔天数):
  5. 99999(保持密码的最长日期):
  6. 7(系统警告时间):
  7. (不活动时间,保留时间,默认没有就是空,就是无线时间。如果有的话,超过时间没有登录就禁用):
  8. (失效时间 例子30,30天后就不能用了):
  9. (没什么用):
  10. 没什么用

[2023.5.6]

(3)组文件信息:
/etc/group
root: x: 0:
组名:组密码:组id:组成员
组用户/组管理
root:
id user01 //输出用户信息
useradd user01
useradd user01 -u uid //指定id号
passwd user01 //设置密码
useradd user02 -u 1503 //指定uid号
useradd user03 -d 路径 //directory 指定目录
userdel -r(连同家目录) user01
passwd user01 //修改密码
usermod -s(shell) /sbin/nologin niuniu

[2023.5.07]

groupadd 名字 //创建一个组名
groupadd name -g id //指定组id号
groupdel name //删除组
组的类型:
基本组: 随用户创建同用户名 - 只有一个
附加组:其他组的队伍 - 可以有多个
主要:
usermod name(用户名) -g(修改基本组) -G(修改附加组)组名
gpasswd -d A(用户名字) GROUP(组名) //从组中移除用户

groudmod -g gid name //指定组id
whoami //查看现在的用户名字
su name //普通切换
sudo //提高权力 ---需要去将用户添加到wheel组里面

通常用
/etc/passwd or id查询用户信息
/etc/group 查询组信息
grep 高效查找信息

[2023.5.10]

属主 : u #user
属组 :g # group
其它人 :o #other
所有人 :a #all
权限:
r = 4 #读 read
w = 2 #写 write
x = 1 #执行 bash a.txt 就是脚本 execute
u = 5 # user read + exe 得数就是 权限相加
chmod u(a 、g 、u 、o)+(+ 、- 、=(覆盖))rwx 1.txt
命令(change mod(模式))对象加减权限 文件或者是目录
-rw-r--r--( .) 1 root(属主) root(属组)0(大小) 5月 10 23:05(时间) a.txt(名字)
第一个 # -是文件 d是目录
然后每三个就是权限

a=- #就是赋值无权限
u= ,g=, o= #分别赋值
000 三位数字来赋值first是user,second是group,third是other

[2023.5.11]

chown #change own
chown root.hr(用户.组) 文件地址
chgrp #change group
目录要带一个执行 就是一定是奇数
文件夹 要 -R 才能让文件夹递归文件改变权限
以上是UGO
接下来就是:
ACL:(加强版的UGO)
一个文件但是,不同用户有不同的权限
setfacl -m(设置 , ) g(u , g , o):hr(名字):rwx(权限)
getfacl filename 获取权限信息
-rw-r--r--( . +(出现+号代表有多种的acl信息)) 1 root(属主) root(属组)0(大小) 5月 10 23:05(时间) a.txt(名字) #此时的权限是叠加的
setfacl -x g: hr : #此时不用加最后一个权限 + 文件名字
setfacl -b #清除 所有acl信息
setfacl -m o:(中间不用加东西):rwx 文件名字

[2023.5.12]

watch -n12(间隔12s执行命令) '命令'
默认权限是 rw-r--r--
特殊的权限:
s(suid )临时获得主的能力 #不用记住
原来有x就是s ,没有就是S
chattr 名字 #change attribute 更改文件属性
lsattr a.txt #查看文件属性
+i #就是不能修改文件 包括改名字,修改,删除
+a #就是只能只能追加
umask #反掩码
0022 -目录
0133 -文件 #(0022 + 0111)去掉执行权
chmod 0(特殊位)0(u)0(g)0(o)四个位置
所以默认权限就是 目录 : 0777-0022 = 0755 文件 : 0777-0133 = 0644

[2023.5.13]

ps aux#查看正在进行的进程
PID #就是进程的身份证号
-bash-4.2# ps aux | head -2
====进程信息
USER(运行者) PID(程序id号) %CPU(cpu占用率(时间)) (%MEM(磁盘占用率) VSZ(占用虚拟内存) RSS(占用实际内存))磁盘信息
TTY(pts/0一般是远程链接 本机是?,tty1) STAT(进程状态 ) START(程序开始时间) TIME(占用cpu时间) COMMAND(命令的路径名字)
root 1 0.1 0.3 125372 3856 ? Ss 19:44 0:01 /usr/lib/s
fork #复制自己 -- 父子程序 正常是 子程序活得 ,父一般是死的
Zombie #僵尸状态
Ss #sleep 睡眠

ps aux (a 所有进程 u用户为主的格式显示 不以终端机来区分) --sort (-)%cpu(以cpu为排序,-是降序 不加是升序)
ps -ef #看父子进程
UID PID(儿子进程) PPID(父亲进程) C(标识) STIME TTY TIME CMD
root 1 0 0 19:44 ? 00: 00 :01 /usr/lib/systemd/systemd(祖宗) --switched-root --system --deserialize 22
root 2 0 0 19:44 ? 00: 00 :00 [kthreadd]
root 4 2 0 19:44 ? 00: 00 :00 [kworker/0:0H]
root 5 2 0 19:44 ? 00: 00 :00 [kworker/u256:0]
ps axo(o选择要显示的) user,pid,ppid
top #动态的任务管理管理器
top(程序名) - 20: 57 :05(当前时间) up 1:12(运行时间), 3 users(登录用户个数), load average(cpu负载): 0.00, 0.01, 0.05 --
Tasks: 98 total(任务汇总), 1 running, 97 sleeping, 0 stopped, 0 zombie --任务管理状态汇总
%Cpu(s): 0.0 us(用户占用), 0.0 sy(系统占用), 0.0 ni(优先级),100.0 id(空闲), 0.0 wa(等待), 0.0 hi(硬件), 0.0
%si(软件), 0.0 st(虚拟机)
%KiB Mem(物理内存) : 995464(总共) total, 743940 free(空闲), 128348 used(使用), 123176 buff/cache(缓存硬盘内容)
KiB Swap(虚拟内存): 2097148 total, 2097148 free, 0 used. 730228 avail Mem

[2023.5.14]

PID USER (PR NI)优先级 (VIRT RES SHR)内存 S(status) %CPU %MEM TIME+ COMMAND
1435 root 1 -19 108052 360 284 S 0.0 0.0 0:00.00 sleep top
H 帮助
z 设置彩色
>向后
< 向前
M 以内存排序
P 以cpu排序
N 以pid号排序
top -d 1(time)(-p PID号就是只看特定指定进程号)#就是每个时间刷新
k 加 进程号 杀死pid号
kill -l #查看命令进程命令
kill -1 pid #重新加载程序
ctrl+c / ctrl+\ / kill -9(最快的方法,快速退出杀死) kill -15(安全退出终止) #杀死当前进程,
进程优先级:
nice的值越大 , 优先级越低
我们能动的范围是 -20----19 系统会自动加上20 变成 PR = NI + 20
nice -n -5(优先级的范围)
renice -20 pid(进程号)
(程序) & #开启一个进程在后端进行
jobs #专门看后台运行程序
fg [序号] 就是调回前台
bg [序号] 就是重新激活已经停止的后台
kill %序号 #就是杀死后台程序序号为序号的
kill 序号 #是系统pid序号
/proc 就是进程文件目录
有很多的数字 就是正在进行的进程
cat /proc/cpuinfo #cpu信息
cat /proc/meminfo #内存信息
cat /proc/cpuinfo 或者 ls /boot/ #内核信息
进程到此结束

[2023.5.26]

管道和重定向

> 重定向覆盖输出 1> 标准输出 2>标准输错
< 重定向输入 < == 0<
>
> > 重定向输出

| 管道就是前一个命令的输出用于现在命令的输入

  1. tee 就是中间的--- 也就是三通管 输出到另外一个
    实例 cat /etc/passwd | tee asd.txt | head -1
  2. 特殊的命令 cp mv rm 是不接受文本文件的 这时候需要加上格式转换 | xargs
  3. cut -d:(符号像 ' ' '-') -f1(2,第几个内容) #就是切片
  4. /dev/null 垃圾桶

cat > a.txt <<EOF
文本文件
EOF
这样就可以将文本文件的内容输入到特定文件不至于变成命令执行

磁盘管理
磁盘文件

/dev/sda(b) #s代表sata就是串口 d戴代表磁盘 a是第一块
/dev/hda(b) #h代表的是并口 基本是没有使用了

分区方式

MBR 支持的磁盘最大的 < 2TB 4个分区
GTP 支持的磁盘最大的 > 2TB

[2023.5.28]

vm 虚拟机网络链接失败 无法yum 无法解决

阿里云试用服务器-3个月

ssh root@182.92.150.112 
  • 账号 : root

  • 密码 :aswd

阿里云

  • 账号 : Uoyue

  • 密码 : Xch18396255010

vnc

  • 密码:Xch123

[2023.6.01]

查看磁盘信息

磁盘是有再分扇区

像:

sda 20 #属性开头是 b 设备文件

​ sda1 1 #记录这个分区的信息

​ sda2 19

ll /dev/sd* #查看系统磁盘分区
lsblk #查看列的磁盘分区
#NAME    SIZE  MOUNTPOINT(挂载点)
#fdisk /dev/sdb #磁盘分区 , 不要用sda 因为是系统持磁盘
创建文件系统

image-20230601194836846

fdisk /dev/sdb #为一个磁盘分区,其余空间分区一样
partprobe /dev/sdb #刷新磁盘
fdisk -l /dev/sdb #查看一个硬盘详细信息
mkfs.ext4 /dev/sdb1#格式化(初始化)分区
#挂载归为一句话 各玩各的
mount%挂载% -t ext4 /dev/sdb1 /mn/disk1 #挂载 , 挂载以后这个文件的内容就只跟这个磁盘有关系了
umount /dev/sdb1 #取消挂载 , 不能够直接删除挂载的文件, 
#取消挂载后必须重新挂载后才有
df -h(人性化)T(磁盘空间) %查看磁盘挂载信息%

image-20230601200802098

n 是创建

p是创建四大分区

e是创建扩展分区

d是删除分区

+1g是给分区的磁盘大小

最后记得输入w保存

必须有一个闲置的主区才能有扩展分区
系统盘

存在 swap分区 一般是内存的两倍

free -m #查看swap大小 
#其余盘设置swap分区 , 必须是没有挂载的磁盘区
fdisk /dev/sdb 
t 
82 #交换分区
w #保存
partprobe /dev/sdb
#最重要两步
mkswap /dev/sdb6
#将swap用于系统
swapon /dev/sdb6
#将swap取下来
swapoff /dev/sdb6
文件查找
which #命令查找 , 也可以找别名
alias 别名 = '命令'
find # 
find [path...] [options] [expression] [action]
find / -(i不区分大小写)name "vim"/vim #可以用通配符* 按名字搜索
find / -size +3M(以上)/3M/-3M(以下) #按大小
find / -maxpath 2 -a(and) -name ifcfg* #按照目录深度来找 , 最大问价目录
find / -user jack(用户名) #按照用户
find / -group hr(组名) #按照组别
find / -type (f(文件),d(目录),b(设备),l(链接)) #按照目录来查找
find / perm(权限) 644  #按照权限
-print(默认)(-ls(长格式打印),-rm,-delete(删除))  #动作(action)
-ok cp -rvf {} \tmp \;(一定要加)
#上述可以用 -and 链接起来
locate

[2023.6.02]

文件压缩
#语法 tar 选项 压缩包名称 源文件
#-f filename(文件来自) -c create(创造) -z(压缩)
tar -cf 1.tar /etc #只是打包
tar -czf 1.tar.gz /etc #打包并且压缩 
-z(zip压缩) -j -J #体积越来越小,时间越长
#统计 wc
wc -l(统计行数)
#压缩原理-去重法 , 无法直接使用 需要解压缩
#解压
tar -xf 1.tar.gz -C(指定) (目标目录)#最重要 默认是当前目录

软件管理

rpm包: #直接使用无需编译

包示例:

zip - 3.0-11. el7. x86_64. rpm

软件包名 版本号 发行版本 系统平台 文件后缀

rpm -i(install)v(可视)h(百分比)  zip-3.0-11.el7.x86_64.rpm
rpm -q(查询)  zip-3.0-11.el7.x86_64(无后缀)
rpm -e(卸载)vh  zip-3.0-11.el7.x86_64(无后缀)

image-20230602161408808

源码包: #需要 编译环境编译才能运行

包示例:

nginx-1.8.1.tar.gz

软件包名 版本号 文件后缀

yum

yum #全称 : Yellow dog Update, Modified
自动处理依赖关系 ,无需挨个下载

/etc/yum.repos.d #yum核心文件夹 下载地址 yum的本地下载库

CentOS-Base.repo : #repo是仓库
mirrorlist : #官方地址 其中域名是centos.org
自己写 .repo文件

[dvd] #[]中括号必须 仓库名称
name=dvd123 #库的说明 描述
baseurl=file:///mnt/cdrom #基本地址 file是从本地找 http:/是从网上找
gpgcheck=0 #关闭检验 1是开始校验
enabled=1 #开关
#下一步挂载 /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
#/mnt/cdrom中 Packages是软件包
vim ~/.bashrc
开头加入 mount /dev/cdrom /mnt/cdrom #开机自动挂载文件
init 6 #自动重启

image-20230602150359067

软件安装
#yum也可以安装 rpm的安装包 去掉套娃
yum -y httpd vsftpd
#主目录    自动确认 不同安装包 空格隔开
yum reinsatll httpd #重新安装当文件出现问题
systemctl start/restart/stop 服务 #服务命令
yum -y update #升级系统
yum -y update httpd #更新特定软件
yum list #查看安装包
yum list httpd #查看指定的安装包
yum -y remove httpd #移除软件 ,也就是卸载软件
yum makecache #制造缓存刷新一下
yum repolist #查看仓库列表

image-20230602160048960

如果最后一列出现@就是已经安装的,其余的信息是仓库名称

image-20230602160211029

官方软件获取最新的软件包
wget 下载链接 #安装网上的安装包
wget http://tengine.taobao.org/download/tengine-2.3.3.tar.gz #安装tengine工具 
yum install gcc make ...  #安装编译环境
tar -xvf tengine-2.3.3.tar.gz 解压
./configure --prefix=usr/local/nginx #配置环境并加上路径ls
make #编译
make install #安装

#更新yum安装源为阿里云
#删除原来的仓库
cd /etc/yum.repos.d
rm -rf *
#安装阿里云的仓库
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#安装例外的仓库
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
#刷新缓存,加载阿里的镜像源
yum makecache
 #查看仓库列表
yum repolist
#现在就是可以用阿里源了

任务时间

一次调度
at now +2min
at 20:50
#======写任务
at > 任务
#=======
ctrl + D #结束
应用案例:

案例1:2天后的下午5点执行/bin/ls /home

perl复制代码
[root@loctlhost ~]# at 5pm + 2 days 
at> /bin/ls /home<EOT> job 1 at Wed Sep 15 17:00:00 2021 
[root@loctlhost ~]#

案例2:atq命令来查看系统汇总没有执行的工作任务

csharp复制代码[root@loctlhost ~]# atq 1 Wed Sep 15 17:00:00 2021 a root 
[root@loctlhost ~]#

案例3:明天17点钟,输出时间到制定文件内,比如/root/date100.log

bash复制代码[root@loctlhost ~]# at 5pm tomorrow 
at> date > /root/date100.log<EOT> job 2 at Tue Sep 14 17:00:00 2021 
[root@loctlhost ~]#

案例4:2分钟后,输出时间到制定文件内,比如/root/date200.log

bash复制代码[root@loctlhost ~]# at now + 2 minutes 
at> date > /root/date200.log<EOT> job 3 at Mon Sep 13 20:58:00 2021 
[root@loctlhost ~]#

案例5:删除已经设置的任务,atrm编号

less复制代码[root@loctlhost ~]# atq 
2 Tue Sep 14 17:00:00 2021 a root 
1 Wed Sep 15 17:00:00 2021 a root 
[root@loctlhost ~]# atrm 2 //将job队列,编号为2的job删除 
[root@loctlhost ~]# atq 1 Wed Sep 15 17:00:00 2021 a root [root@loctlhost ~]#
多次调用
systemctl status crond.service #查看服务 crond的状态
ps axu | grep crond #查看 crond的进程状态
ls /var/spool/cron/ #crond的目标的位置

crontab -e(编辑当前工作给当前使用者, ) -r(移除任务) -l(当前任务表)
```
* * * * * commod #星星分别是分 , 时 , 日 , 月 , 周 , 代表实时时间
5 1 3 5 * commod#每年5月3日1时5分
*/5 * * * * commod #每隔5分钟
1 2 3,5,6 * * commod#每月的3,5,6日
1 2 3-6 * * commod#与上条命令结果相同
0 * * * * commod#整点报时
0 5 * * * 4 commod#每星期5,2点准时
2 5 6 4 2 # 求这两个的并集 也就是 4月的6日,与这个月的星期2
```

[2023.5.03]

日志 rsyslog

yum install -y rsyslog
systemctl restart rsyslog
ps aux | grep rsyslogd #查看日志是否开启
tail -f /var/log/messages #锁定实时  显示主日志文件
#其它日志 可以在 /var/log 找
systemctl start rsyslog.service #开启日志服务
rpm -q rsyslog #查看是否安装
rpm -qc(config) rsyslog #查看该服务的的配置文件

messages内容

时间 主机名字 事件

Jun 3 20:41:09 localhost dhclient[1103]: bound to 192.168.199.134 -- renewal in 739 seconds.

帮助手册
man 软件/命令
/etc/rsyslog.config #最重要的文件
RULES :
设备(不一定是一个软件,可能是一堆软件的集合) 级别*是任意等级 存放位置
可以自己修改路径但是建议不要
设备:Facility
authpriv.* /var/log/secure(ssh 信息) #---其实就是 验证设备集合
mail.* ~/var/log/mailing(发文件) #--其实就是邮件服务 , ~异步记载有时间差
cron.* /var/log/cron(创建任务)
级别:Level
emgc  #紧急信息
error #错误信息
info  #正常信息
debug #附加信息
none  #不放信息

日志轮转 logrotate

rotate 轮转

  • 主文件 /etc/logrotate.conf (决定日志怎么轮转)
  • 子文件 /etc/logrotate.d/* ( .d 子配置文件夹 防止用户将程序搞崩溃)
vim /etc/logrotate.conf :
#等级底
weekly #按周轮转
rotate 4 #保留四份
create #轮转后创建新文件
dateext #以日期作为后缀
compress #压缩
include /etc/logrotate.d #包含该目录的子配置文件    相当与c的读取头文件
/var/log/wtmp { #当前用户  #设定不同的日志轮转规则 #等级高
    monthly    #时间
    minsize 1M #最小到到达1M才去轮转 daily and size
    create 0664 (新文件的权限) root(属主) utmp(属组) #
    rotate 1 #保留一份
}
/var/log/btmp { 
    missingok #丢失不提示
    monthly
    create 0600 root utmp
    rotate 1
}


vim /etc/logrotate.d/yum :
/var/log/yum.log {
    missingok
    notifempty #空文件不论转
    maxsize 30k #达到30k轮转, daily or size
    yearly
    create 0600 root root
}

#更改后,重新读取
/var/lib/logrotate/logrotate.status 
/usr/sbin/logrotate /etc/logrotate.conf #更改轮转记录
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf #更改轮转记录

image-20230604144639031

网络接口名称规则
  • 以太网 以en开头
  • WLAN接口wl开头
  • WWAN接口ww开头

Centos 7

确保这两个服务打开

systemctl restart network 
systemctl restart NetworkManager 
systemctl stop firewalld.service
ens 33 #网卡名称
/etc/sysconfig/network-scripts/ #网卡目录
/etc/sysconfig/network-scripts/ ifcfg-ens32 #具体网卡文件
nmcli device #查看网卡
nmtui #简单图形页面驱动网卡设置
nm-connection-editor #图形页面驱动网卡设置
 #具体网卡文件ifcfg-ens32 文件:
ONBOOT  yes/no #是否启用服务
BOOTPROTO(启动协议) dhcp(自动) none(手动) static(静态)

#手动配置
vim /etc/sysconfig/network-scripts/ifcfg-ens32 #具体网卡文件
BOOTPROTO=none #手动
IPADDR=192.168.199.147 # 当协议,需要自定义ip地址
NETMASK=255.255.255.0 #默认子网掩码 用来定义网络的,确定网段的
GETEWAY=192.168.199.2 #网关, 默认路由器
DNS1=192.168.199.2 #域名解释  一定要加上1 不是DNS我也不知道为什么
systemctl restart network  #重启网卡
#不重要
NAME=ens32
DEVICE=ens32
UUID=

image-20230604210907344

image-20230709215701816

[2023.6.6]

ip route  #查看网关
cat /etc/resolv.conf #查看dns
hostname #主机名字  --区别计算机  
hostnamectl set-hostname haha #改主机名字为haha
vim /etc/hostname #主机名字文件,也可以改名字
reboot #重启生效
ping 127.0.0.1 #ping自己是否sys通网
ss -tnl #查看端口开放情况
systemctl start httpd #打开网络端口

image-20230606195404825

最下面的是http的网络端口

128 : 80端口

初始化服务器

  • 最小化安装
  • 配置root密码
  • 配置ip地址
    • 自动配置 就不会被别人拿去用了
  • 配置yum源
  • 关闭防火墙
    • systemctl disable firewalld #开机自动关闭防火墙
  • selinux
    • setenforce 0 #设置为0,关闭另外一道防火墙
    • vim /etc/sysconfig/selinux 修改SELINUX=disabled #永久关闭
  • 安装常用程序
    • yum install -y lrzsz sysstat elinks wget net-tools bash-completion
  • 关机快照
    • 先关机再快照

OSI 只有理论

分为7层 应表会传网数物
  • 应用层

    • 应用程序/原始数据
  • 表示层

    • 格式
      • UTF-8 , ANSI ,GPK
    • 压缩/加密
    • 用于快速传递/安全传递
  • 会话层

    • 会话/全双工/半双工 == 保存身份信息(保持连接)/双向传递/单向传递
  • 传输层

    • 分段
      • 分段数据传输
    • 重组
      • 分开需要重新组装
    • 端口号
      • 一段数字 像 httpd 80端口
    • 用于提高传输效率
  • 网络层

    • ip地址

      192.168....

    • 寻址/路由

    • 用于总目标,全球地址

  • 数据链路层

    • MAC地址/区域网/ 分段目标,局部地址,邮递员
  • 物理层

    • 传输介质/比特流 电流/光/无线信号/4G/5G

TCP/IP:5 当前通信标准

分为5层
  • 应用层

    • 包含前面三层
  • 传输层

    • 分段
      • 分段数据传输
    • 重组
      • 分开需要重新组装
    • 端口号
      • 一段数字 像 httpd 80端口
    • 用于提高传输效率
  • 网络层

    • ip地址

      192.168....

    • 寻址/路由

    • 用于总目标,全球地址

  • 数据链路层

    • MAC地址/区域网/ 分段目标,局部地址,邮递员
  • 物理层

    • 传输介质/比特流 电流/光/无线信号/4G/5G
      set nofoldenable
数据单元
  • 应用层数据
    • AP DU 应用程序数据
  • 传输层
    • segment DU 分段数据
  • 网络层
    • paket DU 包 数据
  • 数据链路层
    • frame DU 帧 数据
  • 物理层
    • bit DU 比特 数据
五层模型协议分类
  • 应用层
    • HTTP/超文本输送协议/网站
    • SSH/远程链接协议/远程控制
    • FTP/文件传输协议
    • SMTP/简单文件传输协议/Email
    • DNS/域名/www
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层
封装和解封装
  • 其实就是层次自上到下再从下到上

[2023.6.23]

二节大水课 --- 进制转换

  • 比特 1/0 bit
  • 字节 8个比特 : B
  • 1KB = 1024B
  • 1MB = 1024KB
  • 1GB = 1024MB
  • 1TB = 1024GB

MAC地址: 网卡地址

  • 前面六位是厂商标识, 后面是硬件标识
ip add

link/ether MAC地址  12位16进制数字

帧封装:

目标MAC // 源MAC // 数据 // CRC

交换机原理:

MAC Address Table 地址表
MAC Address Port
MAC_A E1/0/1
  • 交换
    • 将自己的信息发到交换机
  • 学习
    • 把 发射者的地址与端口
  • 广播
    • 寻址,向其他端口扩散信息
  • 单播
    • 单独进行端口扩散
  • 更新
    • 更新旧的地址,适当舍弃

更新标题为 日期 + 内容

[2023.7.9] 交换机

image-20230709223732751

  • 多台计算机 -- 交换机

image-20230709230358137

Switch#show mac-address-table

​ Mac Address Table

-------------------------------------------

Vlan Mac Address Type Ports


1 0001.64c8.3ad5 DYNAMIC Fa0/3

1 0090.21ea.a9a9 DYNAMIC Fa0/2

1 00d0.5847.6466 DYNAMIC Fa0/1

1 00e0.f799.e56d DYNAMIC Fa0/4

  • 同一个交换机,分组

vlan 虚拟局域网

接口默认都是vlan1

#进入高级模式
# Switch>
enable # 可以看vlan show vla
config t
# Switch(config)#

#创建局域网 10,20
vlan 10
vlan 20
# Switch(config-vlan)#

#必须在接口模式输入
interface fastethernet0/1  #简写为 int f0/1

# Switch(config-if)#

#将端口加入vlan10
switch access vlan 10 #简写为 sw ac vl 10
# int f0/2 switch access vlan 10 他们就可以通信了

[2023.7.20] 命令行基本使用

history # View history
history n # View the last n pieces of history
history -d n # delete -n-th command
history -c # delete all history command
!n # run n-th  command
!-n # run -n-th  command

1./etc/profile #全局配置文件
2./etc/bashrc
3.~/.profile
4.~/bashrc 

#快捷键
ctrl + a # move to head
     + e # move to tail
     + r # search history
     + u # delete before
     + k # delete after
     + y # cpoy u/k contain

command & #进入后台进行
kill %n # kill 后台的第n-th命令
jobs -l #可以查看pid号

command | tee #相当于中通管道
&& # 第一个不行第二个就不行
|| 或者 ; # 第二个肯定能执行
 
* #任何字符任何长度
? #任何一个字符
[abc] #任意一个字符
[!abc] #不是其中的任意一个
[!a-z] #不能是小写字母
{1,,2,3} 是字符串

[2023.7.21-23] shell脚本

脚本执行与screen

#  脚本执行
sh -x 执行前显示脚本内容脚本
   -n 检查是否有语法问题
   -v 是一次性全部展示脚本

chmod +x 脚本
./脚本

脚本的绝对路径
/home/uoyue/a.sh / 'pwd'/a,sh

source / .脚本

#作业脱机管理
nohup + command # 即使断开这个终端还是会继续运行 不能通过 jobs查看 只能通过查看进程
缺省是输出定向到本目录的nohup.out # 也可以自定义输出文件

# screen 
yum install screen #终端恢复

screen —S name #新建会话
screen -ls  #查看会话表
screen -wipe name #清除会话
screen -r name # 回到会话
screen -d name #远程detac会话
screen -d -r name #远程回到会话
screen -X -S name quit / exit #关闭会话


#脚本
export $path = .... #  环境变量

#位置变量 $0 $1 $2 $3 .... 如果是空的话就以空字符串的形式返回
$0 脚本名称
$$ 当前进程的PID
$# 参数的个数
$* 所有参数

unset #q

#读取变量
read -t 5 -n 5 -p "tips :" var # -t 最大时长 -n 最大长度 -p 提示输入
"" 弱引用 可以输出变量的值
'' 强应用 不可以输出变量的值
`` 反引号或者 $() 优先执行()里面的命令

## 变量运算
# 法一 :
expr $a +-*/% $b # 其中 *需要转义 \*
# 法二 :
$(*(express))
$[express]
let express
echo "print(5.0/2)" | python

==================================================================================

2023/7/2 16:02 远程桌面链接配置

配置文件目录

'''

适合远程链接范围是同一个局域网

配置远程链接教程

出现Not listening [not supported]解决方法

window + R 打开 mstsc 打开远程链接

ipconfig 查看 WLAN的IP4地址即为远程访问ip地址,每台电脑都有独特的IP

'''

===================================================================================

2023/7/11 3:04 去掉系统提示符

Microsoft Windows [Version 10.0.22621.1848]
(c) Microsoft Corporation. All rights reserved.


#更改过程:

如果你希望在进入终端时不显示Microsoft Windows的版本信息和版权信息,你可以使用以下方法将其禁用:

使用Win + R键组合打开运行对话框。
输入"regedit"并按Enter键打开注册表编辑器。
转到"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"注册表路径。
在系统路径下,右键点击空白处,选择新建 > DWORD (32-bit) Value。
将新值的名称设置为"DisableCMDPromptVersion",然后按Enter键确认。
双击新创建的值,并将数值数据更改为1,然后按确定保存设置。
关闭注册表编辑器。
重新启动电脑。
这样,当你进入终端时,就不会显示Microsoft Windows的版本信息和版权信息了。请注意,对注册表的更改可能会对系统产生影响,请在更改之前备份注册表或谨慎操作。

-->失败, 懒得改了以后有空改

=====================================================================================

2023/7/11 6:02 更改脚本权限 => LocalMachine

=====================================================================================

2023/7/12 1:46 :安装ubuntu

  1. "启用或关闭Windows功能”设置中,启用“适用于Linux的Windows子系统”和"启用虚拟机平台 Windows 功能"选项。

  2. 重新安装WSL:尝试卸载现有的WSL分发版(如果已安装),然后重新安装它。在Windows PowerShell或命令提示符中以管理员身份运行以下命令:

    wsl --unregister Legacy
    

    然后,重新打开Windows终端并运行以下命令以安装WSL:

    wsl --install
    
  3. 检查Hyper-V和虚拟化功能:确保你的计算机支持Hyper-V和虚拟化功能,并已在BIOS设置中启用这些功能。

  4.  Uoyue: Desktop on master ❯ wsl --install
    适用于 Linux 的 Windows 子系统已安装。

    无法解析服务器的名称或地址

    解决方案

=====================================================================================

2023/7/13 2:59 : 取消github代理

2023/7/31 5:12 :修改注册表将Caps-Lock  => esc 参考文档

有时候需要频繁使用Esc键,但Esc键在键盘中位置较远,操作不便。相对而言,CapsLock键使用频率较低,但位于更方便的位置,这时可以考虑将两键的位置对调。以下是具体操作方法:

一、新建.txt文件,将下列代码复制粘贴到该文件中,并重命名为.reg格式文件。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,3a,00,01,00,01,00,3a,00,00,00,00,00

二、双击确定,然后重启电脑即可。

三、想要恢复默认设置时,可按如下操作:

  1. win+R
  2. 输入regedit,回车
  3. 打开路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
  1. 找到映射文件:Scancode Map,其之后跟着的一长串数字,即为当初修改按键映射的数字串。
  2. 删除该映射文件,再重启电脑,键盘就可以恢复按键原本的位置了。

终端:

OracleLinux:

2023/7/12 :
+ .vim*
:使用vim

2023/7/12 :
+ .w3m
:使用终端浏览器

2023/7/12 :
+ .cache
: 使用oh-my-cache

2023/7/12 :
+ .vscode-server
: 使用vscode链接

2023/7/12 :
+ .bash*
: 系统初始化bash文件

2023/7/12 :

+ .cf
    : 使用cf-tools
    2023/7/13 :
    : [命令及美化](https://zhuanlan.zhihu.com/p/401429004)
    
    + yum install exa   alias exa=ls
    + yum install bat   alias cat=bat
    + yum install htop  alias top=htop
    + yum install ranger #系统文件管理器
    + .local #使用ranger
    + .config #存放一些插件的设置
    + [ranger优化](https://zhuanlan.zhihu.com/p/105731111)
    + sudo yum install  ImageMagick ImageMagick-devel (https://linux.cn/article-12948-1.html)
    + yum install highlight  高亮代码
    + [pip install thefuck](https://github.com/nvbn/thefuck)
    + [glow-md查看器](https://blog.csdn.net/jiangyou0k/article/details/109508863)
    + yum install libX11-devel --nogpg 安装图形预览依赖
    + git clone z(https://github.com/rupa/z) 用于 跳转目录
    + fd-find 快速当前查找文件
    + ripgrep   ripgrep >> grep
    + .z z带来的
    + fzf git clone 可视化选择搜索文件
    + colordiff 对比文件 cf可能有用或者是其他的比赛
    + .fzf.bash # fzf模糊搜索自带的
      2023/7/14 :
      : vim 配置
    + install ctags fot  tagist-vim插件
      2023/7/16 :
      : 测试neovim
    + neovim
    + git clone https://github.com/linrongbin16/lin.vim ~/.vim/ && cd ~/.vim && ./install.sh 下载已经配置好的nvim
    
    + sudo yum install nano
  • pip install Netease-MusicBox
  • sudo yum insatlll gdb
  • pip3 install online-judge-tools
  • sudo npm install -g atcoder-cli
  • pip3 install atcoder-tools
  • pip3 install atcoder-tools
  • pip install git+https://github.com/kenji-miyake/atcoder-helper

Unbuntu :

  • +.vim +.vimrc +.bashrc

    https://blog.csdn.net/Liukairui/article/details/107392243 # 插件alc篇
    https://zhuanlan.zhihu.com/p/509259317 #补全YCM
    
  • sudo apt-get update

  • sudo apt-get upgrade

  • sudo apt install bat 高亮展示 (其实就是高亮文本) 命令batcat

  • sudo apt install htop 任务管理器 (top的多彩简单版)

  • sudo apt-get install ranger 文件管理器 (比window的资源管理器还好用)

    ranger --copy-config=all #初始化
    sudo apt-get install ranger     # ranger 的主程序
    sudo apt-get install caca-utils # img2txt 图片
    sudo apt-get install highlight  # 代码高亮
    sudo apt-get install atool     # 存档预览 失败
    sudo apt-get install w3m        # html页面预览
    sudo apt-get install poppler    # pdf预览 失败
    sudo apt-get install mediainfo  # 多媒体文件预览
    sudo apt-get install catdoc     # doc预览
    sudo apt-get install docx2txt   # docx预览
    sudo apt-get install xlsx2csv   # xlsx预览
    git clone https://github.com/alexanderjeurissen/ranger_devicons ~/.config/ranger/plugins/ranger_devicons
    echo "default_linemode devicons" >> $HOME/.config/ranger/rc.conf #加载图标
    echo "export RANGER_LOAD_DEFAULT_RC=FALSE" .zshrc
    https://zhuanlan.zhihu.com/p/105731111
    
  • sudo apt install fd-find 文件快速搜索器 (静态) 命令fdfind (比传统的find快且命令简单)

  • sudo apt-get install ripgrep 关键字搜索 文件 命令rg (比grep更快跟简单)

  • sudo apt install fzf 文件快速搜索器 (动态 ) 命令fzf (动态搜索不连续字串)

  • sudo apt install zsh (主要功能是 命令基于历史记录补全与预览 及其判断命令高亮)

    #oh-my-zsh 安装
    https://zhuanlan.zhihu.com/p/58073103
    theme=random...
    #插件篇
    plugins=(zsh-autosuggestions)
    plugins=(zsh-syntax-highlighting)
    plugins=( git-open ) 
    plugins=( extract )
    plufins=( catimg )
    https://zhuanlan.zhihu.com/p/242199299#:~:text=2.%20zsh%E5%B8%B8%E7%94%A8%E6%8F%92%E4%BB%B6%201%202.1%20zsh-autosuggestions%202%202.2%20zsh-syntax-highlighting,2.6%20neofetch%206%202.7%20git%207%202.8%20extract
    
  • sudo apt-get install oh-my-posh (失败) 不能够用主题

  • rust and exa (ls 多彩版)

  • sudo apt install rpm

  • centos的bin目录下的glow (md预览必备) ==> centos可以作为资源备选库

  • 安装Google Chrome 已经卸载了

  • centos的bin目录下的cf

  • fim以及ImageMagick

  • rust 带的包 cargo

  • cargo install viu (是终端能显示图像最好的了)

  • sudo apt-get install ketty

  • 本来是要安装另外一个可以用的终端还是算了把

    • install libxext-dev libx11-dev -y
      
  • sudo apt-get install proxychains (github代理但是我不会用)

  • sudo apt-get install npm (很重要)

  • sudo npm install fanyi -g 及其依赖 sudo apt-get install festival (一个好玩的翻译工具)

    VIM-YCM 失败
  • sudo apt-get install build-essential cmake ⛏️

  • sudo apt-get install python-dev python3-dev ⛏️

  • sudo apt install build-essential cmake vim-nox python3-dev ⛏️

  • sudo apt install mono-complete golang nodejs default-jdk npm ⛏️

  • sudo apt install clang clangd ⛏️

  • sudo apt install vim-youcompleteme ⛏️

  • sudo vim-addon-manager install youcompleteme ⛏️

  • sudo apt install vifm

  • sudo apt install cgdb

  • sudo apt install nvim 参考

  • sudo apt install clang

  • sudo apt install node.js

    # 升级node.js到最新版本
    sudo npm cache clean -f
    sudo npm install -g n
    sudo n stable
    node -v
    
  • #升级vim到最新版本
    sudo add-apt-repository ppa:jonathonf/vim
    sudo apt update
    sudo apt install vim
    
  • sudo npm install -g yarn

  • sudo apt remove fim

  • python3 -m pip install --user pipx
    python3 -m userpath append ~/.local/bin
    sudo  apt install python3.8-venv
    pipx install gdbgui
    
  • sudo apt-get install exuberant-ctags

  • sudo apt install universal-ctags

  • sudo apt install autoconf automake libtool

  • sudo vim /etc/hosts 参考文章

    # 2023/8/2 14:59
    # github
    151.101.25.194 http://github.global.ssl.fastly.net
    152.101.25.194 https://github.global.ssi.fastly.net
    13.229.188.59  http://github.com
    13.229.188.59  https://github.com
    
  • 配置qq邮箱

    #下载命令
    sudo apt-get install mailutils
    #下载过程中弹出的界面选择no configuration即可
    sudo apt-get install ssmtp
    vim ssmtp.conf
    #发件人邮箱
    root=ken@qq.com
    #邮件服务器地址(端口必写)
    mailhub=smtp.qq.com:465
    #发件人邮箱(用于做认证,确保该邮箱所有者允许发邮件)
    AuthUser=ken@qq.com
    #发件人邮箱授权码(用户做上面邮箱的身份验证)
    AuthPass=xxxxxx
    #配置使用证书
    UseTLS=Yes
    #格式——主机账号:发件人邮箱:邮件服务器地址(端口必写,若不写则默认端口为25)
    root:ken@qq.com:smtp.qq.com:465
    #表示主机用户root让smtp.qq.com:465这个邮件服务器以ken@qq.com为发件人给其他用户发邮件
    #测试一
    echo "邮件正文" | mail -s "邮件主题" Mike@qq.com
    #-s参数表示后面指定一个邮件主题
    # Mike@qq.com是收件人的邮箱,可替换为指定的收件人邮箱
    
    #测试二
    mail -s "邮件主题" Mike@qq.com < test.txt
    #text.txt中的内容将作为邮件正文的内容发送
    
    #测试一和测试二做的事情是一样的,都只是发送主题和正文
    
    #方式三
    echo "邮件正文" | mail -s "邮件主题" -A test.txt Mike@qq.com
    #-A指定要发送的一个附件,将这个文件发送给收件人
    [参考链接](https://blog.csdn.net/RayMand168/article/details/126256991)
    
  • 发现一个类似ranger的终端小工具vifm

  • 发现一个git的终端工具lazygit

  • 发现一个软件包工具homebrew但是只能在mac或者是linux

  • 发现一个音乐盒子 pip install Netease-MusicBox

  • 发现一个字体生成器 yum install figlet

  • 安装vim-Vista

# NOTE: Don't use `sudo apt install ctags`, which will install exuberant-ctags and it's not guaranteed to work with vista.vim.
$ git clone https://github.com/universal-ctags/ctags.git --depth=1
$ cd ctags
$ apt-get install libjansson-dev automake autoconf pkg-config
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
 在.vimrc add 
 Plug 'liuchengxu/vista.vim'
  • sudo curl https://alpha.bito.ai/downloads/cli/install.sh -fsSL | bash
    卸载方法 : sudo curl https://alpha.bito.ai/downloads/cli/uninstall.sh -fsSL | bash

  • 弄nvim弄坏了

  • 重新安装

    add-apt-repository ppa:jonathonf/vim
    apt update
    apt upgrade -y
    git config --global user.name "Uoyue"
    git config --global user.email "3294365633@qq.com"
    git init
    git remote add origin https://gitee.com/uoyue/my-config.git
    git pull origin master --allow-unrelated-histories
    vim plugInstall
    curl -fLo ~/.vim/autoIoad/pIug.vim -create-dirs https: //raw.githubusercontent·com/junegunn/vim-plug/master/plug·vim
    apt install ranger
    ranger --copy-config=all
    apt install  universal-ctags
    
  • 重新安装

    sudo apt update
    sudo apt upgrade -y
    sudo apt-get install snapd
    sudo apt-get install snapcraft
    # 这里可能会卡住,关机重启
    # 报错执行 sudo dpkg --configure -a
    sudo snap install nvim --classic
    sudo apt install ranger
    ranger --copy-config=all
    
    git config url."https://gitclone.com/".insteadOf https://
    git clone --depth 1 https://github.com/wbthomason/packer.nvim\
     ~/.local/share/nvim/site/pack/packer/start/packer.nvim
    
    
    sudo apt install  universal-ctags
    
    • 安装lazy.git
      sudo add-apt-repository ppa:lazygit-team/release
       sudo apt-get update
       sudo apt-get install lazygit
    

Arch:

yazi

sudo pacman -Syu
# yazi
sudo pacman -S yazi ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxide
mkdir ~/.config/yazi
vim ~/.config/yazi/yazi.toml
[manager]
layout         = [ 2, 6, 7]
[opener]
edit = [
 	{ exec = 'vim "$@"', block = true,  for = "unix" },
	{ exec = 'vim "%*"', block = true , for = "windows" },
]

python

python -m venv ~/.venv
source ~/.venv/bin/activate

vim

curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
sudo pacman -S nodejs-lts-iron
sudo pacman -S npm
sudo pacman -S clang
vim ~/.vimrc
cd ~/.vim/plugged/coc.nvim/
npm ci
" basic
set nu
set rnu
set mouse=a
set laststatus=0
set nocompatible
highlight LineNr ctermfg=8
" encoding
set encoding=utf8
set termencoding=utf-8
set fileencodings=utf-8,chinese,latin-1
" file
set autoread
set autowriteall
set autochdir
set noswapfile
set noundofile
set nobackup
set nowritebackup
" indent
set tabstop=4
set shiftwidth=4
set tabstop=4
set expandtab
set smartindent
set autoindent
set backspace=indent,eol,start
" search
set hlsearch
" map
vnoremap <C-c> y
nnoremap ? :%s/
nnoremap - $
vnoremap - $
nnoremap <C-Up> <C-U>
nnoremap <C-Down> <C-D>
nnoremap rc : e ~/.vimrc<CR>
nnoremap <Tab> @
" ab useing p as prekey
ab pstr struct node {<CR>int x, y;<CR>}
ab psor sort(v.begin(),v.end());

call plug#begin('~/.vim/plugged')
Plug 'neoclide/coc.nvim'
call plug#end()
let g:coc_global_extensions = [
            \'coc-vimlsp',
            \'coc-pyright',
            \'coc-clangd'
            ]
" 设置回车补全
inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm()
                             \: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"

nvim

mkdir ~/.config/nvim/
vim ~/.config/nvim/init.vim
posted @ 2025-07-26 00:46  Jfang0007  阅读(38)  评论(0)    收藏  举报