Linux 高级用法
管道
概念:| 管道链接符号 l
左边命令一定要有输出结果 | 右边命令一定要有输入
| 的作用就是把左边命令的输出结果 给 右边命令当做输入
| 右边命令一般常用有 more grep
形式:命令1 | 命令2
# 在当面用户主目录下输出 文件信息然后匹配文件首字母d
# ls -alh | grep '^d'
链接文件ln
# 链接 link、链接文件 symbol
概念:类似于windows系统中的快捷方式。给源文件创建一个链接link文件,用户通过链接文件间接使用/修改 源文件。
形式:ln -s (软链接)ln (硬链接)
注意事项:1.ln -s 软链接大小和源文件没有关系,不存数据存的是源文件的路径。如果源文件被删除了,那么软链接也失效了。
2. 在创建软链接的过程中 如果源文件和链接文件存放的位置在不同位置,需要给源文件增加绝对路径
3. ln 硬链接 如果源文件删除了 硬链接则可以继续使用。
4. 在创建硬链接的过程中 如果源文件和链接文件存放的位置在不同位置,可以通过相对路径进行创建
# 软链接创建过程
# lofoer当前用户的主目录 @ubuntu 操作系统 ~/Desktop 当前用户下的桌面文件
lofoer@ubuntu:~/Desktop$ rm infolink.txt lofoer@ubuntu:~/Desktop$ ln -s info.txt infolinksymbol.txt lofoer@ubuntu:~/Desktop$ cat infolinksymbol.txt
# 硬链接创建过程
lofoer@ubuntu:~/Desktop$ ln infolink.txt ./../info.txt
lofoer@ubuntu:~/Desktop$ cd ..
lofoer@ubuntu:~$ ls Desktop Documents Downloads examples.desktop info.txt Music Pictures Public Templates Videos lofoer@ubuntu:~$ cat info.txt # 查看info内容
文本搜索 grep
grep 查找含有指定文本行的意思
作用:一个数据去一个文件中搜索
格式:grep 选项 数据 文件名
常用选项:
忽略大小写 -i
显示匹配行号 -n
条件取反 -v
# 显示cutDemo.txt 所有内容
![](http://upload-images.jianshu.io/upload_images/911921-aea71ee17e2dca7b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
grep用法.png
# 复习管道及grep用法
cat cutDemo.txt 展示所有内容
grep -ivn 'w' 白话翻译: -i 忽略大小写 -n 显示匹配的行号 -v 条件取反
grep -ivn 的意思是 展示没有大写w、小写w的内容项
![](http://upload-images.jianshu.io/upload_images/911921-35f4f079032e0cd9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
grep -inv用法.png
匹配通配符 *、?
* 匹配任意个任意字符
? 匹配一个任意字符
总用量 1459924
drwxr-xr-x 24 root root 4096 8月 15 08:10 ./ drwxr-xr-x 24 root root 4096 8月 15 08:10 ../ drwxr-xr-x 2 root root 4096 8月 16 01:07 bin/ drwxr-xr-x 3 root root 4096 8月 15 08:02 boot/ drwxrwxr-x 2 root root 4096 8月 14 21:22 cdrom/ drwxr-xr-x 20 root root 4260 8月 15 08:02 dev/ drwxr-xr-x 127 root root 12288 8月 16 01:10 etc/ drwxr-xr-x 3 root root 4096 8月 16 00:06 home/ lrwxrwxrwx 1 root root 32 8月 15 08:02 initrd.img -> boot/initrd.img-5.0.0-25-generic lrwxrwxrwx 1 root root 32 8月 14 21:19 initrd.img.old -> boot/initrd.img-5.0.0-23-generic drwxr-xr-x 21 root root 4096 8月 14 21:25 lib/ drwxr-xr-x 2 root root 4096 8月 5 11:58 lib64/ drwx------ 2 root root 16384 8月 15 05:19 lost+found/ drwxr-xr-x 3 root root 4096 8月 5 11:58 media/ drwxr-xr-x 2 root root 4096 8月 5 11:58 mnt/ drwxr-xr-x 2 root root 4096 8月 14 21:27 opt/ dr-xr-xr-x 326 root root 0 8月 14 21:50 proc/ drwx------ 3 root root 4096 8月 5 12:09 root/ drwxr-xr-x 29 root root 980 8月 16 02:00 run/ drwxr-xr-x 2 root root 12288 8月 16 01:07 sbin/ drwxr-xr-x 11 root root 4096 8月 14 21:28 snap/ drwxr-xr-x 2 root root 4096 8月 5 11:58 srv/ -rw------- 1 root root 1494845440 8月 14 21:19 swapfile dr-xr-xr-x 13 root root 0 8月 15 02:18 sys/ drwxrwxrwt 20 root root 4096 8月 16 02:05 tmp/ drwxr-xr-x 11 root root 4096 8月 5 12:03 usr/ drwxr-xr-x 14 root root 4096 8月 5 12:11 var/ lrwxrwxrwx 1 root root 29 8月 15 08:02 vmlinuz -> boot/vmlinuz-5.0.0-25-generic lrwxrwxrwx 1 root root 29 8月 15 08:02 vmlinuz.old -> boot/vmlinuz-5.0.0-23-generic
显示 以/结尾的内容
grep '/$' infolink.txt
显示 以/结尾的内容,并且统计有多少条数据
grep '/$' infolink.txt | wc -l
文件查找 find
作用:find 能够根据文件的名称特征,会在路径及其所有子目录查找文件
形式:find 路径 -name '名字特征'
# 查找当前系统所有的hello.py 文件
find / -name 'hello.py'
# 结合通配符使用 *任意个任意字符 ?一个任意字符
find / -name '*.py'
find / -name '?.py' # 1.搜索系统下所有的py文件 # 2.获取其中含有home/python的数据 # 3.不要其中以/home/python/.开始的数据 sudo find / -name '*.py' | grep '^/home/python/'| grep -v '^/home/python/\.'
选取命令 cut
压缩和解压(gz / bz2 / xz )
tar 命令压缩
格式: tar 选项 压缩文件名 [需要被压缩的文件名]
常用 -z gz 格式解/压缩 -C(大写) 创建归档文件 -v 显示详细过程 -f 指定归档文件名
gz格式
tar 压缩 a.txt b.txt c.txt 文件 压缩文件名 test.tar.gz
# tar zcvf test.tar.gz a.txt b.txt c.txt
tar 解压 解压文件 test.tar.gz -C 解压到指定文件目录
tar zxvf test.tar.gz -C ./
bz2格式
压缩:tar jcvf test.tar.gz a.txt b.txt c.txt
解压:tar jxvf test.tar.gz -C ./
bz2 格式 与 gz格式的区别
# .bz2和.gz的区别在于,前者比后者压缩率更高,后者比前者花费更少的时间
xz 格式
不支持 -C 指定文件夹解压缩,一般与gz格式相结合使用
xz z 要压缩的文件
xz d 要解压的文件
zip / unzip
压缩:zip test3.zip *.sql *.deb 将当前目录所有.sql 、.deb文件压缩到test3.zip文件中 解压:unzip test3.zip -d 解压路径
权限
用户基本操作
用户管理
用户组管理
--远程登录操作--
# 1. 服务器、客户电脑安装有 ssh服务
sudo apt-get install openssh-server
# 2. 获取服务器的IP地址 在服务器里面敲命令
ifconfig 得到一个非127.0.0.1的IP # 3. 远程登录 在客户端命令行敲命令 ssh 用户名@服务器IP地址 ssh lofoer@192.168.162.76
作者:我叫小灿灿