Linux常用20个命令

 先来看看我在百人计划学习期间常用到的20个命令

常用命令.png

可能刚接触的时候看到命令并不理解它的含义,但当我知道英文全称时就明白了。

一、cd:切换目录(Change directory)

(1)cd ~cd:返回用户目录

[root@izwz94jtz9hbdq165vpxpxz app1]# cd ~
[root@izwz94jtz9hbdq165vpxpxz ~]# 

[root@izwz94jtz9hbdq165vpxpxz app1]# cd
[root@izwz94jtz9hbdq165vpxpxz ~]# 

(2)cd .:停留在当前目录

[root@izwz94jtz9hbdq165vpxpxz app1]# cd .
[root@izwz94jtz9hbdq165vpxpxz app1]# 

(3)cd ..:返回上一级目录

 [root@izwz94jtz9hbdq165vpxpxz app1]# cd a
 [root@izwz94jtz9hbdq165vpxpxz a]# cd ..
 [root@izwz94jtz9hbdq165vpxpxz app1]#

(4)cd ../..:返回上两级目录

  [root@izwz94jtz9hbdq165vpxpxz app1]# cd www
  [root@izwz94jtz9hbdq165vpxpxz www]# cd carina
  [root@izwz94jtz9hbdq165vpxpxz carina]# cd ../..
  [root@izwz94jtz9hbdq165vpxpxz app1]#

(5)cd ../目录A:先返回进入此目录之前所在的目录,然后再进入指定的目录A

 [root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/www
 [root@izwz94jtz9hbdq165vpxpxz www]# ls
 123.jgp  123.txt  a2  carina  requests-2.18.1.tar.gz  root
 [root@izwz94jtz9hbdq165vpxpxz www]# cd carina
 [root@izwz94jtz9hbdq165vpxpxz carina]#cd ../a2
 [root@izwz94jtz9hbdq165vpxpxz a2]#

(6)cd -:返回进入此目录之前所在的目录

 [root@izwz94jtz9hbdq165vpxpxz app1]# cd www
 [root@izwz94jtz9hbdq165vpxpxz www]# cd -
 /app1

(7)cd 路径:进入指定目录

 [root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/www
 [root@izwz94jtz9hbdq165vpxpxz www]#

(8)cd /:返回到根目录

 [root@izwz94jtz9hbdq165vpxpxz ~]# cd /
 [root@izwz94jtz9hbdq165vpxpxz /]#

 [root@izwz94jtz9hbdq165vpxpxz carina]# cd /
 [root@izwz94jtz9hbdq165vpxpxz /]

 

二、ls:列出目录下的文件(List files)

ls:列出指定路径下的所有文件名、时间及读写权限(文件详细信息)

(1)ls -a:显示所有文件列表(含隐藏文件“.”和“..”)

 [root@izwz94jtz9hbdq165vpxpxz www]# ls -a
 .  ..  carina  carina.tar.gz  redis-3.0.7.tar.gz  root  text1.txt  text.tx

(2)ls -A:显示除隐藏文件“.”和“..”以外的所有文件列表

 [root@izwz94jtz9hbdq165vpxpxz www]# ls -A
 carina  carina.tar.gz  redis-3.0.7.tar.gz  root  text1.txt  text.txt

(3)ls -l:以列表形式显示文件及文件夹的详细信息
(从左至右:文件类型、权限、数量、属主、属组、大小、修改/访问时间、文件名)

 [root@izwz94jtz9hbdq165vpxpxz www]# ls -l
 total 1368
 drwxr-xr-x 5 root root    4096 Jun 22 13:23 carina
 -rw-r--r-- 1 root root     256 Jun 19 00:27 carina.tar.gz
 -rw-r--r-- 1 root root 1375200 Jul 10 09:35 redis-3.0.7.tar.gz
 drwxr-xr-x 3 root root    4096 Jun 19 00:40 root
 -rw-r--r-- 1 root root       6 Jul  6 18:14 text1.txt
 -rw-r--r-- 1 root root       6 Jul  6 18:13 text.txt

ll:ls -l的简写

 [root@izwz94jtz9hbdq165vpxpxz app1]# ll
 total 36
 drwxr-xr-x 2 root root 4096 Jul 14 16:55 a
 drwxr-xr-x 2 root root 4096 Jul 16 13:43 aa
 drwxr-xr-x 2 root root 4096 Jul 16 13:47 b
 drwxrwxrwx 4 root root 4096 Jul 10 13:29 bak
 drwxr-xr-x 2 root root 4096 Jul 16 13:47 c
 drwxr-xr-x 2 root root 4096 Jul 16 13:47 d
 drwxr-xr-x 4 root root 4096 Jul  4 22:56 test
 drwxr-xr-x 4 root root 4096 Jul 10 09:35 www
 drwxr-xr-x 2 root root 4096 Jul 10 13:02 zyp

 

三、mv:移动/重命名 文件或目录 (Move file)

(语法:mv 源文件 目标文件)

(1)目标文件不是目录,即重命名 ,如下是将app1文件夹内的a文件夹重命名为a1
mv 原文件名 新文件名

[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1
[root@izwz94jtz9hbdq165vpxpxz app1]# ls
a  aa  b  bak  c  d  test  www  zyp
[root@izwz94jtz9hbdq165vpxpxz app1]# mv a a1
[root@izwz94jtz9hbdq165vpxpxz app1]# ls
a1  aa  b  bak  c  d  test  www  zyp

(2)目标文件是目录

  • 单文件移动(mv 移动前文件 移动后文件路径
[root@izwz94jtz9hbdq165vpxpxz ~]# mv /app1/www/text1.txt /app2/app21
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app2/app21
[root@izwz94jtz9hbdq165vpxpxz app21]# ls
text1.txt
  • 多文件移动,使用 -t(含文件及文件夹)
[root@izwz94jtz9hbdq165vpxpxz www]# mv carina/ carina.tar.gz text1.txt  text.txt -t /app2/app21
[root@izwz94jtz9hbdq165vpxpxz www]# cd /app2/app21
[root@izwz94jtz9hbdq165vpxpxz app21]# ls
carina  carina.tar.gz  text1.txt  text.txt

**将文件text.tx、text1.txt、redis-3.0.7.tar.gz、a3文件夹移动到app2文件夹下的app21文件夹**
(文件夹后的/省去效果一样)
[root@izwz94jtz9hbdq165vpxpxz www]# mv -t /app2/app21 text.txt text1.txt redis-3.0.7.tar.gz a3/

(3)将上级目录的文件 拷贝到当前目录 (mv ../文件名 ./)

提示:./ 和../ 都是相对地址,./ 是当前目录,../是上一级目录

 [root@izwz94jtz9hbdq165vpxpxz app1]# ls
 file2.txt  file3.txt  file4.txt  file.txt
 [root@izwz94jtz9hbdq165vpxpxz app1]# cd www
 [root@izwz94jtz9hbdq165vpxpxz www]# ls
 test  text1.txt  text3.txt  text.txt
 [root@izwz94jtz9hbdq165vpxpxz www]# mv ../file.txt ./
 [root@izwz94jtz9hbdq165vpxpxz www]# ls
 file.txt  test  text1.txt  text3.txt  text.txt
 [root@izwz94jtz9hbdq165vpxpxz www]# cd ..
 [root@izwz94jtz9hbdq165vpxpxz app1]# ls
 file2.txt  file3.txt  file4.txt

 

四、mkdir:创建目录(Make directory )

(需注意相对路径和绝对路径)

(1)在目录名前没有加任何路径名,则在当前目录下创建

[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir a

(2)在目录名前有一个已经存在的路径,将会在该目录下创建

[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1
[root@izwz94jtz9hbdq165vpxpxz app1]# mkdir aa

(3)创建多级目录及多文件夹,使用 -p(文件夹之间用空格隔开)
(若上层目录没找到,则会一并创建)

绝对路径:
[root@izwz94jtz9hbdq165vpxpxz app2]# mkdir -p /app2/a1 b1 c1 d1
[root@izwz94jtz9hbdq165vpxpxz app2]# ls
a1  b1  c1  d1

相对路径:
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/www
[root@izwz94jtz9hbdq165vpxpxz www]# mkdir -p carina/a1 carina/a2 carina/a3
[root@izwz94jtz9hbdq165vpxpxz www]# cd carina
[root@izwz94jtz9hbdq165vpxpxz carina]# ls
a1 a2 a3

若不使用 -p,文件夹创建会失败

[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir test/test1 test2 test3
mkdir: cannot create directory ‘test/test1’: No such file or directory

(4)创建多目录下的单个文件,也可以使用 --parents

[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir --parents /a2/a
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /a2
[root@izwz94jtz9hbdq165vpxpxz a2]# ls
a

(5)创建带权限的文件夹,使用 -m

  • 目录已存在,创建成功
[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir -m 700 /a2/a/aa
(文件属主拥有读、写和执行权限,其他人无权访问)
  • 目录不存在,创建失败
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /a2
[root@izwz94jtz9hbdq165vpxpxz a2]#  mkdir -m 700 /a3/a/aa
mkdir: cannot create directory ‘/a3/a/aa’: No such file or directory

此时需要使用 -p-m

[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir -p -m 700 /a3/a/aa

注意事项:
在创建目录时,应保证新建的目录与它所在目录下的文件没有重名

[root@izwz94jtz9hbdq165vpxpxz app1]# mkdir a
mkdir: cannot create directory ‘a’: File exists    (已有文件夹存在)

 

五、cat:显示文件的内容 (Concatenate)

(1)输出多个文件内容

[root@izwz94jtz9hbdq165vpxpxz www]# cat text1.txt text.txt
hello world        /*text1.txt内容*/
dgdfgfhfdgh      /*text.txt内容*/

(2)将2个文件合并新文件

 [root@izwz94jtz9hbdq165vpxpxz www]# cat text1.txt text.txt > text2.txt
 [root@izwz94jtz9hbdq165vpxpxz www]# ls
 text1.txt  text2.txt  text.txt
 [root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txt
 hello world
 dgdfgfhfdgh

注:若新文件有内容,则原数据会被清空,因此需要小心操作

 [root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txt
 testtesttedgdkljsdhfkld
 [root@izwz94jtz9hbdq165vpxpxz www]# cat text1.txt text3.txt > text2.txt
 [root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txt
 hello world
 hihihihihihi

(3)将file1.txt追加到file2.txt的末尾(>> 表示将文本流追加到另一个文件的末位)
cat file1.txt >> file2.txt

 [root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txt
 gdgdg
 [root@izwz94jtz9hbdq165vpxpxz www]# cat text1.txt >> text2.txt
 [root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txt
 gdgdg
 hello world

(4)文件夹不能合并

[root@izwz94jtz9hbdq165vpxpxz app1]# ls
a1  a2
[root@izwz94jtz9hbdq165vpxpxz app1]# cat a1 a2 a3
cat: a1: Is a directory
cat: a2: Is a directory
cat: a3: No such file or directory

 

六、find:在指定目录下查找文件

find 目录 参数
(1)单文件匹配

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -name "*.txt"
/app1/www/root/carina/a/test.txt
/app1/www/text3.txt
/app1/www/text1.txt
/app1/www/text.txt

(2)多文件匹配(目录下以.txt结尾的文件、含字母a的文件) : 使用 -o

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -name "*.txt" -o -name "*a*" 
/app1/www/a2
/app1/www/root/carina
/app1/www/root/carina/a
/app1/www/root/carina/a/test.txt
/app1/www/text3.txt
/app1/www/text1.txt
/app1/www/text.txt
/app1/www/carina
/app1/www/carina/aa
/app1/www/carina/carina
/app1/www/carina/carina/a2
/app1/www/carina/carina/a1
/app1/www/carina/carina/a3

(3)查找除XX外的: **使用 "!" or "-not" **

如查找app1文件夹下www文件夹,文件名不含a

find /app1/www ! -name "*a*"

查找当前目录下 文件不含a的信息

[root@izwz94jtz9hbdq165vpxpxz ~]#find /app1/www -maxdepth 1 -not -name "*a*"

(4)查找文件,忽略大小写 :使用 -i

 [root@izwz94jtz9hbdq165vpxpxz ~]# find /app1 -iname "*test*"
 /app1/www/a2/test
 /app1/www/test
 /app1/TEST       /*大写文件夹*/

(5)只查找某层目录下含XX的文件(夹):使用 mindepth 和 maxdepth

“-maxdepth 1” :限制只查找1层目录深度,当前目录即为1层

查找当前目录下,含test的文件及文件夹

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1 -maxdepth 1 -name "*test*"
/app1/test1.txt
/app1/zyptest
/app1/test

如下 “ /app1/www/ ” 即为1层目录深度

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -maxdepth 1 -name "*test*"
/app1/www/test

查找当前目录 及其 1层深的子目录中,含test的文件及文件夹,即 maxdepth 2

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1 -maxdepth 2 -name "*test*"
/app1/www/test    
/app1/test1.txt
/app1/zyptest
/app1/test

在第1层子目录和第2层子目录之间查找文件(第一层子目录就是2层目录

 [root@izwz94jtz9hbdq165vpxpxz ~]# find /app1 -mindepth 2 -maxdepth 3 -name "*test*"
 /app1/www/a2/test
 /app1/www/test  

(6)查找空文件(-empty

只列出当前目录下的非隐藏空文件

[root@izwz94jtz9hbdq165vpxpxz ~]#find . -maxdepth 1 -empty -not -name ".*"

(7)查找指定文件类型的文件 (-type

查找指定目录下的所有目录 -type d

 [root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -type d
 /app1/www
 /app1/www/a2
 /app1/www/a2/test
 /app1/www/root
 /app1/www/root/carina
 /app1/www/root/carina/b
 /app1/www/root/carina/a
 /app1/www/carina
 /app1/www/carina/aa

查找指定目录下的所有文件 -type f

 [root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -type f
 /app1/www/root/carina/config.xml
 /app1/www/requests-2.18.1.tar.gz
 /app1/www/text.txt
 /app1/www/123.jgp

 

七、pwd:以绝对路径的方式显示用户当前工作目录

Print working directory

[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/www
[root@izwz94jtz9hbdq165vpxpxz www]# pwd
/app1/www

 

八、rm -参数:删除N个文件或整个目录

使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复。
建议用-i选项,删除时会有提示

相对路径:
[root@izwz94jtz9hbdq165vpxpxz www]# rm -i text2.txt
rm: remove regular file ‘text2.txt’?      /*回车键不删除,效果同输入n*/
[root@izwz94jtz9hbdq165vpxpxz www]# ls
text2.txt  text3.txt  text.txt
[root@izwz94jtz9hbdq165vpxpxz www]# rm -i text2.txt
rm: remove regular file ‘text2.txt’? y      /*文件删除成功*/
[root@izwz94jtz9hbdq165vpxpxz www]# ls
text3.txt  text.txt

绝对路径:
[root@izwz94jtz9hbdq165vpxpxz www]# rm /app1/c/text1.txt
rm: remove regular file ‘/app1/c/text1.txt’? y
[root@izwz94jtz9hbdq165vpxpxz www]#

注:rm不能删除文件夹

 [root@izwz94jtz9hbdq165vpxpxz /]# rm app3
 rm: cannot remove ‘app3’: Is a directory

rm -r(或rm -R):删除当前目录下除隐含文件外的所有文件和子目录

应注意,这样做是非常危险的!
[root@izwz94jtz9hbdq165vpxpxz app21]# ls -a
.  ..  a3  redis-3.0.7.tar.gz  text1.txt
[root@izwz94jtz9hbdq165vpxpxz app21]# cd ..
[root@izwz94jtz9hbdq165vpxpxz app2]# rm -r app21
rm: descend into directory ‘app21’? y                    /*输入y删除*/
rm: remove regular empty file ‘app21/text1.txt’? y
rm: descend into directory ‘app21/a3’? y
rm: remove regular empty file ‘app21/a3/a3.png’? y
rm: remove regular empty file ‘app21/a3/a3.txt’? y
rm: remove directory ‘app21/a3’? y
rm: remove regular empty file ‘app21/redis-3.0.7.tar.gz’? y
rm: remove directory ‘app21’? y
[root@izwz94jtz9hbdq165vpxpxz app2]# ls -a
.  ..

rm -(r)f:强制删除,f 可理解为force

[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/aa
[root@izwz94jtz9hbdq165vpxpxz aa]# ls
aa1
[root@izwz94jtz9hbdq165vpxpxz aa]# cd ..
[root@izwz94jtz9hbdq165vpxpxz app1]# rm -rf aa
[root@izwz94jtz9hbdq165vpxpxz app1]# 

删除某个目录下所有带有test的文件夹及文件

  • 结合find命令删除:
 find 目录  -name "*file*" -exec rm -rf {} \;

语法解析

 -exec 找到后执行命令
 rm -rf {}  就是删除文件
 \; 命令 属于格式要求的,没有具体含义

举例

 [root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/ -name "*test*"
 /app1/www/test1.txt
 /app1/www/test
 /app1/test.txt
 /app1/zyptest
 /app1/test
 [root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/ -name "*test*" -exec rm -rf {} \;
 find: ‘/app1/www/test’: No such file or directory        /*文件已被删除所以会提示找不到*/
 find: ‘/app1/zyptest’: No such file or directory
 find: ‘/app1/test’: No such file or directory
 [root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/ -name "*test*"
 [root@izwz94jtz9hbdq165vpxpxz ~]#

 

九、touch:创建新的空文件

(用ls-l查看文件大小为0)

[root@izwz94jtz9hbdq165vpxpxz www]# touch text.txt
[root@izwz94jtz9hbdq165vpxpxz www]# ls -l
total 0
-rw-r--r-- 1 root root    0 Jul 16 17:02 text.txt

批量创建文件

 [root@izwz94jtz9hbdq165vpxpxz a1]# touch a{1..10}.text
 [root@izwz94jtz9hbdq165vpxpxz a1]# ls
 a10.text  a1.text  a2.text  a3.text  a4.text  a5.text  a6.text  a7.text  a8.text  a9.text

 

十、cp:复制文件/目录(Copy file)

(1)默认情况下,cp命令不能复制目录

[root@izwz94jtz9hbdq165vpxpxz app1]# cp a1 /app2
cp: omitting directory ‘a1’

如果要复制目录,则必须使用-R选项

  • 目标目录存在,直接复制
 [root@izwz94jtz9hbdq165vpxpxz app1]# cp -R a1 /app2
 [root@izwz94jtz9hbdq165vpxpxz app1]# find / -name "a1"
 /app1/a1
 /app2/a1
  • 目标目录不存在,先自动创建目标目录再复制源目录

    [root@izwz94jtz9hbdq165vpxpxz app1]# ls
    test  www  zyp
    [root@izwz94jtz9hbdq165vpxpxz app1]# cd www
    [root@izwz94jtz9hbdq165vpxpxz www]# ls
    123.jgp  a2  carina  root  text1.txt  text3.txt  text.txt
    [root@izwz94jtz9hbdq165vpxpxz www]# cp -R carina /app1/zyptest    /*拷贝到不存在的目录*/
    [root@izwz94jtz9hbdq165vpxpxz www]# cd ..
    [root@izwz94jtz9hbdq165vpxpxz app1]# ls
    test  www  zyp  zyptest       /*目录创建成功*/
    

(2)复制文件

 [root@izwz94jtz9hbdq165vpxpxz www]# cp text1.txt /app1/c
 [root@izwz94jtz9hbdq165vpxpxz www]# find / -name "text1.txt"
 /app1/www/text1.txt
 /app1/c/text1.txt

 绝对路径:
 [root@izwz94jtz9hbdq165vpxpxz ~]# cp /app1/www/text1.txt /app1/c

(3)复制文件并重命名文件
如下将www文件夹下的text1.txt 复制到目录 /app1,并改名为text.txt

 [root@izwz94jtz9hbdq165vpxpxz www]# cp text1.txt /app1/text.txt

(4)复制特定类型的文件

 [root@izwz94jtz9hbdq165vpxpxz www]# ls
 123.txt  carina text1.txt  text3.txt  text.txt
 [root@izwz94jtz9hbdq165vpxpxz www]# cp t*.txt /app1/bak
 [root@izwz94jtz9hbdq165vpxpxz www]# cd /app1/bak
 [root@izwz94jtz9hbdq165vpxpxz bak]# ls
 text1.txt  text3.txt  text.txt

复制前可能已经有文件存在了,那么不想进行每个选项都输入 y 确认的话,需要在 cp 前加 \,没有空格

[root@izwz94jtz9hbdq165vpxpxz www]# cp t*.txt /app1/bak
cp: overwrite ‘/app1/bak/text1.txt’? y
cp: overwrite ‘/app1/bak/text3.txt’? y
cp: overwrite ‘/app1/bak/text.txt’? y

[root@izwz94jtz9hbdq165vpxpxz www]# \cp t*.txt /app1/bak          /*没有提示按y*/
[root@izwz94jtz9hbdq165vpxpxz www]#    

 

十一、vi:修改文件内容

先按键盘字母I,编辑内容后,保存(按esc键后输入:wq)

[root@izwz94jtz9hbdq165vpxpxz www]# vi text.txt
dgdfgfhfdgh

 

十二、echo:创建/覆盖文件

(1)使用>指令
若文件不存在则创建文件

[root@izwz94jtz9hbdq165vpxpxz a1]# echo 'hello world' > hw.text
[root@izwz94jtz9hbdq165vpxpxz a1]# ls
hw.text
[root@izwz94jtz9hbdq165vpxpxz a1]# cat hw.text
hello world

(2)若文件存在,覆盖文件原内容并重新输入内容

[root@izwz94jtz9hbdq165vpxpxz a1]# cat hh.text
hello hello
[root@izwz94jtz9hbdq165vpxpxz a1]# echo 'hi hi' > hh.text
[root@izwz94jtz9hbdq165vpxpxz a1]# cat hh.text
hi hi

(2)使用 >>,向文件追加内容,原内容不变

[root@izwz94jtz9hbdq165vpxpxz a1]# cat hw.text
hello world
[root@izwz94jtz9hbdq165vpxpxz a1]# echo 'yeah yeah' >> hw.text
[root@izwz94jtz9hbdq165vpxpxz a1]# cat hw.text
hello world
yeah yeah

 

十三、tar:文件打包、解压(Tape archive)

(1)文件打包:tar -zcvf 打包名 文件

[root@izwz94jtz9hbdq165vpxpxz www]# ls
123.txt  a2  carina  requests-2.18.1.tar.gz  text1.txt  text3.txt  text.txt
[root@izwz94jtz9hbdq165vpxpxz www]# tar -zcvf text.tar.gz 123.txt a2 text1.txt
123.txt
a2/
text1.txt
[root@izwz94jtz9hbdq165vpxpxz www]# ls
123.txt  a2  carina  requests-2.18.1.tar.gz  text1.txt  text3.txt  text.tar.gz  text.txt

(2)文件解压:tar -zxvf 文件名

 [root@izwz94jtz9hbdq165vpxpxz app1]# tar -zxvf text.tar.gz

 

十四、scp:远程拷贝文件(secure copy)

(1)将本地的文件上传到远程服务器上
相对路径下,scp 文件名 用户名@ip:服务器绝对路径目录 (分号后面无空格)

scp redis-3.0.7.tar.gz root@29.118.65.136:/app1/www

绝对路径:

scp /app/software/www/text.txt root@29.118.65.136:/app1/bak

若是上传目录,需要使用 -r

scp -r /app/software/www root@29.118.65.136:/app1/bak

(2)将远程服务器上的文件/目录拷贝到本地
scp -r 用户名@ip:服务器绝对路径目录 绝对路径本地目录

scp -r root@29.118.65.136:/app1/www /app/software
scp root@29.118.65.136:/app1/www/text.txt /app/software/www

注意点:

  • 使用scp需要注意所使用的用户是否具有可读取远程服务器相应文件的权限
  • 如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
    scp -p 端口号 remote@www.abc.com:/usr/local/sin.sh /home/administrator
posted @ 2019-07-16 10:30  创造与橙子1994  阅读(13278)  评论(0编辑  收藏  举报