No-8.其他命令
其他命令
目标
- 查找文件
find
- 软链接
ln
- 打包和压缩
tar
- 软件安装
apt-get
01. 查找文件
find
命令功能非常强大,通常用来在 特定的目录下 搜索 符合条件的文件
序号 | 命令 | 作用 |
---|---|---|
01 | find [路径] -name "*.py" | 查找指定路径下扩展名是 .py 的文件,包括子目录 |
- 如果省略路径,表示在当前文件夹下查找
- 之前学习的通配符,在使用
find
命令时同时可用 - 有关
find
的高级使用,在就业班会讲
演练目标
- 1. 搜索桌面目录下,文件名包含
1
的文件
find -name "*1*"
- 2. 搜索桌面目录下,所有以
.txt
为扩展名的文件
find -name "*.txt"
- 3. 搜索桌面目录下,以数字
1
开头的文件
find -name "1*"
02. 软链接
序号 | 命令 | 作用 |
---|---|---|
01 | ln -s 被链接的源文件 链接文件 | 建立文件的软链接,用通俗的方式讲类似于 Windows 下的快捷方式 |
- 注意:
- 1. 没有
-s
选项建立的是一个 硬链接文件- 两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
- 2. 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用
演练目标
- 1. 将桌面目录下的
01.py
移动到demo/b/c
目录下 - 2. 在桌面目录下新建
01.py
的 软链接FirstPython
- 分别使用 相对路径 和 绝对路径 建立
FirstPython
的软链接
- 分别使用 相对路径 和 绝对路径 建立
- 3. 将
FirstPython
移动到demo
目录下,对比使用 相对路径 和 绝对路径 的区别
硬链接简介(知道)
- 在使用
ln
创建链接时,如果没有-s
选项,会创建一个 硬链接,而不是软链接
硬链接演练
- 1. 在
~/Desktop/demo
目录下建立~/Desktop/demo/b/c/01.py
的硬链接01_hard
- 2. 使用
ls -l
查看文件的硬链接数(硬链接——有多少种方式可以访问文件或者目录) - 3. 删除
~/Desktop/demo/b/c/01.py
,并且使用tree
来确认demo
目录下的三个链接文件
文件软硬链接的示意图
在 Linux 中,文件名 和 文件的数据 是分开存储的
- 提示:
- 在 Linux 中,只有文件的
硬链接数 == 0
才会被删除 - 使用
ls -l
可以查看一个文件的硬链接的数量 - 在日常工作中,几乎不会建立文件的硬链接,知道即可
- 在 Linux 中,只有文件的
03. 打包压缩
- 打包压缩 是日常工作中备份文件的一种方式
- 在不同操作系统中,常用的打包压缩方式是不同的
Windows
常用rar
Mac
常用zip
Linux
常用tar.gz
3.1 打包 / 解包
tar
是 Linux 中最常用的 备份工具,此命令可以 把一系列文件 打包到 一个大文件中,也可以把一个 打包的大文件恢复成一系列文件tar
的命令格式如下:
# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...
# 解包文件
tar -xvf 打包文件.tar
tar
选项说明
选项 | 含义 |
---|---|
c | 生成档案文件,创建打包文件 |
x | 解开档案文件 |
v | 列出归档解档的详细过程,显示进度 |
f | 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后 |
注意:
f
选项必须放在最后,其他选项顺序可以随意
打包解包演练
- 删除桌面下的所有内容
- 在桌面下新建三个空白文件
01.py
、02.py
、03.py
- 将这三个文件打一个
py.tar
的包 - 新建
tar
目录,并且将py.tar
移动到tar
目录下 - 解包
py.tar
3.2 压缩/解压缩
1) gzip
tar
与gzip
命令结合可以使用实现文件 打包和压缩tar
只负责打包文件,但不压缩- 用
gzip
压缩tar
打包后的文件,其扩展名一般用xxx.tar.gz
在
Linux
中,最常见的压缩文件格式就是xxx.tar.gz
在
tar
命令中有一个选项 -z 可以调用gzip
,从而可以方便的实现压缩和解压缩的功能命令格式如下:
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径
选项 | 含义 |
---|---|
-C | 解压缩到指定目录,注意:要解压缩的目录必须存在 |
2) bzip2(two)
tar
与bzip2
命令结合可以使用实现文件 打包和压缩(用法和gzip
一样)tar
只负责打包文件,但不压缩,- 用
bzip2
压缩tar
打包后的文件,其扩展名一般用xxx.tar.bz2
在
tar
命令中有一个选项 -j 可以调用bzip2
,从而可以方便的实现压缩和解压缩的功能命令格式如下:
# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...
# 解压缩文件
tar -jxvf 打包文件.tar.bz2
04. 软件安装
4.1 通过 apt 安装/卸载软件
- apt 是
Advanced Packaging Tool
,是 Linux 下的一款安装包管理工具 - 可以在终端中方便的 安装/卸载/更新软件包
# 1. 安装软件
$ sudo apt install 软件包
# 2. 卸载软件
$ sudo apt remove 软件名
# 3. 更新已安装的包
$ sudo apt upgrade
安装演练
# 一个小火车提示
$ sudo apt install sl
# 一个比较漂亮的查看当前进程排名的软件
$ sudo apt install htop
4.2 配置软件源
- 如果希望在
ubuntu
中安装软件,更加快速,可以通过设置镜像源,选择一个访问网速更快的服务器,来提供软件下载/安装服务 - 提示:更换服务器之后,需要一个相对比较长时间的更新过程,需要耐心等待。更新完成后,再安装软件都会从新设置的服务器下载软件了
所谓镜像源,就是所有服务器的内容是相同的(镜像),但是根据所在位置不同,国内服务器通常速度会更快一些!
No-8.其他命令的更多相关文章
- Cmder--Windows下命令行利器
cmder cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 安装包 安装包链接 下载后,直接解压即用. 修改命令提示符λ为 ...
- 【每日一linux命令4】常用参数:
下面所列的是常见的参数(选项)义: --help,-h 显示帮助信息 --version,-V ...
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- MVVM模式解析和在WPF中的实现(三)命令绑定
MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- SQLServer执行命令出现“目录无效的提示”
异常处理汇总-数据库系列 http://www.cnblogs.com/dunitian/p/4522990.html 一般都是清理垃圾清理过头了,把不该删的目录删了 网上说法: 问题描述: 1.s ...
- SQLServer文件收缩-图形化+命令
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 收缩前 图形化演示: 不仅仅可以收缩日记文件,数据库文件也是可以收缩的,只不过日记收缩比 ...
- 让 windows 下的命令行程序 cmd.exe 用起来更顺手
在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...
- [版本控制之道] Git 常用的命令总结(欢迎收藏备用)
坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...
- git 命令
切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm ...
- svn 常用命令总结
svn 命令篇 svn pget svn:ignore // 查看忽略项 svn commit -m "提交说明" // 提交修改 svn up(update) // 获取最新版本 ...
随机推荐
- 从零开始构建一个Reactor模式的网络库(二)线程类Thread
线程类Thread是对POSIX线程的封装类,因为要构建的是一个Linux环境下的多线程网络库,对线程的封装是很必要的. 首先是CurrentThread命名空间,主要是获取以及缓存线程id: #if ...
- In-App Purchase Programming Guide----(四) ----Requesting Payment
Requesting Payment In the second part of the purchase process, after the user has chosen to purchase ...
- Linux多台服务器间SSH免密码登录配置
SSH实现各个服务器间的文件相互备份,如运行scp命令,可以实现免密码登录,从而可以使用SHELL脚本实现一些自动化的处理. 假如A机要免密码登录B机,具体方法如下: 1.在A机运行:"ss ...
- Android中shape的使用 (转载)
转自:http://blog.csdn.net/ekeuy/article/details/12349853 在看很多开源代码中都使用到了shape,我看代码的时候一般都一带而过了,没有仔细去研究,这 ...
- 每天一水poj1502【最短路】
#include<iostream> #include<cstdio> #include<string.h> #include<algorithm> u ...
- bzoj 2331: [SCOI2011]地板【插头dp】
一开始设计了四种状态,多了一种已经拐弯但是长度为0的情况,后来发现不用,设012表示没插头,没拐弯的插头,拐了弯的插头,然后转移的话12,21,22都不合法,剩下的转移脑补一下即可,ans只能在11, ...
- Android中R.java丢失不见的解决方案
最近在做android项目时,遇到报错情况,于是clean了一下,结果java类全都报错了,里面的R下有红线,我一找,发现R.java不见了,真是奇怪,如下图(这是解决以后的): 然后查看了一下Con ...
- Codeforces Round #513解题报告(A~E)By cellur925
我是比赛地址 A:Phone Numbers $Description$:给你一串数字,问你能组成多少开头为8的11位电话号码. $Sol$:统计8的数量,与$n$%11作比较. #include&l ...
- TensorFlow多线程输入数据处理框架(四)——输入数据处理框架
参考书 <TensorFlow:实战Google深度学习框架>(第2版) 输入数据处理的整个流程. #!/usr/bin/env python # -*- coding: UTF-8 -* ...
- Redis生成主键ID
使用Redis來生成主鍵ID策略,這裡主要使用 RedisAtomicLong 類來實現主鍵生成策略.具體代碼如下: /** * @Description: 获取自增长值 * @param key k ...