获取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简单描述(三)的更多相关文章

  1. Linux基础第六课——grep|awk|sort|uniq

    管道符 | 前面的输出作为后面的输入 grep 可以理解为正则表达式 grep [参数] 文件名 -c 打印符合要求的行数 -v 打印不符合要求的行 -n 在输出符合要求的行的同时连同行号一起输出 - ...

  2. Linux基础知识第三讲,拷贝文件跟移动文件命令

    目录 Linux基础知识第三讲,拷贝文件跟移动文件命令 一丶常用命令 1.tree命令常用选项 2.cp复制文件命令 3.mv 命令的使用 Linux基础知识第三讲,拷贝文件跟移动文件命令 一丶常用命 ...

  3. [易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)]

    [易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)] 项目实战 实战2:命令行工具minigrep 我们继续开发我们的minigrep. 我们现 ...

  4. [易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)]

    [易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)] 项目实战 实战2:命令行工具minigrep 有了昨天的基础,我们今天来开始另一个稍微有点 ...

  5. linux基础(基本命令)

    Linux学习                         1.Linux安装.配置 Linux的操作背景介绍 Linux操作系统 开源.自由且开发源代码的类Unix操作系统 厂商较多 著名的有R ...

  6. 【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握

    内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:“小编,你为什么每次都要起这么非主 ...

  7. Linux 入门记录:一、命令行 Bash 的基本操作

    为了以后长期的线上测试和服务器的性能考量,要用 Linux 服务器了.昨晚装了个 CentOS 6.9,今天开始学学 Linux 基础,扫扫盲.ok,小本本记 ing... 一.Shell简介 She ...

  8. Linux学习(一):从图形界面进入命令行及命令行进入图形界面

    一.从图形界面进入命令行 最近脑洞大开,想接触一下linux.本人设备是win7,于是安了VMware(12.0.0)虚拟机,在安Linux(我用的CentOS 6.3 64)时不太会搞,跟据提示(英 ...

  9. Linux 学习手记(1):命令行BASH的基本操作

    1. Shell 是什么 Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令.操作传递给操作系统底层. Shell一般分为:图形化Shell(GUI).命令行Shel ...

随机推荐

  1. json数组某个数值对应渲染

    当你统计某一年的某个值它对应的月份总数时,后台没有直接处理好,某个月对应某个值,这样会增加统计的负担,但当数据时这样的时候,在angularjs中时不能直接引用的. "data": ...

  2. AJPFX浅谈Java新手问题之缺少良好的编程习惯

    ★随意地命名 有些新手写程序,当需要定义某个变量名(也可能是函数名.类名.包名等)时,随意地一敲键盘,名字就起好了......若干星期后,碰到某 bug,再来看自己写的代码时,心中暗自嘀咕:“这代码是 ...

  3. Git之删除本地和远程项目

    目录 删除本地项目 删除远程项目 删除本地项目: git rm -rf project  或者 rm -rf project   [删除工作区项目] git add project [将删除的项目添加 ...

  4. Java单例模式的6种写法

    在Java中,单例有很多种写法,面试时,手写代码环节,除了写算法题,有时候也会让手写单例模式,这里记录一下单例的几种写法和优缺点. 初级写法 懒汉式 饿汉式 双锁检验 内部类 枚举式 1.初级写法 p ...

  5. 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 ...

  6. Linux OpenGL 实践篇-10-framebuffer

    在之前的实践中我们都是在当前的窗口中渲染,即使用的缓存都是由glutCreateWindow时创建的缓存,我们可称之为默认缓存.它是唯一一个可以被图形服务器的显示系统识别的帧缓存,我们在屏幕上看到的只 ...

  7. k8s集群部署之环境介绍与etcd数据库集群部署

    角色 IP 组件 配置 master-1 192.168.10.11 kube-apiserver kube-controller-manager kube-scheduler etcd 2c 2g ...

  8. 产生多种anchor的代码讲解!很好!

    http://blog.csdn.net/xzzppp/article/details/52317863 源代码:https://github.com/rbgirshick/py-faster-rcn ...

  9. 通过 getResources 找不到jar包中的资源和目录的解决方法

    http://my.oschina.net/sub/blog/184074 今天碰到一个怪问题: 原本跑的好好的代码,打成 jar 包就不能运行了. 问题出在,代码中有一段自动扫描 classpath ...

  10. 在window下搭建即时即用的hyperledger fabric 的环境

    有版本号的严格按要求,遇到不少坑 1)安装git  版本无要求 2)安装go  1.9   配置环境变量 3)安装Vagrant  1.9.4 4)安装VirtualBox  5.1.28 5)在go ...