1.文件内容搜索
- 格式:grep 内容 文件路径
参数:
-
-i :输入时-大小写转换
-
--color=auto:颜色自动提示,将grep设置为默认颜色提示,其实就是可以给grep指令起别名
vi ~/.bashrc
添加一句 alias grep=‘grep --color=auto’
source ~/.bashrc
-
-n :显示内容出现的行号
-
-l :显示内容出现的文件
-
-c:显示出现该内容的次数
也可以写正则表达式
-
手机号
1[3-9]\d{9}
-
邮箱
\w+@\w.(com|cn|net)
grep 王者荣耀 1.txt
grep -l 王者荣耀 *.txt
grep -c 王者荣耀 ~/.txt
grep -P '1[3-9]\d{9}' 文件
2.管道
格式:指令1 | 指令2
指令1的输出作为指令2的输入,指令2的输出显示到屏幕中-
常用的管道指令有:
ls -l /etc/ | less
ls -l /etc/ | head -5
ls -l /etc/ | tail -5
ls -l /etc/ | head -10 | tail -5
ls -l /etc/ | grep 要找的内容
查看进程相关
ps -ef | grep ssh
3.搭建主机信任
1)密码学的内容,加密-解密,要用到秘钥
加密-解密秘钥相同-对称加解密
加密-解密秘钥不相同-非对称加解密
一对秘钥:公钥和私钥
公钥:给你们,你们拿的都是公钥
私钥:我自己拥有的
公钥加密-私钥解密,私钥加密-公钥解密
实现免密码登录,Linux1登录Linux2,实现免密码
2)登录
(1)在Linux1上,生成公钥和私钥
ssh-keygen 一路敲enter即可
(2)来到生成秘钥的文件中
id_rsa:私钥
id_rsa.pub:公钥
(3)复制公钥:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0FZXo7FlHFcuwjyx8u456rh76ozfetdk4QwE7q6z1aWbiSt9W0EL+rxWeoDV5gA13ksOaEBObgkkA4kPXjzEHDDfFOfU9Mt66b+DO95TIE9+/Y3Gh6syBErvpTammmBCSVFMWEN/Ee6JGhKVJtxqkvd6RcJLwPnnZdXF1ytpL/8DWV8GLNnn2UGjH4A/zmNxfEftM05bcQFM7wpAAXukYyUp1bRkEI4s7pIvzTu3fi+32P40G2w3/aGnUEfqjbVsAJY1g6INAxIX+FdiqCJMiRmZ4dkgv8D7MEhLWbezOto9lbuRL0JSVygwjpj1qLG8KyLpATcFa1gsW1affIbaSw== root@localhost.localdomain
(4)来到Linux2中
vi ~/.ssh/authorized_keys
将公钥粘贴进去即可
这要就可以实现Linux1登录Linux2免密登录
4.重定向
标准输入(stdin,键盘),标准输出(stdout,屏幕)
输出重定向:不输出到屏幕,输出到其他地方
ls -l>4.txt >作用:首先清空文件,然后写入文件
ls -l>>4.txt >>作用:追加内容
错误重点向:指令有错,错误信息显示到其他地方
例:ls /lala 2>4.txt 将错误信息显示到指定文件中
ls /lala 2>>4.txt 将错误信息追加到指定文件中
5.挂载、磁盘相关指令
将U盘和目录对应的过程就是挂载
(1)插上U盘
U盘只能让你的Linux识别,如果是虚拟机,在虚拟机设置里面点击让虚拟机识别
(2)Linux识别成功后,通过指令查看你的设备
fdisk -l
/dev/sda 就是linux系统的硬盘设备
如果有分区 /dev/sda1 /dev/sda2 xxx
u盘设备往下走
/dev/sdb 就是u盘设备
如果有分区 、dev/sdb1 /dev/sdb2
- 挂载U盘
mount -t 需要挂载的设备 挂载点
auto:自动识别
vfat:fat32
ntfs-3g:ntfs格式 需要插件支持
-o iocharset=utf8 如果有中文,可以指定字符集
mount /dev/sdb1 /mnt/usb - 取消挂载,不能在挂载的目录中取消挂载
umount /dev/sdb1 /mnt/usb
umount /dev/sdb1
umount /mnt/usb
如果取消挂载的时候显示该设备真在盲,需要输入指令将使用的进程给干掉,再取取消挂载即可
fuser -m -k /mnt/usb - 和磁盘相关的指令
df --显示当前可用的设备的使用情况
-h 人性化的显示大学
du --显示当前目录的使用情况
-h 人性化的显示大学
设置开机挂载
vi /etc/fstab
添加一行信息
/dev/sdb1 /mnt/usb vfat defaults 0 0
6.scp
scp:基于ssh的cp,cp是实现本机之间的来回拷贝,scp在两台Linux之间进行拷贝
scp的用法:
scp 源路径 目标路径
scp 1.txt root@ip地址:路径
如果发生文件夹,需要添加-r选项
Linux和Linux之间使用scp进行互发,如果搭建了主机信任,不用输入密码
winscp,实现Windows和Linux之间使用scp进行互发
安装,使用即可,左边:Windows目录,右边Linux目录相互拖动即可
指令格式:
7.软硬链接
link ,为了解决文件的共享问题,引入了链接机制。分为软链接和硬链接,使用软链接居多
1)硬链接
ln 源文件 目标文件
也可以使用link
链接之后,目标文和源文件内容相同,修改其中一个,另外一个也会进行相同修改
在ll之后,可以看见硬链接个数增加
删除其中一个,另外一个不受影响
可以理解为,给一个文件起个外号、别名
注意:不能给目录创建
创建完硬链接之后,你的用户名和组信息不变
2)软链接
ln -s 源文件 目标文件
软链接后,修改其中一个,另一个也修改
注意:可以给目录创建
创建完之后,用户和组信息是创建时候的信息
3)软硬链接的不同之处
在linux里面,存放一个文件,由文件名,文件索引(inode),数据部分三部分组成
见百鸟朝凤图
8.压缩和解压
在Linux中,常见压缩格式有两种:gz,bz2
gzip\gunzip(后缀名.gz)
- gzip 文件1 文件2
生成之后,源文件不再,只有压缩文件,每个文件都生成一个压缩文件
gunzip 解压文件
不能实现打包压缩,不能实现保留源文件
bzip2\bunzip2(后缀名.bz2) - bzip 文件1 文件2
生成之后,源文件不再,只有压缩文件,每个文件都生成一个压缩文件
-k 保留源文件
bunzip2 解压文件
4)tar(可以实现压缩和解压,可以实现打包的功能)
如果打包压缩使用的gzip,后缀名.tar.gz 或.tgz
如果打包压缩使用的bzip,后缀名.tar.bz2
常用的参数:
-z :使用gzip压缩
-j :使用bzip2压缩
-f :打包压缩后指定压缩文件的文件名
-c :打包文件
-x :解压文件
-v :压缩和解压时显示进度-
使用gzip压缩
tar -zcvf 压缩后的名字.tar.gz 文件1,文件2,...,文件n
-
使用gzip解压
-
使用bzip压缩
tar -jcvf 压缩后的名字.tar.bz2 文件1,文件2,...,文件n
-
使用bzip2解压
tar -jxvf 解压文件包.tar.bz2
9.软件安装之yum安装
红帽系列软件安装使用 yum安装
大便系列软件安装使用 apt-get安装
下载----yum源----默认有自己的源----国外。Linux设置源为国内源:阿里源、清华源、搜狐源、网易源、中科大源
如何配置为国内源?
打开阿里源,点击帮助
(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.repo http://mirrors.aliyun.com/repo/Centos-6.repo
(3)执行
如果是本地,需要网络,吃饭的时候执行,晚上执行,热点执行
yum clean all
yum makecache