一、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的使用情况