Linux基础之基本命令cat less more sort uniq alias 命令行 bash简单描述(三)
获取Linux当前最新的内核版本号
经常关注www.kernel.org
目录管理:
ls cd pwd mkdir rmdir tree
文件管理:
touch stat file rm cp mv nano
日期时间:
data clock hwclock cal
查看文本:
cat tac more less head tail
cat
-n:显示的顺序
分屏显示:
more less
more:支持向后翻
空格,b,回车
less:和man类似
k / ?
空格 b 回车
q:退出
G:跳到文件最后
head,tail
-n:默认是10,可以指定
head -n /etc/inittab
head -n 2 /etc/inittab
head -2 /etc/inittab
tail -f /etc/inittab 默认是后十行,不退出,等待显示后续追加至此文件的新内容
文本处理:
cut,sed,awk,grep,sort,uniq,head,tail,more,less
cut -d : -f1 /etc/passwd
-d:指定分隔符,默认是一个空格
-f:指定要显示的字段
-f 1,3 显示第一个和第三个字段
-f 1-3 显示第一个到第三个字段
文本排序:sort
-n:数值排序
-r:降序
-t:字段分隔符
-k:以哪个字段为关键字进行排序
-u:排序后相同的行只显示一次。
-f:排序时忽略字符大小写
sort -nr test.txt 降序排列
sort -t: -k3 /etc/passwd
uniq
-d:显示重复的行
-c:显示文件中行重复的次数
cat /etc/fstab
sort /etc/fstab
cat test.txt
456
67
111
231
sort test.txt
111
231
456
67
sort -n test.txt
67
111
231
456
uniq -c
文本统计:wc -l
tr 转换或者删除字符
tr [OPTION]...SET1 [SET2]
-d:删除出现在字符集中的所有字符
tr 'ab' 'AB' < /etc/passwd 将/etc/passwd中的a和b换成A和B
tr 'a-z' 'A-Z' < /etc/passwd 换成大写
在命令行编辑
光标跳转
Ctrl+a:光标跳转 命令行首
Ctrl+e:光标跳转 命令行尾
Ctrl+u:删除光标至命令行首的内容
Ctrl+k:删除光标至命令行尾的内容
Ctrl+l:清屏
命令历史:
查看命令历史:history
-c:清空命令历史
-d:删除指定位置的命令
从510开始删除3个 history -d 510 3
-w:保存命令历史至历史文件中
环境变量
PATH:命令搜索路径
HISTSIZE:命令历史缓存区大小
echo $HISTSIZE
命令历史的使用技巧:
!n: 执行命令历史中的第n条命令
!-n: 执行命令历史中的倒数第n条命令
!!: 执行上一条命令
!string: 执行命令历史中最近一个以指定字符串开始的命令
!$: 引用前一个命令的最后一个参数
Esc松开加.: 这个经常使用
命令别名
alias
alias CMDALIAS='COMMAND [options] [arguments]'
在shell中定义的别名仅在当前shell生命周期中有效,别名的有效范围仅为当前shell进程
alias xxx=命令 定义xxx
unalias xxx 解除命令
命令替换: $(command) 反引号:`command`
把命令中某个子命令替换成其执行结果的过程
touch ./file-$(data +%F-%H-%M-%S).txt
bash支持的引号:
``:命令替换
"":弱引用,可以实现变量替换
'':强引用,不完成变量替换
文件名通配
*:任意长度的任意字符
? :任意单个字符
[]:匹配指定范围内的单个字符
[a-z],[A-Z],[0-9],[a-zA-Z],[a-zA-Z0-9]
[:space:]:空白字符
[:punct:]:标点符号
[:lower:]:小写字母
[:upper:]:大写字母
[:alpha:]:大小写字母
[:digit:]:数字
[:alnum:]:数字和大小写字母
[^]:匹配指定范围外的单个字符
[[:alpha:]]*[[:space:]]*[^[:alpha:]]
查看以字母为开头,不以字母为结尾,中间有空格的文件
例子:
touch a123 abc ab123 xyz x23 xyz123 y123 helloy123
ls
ls a*
ls a*3
ls *y*
ls ?y*
练习:
1.创建a123,cd6,c78m,c1 my,m.z, k 67, 8yu, 789等文件
,隔开 其他符号是文件的组成部分
2 显示以a或m开头的文件
ls [am]*
3 显示所有文件名中包含了数字的文件
ls *[0-9]*
ls *[[:digit:]]*
4 显示所有以数字结尾且文件名中不包含空白的文件
ls *[^[:space:]]*[0-9]
5 显示文件名中包含了非字母或数字的特殊符号的文件
ls *[^[:alnum:]]*
Linux基础之基本命令cat less more sort uniq alias 命令行 bash简单描述(三)的更多相关文章
- Linux基础第六课——grep|awk|sort|uniq
管道符 | 前面的输出作为后面的输入 grep 可以理解为正则表达式 grep [参数] 文件名 -c 打印符合要求的行数 -v 打印不符合要求的行 -n 在输出符合要求的行的同时连同行号一起输出 - ...
- Linux基础知识第三讲,拷贝文件跟移动文件命令
目录 Linux基础知识第三讲,拷贝文件跟移动文件命令 一丶常用命令 1.tree命令常用选项 2.cp复制文件命令 3.mv 命令的使用 Linux基础知识第三讲,拷贝文件跟移动文件命令 一丶常用命 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)]
[易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)] 项目实战 实战2:命令行工具minigrep 我们继续开发我们的minigrep. 我们现 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)]
[易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)] 项目实战 实战2:命令行工具minigrep 有了昨天的基础,我们今天来开始另一个稍微有点 ...
- linux基础(基本命令)
Linux学习 1.Linux安装.配置 Linux的操作背景介绍 Linux操作系统 开源.自由且开发源代码的类Unix操作系统 厂商较多 著名的有R ...
- 【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握
内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:“小编,你为什么每次都要起这么非主 ...
- Linux 入门记录:一、命令行 Bash 的基本操作
为了以后长期的线上测试和服务器的性能考量,要用 Linux 服务器了.昨晚装了个 CentOS 6.9,今天开始学学 Linux 基础,扫扫盲.ok,小本本记 ing... 一.Shell简介 She ...
- Linux学习(一):从图形界面进入命令行及命令行进入图形界面
一.从图形界面进入命令行 最近脑洞大开,想接触一下linux.本人设备是win7,于是安了VMware(12.0.0)虚拟机,在安Linux(我用的CentOS 6.3 64)时不太会搞,跟据提示(英 ...
- Linux 学习手记(1):命令行BASH的基本操作
1. Shell 是什么 Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令.操作传递给操作系统底层. Shell一般分为:图形化Shell(GUI).命令行Shel ...
随机推荐
- json数组某个数值对应渲染
当你统计某一年的某个值它对应的月份总数时,后台没有直接处理好,某个月对应某个值,这样会增加统计的负担,但当数据时这样的时候,在angularjs中时不能直接引用的. "data": ...
- AJPFX浅谈Java新手问题之缺少良好的编程习惯
★随意地命名 有些新手写程序,当需要定义某个变量名(也可能是函数名.类名.包名等)时,随意地一敲键盘,名字就起好了......若干星期后,碰到某 bug,再来看自己写的代码时,心中暗自嘀咕:“这代码是 ...
- Git之删除本地和远程项目
目录 删除本地项目 删除远程项目 删除本地项目: git rm -rf project 或者 rm -rf project [删除工作区项目] git add project [将删除的项目添加 ...
- Java单例模式的6种写法
在Java中,单例有很多种写法,面试时,手写代码环节,除了写算法题,有时候也会让手写单例模式,这里记录一下单例的几种写法和优缺点. 初级写法 懒汉式 饿汉式 双锁检验 内部类 枚举式 1.初级写法 p ...
- Long time no blogging
It is a long time before I posted the last blog on myspace and seems that all of my blogs/documents ...
- Linux OpenGL 实践篇-10-framebuffer
在之前的实践中我们都是在当前的窗口中渲染,即使用的缓存都是由glutCreateWindow时创建的缓存,我们可称之为默认缓存.它是唯一一个可以被图形服务器的显示系统识别的帧缓存,我们在屏幕上看到的只 ...
- k8s集群部署之环境介绍与etcd数据库集群部署
角色 IP 组件 配置 master-1 192.168.10.11 kube-apiserver kube-controller-manager kube-scheduler etcd 2c 2g ...
- 产生多种anchor的代码讲解!很好!
http://blog.csdn.net/xzzppp/article/details/52317863 源代码:https://github.com/rbgirshick/py-faster-rcn ...
- 通过 getResources 找不到jar包中的资源和目录的解决方法
http://my.oschina.net/sub/blog/184074 今天碰到一个怪问题: 原本跑的好好的代码,打成 jar 包就不能运行了. 问题出在,代码中有一段自动扫描 classpath ...
- 在window下搭建即时即用的hyperledger fabric 的环境
有版本号的严格按要求,遇到不少坑 1)安装git 版本无要求 2)安装go 1.9 配置环境变量 3)安装Vagrant 1.9.4 4)安装VirtualBox 5.1.28 5)在go ...