三、Linux基础

一、Linux基本命令


 1. vim  -Vi IMproved ,a programmers text editor
 	vim 是vi 的升级版本,是一种文本编辑器
2.用vim 写py脚本注意事项:
#!/usr/bin/python3 声明此脚本使用解释器/usr/bin/python3
#Linux中默认使用解释器bash
3.执行脚本:python3 hello.py
4.给予脚本文件可执行权限
chmod +x hello.py 
5.执行文件
相对路径:
./hello.py
./hello.sh
绝对路径:
/lianxi/hello.py
/lianxi/hello.sh
6.
两种执行脚本的方法:
	1.直接指定解释器去运行
		bash  hello.sh
		python3 hello.py
		hello.sh 或者hello.py是否有可执行权限都没有关系
	2.授予脚本文件可执行权限
		chmod  +x  hello.sh  hello.py  授予可执行权限给hello.sh 和hello.py文件
		./hello.sh  -->相对路径执行脚本
		./hello.py
		/lianxi/hello.py  --》绝对路径执行脚本
		/lianxi/hello.sh

	这种方式一定要在脚本里第1行申明默认使用那个解释器
7.查看脚本文件内容
cat hello.py
cat  读取文本文件里的内容
	一行一行的将文件里的所有的行读取出来,显示到屏幕上
	-n  number
       -n, --number
              number all output lines
8.
nl - number lines of files
nl /etc/ssh/sshd_config
9.
分页显示:page up page down
more命令:
用途:全屏方式分页显示文件内容
交互操作方式:
按enter键向下逐行滚动
按空格键向下翻一屏,按b键向上翻一屏 back
按q键退出 quit
显示完全自动退出

10.
less命令
用途:全屏方式分页显示文件内容
交互操作方法:
 按Enter键向下逐行滚动
 按空格键向下翻一屏、按b键向上翻一屏  back
 按q键退出  quit
 【page down】【page up】上翻下翻页
 显示完不会自动退出
11.

	cat   --》慢慢消耗内存
	more
	less
	vim  --》一次性消耗大量的内存--》导致机器死机的或者卡顿

读取大文件不推荐使用cat,建议使用more或者less,why?
	对cpu,内存,磁盘读写角度去思考

读取大文件的时候,建议使用more和less
	因为消耗的内存和cpu非常少,不会导致机器死机或卡顿
12.
> 输出重定向: 作用将命令的输出重定向到文件里  
			如果文件不存在,会新建,如果文件存在,会覆盖里面的内容

>> 追加输出重定向
	如果文件不存在,会新建,如果文件存在,不会覆盖里面的内容,只会在文件的末尾追加

二、基本概念

1.返回值
$?:代表上一条命令的返回值
0:代表上一条命令执行成功
非0:代表上一条命令执行失败
如:1、2、7、9、127等
127代表命令不存在,即bash没有帮助找到,是bash返回的值
如命令存在,如是选项和参数问题,返回值多少由命令里的代码决定

2.
1.解释型语言和编译型语言?
	解释型: shell   php  python java
			解释器去执行
2.强类型语言和弱类型语言?
	强类型: python go  java
	弱类型:c php   shell
	编译型: c  go
![图解](https://img-blog.csdnimg.cn/b5662aaa28744786a9ea63b5c98b6837.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6IqI5pyI5Z2m6YCU,size_20,color_FFFFFF,t_70,g_se,x_16)


三、练习

1.
#定义一个变量sg 赋值zhangquanliang
sg = "zhangquanliang"

#f表示格式化输出 format
#{sg} 引用变量sg的值
print(f"sanchuang big sg is {sg}")


#定义一个变量sg 赋值zhangquanliang
sg2 = "zhangyangcong"
print(f"sanchuang big sg is {sg2}")
#!/bin/bash
#声明解释器类型
for i in {1..100} #使用for循环创建多少空文件
do
        touch sc$i.txt #创建空文件
done
ls #显示所创建的所有空文件
#判断sc200.txt是否存在
if [-f sc200.txt ]
then
        echo "create file sc200.txt ok"
else
        echo "no file sc200.txt"
fi

output:
[root@mahaoliang lianxi]# ./great.sh
-bash: ./great.sh: 权限不够
[root@mahaoliang lianxi]# chmod +x great.sh
[root@mahaoliang lianxi]# ./great.sh
changsha     sc13.txt  sc23.txt  sc33.txt  sc43.txt  sc53.txt  sc63.txt  sc73.txt  sc83.txt  sc93.txt
f.txt        sc14.txt  sc24.txt  sc34.txt  sc44.txt  sc54.txt  sc64.txt  sc74.txt  sc84.txt  sc94.txt
great.sh     sc15.txt  sc25.txt  sc35.txt  sc45.txt  sc55.txt  sc65.txt  sc75.txt  sc85.txt  sc95.txt
hey.sh       sc16.txt  sc26.txt  sc36.txt  sc46.txt  sc56.txt  sc66.txt  sc76.txt  sc86.txt  sc96.txt
hunan        sc17.txt  sc27.txt  sc37.txt  sc47.txt  sc57.txt  sc67.txt  sc77.txt  sc87.txt  sc97.txt
luaowei.txt  sc18.txt  sc28.txt  sc38.txt  sc48.txt  sc58.txt  sc68.txt  sc78.txt  sc88.txt  sc98.txt
ma           sc19.txt  sc29.txt  sc39.txt  sc49.txt  sc59.txt  sc69.txt  sc79.txt  sc89.txt  sc99.txt
sc100.txt    sc1.txt   sc2.txt   sc3.txt   sc4.txt   sc5.txt   sc6.txt   sc7.txt   sc8.txt   sc9.txt
sc10.txt     sc20.txt  sc30.txt  sc40.txt  sc50.txt  sc60.txt  sc70.txt  sc80.txt  sc90.txt
sc11.txt     sc21.txt  sc31.txt  sc41.txt  sc51.txt  sc61.txt  sc71.txt  sc81.txt  sc91.txt
sc12.txt     sc22.txt  sc32.txt  sc42.txt  sc52.txt  sc62.txt  sc72.txt  sc82.txt  sc92.txt

[root@mahaoliang lianxi]# bash great.sh
changsha     sc13.txt  sc23.txt  sc33.txt  sc43.txt  sc53.txt  sc63.txt  sc73.txt  sc83.txt  sc93.txt
f.txt        sc14.txt  sc24.txt  sc34.txt  sc44.txt  sc54.txt  sc64.txt  sc74.txt  sc84.txt  sc94.txt
great.sh     sc15.txt  sc25.txt  sc35.txt  sc45.txt  sc55.txt  sc65.txt  sc75.txt  sc85.txt  sc95.txt
hey.sh       sc16.txt  sc26.txt  sc36.txt  sc46.txt  sc56.txt  sc66.txt  sc76.txt  sc86.txt  sc96.txt
hunan        sc17.txt  sc27.txt  sc37.txt  sc47.txt  sc57.txt  sc67.txt  sc77.txt  sc87.txt  sc97.txt
luaowei.txt  sc18.txt  sc28.txt  sc38.txt  sc48.txt  sc58.txt  sc68.txt  sc78.txt  sc88.txt  sc98.txt
ma           sc19.txt  sc29.txt  sc39.txt  sc49.txt  sc59.txt  sc69.txt  sc79.txt  sc89.txt  sc99.txt
sc100.txt    sc1.txt   sc2.txt   sc3.txt   sc4.txt   sc5.txt   sc6.txt   sc7.txt   sc8.txt   sc9.txt
sc10.txt     sc20.txt  sc30.txt  sc40.txt  sc50.txt  sc60.txt  sc70.txt  sc80.txt  sc90.txt
sc11.txt     sc21.txt  sc31.txt  sc41.txt  sc51.txt  sc61.txt  sc71.txt  sc81.txt  sc91.txt
sc12.txt     sc22.txt  sc32.txt  sc42.txt  sc52.txt  sc62.txt  sc72.txt  sc82.txt  sc92.txt
no file sc200.txt
[root@mahaoliang lianxi]#

2.
考虑大文件不同打开方式,对机器性能的影响
	1.如何产生10亿行的文本文件bigfile.txt?
		1.1  shell脚本来完成
		1.2  考虑c/python/java/php/go等完成

	2.使用cat/more/less/vim 去读取这个大文件里的内容,使用top命令观察内存和top的使用情况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值