企业高薪思维:
企业(工作/学习中)操作前备份,操作后检查
最小化原则
1.安装软件最小化
2.参数选项最小化
3.登录用户权限最小化(不用root登录)
要想成功/学习上/工作上
永远比别人多做一点点(别人只完成了任务,我们再次基础上再多做)
早做一点点(无论自己能力有多强/弱,我提前做)
做好一点点(别人/自己完成了工作任务,我去考虑有没有更简单的方法去完成这个任务/有没有第二种方式/能不能在此基础上演变成新的功能去进行服务)
提高自己的能力,it路上要有一路学习(企业/工作在一定阶段因竞争会进行转型),我们要坚持去了解市场行信息,我们也要多提升技术能力,多考社会含金量证书,否则会被别人替代!
企业常用Linux文件命令相关知识+小案例
https://blog.csdn.net/2302_78067597/article/details/137573045?spm=1001.2014.3001.5501
企业中常用到的文件内容相关命令(详谈)
https://blog.csdn.net/2302_78067597/article/details/137482643?spm=1001.2014.3001.5501
centOS手动配置IP/软件升级包/yum已被锁定故障/进入主机修改eth0/reboot重启故障/忘记Linux的root密码/及Linux命令学习–(6000字详谈)
https://blog.csdn.net/2302_78067597/article/details/137397393?spm=1001.2014.3001.5501
VMware配置环境(安装运行问题)及系列dns端口网络类型IP远程连接学习之(详谈8000字)
https://blog.csdn.net/2302_78067597/article/details/137278217?spm=1001.2014.3001.5501
xshell远程连接及VMware(su:鉴定等)内容补充
https://blog.csdn.net/2302_78067597/article/details/137366008?spm=1001.2014.3001.5501
touch命令
多次进行touch aa
touch aa
touch aa (这是修改了文件的时间戳)
用**stat aa**可以进行查看
[root@calms ~]# touch aa
[root@calms ~]# touch aa
[root@calms ~]# stat aa
文件:"aa"
大小:0 块:0 IO 块:4096 普通空文件
设备:803h/2051d Inode:33578110 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2030-05-30 00:30:22.018069494 +0800
最近更改:2030-05-30 00:30:22.018069494 +0800
最近改动:2030-05-30 00:30:22.018069494 +0800
创建时间:-
别名 alias
别名alias (别名 外号 小名)
为什么要用别名?
1. 提高效率,方便运维人员记忆
查看已有别名:
alias系统设置的)
如何设置别名
举例:
alias net=‘cat /ETC/sysconfig/network–scripts/ifcfg–eth0’
输入alias,可以看到一长串已经生效了
直接可以输入net
2.使用别名可以提醒用户,防止误删数据
比如alias rm=:'echo “你好,请不要使用rm命令,用MV进行替代”
alias
此时敲rm命令,它会提示
步骤:
1.命令能执行 echo 你好,请不要使用rm命令,用MV替代
2.英文状态输入,引号一定为英文输入
3.设定
4.检查(输入命令进行检查)
5.rm看效果
别名优先于命令
cp a /tmp/
cp a /tmp/
会提示是否覆盖
Ctrl c
能拷贝是因为它执行了,cp–i
完整的是cp –i wulin.txt /tmp/
所以给我们一个道理,alias高于命令
如何能不使用别名?
1.rm (别名状态)
touch x
rm a
提示(不生效)
解决方式:用这个命令的绝对路径(全路径)/bin/rm a
查看绝对路径
which rm
userbin和bin是一样的,我们习惯用bin
2.在命令开头加反斜线
比如\rm –f *
3.取消别名
ls /etc
发现不同的文件颜色不一样
它们有– –color,这也是alias参数
取消别名
unalias ls
执行同样的命令,可以看到没有颜色了
我们在工作中一般不会动系统的默认的文件参数
重定向
- 标准输出重定向,用数字1来表示
- 标准错误输出重定向,用数字2表示
- 标准输入重定向,用数字0来表示
标准输出重定向:
大于> >或1>,数据流向朝右
echo wulin
echo wulin >wulin1.txt
作用:
1.把wulin输出以后,
2.清空wulin1.txt
3.把wulin 字符串写入wulin1.txt
cat wulin1.txt查看
其实大于号前面是有1的,加一和不加是一样的
常用清空文件命令
< wulin.txt
或cat /dev/null >wulin1.txt (/dev/null俗称黑洞,在企业中我们将垃圾/无用的信息,放在这里)
标准错误输出重定向
接受执行命令的报错
ls
ls >wulin1.txt把结果放进到里面
ls 2>wulin1.txt
ls结果没有放进去,这个只接收了,但这里不是报错正常输出,虽然不会放里面,但是还是会把文件清空,用cat 命令可以看到文件是空的
案例:
lss 现在是报错
lss 2>wulin.txt
cat wulin.txt
它会显示把这个错误写进去了,所以它可以理解为一个垃圾桶,把错误的放进去,不是错误的放不进去
ls >wulin.txt. 2>wulin1.txt
会看到数据去了第一个,第二个是空的
[root@calms ~]# ls >wulin1.txt 2>wulin2.txt
[root@calms ~]# cat wulin1.txt
a
aa
adasfd
anaconda-ks.cfg
b
stu7
stu8
stu9
wl_dir
wulin1.txt
wulin2.txt
wulin.txt
[root@calms ~]# cat wulin2.txt
wulin2.txt为空
同样的命令我给开头加个s
第一个用cat查找为空的,第二个讲错误信息放了进去
前面为可回收的,第二个不可回收的(两个垃圾桶,取决于命令哪个为正确,那个是错误的)
标准输入重定向
0表示,<或0<
数据流向是朝左的 tr 按字符替换
tr wulin1.txt是没有办法接入的
tr <wuli1n.txt把wulin1.txt文件先读出来再进行处理
[root@calms ~]# tr "wul" "abc"<wulin1.txt 按字符替换(单个字符替换)
abcin1
absae
absef
tr还可以这样写
tr “a-g” “1-7” <wulin1.txt
xargs (从标准输入接受数据)
–n 分组
xargs –n 2 seq.txt
这样写没反应
必须xargs –n 2<seq.txt(两个一组)
还可以四个一组,五个一组
但是会发现xargs五个一组相当于 echo {1…5}
标准追加输出重定向
大于>>或1>>数据流向朝右
1.输出wulin
2.把wulin追加到wulin.txt结尾(不再进行清空)
echo wulin >>wulin1.txt
cat wulin1.txt
标准错误追加输出重定向
2>>,数据流向就是朝右,标准追加输出重定向
lss
显示未找到
lss 2>a.txt
cat a.txt
讲错误的命令放了进去
在工作中我想要把所有错误留着
地方方法diffda 2>>a.txt
cat a.txt
这里显示错误的命令
asasddd 2>>a.txt
用cat a.txt
显示未找到命令
会进行追加讲错误写在后面,只要有两个大于号放到结尾,只写一个大于号会把前面的清空,只放入现在的内容
标准输入追加重定向
0表示 ,0<<或<<数据流向朝左
cat <<eof(eof将任意两个相同的字符串中间内容输出出来)
ddd
fff
eof
把他放到一般的文件里面
cat >a.txt <<eof
ddd
fff
eof
把内容输出放入到这个重定向文件里
特殊情况:希望一个文件同时收集错误和正确的信息
echo wulin >>wulin.txt 2>>wulin.txt
cat wulin.txt
会显示
如果不小心少加了一个字母,会把错误放进去
在>>前面加上一个&符,同样可以实现功能
echo wulin >>wulin.txt 2>&1
把错误重定向到1里面去(大多数网友部分人用这种方式)
别名在命令行敲(临时生效,重启会消失),如何使它进行永久生效?
全局环境变量文件:
/etc/Profile
/etc/bashrc(优先于上面)(尽量配在这个里面)
用户环境变量文件:
~/./bash_profile
~/.bashrc
vim /etc/bashrc
这里不要手敲,复制
alias net=‘cat /etc/sysconfig/network-scripts/ifcfg-eth0’
然后进行保存
用cat net进行查询是否成功
在企业中(工作中)编辑大量的文件就是通过重定向方向进行放进去的
unic去重命令
–c计数
cat >test <<EOF
10.0.0.1
10.0.0.11
10.0.0.2
10.0.0.8
10.0.0.20
10.0.0.20
10.0.0.8
10.0.0.21
10.0.0.1
10.0.0.1
10.0.0.1
10.0.0.22
10.0.0.1
10.0.0.8
EOF
用uniq test.txt
[root@calms ~]# uniq test
10.0.0.1
10.0.0.11
10.0.0.2
10.0.0.8
10.0.0.20
10.0.0.21
10.0.0.1
10.0.0.9
10.0.0.22
10.0.0.1
10.0.0.8
10.0.0.20
10.0.0.21
结果是相同的写成了一个,作用把相邻的想同行去重
> uniq –c test.txt相邻的想同行去重并且计数(整个文件实现了去重并且计数)
sort排序命令
sort test.txt
先排序在去重
sort test.txt >u.txt
uniq –c u.txt
–n按数字排序
sort –n test.txt
-t 指定分隔符 –k指定列 –r倒叙
按ip地址由小到大排序
sort –n –t -k4 test.txt
sort –rn –t -k4 test.txt
sort –rn –t -k4 test.txt>ab.txt
uniq -c ab.txt
uniq -c ab.txt>b.txt
sort -rn b.txt
统计下面重复的ip次数,并且把次数由大到小排列
Linux特殊字符
|管道
用单个的命令不能直接获取到想要的结果,只能得到接近的结果,还需要进一步处理
cat wulin1.txt
走管道
grep wulin没有得到想要的
在进行接入管道 sort在处理
处理能做到不用管道就不用使用管道,解决不了使用管道
cat wulin.txt(这个得不到我想要的结果)
cat wulin.txt |grep wulin
管道它是数据流(文本数据,不是文件,是文件里面的数据流)
可以不用管道,grep wulin wulin.txt
上面效率低,这个效率高
cat test.txt
我要让最大的ip地址放在上面,把次数多的放上面
我先做sort test.txt
sort test.txt|uniq -c
sort test.|uniq -c|sort -n
sort test.|uniq -c|sort -rn
sort test.|uniq -c|sort -rn –t. -k4
IP地址由大到小进行排序,以.进行作为分割
发现用管道处理上述IP排序比重定向好很多
练习
1.用echo实现下面wulin1.txt文件加入如下内容
cat wulin1.txt
wuswe
wusef
第一种方法
[root@calms ~]# echo -e "wulin" >wulin1.txt
[root@calms ~]# echo –e "wulin\nwuswe\nwusef"
–e wulin\nwuswe\nwusef
[root@calms ~]# echo –e "wulin\nwuswe\nwusef" >wulin1.txt
[root@calms ~]# cat wulin1.txt
–e wulin\nwuswe\nwusef
第二种方式:
[root@calms ~]# echo 'wuswe
> wusef
> '>wulin1.txt
[root@calms ~]# cat wulin1.txt
wuswe
wusef
会发现这种方法这里会出现一行空白
[root@calms ~]#
第三种方式
[root@calms ~]# cat >wulin1.txt <<EOF
> wuswe
> wusef
> EOF (这里必须顶开头,不然会报错,这里常用eof,并且与里面内容不冲突)
[root@calms ~]# cat wulin1.txt
wuswe
wusef
在工作中,输入大量的文本,不想用vim,想用程序自动化批量的添加内容的时候,vim需要人工交互,这种方式不用交互(大量文本时非常有优势)
2.给seq5.txt文件,增加5行,1…5(不用vim)
[root@calms ~]# seq 5 先进行看是否为正确的
1
2
3
4
5
[root@calms ~]# seq 5 >seq5.txt
[root@calms ~]# cat seq5.txt 进行查看
1
2
3
4
5
小编先写到这里了,需要关注小编linux专栏!!!