UNIX SHELL基础知识总结(一)
1. Unix常目录结构与作用:
2. 基本命令:
$echo
$date
$who
$who am i
3. 创建文件的几种方式:
A. touch FileName 创建空文件
B. > FileName 创建空文件
C. vi FileName 创建空文件并开始编辑其中内容
D. cat /dev/null > FileName 创建空文件
4. 文件操作:
$rm:删除文件;(rm -rf FilePath:强制删除FilePath及其下的所有内容;r:向下递归;f:强制删除,不做任何提示)
$cp:文件复制;
$mv:文件重命名;
$cat:查看文件内容;
$ls[list]:(-l 显示文件详细描述信息)查看当前目录中的文件;
$wc:(-l:行数;-c:字符数;-w:单词数)统计文件中的单词数量;
$ln:链接文件;
$sort:排序;
$file:查看文件类型;
5. 文件夹操作:
$.:当前目录;
$mkdir(Make Directory):创建目录;
$cd(Change Directory):切换目录;
$pwd(Print Working Directory):显示宿主目录;
$rmdir(Remove Directory)删除目录;
$mv:文件移动
6. 文件基本类型:
以‘_’开头为普通文件;
以‘b’开头为块设备(Block Device);
以‘c’开头为字符设备(Character Device);
以‘s’开头为Socket文件;
以‘p’开头为Pipe文件;
以‘l’开头为字符链接文件;
以‘d’开头为目录文件;
7. 字符匹配:
*:匹配0个或以上的字符;
?:匹配1个字符;(??匹配两个字符)
[]:匹配一个范围,如[a-np-z]匹配一个除o之外的任何小写字母;
!:反匹配,如[!H]匹配任何不以大写字母H开头的所有字符;
8. 标准输入/输出/错误:
>:输出重定向;
<:输入重定向;
echo CONTENT > FileName:覆盖文件中的数据;
echo CONTENT >> FileName:将CONTENT追加到文件中;
9. 关于过滤器的定义:
能够从标准输入中接受输入,对输入进行处理后,再把结果写入标准输出的任何程序。如wc为过滤器,而ls则不是,因为它不能从标准输入中读取输入;
10. uniq 在文件中查找重复行:
用法:uniq in_file out_file;
-d:把重复行写入out_file中,只写入一次;
-n:显示重复出现的行号;
11. cut 从数据文件或命令行的输出中提取数据
cut -c chars file:chars指想从文件中提取的文字内容;
paste(-d:指定一个分隔符;-s:(把同一个文件中的行粘在一起,而不是其他文件中)把多行合在一起;
12. sed(不对原始文件作出任何改变)
流式处理数据,不可以进行交互操作,用户新增行,删除行,显示及替换行;
13. tr 转换来自标准输入的字符:
命令格式:tr from-chars to-chars
-c:替换from-chars到to-chars;
-s:压缩to-chars中重复出现的字符,只保留第一个;
-d:删除输入流中的字符,如:tr -d from-chars
14. grep 从文件或流中提取特定的字符串
-v:显示不包含指定模式的行;
-l:显示包含指定模式的行;
-n:显示符全指定模式的行所在的行号;
15. sort 排序
-u:在输出结果中去掉重复行;
-r:反转排序的顺序;
-o:把输出结果写入标准输出;
-n:把行中的第一个字段当做数值,数据按算术方法排序;
16. 单引号和双引号的区别:
SHELL中会保留单引号中的任何特殊字符,如echo '$file' => $file
而双引号会保留除$,`及\之外的所有字符,即所下所示的echo "$X"也会对变量名进行替换而不做文件名的替换:
X=*
echo $X => File Name List
echo '$X' => $X
echo "$X" => *
17. 整数操作符:
-eq:等于;-ne:不等于;
-ge:大于或等于;-gt:大于;
-le:小于或等于;-l:小于;
18. 常见符号表示:
$#:传递给脚本文件的参数个数;
$0:获取当前脚本的文件名称;
$1:获取第一个参数;
$2:获取第二个参数;
$@:获取传递给脚本文件的所有的参数列表;
$*:以一个单字符串显示所有向脚本传递的参数,可>9;
$$:脚本运行的当前进程ID号;
$?:显示最后命令的退出状态,0表示无错误;
19. tar:文件的打包,压缩解压
A:文件打包
$tar -cvf xxx.tar FileA,FileB
-c:创建tar文件;
-v:列出详细的执行过程;
-f:创建的tar文件的文件名。
B:解开tar文件
$tar -xvf xxx.tar
-x 用于解开tar文件。
C:文件打包并压缩
$tar-cvzf xxx.tar.gz FileA,FileB
-z:自动调用gzip程序完成打包与压缩;
D:解压xxx.tar.gz文件
$tar -xzf xxx.tar.gz
该命令相当于以下两个命令:
$gzip -dv xxx.tar.gz => xxx.tar
$tar -xvf xxx.tar => FileName
20. 其他操作:
管道:$ls -l | grep "psw";
一行键入多行命令(用分号隔开):date;pwd;
命令发送到后台执行:&;
切换用户(用法:su root)
UNIX SHELL基础知识总结(一)的更多相关文章
- UNIX SHELL基础知识总结(二)
1. vim,vi及ex的关系 vim不需要安装,vi为ex的“Visual Mode”,Vim是vi的高级版本: 2. Unix Shell 快捷键 Ctrl+a/e将光标定位到 命令的头/尾 Ct ...
- Linux Shell 基础知识(一)
1. 本文知识结构 2. shell 基础知识 2.1 shell 简单介绍 GNU bash shell 能提供对 Linux 系统的交互式访问,一般来说,使用快捷键 Ctrl + Alt + ...
- Linux shell基础知识(上)
Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...
- shell基础知识讲解
第1章 shell基础 1.1 什么叫做shell编程 shell编程也叫做bash高级编程语法 1.2 常见的shell命令解释器 bash redhat和centos使用 d ...
- Shell 基础知识和总结
调试脚本 检查脚本语法错误 bash -n /path/to/some_script 调试执行 bash -x /path/to/some_script shell里的变量 本地变量:只对当前shel ...
- shell基础知识总结
1. shell 对于一台计算机而言,其硬件受系统内核的控制,使用者想要控制计算机,就必须有与系统内核进行通讯的手段.而shell就是使用者与计算机进行通讯的手段之一.从命名上看,shell其实是相对 ...
- shell基础知识---与监听服务器长连接端口状态
从未写过脚本我的最近接了俩脚本的需求,就在这分享一下我的我学到基础知识主要就四部分内容 一.变量 变量的定义 string='字符串' string="字符串" num=808st ...
- shell从入门到精通进阶之一:Shell基础知识
1.1 简介 Shell是一个C语言编写的脚本语言,它是用户与Linux的桥梁,用户输入命令交给Shell处理,Shell将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户. 下面是处 ...
- shell基础知识
Shell 学习基础 1.组合命令的符号 管道,将前面一个命令的结果作为后面一个命令的输入 分号,顺序执行用分号分割的命令 重定向,重定向包括三种:输入重定向.输出重定向.错误重定向,以7个不同的符号 ...
随机推荐
- HDU 6194 string string string (后缀数组)
题意:给定一个字符串,问你它有多少个子串恰好出现 k 次. 析:后缀数组,先把height 数组处理出来,然后每次取 k 个进行分析,假设取的是 i ~ i+k-1,那么就有重复的,一个是 i-1 ~ ...
- sql server锁检测
有时候系统运行老感觉效率不高,并且有时候sql还有超时的报错,但是并发量并不高.通过排查定位sql是否有执行效率问题 -- 开事务, 以保持锁 BEGIN TRAN -- 更新 update tabl ...
- 深入理解java虚拟机(七)类加载的时机
Class 文件中描述的各种信息都必须加载到虚拟机中才能运行和使用.而虚拟机怎么加载这些Class 文件呢?Class 文件进入到虚拟机中会发生什么变化呢? 虚拟机类加载机制是指 虚拟机把描述类的数据 ...
- scala学习(idea编译过程https://blog.csdn.net/guiying712/article/details/68947747)
scala官网 https://www.scala-lang.org/ 菜鸟教程学习 http://www.runoob.com/scala/scala-basic-syntax.html w3sch ...
- IT技术公众号推荐
获取二维码方法:http://open.weixin.qq.com/qr/code/?username=公众账号,例如:cjscwe_2015 目录 全栈 编程语言 前端开发 移动开发 数据库 操 ...
- Unity3D 之PC客户端的分辨率自定义
在Player Setting中可以自定义分辨率,但在PC版本中如果使用Display Resolution Dialog选项,会发现在分辨率选项中只有预定义的那些,而并没有在Player Setti ...
- 利用Senparc.Weixin SDK 实现微信用户的授权,并获取信息
前一段时间在学校做过一个项目,就是利用的Senparc.Weixin SDK 做的,于是翻看以前代码,虽然有注释,但是还是看的迷迷糊糊的,干脆就单步执行一遍看看是怎么实现的,然后就重新写了个简易的授权 ...
- win10 git 报错 Host key verification failed
从code.aliyun.com切回github 原先的known_hosts里记录的是code.aliyun.com的ip,必须新加一个github的. known_hosts报错Host key ...
- git subrepo
此文已由作者张磊授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 目前对 git 仓库拆分的已有实现之一,并没有合并到 git 发行版中.项目的地址是 https://g ...
- ansible 常用模块的使用
安装 yum -y install ansible 配置文件/etc/ansible/hosts 模块介绍与使用 ping模块 [root@node1 config]# ansible k8s -m ...