
文件目录
更新: 2025/2/24 字数: 0 字 时长: 0 分钟
文件属性
文件分类
linux系统不同类型文件会有不同的颜色,如下图:
白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件(执行方式:./文件名称 -参数)
红色:表示压缩文件
浅蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
文件权限
前面讲过,Linux系统是一个稳定、安全的多用户系统。Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
我们可以使用 ll
或者 ls -l
命令来显示一个文件的属性以及文件所属的用户和组,如:
每个文件的属性由左边第一部分的10个字符来确定(如下图):
第一个字符代表目录、文件或链接文件等等:
- [ d ]代表目录;
- [ - ]代表文件;
- [ l ]代表链接文档 ( link file ),同时会显示指向的文件;
- [ b ]代表装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
- [ c ]代表装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 );
后面九个字符中,每三个字符为一组,且固定为『rwx』组合:
- [ r ]代表可读(read);
- [ w ]代表可写(write);
- [ x ]代表可执行(execute);
- [ - ]代表没有该权限;
- 第1、4、7位表示读权限,用"r"字符表示,没有读权限,用"-"字符表示;
- 第2、5、8位表示写权限,用"w"字符表示,没有写权限,用"-"字符表示;
- 第3、6、9位表示执行权限,用"x"字符表示,没有执行权限,用"-"字符表示;
后面九个字符中,每三个字符为一组,代表不同的属主、属组、其他用户:
- 第1-3位确定属主(该文件的所有者)拥有该文件的权限;
- 第4-6位确定属组(所有者的同组用户)拥有该文件的权限;
- 第7-9位确定其他用户拥有该文件的权限;
在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
**每个文件都有一个特定的所有者,也就是对该文件具有所有权的用户,文件所有者以外的用户又可以分为"文件所有者的同组用户"和"其他用户"。**因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
属性更改
更改文件属主 - chown
-R
:递归更改文件属主,更改某个目录文件的属主时,该目录下的所有文件的属主都会更改。
chown [–R] 属主名 文件名
# 只有管理员可以改变文件的所有者,所有者必须是存在的用户
chown root /tmp/a.file:将a文件的所有者改为root(不管是谁创建的)
更改文件属组 - chgrp
-R
:递归更改文件属组,更改某个目录文件的属组时,该目录下的所有文件的属组都会更改。
chgrp [-R] 属组名 文件名
# 只有管理员可以改变文件的所属组,所有者必须是存在的所属组
chgrp brother /tmp/a.file:将a文件的所属组更改为brother(不管是谁创建的)
更改文件权限 - chmod
-R
:递归更改文件权限,更改某个目录文件的权限时,该目录下的所有文件的权限都会更改。
chmod [-R] 数字/字符 文件或目录
目前最常用的就是通过数字更改文件的权限,权限数字对应关系:
单个权限数字:
读 —— r —— 4 写 —— w —— 2 执行 —— x —— 1 无权限 —— - —— 0
权限数字相加:
--- —— 0 --x —— 1 -w- —— 2 -wx —— 3
r-- —— 4 r-x —— 5 rw- —— 6 rwx —— 7
三个权限字符为一组:
--------- —— 000
r-x-wxrwx —— 567
...
rw-rw-rw- —— 666
rwxrwxrwx —— 777
虽然改变了tmp1文件夹权限,但因为没有加上参数R,tmp1文件夹下的文件和文件夹的权限保持不变。
另一种修改文件权限的方式就是通过字符进行修改:
chmod u+x Japan.list:给Japan.list文件的u(所有者)加x(执行权限)
chmod g+w Japan.list:给Japan.list文件的g(所属组)加w(写权限)
chmod o-r Japan.list:给Japan.list文件的o(其他人)减r(读权限)
chomd g=rwx Japan.list:给Japan.list文件的g(所属组)设置rwx(所有权限)
?> umask -S
:显示创建文件夹的默认权限rwxr-xr-x
!> 注意:更改文件的权限只能是文件的所有者(文件创建者)或者是root(超级管理员)。
常规操作
创建|查找
创建文件 - touch
- 命名规则:文件名的最大长度与文件系统类型有关,一般情况下,文件名不应该超过255个字符,虽然绝大多数的字符都可以用于文件名,但是最好使用英文大小写字母、数字、下划线、点这样的符号。文件名中虽然可以使用空格,但应该尽可能避免使用空格,否则在输入文件名时需要用将文件名放在双引号中或者通过
\
对空格进行转义。 - 扩展名:在Linux系统下文件的扩展名是可选的,但是使用扩展名有助于对文件内容的理解。有些应用程序要通过扩展名来识别文件,但是更多的应用程序并不依赖文件的扩展名,就像
file
命令在识别文件时并不是依据扩展名来判定文件的类型。 - 隐藏文件:以点开头的文件在Linux系统中是隐藏文件(不可见文件)。
touch files:在当前路径下创建空白文件files
touch program files:在当前路径下创建空白文件program和文件files
touch "program files":在当前路径下创建文件program files(不建议文件命名包含空格)
创建目录 - mkdir
-p
:当目录不存在时,自动创建目录(递归创建)。
mkdir tmp:创建一个名称为tmp的新文件夹
mkdir tmp/Japan:创建一个名称为Japan的新文件夹(tmp文件夹必须存在)
# 递归创建
mkdir -p tmp1/USA:创建一个名称为USA的新文件夹(tmp1文件夹可以不存在)
# 多目录创建
mkdir tmp/Korea tmp1/China:同时创建名为USA和China的文件夹(tmp文件夹和tmp1文件夹必须存在必须存在)
# 递归多目录创建
mkdir -p tmp2/Union tmp3/Russia:同时创建名为Union和Russia的文件夹(tmp2文件夹和tmp3文件夹可以不存在)
按指定条件查找文件 - find 查找范围 参数
find / -name "*.html" # 查找当前服务器中所有的后缀为html的文件
find / -size +10M # 查找当前服务器中所有大小超过10M的文件
find / -size -10G # 查找当前服务器中所有大小小于10G的文件
- 查找范围:确定查找文件的范围,即在什么路径下查找,通常在
/
根目录下,或者.
当前路径下。 -name 文件名称
:查找符合文件名称的文件。-size [bckw]
:查找符合文件大小的文件,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type [dcbpfls]
:查找符合文件类型的文件,d代表目录,c代表字型装置文件,b代表区块装置文件,p代表具名贮列,f代表一般文件,l代表符号连结,s代表socket。
复制|移动
复制文件或目录 - cp
不加参数复制文件。
-r
:复制目录以及目录里面的文件。
cp 路径1/文件1 路径2/:将文件从路径1拷贝到路径2下,文件名称不变。
cp 路径1/文件1 路径2/文件2:将文件从路径1拷贝到路径2下,名称从文件1变为了文件2。
cp /root/code/* ./:将/root/code/路径下的所有文件拷贝到当前路径下。
cp -r tmp1/China tmp2:将tmp1目录下的China目录复制到root目录下
移动文件或目录 - mv
-b
:当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。-i
:如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。-f
:如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。-n
:不要覆盖任何已存在的文件或目录。-u
:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
mv 路径1/文件1 路径2/:将文件从路径1移动到路径2下,文件名称不变。
mv 路径1/文件1 路径2/文件2:将文件从路径1移动到路径2下,名称从文件1变为了文件2。
mv tmp3/Russia tmp2:将tmp3目录下的Russia目录移动到tmp2目录下
更名|删除
更名可以直接使用 cp
或 mv
命令来完成:
cp -r tmp1/USA tmp3/Japan:将USA目录复制到tmp3目录下并更名为Japan
mv tmp3 tmp:在同一文件夹下将tmp3文件夹更名为tmp
批量修改文件名 - rename 原字符串 目标字符串 文件列表(支持正则表达式)
- 原字符串:将文件名需要替换的字符串;
- 目标字符串:将文件名中含有的原字符替换成目标字符串;
- 文件列表:指定要改变文件名的文件列表。
# 文件夹中有278个文件:foo1, …, foo278
rename foo foo0 foo?
foo foo0即文件名中的foo被替换为foo0,foo?即重命名的文件只是有4个字符长度名称的文件。最终会把foo1到foo9的文件重命名为foo01到foo09
rename foo foo0 foo??
foo foo0即文件名中的foo被替换为foo0,foo??即重命名的文件只是有5个字符长度名称的文件。最终会把foo10到foo99的所有文件都被重命名为foo010到foo099
rename foo foo0 foo*
foo foo0即文件名中的foo被替换为foo0,foo*即重命名的文件以foo开头不限字符长度名称的文件。最终会把foo1到foo278的所有文件都被重命名为foo01到foo0278
删除空目录 - rmdir
-p
:递归删除多个空目录。
rmdir /tmp/Japan:删除Japan目录(只能删除空目录)
如果删除的目录里面还有一层目录,不管里面这层目录是否为空目录都删除不了,并且会提示:当前目录不为空。
rmdir -p tmp/Korea/:删除tmp目录(递归删除多级空目录)
删除文件或目录 - rm
-f
:就是 force 的意思,忽略不存在的文件,不会出现警告信息。-i
:互动模式,在删除前会询问使用者是否动作。-r
:递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
rm -r *.log # 删除当前路径下后缀名为log的文件
rm -rf 文件1 文件2 文件3 # 不询问删除3个文件
rm -rf /*
递归强制删除根目录下的所有文件,跑路命令,切勿使用!虚拟机上可以玩玩。
删除local/logs路径下名称包含 .log
文件或文件夹:
find local/logs/ -name '*.log*' -exec rm -rf {} \;
find 查找文件
local/logs/ 文件所在路径
-name 按文件名称查找
'*.log*' 名称中带有.log
-exec 固定写法
rm -rf 不询问删除
{} \; 固定写法
文件内容
内容新增
内容新增 - echo
-e
:支持反斜线控制的字符转换(具体参见表 1)-n
:取消输出后行末的换行符号(内容输出后不换行)
控制字符 | 作 用 |
---|---|
\ | 输出\本身 |
\a | 输出警告音 |
\b | 退格键,也就是向左删除键 |
\c | 取消输出行末的换行符。和“-n”选项一致 |
\e | Esc键 |
\f | 换页符 |
\n | 换行符 |
\r | 回车键 |
\t | 制表符,也就是Tab键 |
\v | 垂直制表符 |
\Onnn | 按照八进制 ASCII 码表输出字符。其中 0 为数字 0,nnn 是三位八进制数 |
\xhh | 按照十六进制 ASCH 码表输出字符。其中 hh 是两位十六进制数 |
?> 提示:使用命令 echo > /路径/文件
可以清空该文件的内容。
内容查看
Linux中有许多查看文件内容的命令,根据使用场景选择合适的命令。
从第一行开始显示文件内容 - cat
-n
:列出行号,连同空白行也会有行号。
自带行号从第一行开始显示文件内容 - nl
分页显示文件内容 - more
- 空格键或F键,向下翻页;Enter键下翻一行;q键退出
分页显示文件内容 - less
- 上下键上下翻一行;PageUp键向上翻页;PageDown键向下翻页;q键退出
查看文件内容开始几行 - head
-n
:后面接数字,代表显示几行的意思!
查看文件内容结尾几行 - tail
-n
:后面接数字,代表显示几行的意思!
?> 提示:假如一个文件里面的内容正在动态更新,可以使用 tail -f 文件.后缀
命令查看文件的最后部分不断更新的内容。
内容查找
使用在 less
命令里面查找字符串 - /字符串或**?字符串**
- “/字符串”代表查找顺序从上到下;“?字符串”代表查找顺序从下到上
- n键,查找下一个字符串;N键,查找上一个字符串
Vim编辑器
Vi 是Unix及Linux系统下自带的功能齐全的标准编辑器,相当于Windows系统中的记事本一样。
**Vim 是从 Vi 发展出来的一个文本编辑器,可以当作 Vi 的升级版本。**它提供了许多新的特性:
- 代码补完、语法加亮、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,可以说是程序开发者的一项很好用的工具。
- 多级撤销,可以无限制的撤消上一步操作。
- 易用性,Vi只能运行于unix中,而Vim不仅可以运行于unix,windows ,mac等多操作平台。
- 对vi的完全兼容,某些情况下,你可以把vim当成vi来使用。
**Vim 的官方网站 (http://www.vim.org) 表示自己是一个程序开发工具而不是文字处理软件。**所有的 Unix Like 系统都会内建 Vi 编辑器,也就是说 Linux 自带 Vi 编辑器,Vim是增强版的编辑器,需要安装才能使用,但一般都会有安装vim。
yum install vim
vim编辑器有三种使用模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。我们可以将这三个模式想成底下的图标来表示:
命令模式
**在命令模式下,用户可以执行最基本的命令。**用户启动 vim,便进入了命令模式,例如:vim init.txt:打开init.txt,就进入命令模式。**此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。**以下是常用的几个命令:
- h 或 向左箭头键(←) 光标向左移动一个字符
- j 或 向下箭头键(↓) 光标向下移动一个字符
- k 或 向上箭头键(↑) 光标向上移动一个字符
- l 或 向右箭头键(→) 光标向右移动一个字符
- i 在光标所在处切换到输入模式。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
- gg 快速切换到第一行的行首。
- ngg 快速切换到指定行的行首。
- G 快速切换到最后一行的行首。
- 500G 快速切换到第500行的行首。
- ^ 快速切换到该行行首。
- $ 快速切换到该行行尾。
- dd 删除光标所在行。
- ndd 删除光标下n行,包含光标所在行。
- yy 复制光标所在行。
- nyy 复制光标下n行,包含光标所在行。
- p 粘贴复制的内容。
- np 复制几次。
- n 光标向下移动 n 行(常用)。
- u 撤销操作。
- ctrl + r 恢复操作。
- ctrl + f 下一页 forward(pagedown键)。
- ctrl + b 上一页 backward(pageup键)。
?> 提示:启动 vim 可以指定文件名来打开一个文件,如果没有指定文件名,也可以在保存的时候指定文件名。
输入模式
**在命令模式下按下 i 就进入了输入模式,输入模式下可以对文件内容进行编辑。**在输入模式中,可以使用以下按键:
- 字符按键以及Shift组合,输入字符。
- ENTER,回车键,换行。
- BACK SPACE,退格键,删除光标前一个字符。
- DEL,删除键,删除光标后一个字符。
- 方向键,在文本中移动光标。
- HOME/END,移动光标到行首/行尾。
- Page Up/Page Down,上/下翻页。
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线。
- ESC,退出输入模式,切换到命令模式。
底线命令模式
在命令模式下按 :
就进入了底线命令模式,基本的命令带有英文冒号:
- :q 退出Vim
- :w 保存文件
- :wq 保存文件并退出Vim
- :q! 不保存文件并退出Vim
- :set nu 就会显示行号
- :set nonu 取消显示行号
- :set ruler 显示光标所在位置
- :set noruler 取消光标所在位置
- :syntax on 显示高亮语法
- :syntax off 关闭高亮语法
- :set ts=4 制表键长度等于4个空格
- :set expandtab 制表键自动转换为4个空格
- :n 快速跳到n行
- :/字符串 查找含有该字符串的内容(按n/N查找下/上一个)
- :%s/ftp/ym/g 将全文的ftp替换为ym
- **:1,全文,s替换,/0/1将0替换为1,c每次确认,i忽略大小写,g全局模式(一行中有多个匹配内容)
- :1000,1002d 删除1000行到1002行
- :r /etc/issue 将issue文件的内容,导入当前文件中
- :r !date 将当前时间导入当前文件中
- 按ESC键可随时退出底线命令模式
文件恢复
当我们在使用Vim编辑文件的时候,可能由于网络的中断了或强退了等异常原因,导致我们的文件修改没有保存,当我们再次使用Vim编辑该文件的时候,就会出现如下该提示:当我们按 R
恢复文件回车后,进入文件,就能看到刚才文件中没有保存的修改内容。
O只读 E编辑 R恢复 D删除 Q退出 A终止
出现上面提示的原因就是,异常退出时Vim会产生一个后缀名 .swp
的交换文件,只要有这个文件存在,那么下次再打开这个文件的时候还会有提示,现在我们已经恢复了文件了,不需要这个提示了,因此可以删除掉该文件:
配置文件
上面的底线命令模式有很多是我们需要常用的功能,我们就可以写一个配置文件让vim启动时,自动加载这些功能。首先我们在 /root
目录下新建一个名称为 .vimrc
的文件,注意文件名称不可改变,在里面写入如下内容:
set nu
syntax on
set ts=4
set expandtab
set autoindent
set ruler
set nohls
文件比较
vim加上 -d
参数还可以比较多个文件的内容,终端屏幕也会被分为两部分,左边第一个文件,右边第二个文件:
[root ~]# vim -d 文件1 文件2
多窗口切换
按下CTRL+w键再按h键,跳到左边的窗口
按下CTRL+w键再按l键,跳到右边的窗口
按下CTRL+w键再按j键,跳到下边的窗口
按下CTRL+w键再按k键,跳到上边的窗口
按下两次CTRL+w键,就可以实现编辑窗口的切换:
?> 提示:在一个窗口中执行退出操作只会关闭对应的窗口,其他的窗口继续保留。
打开多个文件
[root ~]# vim 1.txt init.txt
启动vim后只有一个窗口显示的是1.txt,可以在底线命令模式中输入 :ls
查看到打开的两个文件:
在底线命令模式中输入 :b <num>
来显示另一个文件,例如可以用 :b 2
将init.txt显示出来:
窗口拆分
继续上面的操作,在末行模式中输入 :sp
或 :vs
可以实现对窗口的水平或垂直拆分,这样我们就可以同时打开多个编辑窗口:
按下两次CTRL+w键,切换到下面的窗口:
在底线命令模式中输入 :b <num>
来显示另一个文件,例如可以用 :b 1
将1.txt显示出来:
窗口退出
:wqa
或 :wqall
:保存所有修改过的缓冲区并退出Vim。
:qa!
或 :qall!
:强制退出所有打开的Vim窗口,不保存任何修改的内容。
文件锁定
有些时候,即使我们以root用户的身份用vim修改该文件,会报一个 W10: Warning: Changing a readonly file
错误提示文件只能读取,其原因就在于文件被锁定了。
# 输入下面命令,如出现a或者i,则是文件被锁定。
lsattr /路径/文件
# 解锁方法输入下面命令,只出现i,则-i,只出现a,则用命令-a
chattr -ai /路径/文件
这里讲解一下 chattr
命令机制:chattr
命令可用于加锁文件,这个操作针对任何用户(包括root),被加锁的文件,不能自由编辑。
chattr 参数 /路径/文件
常用参数:
+a:加锁文件(可给文件追加内容,但无法删除文件内容);
-a:解锁文件(与+a相反);
+i:加锁文件(文件不能被删除、改名、设定链接关系,同时不能写入或追加内容);
-i:解锁文件(与+i相反)
链接文件
Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。
为了更好的解释两种链接的区别,我们新建一个源文件f1:
硬链接
**硬链接指通过文件索引节点来引用文件。**在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。多个文件名是可以同时指向同一个索引节点的,比如:A文件是B文件的硬链接,则A文件的节点号与B文件的节点号相同,即一个节点对应两个不同的文件名,且A文件和B文件对系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
**硬链接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。**其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
新建硬链接 - ln 绝对路径/源文件 绝对路径/新建硬链接文件
这里我们新建一个硬链接文件f2指向源文件f1:
软链接
软链接文件类似于 Windows 的快捷方式,它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A是B的软链接(A和B都是文件名),在A的数据块中存放的只是B的路径名(可以根据这个找到 B 的目录项),如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。
新建软链接 - ln -s 绝对路径/源文件 /usr/bin/新建软链接文件
覆盖旧链接 - ln -sf 绝对路径/源文件 /usr/bin/存在软链接文件
这里我们新建一个软链接文件f3指向源文件f1:
!> 注意:无论是新建软链接,还是覆盖旧链接,都建议使用绝对路径,因为使用相对路径容易出错,会导致软链接文件已存在,就是找不到源文件。
**一旦软链接文件成功建立后,在任何位置都可以快捷调用该文件命令。**如果提示未找到命令,可以使用下面的命令检查软链接指向的源文件:
ls -al /usr/bin | grep 软件链接文件
两者区别
硬链接和软链接区别在于:硬链接能独立于源文件显示内容,软链接必须依附源文件显示内容。
现在我们删除源文件f1,再去查看硬链接f2和软链接f3:
最后要注意一点,无论新建硬链接还是软链接最好都使用绝对路径,否则建立的链接文件可能为红色无法使用。
压缩传输
**记住,一个文件可以直接传输,多个文件需要先打包为一个文件再传输,这样能保证文件传输的成功率。**这就像Windows中的软件,只需要下载一个exe文件或者一个rar文件,运行后里面会有多个文件。
压缩解压
在Linux当中常见的压缩格式:.zip
、.gzip
、.tbz
zip格式
将文件或目录压缩为zip格式 - zip 压缩后文件名称.zip 被压缩的文件或目录名称
将zip格式的文件解压 - unzip 压缩文件.zip
gzip格式
将文件压缩为gzip格式 - gzip 文件名称
将gzip格式的文件解压 - gunzip 文件名称.gz
!> 注意:gzip格式不能压缩文件夹,且在压缩或解压后均不会保留源文件。
bzip2格式
bzip2格式文件的压缩和解压方式和gzip格式完全一样。
!> 注意:bzip2格式不能压缩文件夹,且在压缩或解压后均不会保留源文件。
xz格式
将文件压缩为xz格式 - xz -z 文件名称
将xz格式的文件解压 - xz -d 文件名称.xz
?> 提示:文件压缩会产生大量计算并耗费一定的时间。
归档与解归档
前面提到,gzip格式、bzip2格式不能对文件夹进行压缩,如果我们使用tar命令将文件夹归档为一个文件。
?> 提示:tar归档命令不会对内容进行压缩,反而还会变大。
打包命令 - tar 参数 归档后的文件名称 被归档文件名称
-c
:归档-x
:解归档-t
:不解归档,查看内容-f
:指定文件-v
:查看过程-z
:使用gzip压缩解压-j
:使用bzip2压缩解压
常规打包解包:
tar -cvf test.tar test 将test文件夹归档为test.tar文件
tar -tf test.tar 不解归档查看test.tar文件里面的文件
tar -xvf test.tar 将test.tar文件解归档
使用gzip压缩解压:
tar -zcvf test.tgz test 使用gzip方式将test文件夹归档并压缩为test.tgz文件
tar -zxvf test.tgz 使用gzip方式将test.tgz文件解压缩解归档
使用bzip2压缩解压:
tar -jcvf test.tbz test 使用bzip2方式将test文件夹归档并压缩为test.tbz文件
tar -jxvf test.tbz 使用bzip2方式将test.tbz文件解压缩解归档
安全文件拷贝
安全文件拷贝是基于ssh协议拷贝文件的命令,前提是需要知道目标主机的IP地址和用户名及其对应的用户密码。
安全文件拷贝 - scp 参数
- -r - 拷贝文件夹
格式:scp /路径/文件名称 用户@IP地址:/路径/文件名称
例子:将本机/usr下的file1.txt文件拷贝至目标主机tmp下并重命名为file2.txt,执行命令后需要输入root登录172.19.216.195主机的密码
scp /usr/file1.txt [email protected]:/tmp/file2.txt
执行命令 scp /传输文件路径/文件名称 用户@目标机ip:/路径/传输后的文件名称
传输打包文件:
进入目标机的路径下,就可以看到成功传输的文件了:
scp同时也可以在windows中cmd上执行,下图是已经在服务器上配置了window的密钥,不用输入密码可以直接传输文件(若传输的文件存在,则直接覆盖):
安全文件传输
安全文件传输 - sftp
使用sftp首先需要登录,输入下面命令会提示用户输入密码:
sftp root@ip
密码通过验证出现下面的命令行就说明成功建立了sftp连接:
sftp>
sftp命令行中常用的命令:
help
:显示帮助信息。ls
/lls
:显示远端/本地目录列表。cd
/lcd
:切换远端/本地路径。mkdir
/lmkdir
:创建远端/本地目录。pwd
/lpwd
:显示远端/本地当前工作目录。get
:下载文件。put
:上传文件。rm
:删除远端文件。bye
/exit
/quit
:退出sftp。
文件同步
文件同步 - rsync
使用rsync
可以实现文件的自动同步,这个对于文件服务器来说相当重要。