Linux操作备忘录

目录

常见的文件、目录操作命令

VIM程序编辑器

命令模式(Command mode)

输入模式(Insert mode)

底线命令模式(Last line mode)

grep及正则表达式

grep——强大的文本搜索工具

正则表达式

1、基础内容

2、进阶内容

系统管理命令

系统服务管理

其他一些杂七杂八的东西


常见的文件、目录操作命令

  • pwd:      查看当前用户的当前目录
  • cd:       用来切换目录
  1.  .  : 表示当前目录
  2.  ..  : 表示当前目录的上一级目录
  3.  -  : 表示用cd命令切换目录所在目录
  4. ~ :表示用户主目录的绝对目录
  • ls :          显示文件或者目录信息
  • mkdir:  当前目录下创新一个空的目录
  • rmdir:   要求目录为空
  • touch:  生成一个空文件或者更改文件的时间
  • cp:           复制文件或目录
  • mv:          移动文件或目录、文件或目录改名
  • rm:          删除文件或目录
  • ln:           建立链接文件
  • find:        查找文件
  • file/stat:  查看文件类型或文件属性信息
  • cat:          查看文本文件内容
  • more:      分页查看文本文件内容
  • less:        分页,搜索,回翻等操作查看文本文件内容
  • tail -10:    查看文件的尾部的10行
  • tail -f:    监控一个文件内容
  • head -10:  查看文件的头部10行
  • tar -zxvf:解压压缩包tar.gz
  • gzip -d:    解压压缩包gz
  • bzip2 -d:   解压压缩包bz2
  • tar -cxvf:生成压缩包tar.gz
  • gzip      :  生成压缩包gz
  • bzip2    :   生成压缩包bz2
  • echo:       把内容重定向到指定的文件中 ,有则打开,无则创建
  • 管道命令 | :将前面的结果给后面的命令,例如:ps aux | grep mysql,将ps显示的进程按照mysql的分组显示
  • 重定向     >覆盖模式     >>追加模式:

echo "l love you" > amazing.txt
  • 如上就是把l love you这句话写入amazing.txt并覆盖之前的内容


VIM程序编辑器

所有的 Unix Like 系统都会内建 vi 文书编辑器。

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。详情的可以参考vim的官方网站

基本上vim分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)

命令模式(Command mode)

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式(Insert mode)

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式
  • Ctrl+n,自动补全

底线命令模式(Last line mode)

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件
  • wq \  ZZ 保存文件并退出
  • q!\ ZQ 退出程序不保存

按ESC键可随时退出底线命令模式。


grep及正则表达式

grep——强大的文本搜索工具

grep 可以使用正则表达式搜索文本,并把匹配的行打印出来。

 格式:grep [options] PATTERN [FILE...]

  • PATTERN 是查找条件:可以是普通字符串、可以是正则表达式,通常用单引号将RE括起来。

  • FILE 是要查找的文件,可以是用空格间隔的多个文件,也可是使用Shell的通配符在多个文件中查找PATTERN,省略时表示在标准输入中查找。

  • grep命令不会对输入文件进行任何修改或影响,可以使用输出重定向将结果存为文件

正则表达式

1、基础内容

字符匹配

  • 在正则表达式中,如果直接给出字符,就是精确匹配。
  • \d 匹配一个数字
  • \D 匹配一个非数字
  • \w 匹配一个字母、数字或下划线_
  • \W 匹配任何非单词字符,等价于“[^A-Za-z0-9_]"
  • \s 匹配任何空白字符,包括空格、制表符、换页符等等,等价于[ \f\n\r\t\v]
  • \S 匹配任何非空白字符
  • \n 匹配一个换行符
  • \r 匹配一个回车符
  • \t 匹配一个制表符

数量匹配

  • .匹配除“\n"之外的任何单个字符
  • *匹配前面的子表达式零次或多次
  • +匹配前面的子表达式一次或多次
  • ?匹配前面的子表达式零次或一次
  • {n},n是一个非负整数,匹配确定的n次
  • {n,m},m和n均为非负整数,其中n<=m,最少匹配n次且最多匹配m次
  • {n,},n是一个非负整数,至少匹配n次
  • {,m} 匹配前面的正则表达式最多m次

范围匹配

  • x|y 匹配x或y
  • [xyz] 字符集合,匹配所包含的任意一个字符
  • [^xyz] 负值字符集合,匹配未包含的任意字符
  • [a-z] 字符范围,匹配指定范围内的任意字符
  • [^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符

来看一个稍微复杂的例子:\d{3,4}\s+\d{3,8}
我们来从左到右解读一下:

  1. \d{3,4}表示匹配3到4个数字,例如'010'、'0755';
  2. \s可以匹配一个空格(也包括Tab等空白符),所以\s+表示至少有一个空格,例如匹配' ',' '等;
  3. \d{3,8}表示3-8个数字例如'1234567'。

综合起来,上面的正则表达式可以匹配以任意个空格隔开的带区号的电话号码。
如果要匹配'010-12345'、'0755-26776666'这样的号码呢?
由于'-'是特殊字符,在正则表达式中,要用'\'转义,所以,上面的正则是\d{3,4}\-\d{3,8}。

但是,仍然无法匹配'010 - 12345',因为带有空格。所以我们需要更复杂的匹配方式。

2、进阶内容

要做更精确地匹配,可以用[]表示范围,比如:

  • [0-9a-zA-Z\_]可以匹配一个数字、字母或者下划线;
  • [0-9a-zA-Z\_]+可以匹配至少由一个数字、字母或者下划线组成的字符串,比如'a100','0_Z','Py3000'等等;
  • [a-zA-Z\_][0-9a-zA-Z\_]*可以匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符串,也就是Python合法的变量;
  • [a-zA-Z\_][0-9a-zA-Z\_]{0, 19}更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)。
  • A|B可以匹配A或B,所以(P|p)ython可以匹配'Python'或者'python'。
  • ^表示行的开头,^\d表示必须以数字开头。
  • $表示行的结束,\d$表示必须以数字结束。

系统管理命令

stat             显示指定文件的详细信息,比ls更详细
who     显示在线登陆用户
whoami 显示当前操作用户
hostname   显示主机名
uname显示系统信息
top动态显示当前耗费资源最多进程信息
ps显示瞬间进程状态
du查看目录大小 du -h /home带有单位显示目录信息
df查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig查看网络情况
ping测试网络连通
netstat显示网络状态信息
clear清屏
alias对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill

杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。


系统服务管理

任务

旧指令CentOS6

新指令CentOS7

使某服务自动启动

chkconfig --level 3 httpd on

systemctl enable httpd.service

使某服务不自动启动

chkconfig --level 3 httpd off

systemctl disable httpd.service

检查服务状态

service httpd status

systemctl status httpd.service (服务详细信息) 

systemctl is-active   httpd.service (仅显示是否   Active)

显示所有已启动的服务

chkconfig --list

systemctl list-units --type=service  

启动某服务

service httpd start

systemctl start httpd.service

停止某服务

service httpd stop

systemctl stop httpd.service

重启某服务

service httpd restart

systemctl restart httpd.service

例如在搭建hadoop集成环境的时候需要关闭防火墙和防火墙自启动:(在root权限下)

Centos6.5:service iptables stop

                    chkconfig iptables off

Centos 7 :    systemctl stop firewalld.service

                     systemctl disable firewalld.service


其他一些杂七杂八的东西

时间设置:date -s "2021-09-23 11:26:35"

终端显示:在/etc/profile这个环境变量里配置

PS1="\[\033[1;36;40m\][\[\033[0;32;40m\]\u@\h: \H \#  \d \t \[\033[1;35;40m\]\w\[\033[1;36;40m\]]\[\033[1;33;40m\]\\$\[\033[1;37;40m\]"

再source一下就可以显示更详细的终端信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值