玩转Linux系统04

一、文件内容搜索

格式: 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.txt
    grep 王者荣耀 *.txt
    grep 王者荣耀 ~/.txt
    grep -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 
[email protected]
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 : fat32
            ntfs-3g : ntfs格式   需要插件支持
        -o iocharset=utf8  如果有中文,可以指定字符集
        mount /dev/sdb1 /mnt/usb

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

        umount /dev/sdb1 /mnt/usb
        umount /dev/sdb1
        umount /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_root
                       18G  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.backup2)下载对应的源配置文件
    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.repo
     http://mirrors.aliyun.com/repo/Centos-6.repo
(3)执行
        如果是本地,需要网络,吃饭的时候执行,晚上执行,热点执行
        yum clean all
        yum makecache

猜你喜欢

转载自blog.csdn.net/ZZQHELLO2018/article/details/82227132
今日推荐