压缩
tar
- c(create) 和 x(extract) : 压缩和解压缩
- z(gzip): 使用 gzip 进行压缩
- 用这个参数生成的文件夹是有 .gz 的后缀的,没有这个参数不带
- v(verbose): 处理文件时显示详细信息
- f(filename): 指定归档文件的名称
bash
常用参数:描述
-c :建立一个压缩文件
-x :解开一个压缩文件
-t :查看tarfile 里面的文件!特别注意,c/x/t 仅能存在一个,不可同时存在
-z :用 gzip 解压缩
-j :用 bzip2 解压缩
-v :压缩的过程中显示文件,这个常用,但不建议用
-f :使用档名,在 f 之后要立即接档名!例如使用『 tar -zcfv tfile sfile』就是错误的写法,要写成 『tar -zcvf tfile sfile』才对喔
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :(大写P)使用绝对路径来压缩
-r : 新增文件到已存在的备份文件的结尾部分
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中
--exclude file :在压缩的过程中,不要将 FILE 打包查找
Find
find path -option [-print] [-exec/-ok command{} \]:查找文件- 直接搜索磁盘,比较慢
whereis [filename]:查找二进制文件、源码等which [filename]:只能查可执行文件locate [filename]
编辑
touch
touch:创建一个空文件,如果文件存在,则会更改文件的访问时间和修改时间alias newname='old_name':给命令取别名
vim
- vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)
点击查看完整代码实现
点击查看完整代码实现
bash
1 命令模式:用户 vim fileName,便进入了命令模式
i 切换到输入模式,以输入字符
: 冒号切换到底线命令模式
/word 向光标之下寻找一个名称为 word 的字符串
?word 向光标之上寻找一个字符串名称为 word 的字符串
n 重复前一个搜索(与 / 或 ? 有关)
N 反向重复前一个搜索(与 / 或 ? 有关)
PageUp 上翻页
PageDown 下翻页
G 移动到这个档案的最后一行(常用)
nG n 为数字。移动到这个档案的第 n 行
2 输入模式: 在命令模式下按下i就进入了输入模式; ESC 退出输入模式,切换到命令模式
字符按键、shift组合 输入字符
ENTER 回车键,换行
BACK SPACE 退格键,删除光标前一个字符
DEL 删除键,删除光标后一个字符
方向键 在文本中移动光标
HOME/END 移动光标到行首/行尾
Page Up/Page Down 上/下翻页
Insert 切换光标为输入/替换模式,光标将变成竖线/下划线
3 底线命令模式: 在命令模式下按下 ":" 就进入了底线命令模式; ESC退出模式,切换到命令模式
:q 退出 vim 程序
:w 保存文件
:wq 保存后离开
:!q 不保存退出
:w [filename] 将编辑的数据储存成另一个档案
:r [filename] 在编辑的数据中,读入另一个档案的数据。追加到游标所在行后面
:!ShellCommand 暂时离开 vi 到指令行模式下执行 shellCommand 的显示结果
:%s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2
:%s/word1/word2/gc 和 %s/word1/word2/g 功能一致,不过每次替换都需用户确认:::
vi
查看
less [filename]:more [filename]:cat [filename]:会一次性显示整个文件内容,不分页,容易出问题head -n number [filename]:只显示文件的前多少行tail -n number [filename]:只显示文件的后多少行wc 命令 - c 统计字节数 - l 统计行数 - w 统计字数:统计文件的行号、单词数、字节数
下载
wget
- wget支持HTTP,HTTPS和FTP协议
- 命令格式:
wget [-options] [url]
bash
-O <fileName> 把文档写到FILE文件中
-c (断点续传)接着下载没下载完的文件
-P filePath 将文件保存到 filePath 目录
-b 后台下载
TP 选项: 下面是通过FTP协议下载时需要进行指定的
--ftp-user=USER 设置 ftp 用户名为 USER
--ftp-password=PASS 设置 ftp 密码为 PASScurl
- curl 是一款很强大的 http 命令行工具。它支持文件的上传和下载。命令格式:
curl [option] [url]
点击查看完整代码实现
点击查看完整代码实现
bash
-A/--user-agent <string> 设置用户代理发送给服务器
-b <name=string/file> cookie字符串或文件读取位置
-c <file> 操作结束后把cookie写入到这个文件中
-C <offset> 断点续转
-D <file> 把header信息写入到该文件中
-e 来源网址(伪造referer)
-o 把输出写到该文件中
-O 把输出写到该文件中,保留远程文件的文件名
-r <range> 分块下载来自HTTP/1.1或FTP服务器 range字节
-T <file> 上传文件
-u <user[:password]> 设置服务器的用户和密码
-L 参数会让 HTTP 请求跟随服务器的重定向。curl 默认不重定向
-x <host:port> 在给定的端口上使用HTTP代理
-# 进度条显示当前的传送状态
-X 指定 HTTP 请求的方法
-d POST方式传送数据(默认是application/x-www-form-urlencoded)
-H/--header <line> 自定义头信息传递给服务器:::
增删改
cp
- cp [选项参数] fileSource... fileTarget :文件目录复制
bash
cp 选项参数 | 描述
-a | 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容
-r | 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
-f | 覆盖已经存在的目标文件而不给出提示。
-i | 与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖
-l | 不复制文件,只是生成链接文件mv
- mv [选项参数] fileSource... fileTarget:用来移动文件夹、文件 或者 修改文件名、目录名
bash
option 参数 | 描述
-b | 当目标文件存在时,先进行备份再覆盖
-f | 当目标文件存在时,强制覆盖
-i | 默认选项,当目标文件存在时,提示是否覆盖
-t | 先指定目标,再指定源目标。即目标 和 源目标 参数位置互换
::: details 点击查看完整代码实现
::: details 点击查看完整代码实现rm
rm 命令用于删除一个文件或者目录;命令格式
rm [options] fileName/filePathbashoption参数 | 描述 -i | 删除前逐一询问确认 -f | 即使原档案属性设置为只读,也可强制删除,无需确认 -r | 将目录及以下之档案亦逐一删除
mkdir
- mdkir命令用于创建目录,
mkdir [-p] dirName;- -p 确保目录名称存在,不存在的就建一个
权限
chmod
- chmod [-cfvR] mode file
- 多个拥有者权限 chmod ug+w,o-w csc.txt lwl.txt
:::
:::bash
## -cfvR 参数解析
-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
## mode [ugoa][+-=][rwxX-] 参数解析
u 表示该文件的拥有者
g 表示与该文件的拥有者属于同一个群体(group)者
o 表示其他以外的人
a 包括 u g o
## [+-=]
+ 表示增加权限
- 表示取消权限
= 表示唯一设定权限
## [rwxX-]
r 表示可读取
w 表示可写入
x 表示可执行
X 只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行
- 不具任何权限链接
ln
ln [options] [源文件或目录] [目标文件或目录]
bash
options 参数 | 描述
-b | 删除,覆盖以前建立的链接
-d | 允许超级用户制作目录的硬链接
-f | 强制执行
-i | 交互模式,文件存在则提示用户是否覆盖
-n | 把符号链接视为一般目录
-s | 软链接(符号链接)
::: details 点击查看完整代码实现
::: details 点击查看完整代码实现过滤
grep
- grep 一般用于在文件中查和匹配模式匹配的每一行数据。
- 命令格式 grep [options] 'pattern' [files];
- grep 支持处理管道的输出数据;
- pattern 支持正则表达式;
- files 可以是多个文件,用空格分开
:::
:::bash
options选项 | 功能描述
-i | 忽略大小写
-v | 不匹配匹配的
-l | 输出匹配的文件名
-L | 输出不匹配的文件名
-c | 输出匹配的数目(行数)
-C num | 输出匹配的前后 num 条行数
-n | 输出匹配行的同时在前面加上文件名及在文件名中的行数zgrep
- grep 无法在压缩文件匹配查找数,此时可以用 zgrep,zgrep 适用处理压缩后的gz等格式文件
