当前位置: 首页 > news >正文

Linux Command

1. 手册页(manpages)

下载:

manpages - Manual pages about using a GNU/Linux system
manpages-dev - Manual pages about using GNU/Linux for development
manpages-posix - Manual pages about using POSIX system
manpages-posix-dev - Manual pages about using a POSIX system for development

manpages-zh - Chinese manual pages

使用汉化:

man -M /usr/share/man/zh_CN 2 socket  # 使用汉化手册查看位于第 2 页面(系统调用)的 socket 函数

搜索:

搜索分为内容搜索和 name 搜索, name搜索又称模糊搜索

man -K AF_INET # 全局搜索关键字"AF_INET", 由于是内容搜索, 速度较慢

man -k shutdown # 模糊搜索, 示例如下:

develon@ubuntu:~$ man -k shutdown
halt (5) - variables that affect the behavior of the shutdown scripts
session-end (7) - event signalling session shutdown
shutdown (2) - shut down part of a full-duplex connection
shutdown (8) - bring the system down

 

man: command not found 解决办法

sudo apt-get install man-db

 

2. dpkg

https://help.ubuntu.com/lts/serverguide/dpkg.html.en

  • 要列出系统上安装的所有软件包,请在终端提示符下键入:

    dpkg -l
    
  • 根据系统上的软件包数量,这可能会产生大量输出。通过grep管道输出 以查看是否安装了特定的包:

    dpkg -l | grep apache2
    

    apache2替换为任何包名称,包名称的一部分或其他正则表达式。

  • 要列出软件包安装的文件(在本例中为ufw软件包),请输入:

    dpkg -L ufw
    
  • 如果您不确定哪个软件包安装了文件,dpkg -S可能会告诉您。例如:

    dpkg -S /etc/host.conf 
    base-files:/etc/host.conf
    

    输出显示/etc/host.conf属于base-files包。

    在软件包安装过程中会自动生成许多文件,即使它们位于文件系统上, dpkg -S也可能不知道它们属于哪个软件包。

  • 您可以输入以下命令安装本地.deb文件:

    sudo dpkg -i zip_3.0-4_i386.deb
    

    zip_3.0-4_i386.deb更改为您要安装的本地.deb文件的实际文件名。

  • 卸载软件包可以通过以下方式完成:

    sudo dpkg -r zip
    

    在大多数情况下,建议不要 使用dpkg卸载软件包。最好使用处理依赖关系的包管理器来确保系统处于一致状态。例如,使用dpkg -r zip将删除zip包,但依赖于它的任何包仍将安装,并且可能无法再正常运行。 

有关更多dpkg选项,请参见手册页:man dpkg。

 

3. git

Git是一个开源的分布式版本控制系统,最初由Linus Torvalds开发,用于支持linux内核的开发。每个Git工作目录都是一个完整的存储库,具有完整的历史记录和完整版本跟踪功能,不依赖于网络访问或中央服务器。

GIT中的版本控制系统安装有下面的命令

sudo apt install git

每个git用户都应该首先通过运行这两个命令将自己介绍给git:

git config --global user.email“you@example.com” 
git config --global user.name“Your Name”

开始一个项目:

git clone git@github.com:develon2015/UCUsage.git

如果你没有该项目的访问权限, 你可以使用 http 协议下载

    git clone http://github.com/develon2015/UCUsage.git

或者可以推送现有代码;

git remote add gitolite git@$SERVER_IP:$PROJECT_NAME.git

更多命令请参考

https://github.com/develon2015/git-usage

 

4.

linux 终端分屏命令vsp

比如:某文件夹下有文件:vector.cc, substr.cc

1.使用vim命令打开任意一个文件:vim vector.cc打开第一个文件。如下图所示:

2.按:"Esc"键 + “:”,并输入:vsp substr.cc  。(这里vsp跟vi/vim操作一样,路径可以自由切换。)如下图所示:

3.按"Enter"键。如下图所示:

 

4.为了让鼠标可以在几个屏幕间自由切换。

按:"Esc"键 + “:”,输入:set mouse=a 。然后,回车(Enter),这样鼠标就可以在多屏幕之间自由移动了。如下图所示:

 

 

 5.

linux终端screen分屏使用命令

使用screen分屏(只能上下分屏,不能左右分屏)

(1)安装工具

在centos7 中yum install -y screen

(2)使用命令

1,输入命令screen使用工具

2,上下分屏:ctrl + a  再按shift + s

3,切换屏幕:ctrl + a  再按tab键

4,新建一个终端:ctrl + a  再按c

5,关闭一个终端:ctrl + a  再按x (或直接按exit退出)

eg:

1.screen

 

上下分屏:ctrl + a  再按shift + s

上屏top命令

切换导下屏:

创建下屏终端:ctrl + a  再按c

下屏tail -f 命令

 

 

 Grep

例子:
1. :
格式: grep [option] pattern filename 注意: pattern如果是表达式或者超过两个单词的, 需要用引号引用. 可以是单引号也可双引号, 区别是单引号无法引用变量而双引号可以.

grep '\<Tom\>' file   包含单词Tom的行
grep 'Tom savage' file 包含Tom savage的行
grep '^Tommy' file 包含以Tommy开头的行
grep '\.bak$' file 包含以.bak结束的行
grep '[Pp]yramid' file 包含pyramid 或Pyramid的单词的行
grep '[A-Z]' file 包含至少一个大写字母的行
grep '[0-9]' file 包含至少一个数字的行
grep '[A-Z]...[0-9]' file 包含五个字符,以大写开头, 和一个数字结尾的行.
grep -w '[tT]est' file 包含单词和test的行.
grep -s 'ken sun' file 找到包含ken sun的行, 但不打印行, 而是用来检查退出状态.
grep -v aaa file 打印不包含aaa的行.
grep -i cathy file 打印所有包含cathy的行, 而不考虑大小些.
grep -l 'dear cathy' * 打印包含dear cathy的文件的文件名清单.
grep -n tom file   打印匹配的行并追加行号.
grep "$LOGNAME" file 包含变量内容的行, 注意必须用双引号, 单引号则无法引用变量.
grep '$name' file 打印包含字符$name的行.


2 : egrep = grep -E 可以使用基本的正则表达外, 还可以用扩展表达式. 注意区别.
扩展表达式:
+ 匹配一个或者多个先前的字符, 至少一个先前字符.
? 匹配0个或者多个先前字符.
a|b|c 匹配a或b或c
() 字符组, 如: love(able|ers) 匹配loveable或lovers.
(..)(..)\1\2 模板匹配. \1代表前面第一个模板, \2代第二个括弧里面的模板.
x{m,n} =x\{m,n\} x的字符数量在m到n个之间.

egrep '^+' file   以一个或者多个空格开头的行.
grep '^*' file   同上
egrep '(TOM|DAN) SAVAGE' file 包含 TOM SAVAGE 和DAN SAVAGE的行.
egrep '(ab)+' file 包含至少一个ab的行.
egrep 'x[0-9]?' file 包含x或者x后面跟着0个或者多个数字的行.
egrep 'fun\.$' * 所有文件里面以fun.结尾的行.
egrep '[A-Z]+' file 至少包含一个大写字母的行.
egrep '[0-9]' file 至少一个数字的行.
egrep '[A-Z]...[0-9]' file 有五个字符, 第一个式大写, 最后一个是数字的行.
egrep '[tT]est' file 包含单词test或Test的行.
egrep 'ken sun' file 包含ken sun的行.
egrep -v 'marry' file 不包含marry的行.
egrep -i 'sam' file 不考虑sam的大小写,含有sam的行.
egrep -l "dear ken" * 包含dear ken的所有文件的清单.
egrep -n tom file 包含tom的行, 每行前面追加行号.
egrep -s "$name" file 找到变量名$name的, 不打印而是显示退出状态. 0表示找到. 1表示表达式没找到符合要求的, 2表示文件没找到.

3 fgrep 很简单就是固化表达式的搜索.如:

fgrep "$name...[a-z]" file 就是在file里面找到和字符$name...[a-z]一样的行. 其中$和...等没有转义的意义.
http://hi.baidu.com/sei_zhouyu/item/c18e1a950d2e9eb5cc80e558

 

1. grep简介

grep (global search regular expression_r(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

2. grep正则表达式元字符集(基本集)

^

锚定行的开始 如:'^grep'匹配所有以grep开头的行。

$

锚定行的结束 如:'grep$'匹配所有以grep结尾的行。

.

匹配一个非换行符的字符如:'gr.p'匹配gr后接一个任意字符,然后是p。

*

匹配零个或多个先前字符如:'*grep'匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。

[]

匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。

[^]

匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。

\(..\)

标记匹配字符,如'\(love\)',love被标记为1。

\<

锚定单词的开始,如:'\<grep'匹配包含以grep开头的单词的行。

\>

锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。

x\{m\}

重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。

x\{m,\}

重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。

x\{m,n\}

重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。

\w

匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。

\W

\w的反置形式,匹配一个或多个非单词字符,如点号句号等。

\b

单词锁定符,如: '\bgrep\b'只匹配grep。

3. 用于egrep和 grep -E的元字符扩展集

+

匹配一个或多个先前的字符。如:'[a-z]+able',匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等。

?

匹配零个或多个先前的字符。如:'gr?p'匹配gr后跟一个或没有字符,然后是p的行。

a|b|c

匹配a或b或c。如:grep|sed匹配grep或sed

()

分组符号,如:love(able|rs)ov+匹配loveable或lovers,匹配一个或多个ov。

x{m},x{m,},x{m,n}

作用同x\{m\},x\{m,\},x\{m,n\}

 

 

 

 

 

 

转载于:https://www.cnblogs.com/develon/p/9939270.html

相关文章:

  • ACM-ICPC 2018 青岛赛区现场赛 D. Magic Multiplication ZOJ 4061 (思维+构造)
  • 实战 HTTP 处理程序(HTTP Handler) (4)--与Web程序共享Session
  • DOM事件流
  • 绝对路径 相对路径 相对虚拟目录路径
  • Oracle Long类型转换为Clob类型
  • 三维模型逐渐透明化
  • [转]奇文-闲话操作系统(1/4)
  • 如何得到需要下载文件的链接(路径)?
  • 同网段存活IP公钥分发脚本
  • javascript小技巧
  • vue
  • go关键字之struct定义声明方式
  • linux环境变量配置
  • Embed Youtube or Not
  • 用postman模拟ajax发送json数据的笔记
  • [笔记] php常见简单功能及函数
  • Apache Spark Streaming 使用实例
  • Apache的80端口被占用以及访问时报错403
  • C++类的相互关联
  • docker容器内的网络抓包
  • Redux 中间件分析
  • spring boot下thymeleaf全局静态变量配置
  • 翻译--Thinking in React
  • 和 || 运算
  • 前端_面试
  • 人脸识别最新开发经验demo
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 收藏好这篇,别再只说“数据劫持”了
  • 智能网联汽车信息安全
  • 阿里云移动端播放器高级功能介绍
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​520就是要宠粉,你的心头书我买单
  • #stm32整理(一)flash读写
  • #宝哥教你#查看jquery绑定的事件函数
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • ${ }的特别功能
  • (145)光线追踪距离场柔和阴影
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (8)STL算法之替换
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (利用IDEA+Maven)定制属于自己的jar包
  • (实战篇)如何缓存数据
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • ******之网络***——物理***
  • .axf 转化 .bin文件 的方法
  • .bat批处理(一):@echo off
  • .NET 4.0中的泛型协变和反变
  • .net 程序发生了一个不可捕获的异常