day10-Linux常用命令

02.Linux 系统优化
调试命令行
第一步: 写入/etc/profile
[root@oldboy:~]# tail -1 /etc/profile
export PS1='[\[\033[1;32m\]\u\[\033[1;37m\]@\[\033[1;36m\]\h\[\033[00m\]:\[\033[1;34m\]\W\[\033[00m\]]\$ '
第二步: 重新连接xshell或者使用source /etc/profile

安装常用命令:
麒麟:
yum -y install net-tools tree lrzsz
ubuntu:
apt -y install  net-tools tree lrzsz

lrzsz包含了两个命令
rz   # 将windows上的文件上传到Linux系统
    xshell: 鼠标拖拽文件到linux
    不能上传空文件
[root@oldboy:~]# rz -bye  # 格式化上传文件

sz   # 将linux上的文件下载到windows
[root@oldboy:~]# sz a.txt
03.Linux 系统常用命令
1.echo输出内容到屏幕和文件中。
语法结构:
			echo 字符串 回车    # 输出到屏幕
			echo 字符串 > file # 输出如到文件
            其他命令输出 >file  # 输出到文件中
案例1.输出oldboy字符串到oldboy.txt文件中,如果oldboy.txt 不存在则自动创建
[root@oldboy:~]# echo oldboy > oldboy.txt
[root@oldboy:~]# ll
total 4
-rw-r--r-- 1 root root 7 Jul  9 10:20 oldboy.txt
[root@oldboy:~]# cat oldboy.txt
oldboy
案例2.默认> 先清空文件的内容在写入新的内容
[root@oldboy:~]# echo test > oldboy.txt
[root@oldboy:~]# cat oldboy.txt
test

案例3.追加oldboy字符串到文件中
[root@oldboy:~]# echo oldboy >> oldboy.txt
[root@oldboy:~]# cat oldboy.txt
test
oldboy

案例4.ip a 结果输入到ip.txt文件中
[root@oldboy:~]# ip a > ip.txt
[root@oldboy:~]# cat ip.txt
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:65:96:4a brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::b4c3:3c61:51f7:2655/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

[root@oldboy:~]# ping -c1 -W1 www.baidu.com > ping.log
[root@oldboy:~]# cat ping.log
PING www.a.shifen.com (110.242.68.3) 56(84) bytes of data.
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=1 ttl=128 time=13.2 ms

--- www.a.shifen.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 13.224/13.224/13.224/0.000 ms




>  # 先清空,后写入  1> 			标准正确输出重定向  我只要正确的执行结果,错误的不要。
>> # 追加内容到文件的最后 1>>	      标准正确追加输出重定向 只要正确的执行结果
2> # 标准错误输出重定向   我只要错误的 不要正确的
2>># 标准错误追加输出重定向 我只要错误的 不要正确的

案例1.正确的执行结果定向到a.txt
正确: 命令正确,文件正确,啥都正确,结果也是正确的
  358  ll > a.txt
  359  cat a.txt
  360  ip add
  361  ip add|grep 10.0.0.200
  362  ip add|grep 10.0.0.200 >> a.txt
  363  cat a.txt
  364  history


案例2.错误的执行结果
错误: 命令错,结果错。
[root@oldboy:~]# lllllllllll
-bash: lllllllllll: command not found
[root@oldboy:~]# lllllllllll > hehe.txt
-bash: lllllllllll: command not found
[root@oldboy:~]# ll aaaaaaaaaa.txt
ls: cannot access 'aaaaaaaaaa.txt': No such file or directory
[root@oldboy:~]# ll aaaaaaaaaa.txt > hehe.txt
ls: cannot access 'aaaaaaaaaa.txt': No such file or directory

[root@oldboy:~]# > hehe.txt   # 直接清空文件内容
[root@oldboy:~]# cat hehe.txt

案例3.接收错误的结果 2> 2>>
[root@oldboy:~]# lll
-bash: lll: command not found
[root@oldboy:~]# lll 2>hehe.txt
[root@oldboy:~]# cat hehe.txt
-bash: lll: command not found

[root@oldboy:~]# ping -c1 -W1 www.aaaaaaccc.com 2>> hehe.txt
[root@oldboy:~]# cat hehe.txt
ping: www.aaaaaaccc.com: Name or service not known
[root@oldboy:~]# ping -c1 -W1 www.aaaaaaccc.com 2>> hehe.txt
[root@oldboy:~]# cat hehe.txt
ping: www.aaaaaaccc.com: Name or service not known
ping: www.aaaaaaccc.com: Name or service not known

服务: 两个日志文件 ok.log  error.log
错误和正确的日志放在一起的。

案例4.同时接收正确和错误的结果
正确的结果写入到 ok.txt
错误的结果写入到 error.txt
[root@oldboy:~]# #ping -c1 -W1 www.aaaaaaccc.com >> ok.txt 2>> error.txt
[root@oldboy:~]# > ok.txt
[root@oldboy:~]# > error.txt
[root@oldboy:~]# ping -c1 -W1 www.aaaaaaccc.com >> ok.txt 2>> error.txt
[root@oldboy:~]# cat ok.txt
[root@oldboy:~]# cat error.txt
ping: www.aaaaaaccc.com: Name or service not known
[root@oldboy:~]# ping -c1 -W1 www.aa.com >> ok.txt 2>> error.txt
[root@oldboy:~]# cat ok.txt
PING www.aa.com (184.50.93.141) 56(84) bytes of data.
64 bytes from a184-50-93-141.deploy.static.akamaitechnologies.com (184.50.93.141): icmp_seq=1 ttl=128 time=45.2 ms

--- www.aa.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 45.198/45.198/45.198/0.000 ms
[root@oldboy:~]# cat error.txt
ping: www.aaaaaaccc.com: Name or service not known


案例5.正确的和错误的都写入到ok.txt文件中
[root@oldboy:~]# ping -c1 -W1 www.aa.comaaaaaaaaaa >> ok.txt 2>> ok.txt
[root@oldboy:~]# cat ok.txt
PING www.aa.com (184.50.93.141) 56(84) bytes of data.
64 bytes from a184-50-93-141.deploy.static.akamaitechnologies.com (184.50.93.141): icmp_seq=1 ttl=128 time=44.8 ms

--- www.aa.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 44.775/44.775/44.775/0.000 ms
ping: www.aa.comaaaaaaaaaa: Name or service not known

案例6.其他写法
第一种写法: 正确的结果输入到ok.txt,错误的结果和1一样。
[root@oldboy:~]# ping -c1 -W1 www.aa.comaaaaaaaaaa >> ok.txt 2>&1
第二种写入: & 正确和错误的都输出到ok.txt
[root@oldboy:~]# ping -c1 -W1 www.aa.com &>>ok.txt
第三种方法:
[root@oldboy:~]# ping -c1 -W1 www.aa.comaaaaaaaaaa >> ok.txt 2>> ok.txt


1.less 一页一页查看文件 查看大文件。
参数选项:
       -N 显示行号
       f 空格 往下翻页
       b 往上翻页
       1G 快速到首行
       g 快速到首行
       / 搜索内容
         n 查找下一个
         N 查找上一个
	   q 退出
2.more 了解

3.sort 排序
语法结构:
		 sort 文件
	     cat file|sort
参数选项:
	   -n 按照数字正序排序
	   -r 逆序排序
	   -k 指定列数

案例1.对数字进行排序
[root@oldboy:~]# cat a.txt
123
222
1
34
456
5
6
7
8
9
10

语法结构:
[root@oldboy:~]# sort  a.txt
[root@oldboy:~]# cat a.txt |sort
默认按照第一列数字进行排序
[root@oldboy:~]# sort a.txt
1
10
123
222
34
456
5
6
7
8
9

字符串:
[root@oldboy:~]# echo {a..h}|xargs -n1	# 设置为1列输出
a
b
c
d
e
f
g
h
[root@oldboy:~]# echo {a..h}|xargs -n1 > b.txt
[root@oldboy:~]# cat b.txt
afee
h
b342
f
cfweew
dfe
e
g


[root@oldboy:~]# sort b.txt
afee
b342
cfweew
dfe
e
f
g
h



案例2.按照数字进行正序排序
[root@oldboy:~]# sort -n a.txt
1
5
6
7
8
9
10
34
123
222
456

案例2.按照数字进行逆序排序
[root@oldboy:~]# sort -rn a.txt
456
222
123
34
10
9
8
7
6
5
1

案例3.数字在第2列
[root@oldboy:~]# sort -nk2 a.txt
aaa 1
aaa 5
aaa 6
aaa 7
aaa 8
aaa 9
aaa 10
aaa 34
aaa 123
aaa 222
aaa 456

案例4.统计成绩
[root@oldboy:~]# sort -rnk2 count.txt
熊征宇	100
张恒源	100
刘文言	100
马诗凯	98
陈柏松	98


案例5.统计单词出现的数量
[root@oldboy:~]# cat d.txt
test
oldboy
mysql
shell
docker
shell
mysql
test
test

第一步: 排序
[root@oldboy:~]# cat d.txt|sort
docker
mysql
mysql
oldboy
shell
shell
test
test
test

4.uniq -c 去重并统计

第二步: 去重并统计重复的次数
[root@oldboy:~]# cat d.txt|sort |uniq
docker
mysql
oldboy
shell
test
[root@oldboy:~]# cat d.txt|sort |uniq -c
      1 docker
      2 mysql
      1 oldboy
      2 shell
      3 test


案例.统计日志文件中IP地址的TOP10
[root@oldboy:~]# cat ip.txt|sort |uniq -c|sort -rn|head
    189 157.66.48.147
     76 219.82.2.110
     53 123.112.20.52
     53 117.132.188.205
     44 143.198.0.139
     36 180.98.131.167
     36 113.215.189.214
     36 113.215.188.106
     21 113.215.188.107
     19 113.215.188.108

扩展:
1.统计passwd中单词的数量
2.统计passwd中每个字母出现的数量



5.diff 比对两个文件的不同
[root@oldboy:~]# cat 1.txt
www.oldboy.com
www.baidu.com
[root@oldboy:~]# cat 2.txt
www.test.com
www.baidu.com
[root@oldboy:~]# diff 1.txt 2.txt
1c1
< www.oldboy.com
---
> www.test.com


6.alias 别名 起外号 了解 /etc/profile



04.软件安装
Linux三种软件安装方式:
1.yum安装
特点:
    a.简单快速
    b.类似在手机应用商店搜索到软件直接安装
    c.自动解决依赖的问题
    d.类似点外卖,水饺煮熟,酱油 醋辣椒 蒜
    e.不能选择默认安装的位置



2.rpm安装
特点:
	a.类似windows先将软件下载下来,exe文件,双击安装
	b.不能解决依赖问题,需要我们手动解决
	c.类似吃水饺,购买速冻水饺 买锅 勺子 辣椒 醋 燃气 筷子
	d.默认的仓库没有软件,只能通过官网下载软件使用rpm进行安装
	f.软件比较大,网络不好的情况,通过rpm包本地安装(类似windows直接在360软件管家下载vmware自动安装vmware
	,先将vmware下载到windows,然后我们手动安装)
	企业中,没有外网的情况下。
	出现依赖,缺少依赖使用yum安装依赖。

3.编译安装 nginx编译安装 k8s
    a.自定义模块
    b.自定义安装位置
    c.类似自己包水饺


知识点小结:
1.命令提示符
2.yum apt
3.less
4.sort
5.uniq
6.软件安装特点

05.软件安装
1.centos和麒麟
语法结构:
		 yum -y install 包名称 包 包 包    # 安装软件
		 yum -y remove  包名称 包 包 包    # 卸载软件
		 yum -y reinstall 重新覆盖安装 了解
		 yum clean all					 # 清空缓存
参数选项:
		-y  # 安装过程中自动yes




查看当前哪些仓库:
[root@oldboy:~]# yum repolist
repo id                                     repo name
epel                                        Extra Packages for Enterprise Linux 7 - x86_64
ks10-adv-os                                 Kylin Linux Advanced Server 10 - Os
ks10-adv-updates                            Kylin Linux Advanced Server 10 - Updates



无法安装软件:
01.连接不上网
02.命令错误
03.包名称错误 很多命令属于其他包 比如 route命令属于net-tools包
04.不知道包的名字: 百度一下
如果都没有问题,还是无法安装,使用yum clean all 清空缓存在尝试。



2.ubuntu操作系统安装软件
语法结构:			  apt install 包 包 包# 安装
				    dpkg -r# 卸载

查看默认的仓库
root@ubuntu:~# apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 100 https://mirrors.aliyun.com/ubuntu focal-backports/universe amd64 Packages
     release v=20.04,o=Ubuntu,a=focal-backports,n=focal,l=Ubuntu,c=universe,b=amd64





rpm安装:
语法结构:
		  rpm -ivh 包名
		  rpm -e 包名  # 或者使用yum卸载
参数选项:
	   i  install
	   v  显示安装过程
	   h  进度
	   ivh 一起使用。
	   -qa  # 查看系统中所有安装的软件
	   rpm -qa wget # 查看wget是否安装 可以一次看多个
	   rpm -ql # 查看软件包含的内容
第一步: 下载rpm包
第二步: 使用rpm安装

[root@oldboy:Packages]# rpm -qa|grep zzip
[root@oldboy:Packages]# rpm -ivh zziplib-0.13.69-8.ky10.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:zziplib-0.13.69-8.ky10           ################################# [100%]
[root@oldboy:Packages]# rpm -qa|grep zzip
zziplib-0.13.69-8.ky10.x86_64
[root@oldboy:Packages]#
[root@oldboy:Packages]# rpm -e zziplib-0.13.69-8
error: package zziplib-0.13.69-8 is not installed
[root@oldboy:Packages]# rpm -e zziplib-0.13.69-8.ky10
[root@oldboy:Packages]# rpm -qa|grep zzip
[root@oldboy:Packages]# rpm -ivh zziplib-0.13.69-8.ky10.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:zziplib-0.13.69-8.ky10           ################################# [100%]
[root@oldboy:Packages]#
[root@oldboy:Packages]# rpm -qa|grep zzip
zziplib-0.13.69-8.ky10.x86_64

查看软件是否安装
[root@oldboy:~]# rpm -qa lrzsz wget cowsay
lrzsz-0.12.20-46.ky10.x86_64
cowsay-3.04-4.el7.noarch

如果名称不记得使用grep 过滤
[root@oldboy:~]# rpm -qa|grep cow
cowsay-3.04-4.el7.noarch



[root@oldboy:~]# rpm --help   # 查看参数选项



1.配置yum仓库
centos需要配置默认仓库为阿里云,安装epel
麒麟默认仓库不需要配置,可以安装扩展epel仓库
ubuntu需要修改默认的仓库为阿里云

2.安装软件
yum -y install xx
yum -y remove xx
rpm -ivh xxx.rpm  xxx.rpm xx.rpm
rpm -e  包的名字或者带版本号
rpm -qa 查看所有安装过的软件
rpm -qa wget # 查看指定的软件是否安装
rpm -ql wget # 查看wget安装了哪些内容
ubuntu:
apt -y install xx
dpck -r xxx




没有外网情况如何安装软件。
1.找一台可以联网的服务器先下载rpm包
[root@oldboy:~]# cat /etc/yum.conf
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False
### 新增加以下两条内容
keepcache=1							# 开启yum缓存
chachedir=/var/cache/yum/		    # yum安装后把rpm包保持在这个位置

安装软件
yum -y install wget  # 如果已经安装使用reinstall
完成后检查下面的目录:
/var/cache/yum/ks10-adv-os-f52f2e63634844ad/packages/

2.上传到不能联网的服务器中使用rpm安装
sz xx.rpm 下载到windows
上传rpm包到不能上网的服务器中


ubuntu好玩的命令:
apt -y install cmatrix lolcat nyancat  libaa-bin  boxes
echo 呵呵哒|boxes -d sunset
libaa-bin  aafire 一团火
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值