[TOC]
# 1、切换目录:cd [dirName]
| 命令 | 注释 |
| --- | --- |
| cd /home/ | 进入'/ home' 目录' |
| cd .. | 返回上级目录 |
| cd ../.. | 返回上两级目录 |
| cd - | 返回上次所在目录 |
# 2、查看目录文件:ls [-alrtAFR] [name...]
> * \-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
> * \-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
> * \-r 将文件以相反次序显示(原定依英文字母次序)
> * \-t 将文件依建立时间之先后次序列出
> * \-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
> * \-F 在列出的文件名称后加一符号;例如可执行档则加 "\*", 目录则加 "/"
> * \-R 若目录下有文件,则以下之文件亦皆依序列出
| 命令 | 注释 |
| --- | --- |
| ls -ltr s* | 列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面 |
| ls -lR /bin | 将 /bin 目录以下所有目录及文件详细资料列出 |
# 3、创建目录:mkdir [-p] dirName
> \-p 确保目录名称存在,不存在的就建一个
| 命令 | 注释 |
| --- | --- |
| mkdir -p BBB/Test | 在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。 若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。) |
# 4、删除文件或目录:rm [options] name...
> * -i 删除前逐一询问确认。
> * -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
> * -r 将目录及以下之档案亦逐一删除。
| 命令 | 注释 |
| --- | --- |
| rm test.txt | rm:是否删除 一般文件 "test.txt"? y |
| rm -r test | rm:是否删除 目录 "test"? y |
# 5、为文件或目录改名、或将文件或目录移入其它位置:mv [options] source dest 或 mv [options] source... directory
> * -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
> * -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;
| 命令 | 注释 |
| --- | --- |
| mv aaa bbb | mv 文件名 文件名。将源文件名改为目标文件名 |
| mv aaa test | mv 文件名 目录名。将文件移动到目标目录 |
| mv info/ logs |mv 目录名 目录名。将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs。|
# 6、复制文件或目录:cp [options] source dest 或 cp [options] source... directory
> * -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
> * -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
> * -f:覆盖已经存在的目标文件而不给出提示。
> * -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
> * -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
> * -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
> * -l:不复制文件,只是生成链接文件。
| 命令 | 注释 |
| --- | --- |
| cp aaa bbb | 复制aaa文件,生成bbb文件 |
| cp –r test/ newtest | 将当前目录"test/"下的所有文件复制到新目录"newtest"下 |
# 7、用于显示工作目录:pwd
| 命令 | 注释 |
| --- | --- |
| pwd | 查看当前所在目录 |
# 8、发送文件至远程服务器:scp
> 命令格式:scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host:]file [...] [[user@]host2:]file2
> 复制文件到远程服务器命令:scp [option] local_file [user@host:]remote_file
> 复制远程服务器文件到本地命令:scp [option] [user@host:]remote_file local_file
> option:
> * -1: 强制scp命令使用协议ssh1
> * -2: 强制scp命令使用协议ssh2
> * -4: 强制scp命令只使用IPv4寻址
> * -6: 强制scp命令只使用IPv6寻址
> * -B: 使用批处理模式(传输过程中不询问传输口令或短语)
> * -C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
> * -p:保留原文件的修改时间,访问时间和访问权限。
> * -q: 不显示传输进度条。
> * -r: 递归复制整个目录。
> * -v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
> * -c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
> * -F ssh\_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
> * -i identity\_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
> * -l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
> * -o ssh\_option: 如果习惯于使用ssh\_config(5)中的参数传递方式,
> * -P port:注意是大写的P, port是指定数据传输用到的端口号
> * -S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
| 命令 | 参数 |
| --- | --- |
| scp -P 33 ./file.txt root@182.16.20.194:~/file1.txt | 指定端口,发送文件到远程服务器,并重命名 |
|scp -r -P 33 ~/test root@182.16.20.194:~/test|指定端口,递归发送文件夹到远程服务器|
| scp -P 33 root@182.16.20.194:~/file.txt ~/file.txt |复制远程主机的文件到本地|
|scp -r -P 33 root@182.16.20.194:~/text/ ~/text|复制远程主机的文件夹到本地|