## 删除属性
chattr -R -i -e -a files 去除 i e a 属性
i #不可编辑和删除
a #只能追加
-R #表示如果是文件,则递归的给文件以及子文件进行修改隐藏属性
## 增加属性
chattr -R +i +e +a files 增加 i e a 属性
## 如果chattr命令文件被修改,则可通过下载C代码进行重新编译
1、先下载C文件(https://github.com/posborne/linux-programming-interface-exercises/blob/master/15-file-attributes/chattr.c), 上传到服务器的任意目录
2、编译,cc chattr,得到文件a.out,把名字改成chattr
3、使用生成的文件去除 `/usr/bin/chattr` 的文件隐藏属性(i,e)
4、把生成的文件进行替换 `/usr/bin/chattr`
#在禁用密码登录前,要先配置好免密登录,不然退出后你就上不去了
#编辑远程服务器上的sshd_config文件:
vi /etc/ssh/sshd_config
PasswordAuthentication yes改为no
#编辑保存完成后,重启ssh服务使得新配置生效,然后就无法使用口令来登录ssh了
systemctl restart sshd.service
修改hosts文件
实现本地的域名与ip的映射
sudo vim /etc/hosts #编辑并保存即可
tr命令
#把标准输入经过替换、删除等操作后,标准输出
cat A.txt | tr ";" "A" #把A文件中;替换为A
cat A.txt | tr "\\\n" "A" #把A文件中\\n,替换为A
排序命令
cat A.txt | sort #把A文件中每一行按照字母序进行排序输出
sed命令
# 把所有xml后缀文件中,${user.name} 替换为/var/rocketmq;
# g表示全文替换
# “###”表示为了区分特殊字符/转义
sed -i 's#${user.name}#/var/rocketmq#g' *.xml
-ie 会对文件内容进行修改
不加-ie只对输出内容进行修改
#1.把每行第2个’test‘替换为’trial‘
sed 's/pattern/replacetext/flags标记' 文件名
n:表示替换第几个1-512之间任意一个
例如:sed 's/test/trial/2' data4.txt
#2.替换所有匹配的文本
sed 's/test/trial/g' data4.txt
如果没有g,则只会在第一次匹配成功时做替换操作。例如,一行数据中有 3 个 A,则只会替换第一个 A;
#3.只输出修改后的那一行 --- (-n选项和p标记使用)
sed -n 's/test/trial/p' data5.txt
#4.删除第三行数据
#不会删除文件内容,只是删除输出内容
sed -i '3d' data1.txt
#5.删除 data6.txt 文件内容中的第 2、3行
#不会删除文件内容,只是删除输出内容
sed '2,3d' data6.txt
#6.在第三行之前插入
sed '3i\
> This is an inserted line.' data6.txt
#7.在第三行之后插入
sed '3a\
> This is an inserted line.' data6.txt
#8.插入多行,只需在每行之后加入 '\'
#9.替换指定行的内容--把第三行替换为其他字符串
sed '3c\
> This is a changed line of text.' data6.txt
#10.处理单个字符,并且一对一映射---把1替换为7,2替换8,3替换为9
sed 'y/123/789/' data8.txt