Linux常用基础知识必备三之常用指令及操作

  • 1、vi和vim
    • vi如何使用
    • vi几种模式下的操作指令
      • 命令模式进入编辑模式
      • 命令模式下的快捷键
      • 底行模式(指按了esc键之后输入按键:后出现)
      • 字符串的查找(底行模式中)
      • 字符串的替换
        • 光标所在行替换
        • 所有行替换
    • 简单操作:
    • 注意事项:
  • 2、文件相关指令
    • 创建
    • 删除
    • 拷贝copy
    • 移动 move
    • 查看
  • 3、搜索文件
  • 4、文件内容搜索
    • grep 带色查找
  • 5 软硬链接
  • 6、压缩和解压
    • gzip
    • bzip2
    • tar
  • 7 其它
    • 管道
    • 重定向
    • 计划任务

(声明:本教程仅供本人学习使用,如有人使用该技术触犯法律与本人无关)
(如果有错误,还希望指出。共同进步)


【附上Linux指令学习网站】


1、vi和vim

  • vi是linux自带编辑器,vim称之为增强版的vi编辑器,需要额外安装

vi如何使用

 1)vi 1.txt (vi的后面要跟一个文件路径绝对、相对都可以,如果这个文件存在,则会打开这个文件,如果文件不存在,则会创建并打开)2)输入小写字母i (将编辑器从命令模式切换到编辑模式插入模式)3)编辑内容 4)按esc,输入 :wq 保存并退出 按esc:从编辑模式退出到命令模式输入冒号:从命令模式进入底行模式wq:保存并且退出q:不保存直接退出q!:不保存强制退出

vi几种模式下的操作指令

命令模式进入编辑模式

 i:在光标所在处进入编辑模式I:从光标所在行的第一个非空字符进入编辑模式o:在光标所在行下面新增一行进入编辑模式O:在光标所在行上面新增一行进入编辑模式a:从光标所在字符的后一个字符进入编辑模式A:到光标所在行的行尾进入编辑模式s:删除光标所在字符进入编辑模式S:删除光标所在行进入编辑模式

命令模式下的快捷键

 gg:快速的将光标放到第一行行首G:快速的将光标放到末行行首ngg:快速的切换到第n行的行首(n表示数字)^:到光标所在行的行首$:到光标所在行的行尾dd:删除光标所在行ndd:删除光标下n行,包含光标所在行(10000dd:删除所有行)u:撤回刚才的操作ctrl+r:反撤回yy:复制光标所在行nyy:复制光标下n行,包含光标所在行p:粘贴复制的行,粘贴到光标下面np:粘贴n次复制的行ctrl+f(forward前进):往下翻一页ctrl+b(backward后退):往上翻一页ctrl+d(down下面):往下翻半页ctrl+u(up上面):往上翻半页zt(top顶层的):将光标所在行置顶显示zb(bottom底部的):将光标所在行置底显示zz(中间的):将光标所在行居中显示

底行模式(指按了esc键之后输入按键:后出现)

 :set nu 显示行号:set nonu 取消显示行号:wq 保存并退出:x 保存并退出:q! 强制退出:wq! 文件拥有者强制保存并退出只读文件shift+zz 保存并退出

字符串的查找(底行模式中)

 :/字符串:从上往下找(n代表下一个 N代表上一个):?字符串:从下往上找(n代表下一个 N代表上一个)和方向有关

字符串的替换

光标所在行替换

 :s/要替换的字符串/替换成的字符串——替换光标所在行的第一个

 :s/要替换的字符串/替换成的字符串/g——将光标所在行所有的替换指定行替换:n,ms/要替换的字符串/替换成的字符串/(g)——替换n行到m行

所有行替换

 :%s/要替换的字符串/替换成的字符串/(g)——g不加为替换每行的第一个


简单操作:

注意事项:

通过vi打开一个文件的时候,有可能会有attention的提示 出现的原因有如下两个
1)多个终端同时编辑同一个文件
2)编辑会话崩溃,比如没有保存直接关闭终端
解决:会出现一个隐藏文件 例 .1.txt.swp——将这个文件删除即可

2、文件相关指令

 涉及到文件和目录的,创建、删除、拷贝、移动、查看

创建

 文件:1)vi 文件路径2)touch 文件路径1 文件路径2 文件路径3目录:mkdir 目录路径 mkdir -p 目录路径——> 递归的创建目录,中间目录一并创建

删除

 【注】:在linux里面,没有垃圾回收站,通过rm删除后,就找不到了。rm 指令谨慎使用一般不用,一般都是备份一个文件 my.conf my.conf.bak
文件(指令)
rm 文件路径
rm -f 文件路径 force 不提示,强制删除
rm -f 1.* 删除以1.命名的所有文件
rm -f *.txt 删除所有的以.txt为后缀的文件
rm -f test/* 删除指定文件夹(text)下的所有文件
目录(指令)
rmdir 目录路径 只能删除空目录
rm -rf 目录路径 递归的删除非空目录

拷贝copy

 文件:cp 源文件路径 目标文件路径#(在拷贝的时候,如果指定文件名,则拷贝过来会修改文件名)目录:cp -r 源目录路径 目标目录路径#(在拷贝的时候,可以修改目录名,写到目标路径后面即可)

移动 move

 文件或者目录mv 源路径 目标路径# 1)移动的时候,不需要添加-r# 2)移动文件或者目录的时候也可以修改名字# 3)从当前移动到当前可以修改文件的名字

查看

 目录:ls文件的查看:cat (-n) 文件路径        # (显示行号),把内容显示到终端上tac 文件路径             # 倒着看(cat-tac 字母反着)head (-n) 文件路径       # 默认显示该文件的前10行,(-n)前n行tail (-n) 文件路径     # 默认显示该文件的后10行,(-n)后n行如果文件内容非常多,使用如下方法查看more 文件路径 # enter往下走一行 space往下走一页less 文件路径 # enter往下走一行 space往下走一页 pageup pagedown上下翻页# q退出查找, /字符串 可以查找字符串 n代表下一个

3、搜索文件

find [目录] [选项] [选项值]

 目录:去哪找 如果不写,默认为当前目录

 选项:怎么找?
 -name:按照名字去查找-size:按照大小去查找-user:按照用户来查找-group:按照组来查找-maxdepth:查找的时候最大的级别-mindepth:查找的时候最小的级别
 选项值:找什么?
 find -name lala.txt     # 在当前目录查找lala.txt文件find / -name \*.txt      # 查找所有的txt文件find / -size 10k        # 查找所有文件大小是10k的文件find / -size +10k         # 查找所有大于10k的文件find / -size -10k     # 查找所有小于10k的文件find / -user bajie        # 查找用户为bajie的文件find / -group bajie  # 查找所有组为bajie的文件find / -name ifcfg-*    # 查找ifcfg的配置文件find / -maxdepth 3 -name \*.txt               # 查找所有级别小于3的文件find / -mindepth 3 -maxdepth 4 -name \*.txt   # 查找级别3~4之间的文件

4、文件内容搜索

grep [参数] [内容] [文件路径]

 # 参数:-n:显示行号-r:在目录下面递归的查找-l:不显示内容,只显示文件的名字-L:不包含要查找内容的文件的名字-c:统计出现的列数-P:后面写正则表达式
 例子:
 grep 'aaaa' lala.txtgrep -n 'aaaa' lala.txtgrep -r 'aaaa' ./*     # 查找当前目录下所有文件中的aaaagrep -rl 'aaaa' ./*        # 查找当前目录下有aaaa的所有文件名字grep -rc 'aaaa' ./*      # 查找所有文件中出现aaaa的列数grep -P '\w+@[0-9a-z]+\.(com|cn|org|edu)' lala.txt

grep 带色查找

 1) vi ~/.bashrc2) # 最后增加alias grep='grep --color=auto'3) # 保存退出source ~/.bashrc

5 软硬链接

特点
硬链接 ln 源文件 目标文件 1)修改任意一个文件的内容,另一个也会改变
2)通过ll,也可以查看文件的硬链接的个数
3)删除其中一个文件,不影响其它的文件
4)硬链接不能给目录创建
软链接 ln -s 源文件 目标文件 1)修改其中一个,另一个也会修改
2)通过ll查看,可以看清楚链接结构
3)删除源文件,链接失效,新建一个名字一样的源文件,链接生效
4)目录也可以创建软链接
[删除目录软链接] rm -rf demo (目录后面不要加/)


6、压缩和解压

gzip

  • 后缀是 .gz
 压缩:gzip 文件解压:gunzip 压缩包# 问题:不能打包压缩,源文件不保留

bzip2

  • 后缀是 .bz2
 压缩:bzip2 (-k) 文件解压:bunzip2 压缩包# 问题:不能打包压缩,但源文件可以保留,需要加参 -k

tar

  • 压缩和解压全包,通过参数实现功能
 -c:打包-z:使用gzip格式压缩,后缀一般是.gz,.tar.gz,.tgz-j:使用bzip2格式压缩,后缀一般是.bz2,.tar.bz2-f:压缩的时候,后面指定压缩完毕之后的文件名-x:表示解压缩-v:压缩和解压缩显示进度信息
 1)使用gzip打包压缩和解压缩压缩:tar -zcvf lala.tar.gz 1.txt 2.txt 3.txt解压:tar -zxvf lala.tar.gz 2)使用bzip2打包压缩和解压缩压缩:tar -jcvf lala.tar.bz21.txt 2.txt 3.txt解压:tar -jxvf lala.tar.bz2

7 其它

管道

 管道指令: 指令1 | 指令2# 指令1的输出作为指令2的输入,指令2的输出显示到屏幕中# grep、head、tail、less结合

重定向

												

Linux常用基础知识必备三之常用指令及操作相关推荐

  1. linux的基础知识——signal信号捕捉,信号集操作函数

    文章目录 1.signal捕捉信号 2.信号集操作函数 3.sigprocmask函数 4.sigpending函数 5.例子1:打印某个进程未决信号集 6.例子2:signal函数的注册捕捉执行函数 ...

  2. HTML5的基础知识的梳理及常用标签

    HTML5的基础知识的梳理及常用标签 1.HTML5的介绍 前端:展示页面.与用户交互 - HTML 后端:数据的交互和传递 - JavaEE/JavaWeb 1.前端开发的工作模式 网页的组成部分( ...

  3. 网络服务器最基本的是文件,你可能想知道的15个网络常用基础知识

    原标题:你可能想知道的15个网络常用基础知识 网络是一个复杂的系统,涉及知识很多.现在腾正小超人给大家分享15个常用的网络基础知识: 1) 如何查看本机所开端口 用netstat -a -n命令查看! ...

  4. Swift常用基础知识(二)

    Swift常用基础知识(一) 函数式编程 函数合成 func add1(_ v1: Int, _ v2: Int) -> Int { v1 + v2 }func currying<A, B ...

  5. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  6. Linux系统基础知识

    Linux系统基础知识 1.在Linux系统中,以文件方式访问设备.   2. Linux内核引导时,从文件 /etc/fstab中读取要加载的文件系统. 3. Linux文件系统中每个文件用 ino ...

  7. C语言if条件表达式只能是,小白基础知识必备|| 条件表达式

    原标题:小白基础知识必备|| 条件表达式 if-else 条件表达式 简单来说,条件表达式使我们可以测试变量. 打个比方,我们可以这样说: "假如变量的值等于 7,就执行这样那样的操作.&q ...

  8. Python复习系列:Python基础知识(三)

    Python基础知识(三) Python基础知识(三) (一)循环结构和选择结构 1. 条件表达式 2. 选择结构 2.1 单分支选择结构 2.2 双分支选择结构 2.3 多分支选择结构 2.4 选择 ...

  9. Linux操作系统基础知识学习

    Q1.什么是GNU?Linux与GNU有什么关系? A: 1)GNU是GNU is Not Unix的递归缩写,是自由软件基金会(Free Software Foundation,FSF)的一个项目, ...

最新文章

  1. Java中变量、类初始化顺序
  2. ABAP OO小例子
  3. vector 对某个下标排序_Python实现堆排序
  4. mvc 在视图中调用别的视图
  5. 简易计时器的设计与实现-DE2|VHDL|EDA|FPGA/CPLD
  6. 前端电子时钟字体引入
  7. comsol与matlab联合,联合应用COMSOL和matlab.pdf
  8. micrium ucprobe使用指南
  9. Resolving multicopy duplications de novo using polyploid phasing 用多倍体相位法解决多拷贝复制的新问题...
  10. 微信怎样授权群相册服务器,怎么创建微信群相册?微信群相册设置与创建全攻略(图文)...
  11. unity 接入谷歌广告
  12. PAT甲级-1118 Birds in Forest (25 分)
  13. oracle序列号查询最大值,Oracle sequence值到了最大值的处理
  14. 网络安全笔记8——虚拟专网技术
  15. 腾讯区块链的三年与它的打法
  16. 阿里云服务器永久修改主机名
  17. 复合效应 达伦哈迪_帕特里克·麦克哈迪(Patrick McHardy)和版权暴利
  18. 微信小程序苹果手机边框显示不全解决办法
  19. CSS3实现平行四边形
  20. 提升技术团队战斗力的几件事

热门文章

  1. 全国等级计算机模拟考试,全国计算机等级考试一级模拟试题15
  2. 简洁文艺风博客园CSS定制——圆角蓝文艺字体
  3. html在小的电脑屏幕字体缩小,如何把电脑字体调小?教你怎么调整电脑屏幕的字体大小...
  4. 程序员专属笑话,累的时候看看放松一下以便继续努力
  5. 毛概期末复习题库(选择题)
  6. 创建一个银行账户的继承层次,表示银行的所有客户的账户。每个客户都能在他们的银行账户存钱,取钱。但是账户可以分为更具体的两种类型,例如,依靠存款生息的存储账户SavingsAccount类,另一种就是信
  7. 马云的创业故事及他人生中的摆渡人-马云退休(十一)
  8. 操作Cassandra(3)-合并、压实
  9. 略见一斑之全国.net工资水平大概
  10. 解析波士顿Handle机器人背后的技术