- 基础篇
- Linux优势
- 系统更加稳定,处理数据更方便
- 大多数服务器以Linux为内核
- 常用路径命令
- pwd 查找当前路径
- ls 查找当前路径下的文件
- ls dirname 查看某指定文件夹下的文件
- ls -l 查看文件/文件夹的具体信息
- cd dirname 切换到某指定文件夹下
- cd .. 返回上一级目录
- cd ~ 返回登陆节点
- echo 打印字符串到终端
- 文件及文件夹
- touch file 创建空文件
- cat file 查看文件所有内容
- less file 滚动查看文件
- head file 查看文件前几行
- tail file 查看文件后几行
- vim/vi file 编辑文件
- mkdir dir 创建文件夹
- rm file 删除文件
- rm -r dir 删除文件夹
- 绝对路径和相对路径
- 图示
- 文件权限
- ls -l 查看文件权限
- chmod 更改文件权限
- 图示
chmod ugx + x 应更正为chmod ugo + x ;分别代表文件所有者(u,user)、同组用户(g,group)、其他用户(o,open)。
- 文件操作
- wc –l filename 查看文件行数
- grep str filename 搜索文件特定行
- cut -d –f 列操作
- sed 文件操作,常用替换命令
- sort 文件排序
- 排序操作
- awk 强大的文件处理工具*
- 文本处理操作
- 管道符和输出重定向
- 管道符(”|”):上一个命令的输出作为下一个命令的输入
- 输出重定向(”>”): 将标准输出导出到一个文件里,若文件存在,则覆盖
- 输出重定向(”>>”): 将标准输出导出到一个文件里,若文件存在,则追加
- 1. echo ‘A,B’|cut -d ‘,’ -f1 > test1.txt
- 2. echo 'C,D'|cut -d ',' -f1 > test2.txt
- 2. paste test1.txt test2.txt > file_paste
- 3. cat test1.txt test2.txt > file_cat
- 4. cat file_paste >>file_cat
- 变量
- 变量赋值:A=ss
- 打印变量:echo $A
- 变量运算:echo $[4/2];echo $[5%4]
- 删除变量名:unset variable_name
- 注意:
- 1. 变量名和等号之间不能有空格。
- 2. 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
- 3. 中间不能有空格,可以使用下划线(_)。
- 4. 不能使用标点符号。
- 5. 不能使用bash里的关键字
- shell脚本编写
- 循环
- for循环
- #!/bin/bash
- for i in `seq 1 10`
- do
- echo $i
- done
- while循环
- #!/bin/bash
- while true
- do
- sleep 10
- echo ‘wake up!’
- done
- for循环
- if条件判断
- if [ command ];then
- 符合该条件执行的语句
- elif [ command ];then
- 符合该条件执行的语句
- else
- 符合该条件执行的语句
- fi
- if [ command ];then
- 字符串判断
- [ -z STRING ] 如果STRING的长度为零则为真 ,即判断是否为空,空即是真;
- [ -n STRING ] 如果STRING的长度非零则为真 ,即判断是否为非空,非空即是真;
- [ STRING1 = STRING2 ] 如果两个字符串相同则为真 ;
- [ STRING1 != STRING2 ] 如果字符串不相同则为真 ;
- [ STRING1 ] 如果字符串不为空则为真,与-n类似
- if [ ‘a’ = ‘b’ ]; then echo “yes”;fi
- 数值判断
- INT1 -eq INT2 INT1和INT2两数相等为真 ,=
- INT1 -ne INT2 INT1和INT2两数不等为真 ,<>
- INT1 -gt INT2 INT1大于INT1为真 ,>
- INT1 -ge INT2 INT1大于等于INT2为真,>=
- INT1 -lt INT2 INT1小于INT2为真 ,<</div>
- INT1 -le INT2 INT1小于等于INT2为真,<=
- if [ 5 –gt 4 ]; then echo “yes”;fi
- 脚本训练
- 任务
- 1.将100以内的数字偶数写入到text1中,奇数写入到text2中
- 2.将text1与text2按列整合到text3
- 3.对text3的结果按数字从大到小顺序排列
- 脚本代码
- #!bin/bash
- for i in `seq 1 100`
- do
- even_number=$[$i % 2]
- if [ $[i%2] == 0 ];
- then
- echo $i > text1.txt
- else
- echo $i > text2.txt
- fi
- done
- paste text1.txt text2.txt >text3.txt
- sort -k1nr text3.txt
- 任务
- 循环
- Linux优势
- 下载与压缩篇
- 下载命令
- wget
- curl
- 打包与压缩
- 打包文件
- tar -cf output.tar test1 test2 test3
- 打包并压缩为gzip格式
- tar -czf output.tar test1 test2 test3
- 解压缩
- tar -xzf test.tar.gz
- 打包文件
- 解压命令
- tar czf file.tar.gz file1 file2 file3... 表示将 file1,file2,file3 打包并压缩为 file.tar.gz
- -c: 代表打包命令
- -z:代表 gzip 压缩命令
- -f:指目标压缩包文件(其必须放在最后面,否则会报错
- tar -xzf file.tar.gz 表示将压缩包 “file.tar. 解压缩并解包
- -x: 表示解包命令
- -z: 代表 gzip 解压缩命令
- 下载命令
- 环境变量
- 为什么要添加环境变量?
- 添加环境变量不是必须的,当一个软件频繁被使用,却又不想输入过长的路径时,添加环境变量是有用的
- 如何添加环境变量
- 1.临时添加,只有在本次打开的 shell 中生效
- PATH=$PATH:YourPath
- export PATH
- 2.永久添加,永久生效
- 1. vim bashrc
- 2.此文件的末尾增添环境变量
- 3. PATH=$PATH:YourPath
- 4.保存并退出
- 5. source bashrc
- 1.临时添加,只有在本次打开的 shell 中生效
- 为什么要添加环境变量?
08-04
08-04
08-04
08-04
08-04
08-04