linux中如何在命令行操作文本内容

文本内容在命令行的操作

文本过滤:grep

文本三剑客:   gerp   sed   awk

grep  选项    关键的字符串   文件

grep    root   /etc/passwd                 查找root(交集查找)

^  以……为开头

$ 以……为结尾

Grep    ^root  /etc/passwd         找 以root为开头

Grep     nologin$  /etc/passwd    找以nologin为结尾

若没找到,正常输出

Grep  ^$   /etc/passwd    找空行

Grep     -v    ^$   /etc/passwd    找非空行   -v表示取反

Grep     [0-9]     /test/a   匹配带数字的行

Grep     [^0-9]     /test/a   匹配除了 带数字的行    反选

Grep    ^[^0-9]    /test/a    首  非   匹配不是数字开头的行

Grep    ^[^$]        /test/passwd   非空行

Grep   [a-z]      /test/a   匹配和字母相关的

Ls   |  grep  fire    找文本里的file

切割显示   cut

Cut     -d  “”    -f   1           /test/file  以空格切显示第一列

    指定分隔符      查看第几列

没有分割符原样输出

-c    按照字符切

内容排序   sort

Sort    /test/ file     按照单个字符排序,小的在,大的在后,数字在前,字母在后

                按行排序

Sort  -n  /test/file  按照数字排序

 sort  -u  file   去重

  Sort     -r  file      逆序

去重命令   uniq

Uniq    file   只去重,不排序,连续相同的行才会去重,不连续的行不去重

Uniq   选项

替换   tr  

Tr    集合1   集合2   用2换1,2的范围最好  >=1

Cat  c  |  tr  test  123  单个字符对应替换

  cat  c  |  tr  'a-z'  'A-Z'  小写改为大写

统计     wc

Wc   /test/fire      统计有多少行,单词,字符数

   -w    多少单词  (不会检查对错,连载一块就是一个单词)

对于文档,不是文本内容

复制   cp  源文件    新文件

Cp   a  ~/a         把a复制到~/a

Cp    a    /root/aa

   源文件       路径  (注意相对,绝对路径)新名称

移动    mv   源文件  新文件

Mv   /root/aa    .             aa移到。下     .  当下是test目录

Mv    /test/ aa          ~/bb        a文件移动到家目录下改名bb

Mv    /test/  a            ./aaa         重命名

同一个目录里不能有同名的文件

查找文件的路径

1whereis

  whereis   +     参数,          Whereis   ls  或者 cd  或者 cat    用来找命名的

   cat命令的执行文件: /usr/bin/cat     可以知道命令装在哪里;命令的详细信息

2which

Which    +  参数 ,    which  ls  查看对应的命令的执行文件在哪里

                                               /usr/bin/ls

                                               alias   别名

   执行文件类似于源文件       

 /usr/bin/cat  c      ==    cat c       查看cat里面的c文件  

执行文件  + 目录   (没颜色)         命令  + 目录 (有颜色)

3locate(不好用)

Locate   + 命令

4find命令

1>按照名字查找

Find  /test   -name   aaa       在/test下面找aaa文件

                  .  -name   aaa

-iname                               表示不区分名字的大小写

2>模糊匹配,模糊搜索

Find  .  -name   *   或者  ?

?         表示一个字符,内容可以数字,字母,符号

*              表示零个或多个字符

 通配符,可以代替字符,数字,字母

 特殊符号带引号

Find    .  -name a*                                找和a有关的文件

Find    .  -name   "motd*  "                 找 和motd有关的文件

root的家目录下找.cfg  的文件        Find  /root  -name  ".cfg"

.cfg一般情况下为配置文件

Find  /  -type    f(f表示普通文件,在find里表示)

Find / -type  d   找目录

在/etc下找名字中包含group的普通文件     Find /etc  -name   "*group*"   -type  f

3,按照大小查找

Find  .  -size  +2k     在当前的目录里找大于2k的目录文件

+    表示大于

-     表示小于

4,按照时间

Find   .   -mtime   +1    两天前

-5:代表 5 天修改的文件。

 5:代表前 5~6 天那一天修改的文件。

 +5:代表 6 天前修改的文件。

stat:查看文件详细信息

5,

-exec   {}\;        类似于管道符的效果,exec命令执行出来的结果放到{}中

找名称是aa的文件复制到家目录下

Find  .  -name   aaa   -exec  cp  {}   ~/a5  \;

在etc下面找group的普通文件,把找到的结果复制到test目录里

  Find /etc  -name   "*group*"   -type  f    -exec  cp   {}    /test   \;

前后都加*

打包压缩相关命令

.zip    .gz    .bz2   .xz    不会单独使用   与tar一起使用

重点  zip   tar

zip命令

Zip    文件名称

Zip          file.zip                file                       把file压缩到file.zip 

   压缩文件的名称    要压缩的文件

Unzip   file.zip    解压缩

zip压缩后原文件还在

-m  : 压缩文件1    文件2    把2压入1    zip  -m  test1.zip  test2.txt

-r    :和目录一起压缩                    zip  -r  dir1.zip  dir1/

-d    :删除压缩文件中的文件         zip -d  test1.zip  test2.txt

解压  unzip   压缩文件名称

解压unzip

-v     : 查看压缩文件目录,但是不解压    unzip  -v  test.zip

-d      :将1 在指定目录2下解压缩                unzip test.zip -d dir1

Gzip  aaa    把aaa压缩为aaa.gz,自动生成后缀.gz且删除原文件

-r  带目录一起压缩      gzip  -r  dir/

-c   压缩后保留原文件   gzip  -c  test2.txt  >  test2.txt.gz

 解压  gunzip aaa.gz

查看压缩过得文件内容 : xzcat,xzless,xzcat(看笔记)

tar命令  

Tar   选项

必选:

-f     用于指定打包文件名

三选一:

-c       创建.tar格式的包文件

-x       释放.tar格式的包文件

-t        查看包中的文件列表

辅助选项:

进行打包压缩时,源文件还在

Tar  -cvf    bcd.tar    b  c  d  创建,显示详细信息

主命令      包          文件

Tar   -tf        bcd.tar         查看包里面有什么

  

Tar  -xvf   bcd.tar       释放包里的东西   释放后包里文件没了  包在

Tar  -xvf   bcd.tar   -C 目标路径       提取包文件到指定路径

打包加压缩 bcd

Tar  -czf    bcd.tar.gz    b c  d    (加-要注意顺序,-可以取掉)

 打包时排除某个文件

 tar cf 文件名.tar --exclude=路径/文件 路径

 注:此处的路径前后需要保持保持一致,统一使用绝对路径或者相对路径

传输文件 xftp

Linux    拖到   windows

Windows   拖到 linux

命令行里操作:(笔记)

Sftp  用户@路径     sftp  root@223.6.6.6

下载get

上传put

SHELL命令解释器(笔记)

shell:命令解释器,负责解析用户输入的命令。

命令分两类:

内置命令 (shell内置),shell为了完成自我管理和基本的管理,不同的shell内置不同的命令,但是

大部分都差不多

外置命令,在文件系统的某个目录下,有个与命令名称相同的文件

 

type 命令查看命令是file(外置)、alias(别名,给二进制文档)还是builtin (内置)

type -a 列出当前命令可以如何执行

type -t 仅列出命令按照哪种方式执行

 

 

环境变量叫做PATH

执行命令时,可执行文件路径存储在环境变量path中

查看path     echo $PATH

 

 

1、普通变量

普通变量也可称为局部变量,只能在创建它们的Shell函数或Shell脚本中使用,普通变量一般由开发者在 开发脚本程序时创建。

 

 

Test.sh 是一个脚本

Vim test

 

:wq  保存退出

 

 

2、环境变量

环境变量也可称为全局变量,可以在命令行中使用,环境变 量又可分为自定义环境变量bash 内置的环境变量

(1)bash内置的环境变量:用于定义 Shell 的运行环境,保证 Shell 命令的正确执行,Shell 通过环境

         变量来确定登录用户名命令路径终端类型登录目录

(2)自定义环境变量:(永久保存)

         当前用户生效       可在当用户用户家目录下.bash_profile .bashrc文件中,

          所有都生效          全局配置 /etc/bashrc /etc/profile 文件中定义,

环境变量名字用大写表示   echo  $PATH

 

定义变量

变量命名的规则:只能使用数字、字母和下划线,且不能用数字开头

变量名和变量值用“=”连接

等号两边不能有空格符

 

vim中

变量的赋值,一般有五种写法:

name=value                       变量名=值

name1='value'                变量名='值'     弱引用

name_2="value"             变量名="值"    强引用

 

_name_3=`cmd`                变量名=`命令`

 

_na_me_4=$(cmd)            变量名=$(命令)

 

 

 

Linux中的特殊符号

 

命令历史

家目录下面      ~/  bash/history   不是实时更新

History  命令

!+ 数字     执行对应命令     !375

!!   或者  上键  执行上一条命令

命令中的快捷键

命令别名:命令的快捷方式

alias 别名=’原命令 [选项]…… [参数]……

Alias  别名=

查看正在使用的别名有哪些

命令行中定义

Alias cdt='cd /test'

使用结果

命令行中root定义的,登录别的用户,别名不能用

虚拟机重启后,别名消失,无效

把别名写到配置文件中永久生效

临时有效在命令行写,永久有效在配置文件下写

家目录下面的.bashrc 

~/.bashrc

 root用户一直能使用别名,其它用户不能使用别名

对谁生效,在谁的家目录下    用root用户配置

bash重新加载一下或者重登陆,重启

Vim  .bashrc

:wq  保存退出

bash重新加载  或者重启

/Etc/bashrc操作   所有用户都能使用

Vim /etc/bashrc

找不到的话,文档最后一行,alias data='date -R'(引号里面写命令,著名零参数)

自己定义的名字和原来的名字不能相同

:wq   保存退出

Bash

使用命令   data

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值