使用Xftp上传文件
1. 新建连接
2. 上传文件
目前主流的操作系统
- Windows
- Unix —— Mac OS
- Linux —— Centos、Ubuntu等
复习一下相对路径和绝对路径
- cd ./ 表示当前路径
- cd …/ 表示上一级路径
- cd opt 表示在当前路径下,查找opt文件夹,并切换进去
- cd /opt 表示在 / 根路径下,查找opt文件夹,并切换进去
使用场景
- 在IO中,如File、FileInputStream、obj.getClass().getClassLoader().getResourceAsStream()等都会用到。
- 在Web项目中,查找服务器资源也会用到。
- 在Windows和Linux系统里经常用到。
关于Linux的基本指令
前置知识
- 以 . 开头的,是隐藏文件
- -R:一般都是递归操作(经常用来对一个文件夹里的全部文件进行操作)
- *:模糊匹配。对文件进行操作的时候,除非必须指定具体文件名的指令,其他情况都可以使用 * 进行模糊匹配。
- 输入指令时:指令和参数之间必须有空格。
- ~ : 表示用户路径
- Tab键:可以对文件/文件名进行补全操作(敲一次),如果有多个匹配 ,敲两次Tab键可以显示所有匹配的文件/文件夹
- XShell下的复制粘贴:复制 —— Ctrl + Insert、粘贴 —— Shift + Insert
- Ctrl + c : 表示结束指令或是终止某个进程(当前窗口)
- q : 在有很多分页显示输出的时候,可以通过q退出。比如man、less
- 方向键上下:表示上一次/下一次输入的指令。
- 几个特殊的目录:/ 表示根目录、 . 表示当前目录、 ··表示当前目录的上级目录。
文件目录基本操作指令
很多指令,在固定的使用场景下,参数都比较固定,建议记住固定参数。
1. man指令
通过man指令可以查看某个指令的含义以及参数说明。
例如: man ls
2. ls指令
对于目录,ls指令可以列出该目录下所有的子目录与文件。
对于文件,ls指令可以列出文件名以及文件的其他信息。
常用参数选项:
- -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
- -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
- -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
- -l 列出文件的详细信息。
- -r 对目录反向排序。
- -t 以时间排序。
- -R 列出所有子目录下的文件。(递归)
例如:
ls -a
ls -la : 可以显示所有子文件的详细信息
ls / (根目录下的文件/文件夹)或者 ll /(根目录下的文件/文件夹的详细信息)
后面可以跟路径,表示输出指定路径的下一级文件/文件夹
后面如果不跟路径,表示显示当前路径的下一级文件/文件夹
联系一下 * 模糊匹配的使用
3. pwd指令
显示当前路径。
登录时默认路径:
- root登录:/root
- 其他用户登录:/home/用户名
4. cd指令
cd指令的作用:改变工作目录,将当前工作目录改变到指定目录下。
参数选项:
- cd . :表示返回上级目录
- cd ~ :表示进入用户目录
- cd - :返回最近访问的目录
5. touch指令
touch指令的作用:可以更改文件或则目录的日期时间或者新建一个不存在的文件
新建一个 test.txt 文件
6. mkdir指令
作用:创建一个文件夹,如果要创建多级文件夹,需要加上参数 -p。
7. rm指令
作用:删除文件或者目录
参数选项:
- -f 即使文件属性为只读(即写保护),亦直接删除(如果不带 -f,会提示你确认删除?输入y才可以完成删除)
- -i 删除前逐一询问确认
- -r 删除目录及其下所有文件
注意!!!
千万不要运行 rm -rf / 这个指令
8. cp指令
作用:复制文件或目录(,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息)
常用参数:
-R : 递归复制文件夹下所有的内容
以/opt作为相对路径查找t文件夹,把t1复制到t文件夹下名称为为ttt的文件夹里
9. mv指令
作用:移动文件/文件夹到另一个文件夹
把带t的文件和文件夹都移动到 bak文件夹里;
把bak文件夹下的带t的文件和文件夹都移动到 ./ (当前文件夹下)
10. vi指令
作用:进入一个文件(进入文件时默认是只读模式)(vim也可以完成这种操作)
-
只读模式
♦ :q —— 表示退出
♦ :w —— 表示保存
♦ :! —— 表示强制退出
♦ 上述三者可以结合输入,如::wq, :q!, :wq!
♦ 输入i和a可以进入编辑模式:在当前光标位置插入字符的方式
♦ 输入o也可以进入编辑模式:在当前行之后插入新的一行的方式
♦ /字符串 —— 搜索字符串。搜索到以后点击n,表示光标跳转到下一处匹配的位置,shift + n表示上一处匹配的位置。
♦ j/k —— 光标移动上一行/下一行,方向键也可以。
♦ 双击g —— 光标跳转到文本的首部
♦ shift + g —— 光标移动到文本的末尾 -
编辑模式
♦ Esc —— 退出到只读模式
编辑模式:
只读模式:
11. cat指令
功能:输出目标文件中的内容
常用参数:-n —— 表示带行号输出
12. less指令
功能:输出文件内容(一屏一屏的显示)
选项(与vi类似):
- j k / 方向键: 向上向下滚动屏幕.
- -N 显示每行的行号
- /字符串:向下搜索“字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- q: 退出
13. head指令
功能:输出文件内容,默认打印文件的开头10行
选项:
- -n行数,表示输出开头到指定行数
14.tail指令
功能:输出文件内容,从末尾开始打印,默认从末尾向上打印10行。
选项:
- -n —— 表示打印从末尾往前到指定行。
- -f —— 表示循环输出(文件有新的内容时,会更新输出)
关于重定向
Linux中有很多指令,如cat,head,tail等都是默认输出到“标准输出”中,也就是显示器上的。可以通过 > 这样的符号把本来要输出到标准输出上的内容写到特定文件中,这种操作叫“重定向”。
- 标准输入重定向(<)
先构造一个包含内容的文件(test.txt)。
- 标准输出重定向(>)
- 标准输出重定向(>)
- 标准错误重定向(2>)(注意2和>中间不能有空格)
举例:
第一步:先尝试操作一个不存在的文件
这一步是想把本来要输出在标准输出上的错误信息
“cat: abcd: No such file or directory” 写到 test3.txt文件里
但是这个结果表明这个错误信息并没有被重定向到test3.txt文件里
正确的做法是这样滴:
输出重定向可以自动创建一个文件(> , 2>)
- <, >, 2>这三种重定向的方式都是内容覆盖原本文件夹的内容,如果要以追加到文件尾部的形式,就得使用 ">>"
关于管道符 |
管道符 | 的作用:将|的前一个指令的标准输出内容作为|后一个指令的标准输入内容(一般用于指定某行内容进行查询)。
例如查询test.txt中的第3行
15. date命令
用于显示时间
Linux权限
认识Linux用户
Linux下有两种用户:超级用户(root)和普通用户。
- 超级用户:可以在Linux下做任何事,命令提示符是 #
- 普通用户:受限制,命令提示符是 $
创建用户
命令:useradd[用户名]
作用:创建新的用户
配置密码
命令:passwd[用户名]
作用:设置或者修改密码
切换用户
命令:su[用户名]
作用:切换用户
三种角色
访问一个文件的人可能有三种类别:
- 文件和文件夹的所有者:User —— u
- 文件和文件夹所有者所在组的用户:Group —— g
- 其他用户:Others —— o
文件类型和访问权限
文件类型:
- d:文件夹
- -:普通文件
- l:软链接(类似于Windows里面的快捷方式)
基本权限:
- 读(r / 4):Read对于文件来说,具有读取文件内容的权限;对于文件夹(目录)来说,具有浏览文件夹(目录)信息的权限。
- 写(w / 2):Write对于文件来说,具有修改文件内容的权限;对于文件夹(目录)来说,具有修改删除移动文件夹(目录)文件的权限。
- 执行(x / 1):execute对于文件来说,具有执行文件的权限;对于文件夹(目录)来说,具有进入文件夹的权限。
基本权限的数值相加的总数就是这个文件对应三种角色具有的权限,比如上面的例子,就是 “文件夹类型-7(u的权限)-5(g的权限)-1(o的权限)”
chmod命令
作用:设置文件的访问权限
常用参数选项: -R (递归修改文件夹下所有文件)
例如: