Linux操作符问题

函数退出#

函数退出状态:0(成功),非零(非正常,失败)

引号#

双引号中使用转义字符可以防止展开
这意味着单词分割(空格制表换行分割单词)、路径名展开(*星号)、波浪线展开和花括号展开都将失效,然而参数展开算术展开命令替换仍然执行

echo "text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER" #禁止部分
text ~/*.txt {a,b} foo 4 me
echo 'text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER' #全部禁止
text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER

各种操作符#

[ expression ] / test[[ expression ]]$(( expression ))$var$( termi )
文件表达式 -e file,字符串表达式 -n string,整数表达式 integer1 -eq integer2test增强,增加 [ str =~ regex ],增加 ==
[[ $FILE == foo.* ]]
整数加减乘除取余取变量执行命令/函数
termi取变量$必加,里面被看作命令参数,< > ( ) 必须转义 否则 小于号 < 大于号>被认为重定向与[ ] 一致取变量$可加可不加termi取变量$必加

image-20230920195057911

Debian问题处理3

fcitx配合各种软件出现的问题#

本文章中出现的引号都是英文状态下的引号,切记!

安装完毕后环境变量设置#

/etc/profile 和/etc/enviroment 均可,profile针对用户,environment针对系统。一般都是放profile里面

不行的话#

如果修改profile无效,则在/etc/enviroment添加修改

#/etc/enviroment 末尾添加
fcitx & #这行要添加
export XIM_PROGRAM=fcitx
export XIM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export LANG=zh_CN.UTF-8

source后再重启一下哦

装了zsh后(从终端打开)idea等各种软件不出现fcitx输入法的问题#

/.zshrc最后添加

export XIM_PROGRAM=fcitx
export XIM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export LANG=zh_CN.UTF-8
export LC_MESSAGES=en_US.UTF-8 #让终端报错时,显示英文 而不是中文

也可以不在/.zshrc中追加这些,而是直接追加 source /etc/profile或者/etc/enviroment即可

如果还有问题,就要在idea的配置文件idea.vmoptions添加

-Drecreate.x11.input.method=true

如果使用系统默认终端的情况下出的问题#

可以在 ~/.bashrc最后添加这段话,重启试试

export XIM_PROGRAM=fcitx
export XIM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export LANG=zh_CN.UTF-8

各个文件的解释#

/etc/profile //用户级,所有用户登陆时才会执行 对于fcitx没效果(firefox无效)
/etc/enviroment //系统级,一般不修改 这里有效果
~/.bashrc //系统默认终端打开时执行 ~/.zshrc //zsh使用前执行

Debian问题处理2

代理#

Vmware里面的debian,连接外面物理机的v2ray。

对于浏览器#

无论是firefox还是chromium,都可以直接通过v2ray允许局域网,然后使用ProxySwitchOmege代理访问

对于命令#

可以使用proxychains,直接用apt-get 安装即可,注意事项

作用范围#

对tcp生效,ping是不生效的,不要白费力气

需要修改两个地方#

  1. libproxychains.so.3 提示不存在 ly

    whereis libproxychains.so.3 
    #libproxychains.so.3: /usr/lib/x86_64-linux-gnu/libproxychains.so.3
    #修改/usr/bin/proxychains
    #export LD_PRELOAD = libproxychains.so.3 修改为:
    export LD_PRELOAD = /usr/lib/x86_64-linux-gnu/libproxychains.so.3
  2. l’y配置修改

    #修改文件/etc/proxychains.conf,在最后一行添加
    socks5 	192.168.1.201 1082
  3. 使用

    proxychains git pull
    #直接在命令最前面输入proxychains即可

直接网络(gui)配置代理#

这个对于终端不生效

zsh安装#

proxychains wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
proxychains sh install.sh

zsh主题安装#

proxychains git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
#修改
vim ~/.zshrc
ZSH_THEME="powerlevel10k/powerlevel10k"

重新配置 p10k configure

程序环境设置#

环境变量

#java环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_281
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
#maven环境变量
export MAVEN_HOME=/usr/local/apache-maven-3.3.9
export PATH=$PATH:$MAVEN_HOME/bin 

typora破解#

声明:破解可耻,尊重正版。这里仅以学习为目的

Debian问题处理1

清华源设置#

vim /etc/apt/sources.list
#注释掉原来的,并添加
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware

deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

中文环境#

su
sudo apt-get install locales
#配置中文环境 1.选择zh开头的 2 后面选择en(cn也行,不影响输入法)
sudo dpkg-reconfigure locales
#设置上海时区
sudo timedatectl set-timezone Asia/Shanghai

中文输入法#

#清除旧的环境
apt-get remove ibus #不兼容问题
apt-get remove fcitx5 fcitx5-chinese-addons 
apt-get autoremove 
ly # gnome-shell-extension-kimpanel
sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk4 fcitx5-frontend-gtk3 fcitx5-frontend-gtk2  fcitx5-frontend-qt5 
im-config #配置使用fcitx5 
vim /etc/profile
#环境变量添加
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
#退出root用户权限,使用普通用户权限再终端
fcitx5-configtool #配置中文输入法即可
#附加组件-经典用户界面--这里可以修改字体及大小
#fcitx5自动开启
mkdir -p ~/.config/autostart && cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart

其他#

应用程序-优化 修改默认字体大小

安卓手机及平板安装linuxDeploy的问题简记

为什么是简记呢,因为这几天折腾这些太累了,等以后回过头来重新操作再详细记载

前言#

初衷#

一开始的初衷是为了在平板上使用idea,之前看了一篇docker使用idea的文章,心血来潮。所以想直接在平板的termux安装docker然后使用,结果一堆问题。后面妥协了,在手机上装,然后开远程吧

这年头机在人在,所以装手机还是平板,还真没有很大的问题。后面使用情况证明:手机不需要开热点的情况(开热点是为了保证网络联通,在同一局域网),其实不怎么发热也不怎么耗电的。

平板上#

本来想在tab s8平板上通过termux安装linux(无root权限),但是总会遇到一堆问题–连系统都装不上。因为root会有两个问题,所以一开始没有考虑使用linuxDeploy(需要root)

  • 保修失效
  • 无法通过系统直接更新(需要线刷)

手机上(root)#

配置#

后面尝试在root过的手机上安装linuxDeploy,照样有一堆问题,这里配上能使用的配置(能进系统):

ly-20241212141834176
我用的时候ssh端口改了一下,不过不影响,第一次用的22端口也是能连上的。初始用户写的root,这里也是设置的root。
最好挂载一下
ly-20241212141834486

问题#

  1. 用其他桌面环境,可能会导致图标没有(应该是就没有那个应用,比如浏览器),不过我这个配置完也没有浏览器,不过好在图标也没,不用自己再去移除了。

  2. 装完之后vns有出错过一次,突然就蹦了,死活连不上。后面我直接重装系统了(linux deploy),没有再出现问题。装完之后需要在/etc/rc.local添加:

    #删除vns临时文件,保证每次启动都是使用端口:5901
    #(linux上显示:1,连接使用时要+5900,即使用5901端口)
    rm -rf /tmp/.X[1-9]-lock
    rm -rf /tmp/.X11-unix/X[1-9]
    #保证系统每次启动后都自动启动vncserver
    vncserver

    电脑上随便找了个VNCServer 绿色免安装程序可以连上
    ly-20241212141834670
    平板上使用AVNC,电脑不方便截图,就不截了.. 类似长这样
    ly-20241212141834882

    #常用命令(也不常,这两天用的最多的)
    vncserver -kill :1 #强制关闭端口1
    vncserver #启动
  3. 安装idea,也不用安装,就是去官网下载解压即可。问题:需要jdk11以上才能打开(疑惑,貌似之前在windows安装的时候没这要求,反正后面我妥协了,装了11,之后就是配置环境变量什么的)
    一开始linuxDeploy的Ubuntu,然后..发现openjdk11装完之后,java -version显示的10,一脸蒙圈,搞得后面又重装了Debian(中途还试了centos)

  4. 装完没有中文输入法,系统装完就是要用的,如果随便打打命令倒是不需要中文输入法,但是如果打点代码写点注解,那蹩脚英语就…总不能句句good good study,day day up..真是one day day de…

问题处理#

其实解决方案前面好像都说了,输入法单独开一块吧,比较恶心,主要是让我意识到了自己水平有多菜…

某些机器(平板)省电模式下,默认的那个用户会断网,原因不明#

所以那个用户就别用了,再创建一个新的

useradd -d /home/ly -s /bin/bash -m ly 

然后设置下密码

passwd ly

配置中文环境#

sudo dpkg-reconfigure locales
#前面选英文和中文,后面选英文
#设置时区
sudo timedatectl set-timezone Asia/Shanghai

中文字体安装#

apt-get install ttf-wqy-zenhei
apt-get install xfonts-intl-chinese wqy*

输入法相关安装#

#fcitx安装
apt install fcitx -y
#输入法安装
apt install fcitx-googlepinyin fcitx-sunpinyin fcitx-pinyin
#中文字体包,简体繁体
apt install fonts-arphic-bsmi00lp fonts-arphic-gbsn00lp fonts-arphic-gkai00mp
apt  install fcitx-table*

image-20231109203455234

zsh卸载后root无法登录及vm扩容centos7报错处理

zsh卸载后root无法登录#

主要参考文档 https://blog.csdn.net/Scoful/article/details/119746150

  1. 重启,开机引导进入下面的那个,按e进入编辑模式

ly-20241212141833490

  1. 移动光标,找到ro crashkernel=auto,修改为 rw init=sysroot/bin/sh

    ly-20241212141833799

  2. 按ctrl+x进入单用户模式界面

ly-20241212141833982

  1. 输入chroot /sysroot 获取权限
  2. vim /etc/passwd
  3. 第一行 ,root ……zsh,中/bin/zsh,改为/bin/bash
  4. touch /.autorelabel更新SELinux信息
  5. 两次exit 推出chroot
  6. reboot 重启:需要一定时间,耐心等待

vm扩容centos7#

这里是因为我在vm手动扩容后,进入centos7系统—用了 可视化界面中的disk软件直接扩容,发生错误(具体错误我没注意,一闪而过了),后面呢我再使用命令resize2fs /dev/sda3的时候,发现总是提示 busy

解决办法#

按照上面的办法,进入到第3步结束之后(按ctrl+x进入单用户模式界面 要做)
输入 umount /dev/sda3 进行卸载
然后输入下面进行修复(极为重要),然后出现问题是否修复一直按’y’即可

xfs_repair /dev/sda4
注:如果你当前文件系统是ext4,可以执行fsck.ext4 /dev/sda4

然后输入 mount /dev/sda3 / 进行挂载(这步可能不需要)
最后 reboot 重启
重启之后,再执行 resize2fs /dev/sda3 即可