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文件解析
用户名:加密:距今天数:修改最小间隔:密码有效期:警告时间:不活动时间:失效时间:保留
- guest(用户名):
- (加密方式)ZxI.S39F$TITsFlcsArPmTXPPYcF/I97oO38QK3lYLmw1D1CMVargrFbKpX1qkSol8ZRpLtDMUxHmwNMe/qxQGIp/aLMzP1】(加密 *被锁了 !!过期了):
- 19463(最后修改密码时间(1970.1.1)相对历史的一个天数):
- 0(修改密码的最小间隔天数):
- 99999(保持密码的最长日期):
- 7(系统警告时间):
- (不活动时间,保留时间,默认没有就是空,就是无线时间。如果有的话,超过时间没有登录就禁用):
- (失效时间 例子30,30天后就不能用了):
- (没什么用):
- 没什么用
[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<
>
> > 重定向输出
| 管道就是前一个命令的输出用于现在命令的输入
- tee 就是中间的--- 也就是三通管 输出到另外一个
实例 cat /etc/passwd | tee asd.txt | head -1 - 特殊的命令 cp mv rm 是不接受文本文件的 这时候需要加上格式转换 | xargs
- cut -d:(符号像 ' ' '-') -f1(2,第几个内容) #就是切片
- /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 因为是系统持磁盘
创建文件系统
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(磁盘空间) %查看磁盘挂载信息%
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(无后缀)
源码包: #需要 编译环境编译才能运行
包示例:
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 #自动重启
软件安装
#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 #查看仓库列表
如果最后一列出现@就是已经安装的,其余的信息是仓库名称
官方软件获取最新的软件包
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 #更改轮转记录
网络接口名称规则
- 以太网 以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=
[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 #打开网络端口
最下面的是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
- 传输介质/比特流 电流/光/无线信号/4G/5G
数据单元
- 应用层数据
- 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] 交换机
-
配IP
-
客户机 192.168.199.147 服务机 192.168.199.154
- 多台计算机 -- 交换机
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
-
"启用或关闭Windows功能”设置中,启用“适用于Linux的Windows子系统”和"启用虚拟机平台 Windows 功能"选项。
-
重新安装WSL:尝试卸载现有的WSL分发版(如果已安装),然后重新安装它。在Windows PowerShell或命令提示符中以管理员身份运行以下命令:
wsl --unregister Legacy然后,重新打开Windows终端并运行以下命令以安装WSL:
wsl --install -
检查Hyper-V和虚拟化功能:确保你的计算机支持Hyper-V和虚拟化功能,并已在BIOS设置中启用这些功能。
-
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
二、双击确定,然后重启电脑即可。
三、想要恢复默认设置时,可按如下操作:
- win+R
- 输入regedit,回车
- 打开路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
- 找到映射文件:
Scancode Map,其之后跟着的一长串数字,即为当初修改按键映射的数字串。- 删除该映射文件,再重启电脑,键盘就可以恢复按键原本的位置了。
终端:
- Chocolatey -- 下载软件 参考文档 Set-Alias yum choco
- OhMyPosh -- 美化终端 参考文档 默认路径
- Nerd Fonts 系列字体
- cmd => powershell
- powershell 脚本权力修改
- 插件使用 插件介绍
- powershell => wsl
- w3m ==> 终端浏览器
- cf-tools 代码提交 配置指南
- mycli 参考文章 用于mysql高亮
- centos =>ubuntu
- pandoc #格式转换工具
- 下载 node.js
- cp bits => C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\bit #clamged 使用万能头
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
-
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
浙公网安备 33010602011771号