不会做多资源绑定,所以有些资源是以链接的方式放在这。
《Linux经典脚本expect的示例及基本用法》,这个命令是写Shell脚本时,可以免去输入密码等交互,可以自动化去执行一些命令。比如,有10台机器每天凌晨下载了一些资源,在第11台机器上,需要自动把这10个资源处理并汇总为1个。但是日常生活中要一台台登录,或scp,在scp过程中,需要手动输入机器的用户名和密码,无法实现自动化,expect就是解决这类问题而存在的。
《Linux命令学习笔记》,这里的命令,是楼主刚毕业时,找前辈们学习,有些命令是前辈用过后,自己百度下来保存,有些是自己用过后的笔记。主要有:Linux管道,常用的字符处理cat、grep、tail、echo等命令。同时介绍了环境、作用域、流程控制、Shell脚本的建立与执行等。并赋上了相关的案例。
其它补充
!whoami
ln -s target_file link_name
!pwd
/home/aistudio
%cd /
- %cd
- # 或者
- %cd ~
- # 切换到用户目录
- %cd
- # ..表示上一级目录
- %cd ../
- %cd
- # 相对方式,切换到子目录haq
- %cd ./haq
-
- # 绝对路径,切换到子目录haq
- %cd /home/aistudio/haq
- !ls
- print()
- !ls -a #输出目录和所有文件,包括隐藏文件
- %cd
- !mkdir haq1 #新建目录haq1
- !mkdir haq2 #新建目录haq2
- !ls
- print("\n创建子文件夹test,进入test,接下来的操作都在test中进行")
- %cd
- !mkdir test
- %cd test
-
- print("\n创建文件t1.txt,t2.txt,t3.txt,x.txt,y.txt,然后删除")
-
- !touch t1.txt t2.txt t3.txt x.txt y.txt #"创建文件t1.txt,t2.txt,t3.txt,t4.txt"
- !ls
-
- print("删除t1.txt")
- %rm t1.txt
- !ls
- print("使用通配符删除t2.txt,t3.txt")
- %rm t*.txt #"使用通配符*来删除文件"
- !ls
- print("使用通配符删除全部txt文件")
- %rm -r *.txt #删除全部文件
- !ls
-
- print("\n创建子文件夹bak1,bak2,并在bak1中创建文件t1.txt")
- !mkdir bak1 #创建目录bak1,bak2
- !mkdir bak2
- !touch ./bak1/t1.txt #分别在目录bak1和bak2下创建t1.txt,t2.txt
- !ls
-
- print("\nrm -r删除文件夹(可以非空)和文件,rmdir只删除空文件夹")
- %rm bak1 #rm删除目录bak1,报错,需要参数-r
- %rm -r bak1 #删除子目录和目录下文件,成功
- %rmdir bak2 #rmdir只能删除空目录
-
- print("删除test文件夹")
- %cd
- !rm -r test
- !ls
- %cd
- %rm -r t1 t2
- !ls
-
- !mkdir t1 t2
- !mkdir ./t1/tt1
- !touch ./t1/f1.txt ./t1/f2.txt ./t1/tt1/ff.txt
-
- print("\n显示t1中内容")
- !ls t1
- print("\n将t1中文件f1.txt复制到t2,并显示t2中内容")
- !cp ./t1/f1.txt ./t2
- !ls t2
- print("\n将t1中文件目录tt1复制到t2,并显示t2中内容")
- !cp -r ./t1/tt1 ./t2
- !ls t2 -a
-
-
mv f1.txt data/f11.txt
!du -h –max-depth=1 *
- %cd ~/data/meihua/
- !rm *.zip
- !ls
- !zip meihua.zip *.* #将当前目录下所有文件压缩成meihua.zip
- #!zip meihua1 1.jpg 2.jpg 3.jpg #将文件1.jpg,2.jpg,3.jpg压缩成文件mh.zip
- !ls
- %cd ~/data/meihua/
- !rm ./bak/*.*
- !ls ./bak
- !unzip -d ./bak meihua.zip
- !ls ./bak
- #%cd meihua
- %cd ./meihua
- !mkdir test
- !rm *.tar ./test/*.*
- print("\n列出当前目录下内容")
- !ls .
- print("\n列出子文件夹test中内容")
- !ls ./test
- print("\n打包归档并查看打包文件是否存在")
- !tar -cvf m1.tar 1.jpg 2.jpg 3.jpg
- !ls
- print("\n查看m1.tar文件中内容")
- !tar -tf m1.tar
- print("\n解包,并列出test子目录中内容")
- !tar -xvf m1.tar -C ./test/
- !ls ./test
-
- # -c 生成档案文件,创建打包文件
- # -v 列出归档,解档的详细过程
- # -f 指定档案文件名称,f后一定是.tar文件
- # -x 解开档案文件
- # -z 调用gzip执行压缩功能
- # -C 大写C,解压到指定目录
- %cd ./meihua
- !mkdir test
- !rm *.tar ./test/*.*
- print("\n列出当前目录下内容")
- !ls .
- print("\n列出子文件夹test中内容")
- !ls ./test
- print("\n打包归档并查看打包文件是否存在")
- !tar -zcvf m1.tar.gz 1.jpg 2.jpg 3.jpg
- !ls
- print("\n查看m1.tar.gz文件中内容")
- !tar -tf m1.tar.gz
- print("\n解包,并列出test子目录中内容")
- !tar -zxvf m1.tar.gz -C ./test/
- !ls ./test
-
- # -c 生成档案文件,创建打包文件
- # -v 列出归档,解档的详细过程
- # -f 指定档案文件名称,f后一定是.tar文件
- # -x 解开档案文件
- # -z 调用gzip执行压缩功能
- # -C 大写C,解压到指定目录
- %cd
- !rm -r test
- !ls
-
- print("\n创建文件夹test,创建f1.txt,f2.txt,分别录入内容")
- !mkdir ./test
- %cd ./test
- !touch f1.txt f2.txt
- !ls
- !echo "hello" >> f1.txt
- !echo "world" >>f2.txt
-
- print("\n显示f1.txt文件内容")
- %cat f1.txt
-
- print("\n合并f1和f到f3.txt,显示f3.txt内容")
- %cat f1.txt f2.txt > f3.txt
- %cat f3.txt
- # !cat /proc/meminfo
- # !free -h
- # !free -h -c 10 //循环显示十次
- print("\n查看内存信息")
- !free #查看内存信息
- print("\n查看linux内核版本")
- !cat /proc/version #显示正在运行的内核版本
- !lsb_release -a
- print("\n查看linux发行版本信息")
- !cat /etc/issue #显示发行版本信息
- print("\n查看分区使用情况")
- !df -h #查看分区使用情况
- print("\n查看cpu信息")
- !cat /proc/cpuinfo #查看cpu相关信息,包括型号、主频、内核信息等
- - grep ‘pattern’ file: 在文件内搜索字符串比如:grep ’searchstring’ file.txt
- - find: 搜索文件比如:根据文件名搜索find . -name filename -print
- hostname or cat /etc/sysconfig/network 查看主机名
- pkill mysqld 如何杀死mysql进程
- # 下载资源
- !wget "https://www.python.org/ftp/python/3.8.8/python-3.8.8-amd64.exe"