LINUX操作系统基本符号说明
-
课程介绍部分
1). 系统符号 # ~ $ . ..
2). 通配符号 * {}
根据文件名称进行匹配信息
3). 正则符号 *
根据内容进行匹配 -
系统符号作用
a 简化操作 如:.. ~ ; &&
b 进行匹配 -
系统特殊符号:
- 基础符号系列
美元符号:$ //取变量内容、配合awk去列、普通用户提示符、
叹号符号: ! //取反、强制
竖线符号: | //前一个命令执行结果交给后面命令处理
xargs: 将信息进行分组显示
同时查询多个文件并查看这些文件中的内容:
1|0touch abc{1..9}.txt
2|0find / -maxdepth 2 -type f -name "abc*" | xargs cat
将查询到的多个文件的详细信息显示出来:
3|0find / -name "abc*" | xargs ls -l
需求:删除/root下的三个abc文件
4|0find / -maxdepth 2 -type f -name "abc*" | xargs rm -rf
作业:
查找指定数据信息进行复制:查找出*.txt文件,批量复制到/tmp目录:- 将找到的信息放到cp 和 最终目录中间
find /root -type f -name "*.txt"|xargs -i cp {} /abc456 - 利用cp指明谁是数据最终保存的目录信息
find /root -type f -name "*.txt"|xargs cp -t /abc456
查找指定数据信息进行移动:查找出.txt文件,批量移动到/tmp目录:
# find /root -type f -name ".txt"|xargs mv -t /abc-
引号符号系列
'' 输出的信息,写什么显示什么
[root@pillar1m abc123]# echo 'abc123 $LANG $abc456'
abc123 $LANG $abc456
"" 和单引号功能类似 但对特殊信息会做解析
[root@pillar1m abc123]# echo "abc123 $LANG $abc456"
abc123 en_US.UTF-8 123
`` ($()) 将引号中的命令先执行,将执行结果交给引号外面的命令进行处理
没有引号 和双引号功能类似 但是可以直接识别通配符信息,如:# echo -
重定向输出符号:
1> 标准输出重定向符号
2> 错误输出重定向符号1>> 标准输出追加重定向符号
2>> 错误输出追加重定向符号
&> 正确错误重定向输出作业:
如何将正确信息和错误信息都输出到文件中:方法一: 将正确和错误信息同时保留到一个文件
[root@pillar1m abc123]# echo abc123 >>/abc123/info.log 2>>/abc123/info.log方法二: 将正确和错误信息同时保留到一个文件
[root@pillar1m abc123]# echo abc123 &>/abc123/info.log[root@pillar1m abc123]# echo abc123 >/abc123/info.log 2>&1
5|0passwd --stdin zhangsan < pass.txt
<< 标准输入追加重定向符号
cat >>/abc123.txt<<EOF
XXX
XXX
EOF -
路径信息系列
../ 上一级目录
./ 当前路径
~ 返回到家目录- 两个目录之间进行快速切换
- 逻辑符号系列
&& 与逻辑符号 前一个命令执行成功, 再执行后面的命令
|| 或逻辑符号 前一个命令执行失败, 再执行后面的命令
&&符号实践操作:
作业:
需要创建一个/test目录, 在目录中创建一个abc123.txt||符号实践操作
需求: /test/abc123.txt删除失败了,在/test/error.txt文件中生成失败信息[root@pillar1m tmp]# rm /test/abc1231.txt || echo "failed" >>/test/error.txt
[root@pillar1m tmp]# rm /test/abc123.txt || echo "failed" >>/test/error.txt
- 基础符号系列
-
系统通配符号:
利用通配符号匹配文件名称信息- 模糊匹配所有内容 abc123 abc ab a*
find / -name "ab" //0个或多个字符
ll /abc123/.txt
{} 生成序列信息 (生成一行序列)
生成连续序列
echo {1..10}
echo {001..100}
echo {a..z}
echo {A..Z}
生成不连续序列
echo {1..10..2} 奇数序列
echo {0..10..2} 偶数序列
echo {www,bbs,blog}生成组合序列
[root@pillar1m tmp]# echo {A,B}{01,02}
A01 A02 B01 B02
[root@pillar1m tmp]# echo A{01,02}
A01 A02
[root@pillar1m tmp]# echo A{,02}
A A02常用的文件备份操作:
6|0cp /etc/passwd /etc/passwd.back
7|0cp /etc/passwd
生成银行卡密码全部组合并统计总共多少个密码:
8|0echo {0..9}{0..9}{0..9}{0..9}{0..9}
作业:
- 在/abc123目录中创建test.txt文件,并在/abc123目录中生成test.txt.back备份文件
9|0mkdir /abc123 && touch /abc123/test.txt && cp /abc123/test.txt
- 如何将刚刚的备份文件快速还原
- 模糊匹配所有内容 abc123 abc ab a*
-
课程内容总结
01. 系统符号
1. 系统常用符号 # $
2. 路径系列符号 ~ - .. .
3. 重定向符号 > >> 2> 2>> < << &> 2>&1 /dev/null
4. 逻辑符号 && ||
5. 引号符号 "" '' `` ($()) 没有引号
02. 通配符号 根据文件名称进行筛选过滤
* 模糊匹配字符
{} 生成序列信息 / 生成组合序列 (快速备份文件/快速恢复文件)
10|0操作系统正则符号说明
-
正则符号
- 利用正则符号匹配文件内容信息
- 正则符号经常出现在各种开发语言中, python java php shell
- 正则符号经常被三剑客命令使用
-
基础正则符号: basic
- 尖角符号:^
以什么开头的信息
11|0ll /etc | grep "^d"
- 美元符号:$
以什么结尾的信息
12|0ll -F /etc/ | grep "/$"
- 将全部内容显示,但不要显示空行
^$ -- 空行
13|0grep -v "^$" 文件中过滤
测试环境:
cat >>~/test.txt<<EOF
I am Edison!
I can sing. - 尖角符号:^
I like music, hip-hop!
our site is https://clot.com
my qq num is 1234567890.
not 12345678900.
my god ,i am not Big handsome boy,but Edison!
EOF
14|0cat >> ~/test02.txt<<EOF
张三 123456
李四 123457
王五 abcdef
王五1 def123
赵六 123459
EOF
只对数字内容增加括号显示:
15|0cat >>~/test03.txt<<EOF
123456
88888
abcde
中文
语言
EOF
# cat ~/test03.txt | sed -r 's#([0-9]+)#<\1>#g'
cat >>test04.txt<<EOF
gd
god
good
goood
gooood
EOF
.
.
..
.
.
..
.
.
16|0<\1><\2><\3>#g"
17|0ifconfig ens33 | grep -E "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}" -o | head -1
__EOF__

本文链接:https://www.cnblogs.com/Crushz-2024/p/18390298.html
关于博主:Crushz
版权声明:转载请注明来源哟~ QAQ
声援博主:UP UP UP !!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了