一、文件内容搜索

格式: grep 内容 文件路径

1.常见grep参数

 -i  忽略字符大小写的差别。
--color=auto : 颜色自动提示,将grep设置为默认颜色提示,其实就是可以给grep指令器别名
-n : 显示内容出现的行号
-l : 显示内容出现的文件名
-c : 显示出现该内容的次数

【例】编辑一个1.txt文件,输入一部分文字

[root@localhost ~]# vi 1.txt                 #进入编辑内容
[root@localhost ~]# grep 关羽 1.txt
关羽
关羽是著名的三国大将,桃园三结义、过五关斩六将
[root@localhost ~]# grep 关羽 1.txt --color=auto      关羽                                            #此时显示的关羽是彩色的
关羽是著名的三国大将,桃园三结义、过五关斩六将

2.设置自动颜色提示

vi ~/.bashrc

source ~/.bashrc

(1)[root@localhost ~]# vi ~/.bashrc        #进入编辑模式添加一句  alias grep='grep --color=auto'    #在里面添加一句这个代码
(2)[root@localhost ~]#  ~/.bashrc          #调用一下这个文件
(3)[root@localhost ~]# grep 是 4.txt        #重新搜索,可以显示搜索到的‘是’变颜色
。。。。。

3.也可以写正则

grep -p
grep -e  两种均可【例】13838384380\d{11}^1\d{10}    3456789^1[3-9]\d{9}test@qq.com   duduxixi@163.com  lalahehe@sina.cn\w+@\w+\.(com|cn|net)grep 王者荣耀 1.txtgrep 王者荣耀 *.txtgrep 王者荣耀 ~/.txtgrep -P '1[3-9]\d{9}' 3.txt

二、管道

格式 指令1 | 指令2
指令1的输出作为指令2的输入,指令2的输出显示到屏幕中

1.常用的管道指令

[root@localhost ~]# ls -l /etc | less                   #翻页查找
[root@localhost ~]# ls -l /etc | head                  #查看前十行
[root@localhost ~]# ls -l /etc | head -10 | tail -5
#查看前十行中后五行内容和grep结合使用ls -l /etc | grep 找的内容

2.进程相关指令===ps +管道

#查看进程中ssh的
[root@localhost ~]# ps -ef | grep ssh
root       1168      1  0 17:16 ?        00:00:00 /usr/sbin/sshd
root       1668   1168  0 17:22 ?        00:00:01 sshd: root@pts/0
root       2118   1672  1 18:45 pts/0    00:00:00 grep ssh

三、搭建主机信任

搭建主机信任就是实现免密登录

1.公钥和私钥

密码学的内容,加密-解密,这里引入一个知识:秘钥

加密--解密秘钥相同====对称加解密加密--解密秘钥不相同====非对称解密

一对密钥:公钥和私钥

公钥:给你们,你们拿的都是公钥私钥:我自己拥有

公钥加密—私钥解密,私钥加密—公钥解密

2.linux1登录linux2,实现免密码登录

(1)在linux1上生成公钥和私钥

ssh-keygen指令,然后一路敲Enter键就可以,不需要输入

[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
a6:6a:c1:00:0e:a2:72:26:bd:a7:bb:00:50:a9:bc:81
root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|  ..             |
|+..              |
|O+               |
|E+=              |
|o+o+    S        |
|... +  o         |
|.  o ..          |
| .. ..           |
|  o+.            |
+-----------------+

(2)来到生成秘钥的文件中
id_rsa : 私钥
id_rsa.pub : 公钥

[root@localhost ~]# ls -a
.  ..  1.txt  2.txt  anaconda-ks.cfg  .bash_logout
.bash_profile  .bashrc  .cshrc  install.log  install.log.syslog
.ssh  .tcshrc
[root@localhost ~]# cd .ssh
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub

(3)查看公钥内容,并鼠标手动复制

[root@localhost .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArqZ8hDb97kcgRX0hRNI+
BUrzFPBE11Y6IzomMwaDkadYbyZ6u1q2z0iUTBzo1BMSuaC/F8Qd2Wm3/
+b/FBbx/EmpVl0y0nBHL29zofKvudPcrhNuqLTA2SA7LPan4dWcODb6OV
dEjo2zP76e9nOsi/YOJvNjzjdYLA/HsMm4ERY5mGWJUiJpG+vXf0NZX35
ygglPwzseF4B90Ffhhb1lZc1HT4HIp+K/cDqHUPRtpHEVrgoWAbuLJcNvJ
GPOLTTu8fI8vefsZvmRGbYKY4h4fXLrU4NpAQ== root@localhost.lo
caldomain

(4)来到linux2中 vi ~/.ssh/authorized_keys将公钥粘贴进来即可这样在通过linux1登录linux2的时候就实现了免密码登录

[root@localhost .ssh]# vi authorized_keys
#进入编辑模式,将公钥粘贴进来

注意:文件名字是固定格式,不能随意改,必须这个名字authorized_keys

四、SCP

1,什么是scp

scp:基于ssh的cp,cp是实现本机之间来回拷贝,scp在两台linux之间进行拷贝

2.scp的用法

(1)linux和linux之间

scp 源路径 目标路径

scp 1.txt root@ip地址:路径
如果发送文件夹,需要添加 -r 选项
linux和linux之间使用scp进行互发,如果搭建了主机信任,不用输入密码

(2)windows和linux之间(类似于xftp软件)

用软件 winscp,实现windows和linux之间使用scp进行互发
安装,使用即可,左边:windows目录,右边:linux目录,相互拖动即可

五、重定向

标准输入(stdin, 键盘)、标准输出(stdout, 屏幕)

1.输出重定向:意思就是不输出到屏幕,输出到其他地方

ls -l > 1.txt      >    作用:首先清空文件,然后写入文件
ls -l >> 1.txt     >>   作用:追加内容
echo '你好' >> 1.txt     在1.txt文本中追加你好

2.错误重定向:指令有错,错误信息显示到哪里

s /lala > 1.txt               将lala文件夹错误信息显示到指定文件中
ls /lala >> 1.txt             将lala文件夹错误信息追加到指定文件中

六、挂载、磁盘相关命令

1.什么是挂载

注意,优盘只能被一个系统识别,插入优盘会选择,如果是虚拟机需要

如图:

2.步骤:

(1)(1)插上u盘
u盘只能让你的linux识别,如果是虚拟机,在虚拟机设置里面点击让虚拟机识别

(2)inux识别成功之后,通过指令查看你的设备 fdisk -l

 /dev/sda   就是linux系统的硬盘设备如果有分区  /dev/sda1   /dev/sda2  xxx

(3)u盘设备往下走

/dev/sdb   就是你的u盘设备如果有分区  /dev/sdb1   /dev/sdb2

(4)挂载优盘

mount -t  需要挂载的设备  挂载点auto : 自动识别vfat : fat32ntfs-3g : ntfs格式   需要插件支持-o iocharset=utf8  如果有中文,可以指定字符集mount /dev/sdb1 /mnt/usb

3.取消挂载:不能在挂载的目录中取消挂载

     umount /dev/sdb1 /mnt/usbumount /dev/sdb1umount /mnt/usb

注意:u盘中有中文,在挂在前先用下面指令读取,否则挂载时会乱码

如果取消挂载时显示设备正在忙,需要输入指令把使用的进程干掉,再取消挂载即可

fuser -m -k /mnt/usb

4、和磁盘相关的指令

df 显示当前可用的设备的使用情况

[root@localhost mnt]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root18G  671M   16G   5% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   28M  425M   7% /boot

du

 当前目录的使用情况-h  人性化的方式显示大小

4.配置开机挂载

 vi /etc/fstab进入编辑模式添加一行信息/dev/sdb1     /mnt/usb      vfat    defaults      0 0

七.软件硬链接

link,为了解决文件的共享问题,引入了链接机制,分为软连接和硬链接,以软连接使用居多

1.硬链接

  ln 源文件 目标文件也可以使用link链接之后,目标文件和源文件内容相同,修改其中一个,另外一个也被修改在ll之后,可以看见硬链接个数,增加删除其中一个,另外一个不受影响可以理解为,给一个文件起了一个外号、别名  【注1】不能给目录创建【注2】创建完硬链接之后,你的用户名和组信息不变

2.软链接

ln -s 源文件 目标文件软链接创建之后,修改其中一个,另一个也修改【注1】可以给目录创建【注2】创建完之后,用户和组信息是创建时候的信息

3.软硬连接的不同之处

 在linux里面,存放一个文件,由三部分组成,一个文件名,一个是文件索引(inode),一个是数据部分

如图:

八、压缩和解压缩(熟练)

在linux里面,常见压缩格式有两种,一种叫做gz,一种叫做bz2

1.gzip\ gunzip(后缀名是.gz)

   格式: gzip 文件1 文件2   #压缩多个生成之后,源文件不在了,只有压缩文件,每一个都生成一个压缩文件gunzip 文件不能实现打包压缩,不能实现保留源文件
[root@localhost ~]# gzip 3.txt    #压缩3.txt文件,但不保留原文件
[root@localhost ~]# ls
3.txt.gz

2.bzip2\bunzip2(后缀名是bz2)

bzip2 文件1 文件2        #每一个生成一个压缩文件-k : 保留源文件再压缩
bunzip2 压缩文件1 压缩文件2[root@localhost ~]# bzip2 -k 4.txt     #-k 可保留原文件再压缩
[root@localhost ~]# ls
3.txt.gz  4.txt  4.txt.bz2

3.打包和打包压缩

 tar(可以实现打包的功能,可以实现压缩和解压,)如果打包压缩使用的gzip压缩的,那么后缀名  .tar.gz    .tgz如果打包压缩使用的bzip2压缩的,那么后缀名  .tar.bz2

常用的参数(组合使用时不分先后)

     -z : 使用gzip压缩-j : 使用bzip2压缩-f : 打包压缩的时候指定压缩后的文件名-c : 打包文件-x : 解压缩使用的-v : 压缩和解压缩时候显示进度

打包使用gzip压缩:

打包使用gzip压缩:tar -zcvf 压缩后的名字.tar.gz 文件1 文件2 文件3使用gzip解压缩tar -zxvf 压缩包.tar.gz

打包使用bzip2压缩

打包使用bzip2压缩tar -jcvf 压缩后的名字.tar.bz2 文件1 文件2 文件3
使用bzip2解压缩tar -jxvf 压缩包.tar.bz2

九、软件安装之yum安装

红帽系列(centos、费德罗)软件安装使用 yum安装

大便系列(Ubuntu等)软件安装使用 apt-get安装

1.去哪下载软件呢?

yum源,这个源在哪呢?默认都有自己的源,但是这个源是在国外的。所以使用linux
经常将源设置为国内源,阿里源、清华源、搜狐源、网易源、中科大源,国外更新的
时候,国内会实时更新

2.配置源(以阿里源为例)

搜索阿里源https://opsx.alibaba.com

 打开阿里源,点击帮助
(1)mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d
/CentOS-Base.repo.backup
(2)下载对应的源配置文件wget是一个专业的下载软件,但是需要安装wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-6.repo或者curl是自带的,不用安装curl -o /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-6.repo
(3)执行如果是本地,需要网络,吃饭的时候执行,晚上执行,热点执行yum clean allyum makecache

玩转Linux系统04--文件管道和主机信任搭建相关推荐

  1. 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API

    Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...

  2. linux 文件操作 编程,Linux系统编程------------文件操作(基础)

    一.文件操作 1.1 Linux文件系统结构 1.1.1  Linux常见系统目录 /bin  :  存放普通系统可执行的命令(ls wc等) /sbin  :  存放系统管理程序(fsck等) /b ...

  3. 4. linux调用文件计算阶乘前5项和_嵌入式Linux系统编程——文件读写访问、属性、描述符、API

    Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...

  4. linux管道命令详解,Linux系统中的管道命令的用法详解

    Linux系统中管道命令是linux系统的一个强大之处.下面由学习啦小编为大家整理了Linux系统中的管道命令的用法详解的相关知识,希望对大家有帮助! Linux系统中的管道命令的用法详解 管道命令操 ...

  5. linux有名管道数据异常,Linux系统编程—有名管道

    ▋****1. 管道的概念 管道,又名「无名管理」,或「匿名管道」,管道是一种非常基本,也是使用非常频繁的IPC方式. 1.1 管道本质 管道的本质也是一种文件,不过是伪文件,实际上是一块内核缓冲区, ...

  6. linux打开文件命令occ,Linux系统查看文件内容的命令有哪些?

    Linux文件内容查阅,可以使用命令来实现.cat, tac, more,包括nl等命令都可以用来查阅文件内容,本文就通过举例的方式来介绍一下,Linux系统查看文件内容的命令有哪些. /messag ...

  7. linux 默认文件属性,linux系统下文件的默认权限以及隐藏属性的作用

    [摘要] 操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序.操作系统需要处理如管理与配置内存.决定系统资源供需的优先次序.控制输入设备与输出设备.操作网络与 ...

  8. linux搜索关键字并定位,Linux系统中文件定位与查找(示例代码)

    Linux系统中文件查找 关键词 文件查找 | find | locate 本文主要介绍有关文件查找的两个命令--find和locate,以及压缩打包的命令--compress, gzip,bzip2 ...

  9. linux 解压tar.jz,linux系统压缩文件和解压缩命令

    linux系统压缩文件和解压缩命令 tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip Fi ...

最新文章

  1. postgresql 查询序列_时间序列数据库(TSDB)初识与选择
  2. php 如何实现表格行列的对齐,excel怎样把每列文字对齐
  3. Master、Slave等术语将不能在未来的Linux代码中使用
  4. iphone iPhone开源项目汇总(更新版)
  5. 通过git和Xcode将代码上传到GitHub
  6. SVN trunk branch tags 区别
  7. Android点击返回键销毁自己,Activity界面销毁 软键盘未收回
  8. 暴力推荐2:硬盘分区丢失之DiskGenius
  9. 可以在线测试血糖的软件,血糖也能自己测,糖护士荷智能血糖仪体验:测血糖就这么简单...
  10. Python爬虫爬取腾讯视频动漫专区的动漫及其描述
  11. MintUI(详见官方文档)
  12. 隔壁老王都知道的JavaScript+mysql+HTML+CSS的客户管理系统设计和实现【建议收藏,不然看着看着就不见了】
  13. 三菱Q系列plc11轴运动控制程序
  14. Ph0ne1x-100 解题思考
  15. 雲禾遗密:Web3js调用智能合约查看某账户ERC20代币数量
  16. 从懵懂无知到独挡一面——那些萌新程序员的进阶之路
  17. linux内核编程笔记【原创】
  18. 这可能是你见过的最全的SaaS行业分析
  19. 大学计算机在线作业答案,上海交通大学《计算机》在线作业二参考答案
  20. 德州INA139NA/3K 电流监控器IC 丝印N139

热门文章

  1. 探讨如何安全地保存重要数据
  2. google java c c++ python ruby_Ruby Python Java C C++ 数组使用方法对比
  3. 你幸福吗? 幸福西饼小程序来袭
  4. 浅谈数据库事务(transaction)
  5. 老婆变心了如何挽回老婆
  6. Wannafly挑战赛 23 B 游戏(SG函数运用)
  7. 宝塔面板查看默认入口和账号密码
  8. 如何查看GIM模型(免费浏览器)
  9. 第一次带团队,培养的团队骨干同事突然告诉我要离职
  10. 解决报错 Error in processing command line: Don‘t understand command line argument “-cl-no-subgroup-ifp“