1 基本概念.
. 称为 当前目录
. . 称为当前目录的 上一级 目录
/ 称为 根目录
相对路径: 指当前路径作为相对位置.
绝对路径: 指从跟路径开始的.
2 linux 全局有关的指令 (linux是大小写敏感的).
(1) . 开头的是 隐藏文件.
(2) -R / -r 递归操作, 多用于目录, 包括很多指令支持这个参数.
(3) * 当对文件操作时, * 表示模糊匹配.
(4) ~ 表示用户路径.
(5) tab. 对文件目录自动补全(敲一次),如果有多个匹配, 就敲两次显示所有的匹配文件/目录.
(6) ctrl+c. 如果指令或者目录敲错了, 可以 ctrl + c 结束 指令或某个进程 (当前窗口).
(7) q 在很多分页显示输出内容时, 可以通过 q 退出. 比如man,less等.
(8) dd 删除指令 (只读模式下的删除).
(9) 重定向操作符:
标准输入 < 右边文件 的内容输入到 左边的文件里.
cat < test.txt 把 test 内容输入到cat指令同时cat会直接输出.
标准输出 > 左边的 输出内容 覆盖到 右边的文件. >> 就是追加的方式.
cat test.txt > test2.txt cat test.txt >> test2.txt
标准错误输出 2>(注意2和>之间不能有空格).
rm aaa 2> test.txt 当删除出错时会把错误信息输入到test文件.
管道符 | 用来连接 两个命令. 左边命令 的输出, 作为 右边命令 的输入.
ls | grep ^ s.
kill 命令用来终止进程. -9 表示强迫进程立即终止.
kill -9 [pid].
3 目录(文件夹) / 文件基本操作
(1) ls / ll 目录或文件
对于目录, 该命令列出该目录下的所有子目录与文件. 对于文件,列出文件名及其他信息.
d 开头的是目录.
- 开头的是文件.
(2) pwd
显示 当前用户所在的目录.
(3)cd 目录名
改变工作目录. 将当前工作目录 切换 到指定的目录下
cd . . 返回上一级目录.
cd ~ 进入用户目录.
(4) touch 文件
创建一个 文件.
touch test.txt
(5) mkdir 目录
创建一个 目录.
mkdir -p t / t1 递归创建多级目录.
(6) rm 目录或文件
rm 要删除的文件. rm test.txt
rm -r 要删除的目录. rm -r t1
rm -rf 这个是直接删除不询问, 而前两者都是删除前询问.
rm -rf 要删除的文件1 要删除的文件2 (删除多个文件).
千万不要在生产环境运行 rm -rf / , 尤其是在公司的生产服务器上.
(7) cp 源文件或目录 目标文件或目录
复制 文件或目录
cp test1.txt test2.txt
cp -R t1 t2 / ttt 把 t1 目录复制到 t2 目录里的 ttt目录 里面.
也可以复制多个文件, 只会以最后一个文件作为目标文件.
复制时可以使用 相对路径/绝对路径.
(8) mv 源文件或目录 目标文件或目录
当第二个参数类型是 文件 时, 源文件或目录只能有一个, mv命令完成 文件重命名.
当第二个参数是已存在的目录时, 源文件或目录 可以有多个, mv 将源文件均移至目
标目录. -i : 若目标文件已经存在时, 就会询问是否覆盖!
(9) vi / vim(重点): 进入文件时默认是只读模式
只读模式 下输入 :q 退出 :w 保存 :! 强制退出
这三者可以结合输入, 如 :wq, :q!, :wq!
/字符串: 搜索字符串. 搜索到了以后点击 n, 光标跳转到下一处搜索到的匹配位置, shift+n跳转到上一处.
j / k: 上一行/下一行. 方向键也可以.
双击g: 光标跳转到 文本的首部, shift+g: 光标跳转到文本的最后.
i / a : 进入 编辑模式 (esc可以退出到只读模式), 在当前光标的位置插入字符的方式.
o : 进入 编辑模式, 在当前行之后插入新行的方式.
(10) cat 文件
查看 文件 的内容.
cat -n 文件. 对输出的所有行 编号. (前面的 ll 是列出该目录下的所有子目录与文件,注意区分).
(11) man 指令
查看 某个指令 的参数说明.
man ls. 查看ls指令的参数说明
(12) less 文件
输出文件内容(一屏一屏的显示). 参数:
-N 显示每行的行号
/字符串 搜字符串.
q / :q 退出.
(13) head -n<行数> 文件
从 开头 输出文件内容指定行数, 默认输出10行.
head -n50 test.
(14) tail -n<行数> 文件
从 末尾 输出文件内容指定行数. 常用查看日志文件.
-f 表示循环输出(有新内容时,会更新输出).
有一个文件共有100行内容,请取出第50行内容:
head -n50 test | tail -n1
(15) date 显示时间戳.
时间 转换为 时间戳. date +%Y:%m:%d
时间戳 转换为 时间. date -d "@1279592730"
4 Linux 权限
(1) Linux下有两种用户: 超级用户 (root) 和 普通用户.
超级用户的命令提示符是“#”, 普通用户的命令提示符是“$”.
(2) 创建新用户.
useradd [用户名]
useradd test
(3) 配置密码. 输入密码的时候, 在控制台中不会有提示. 但实际上已经输入进去了.
passwd [用户名]
passwd test
(4) 切换用户. 从 当前用户 切换到 另一个用户 ,或者 root用户.
su [用户名]
su root
(5) 访问者的三种角色.
文件和文件目录的 所有者: u—User
文件和文件目录的所有者 所在的组 的用户: g—Group
其它用户: o—Others
所有用户: a—all
(6) 文件类型
d 表示目录. - 表示普通文件.
(7) 访问权限
读 r–4 Read对文件而言具有 读取文件内容 的权限; 对目录来说,具有 浏览该目录信息 的权限.
写 w–2 Write对文件而言,具有 修改文件内容 的权限;对目录来说具有 删除移动目录内文件 的权限.
执行 x–1 execute对文件而言, 具有 执行文件 的权限; 对目录来说,具有 进入目录 的权限.
(8) drwxr-xr-x 表示的是 755 权限. 权限的 前三位 rwx u的权限. 中间三位 r-x g的权限. 后三位 r-x o的权限. - 表示 不具有 该项权限.
(9) chmod: 设置或修改权限. 只有文件的 拥有者 或 root 才可以改变文件的权限.
(10) chmod 设置权限 文件. (+ 向权限范围 增加 权限代号所表示的权限, - 取消权限, = 赋予权限).
chmod u+w, g-x /home/abc.txt
chmod o=x /home/abc.txt
(11) chmod 三位8进制数字 文件. (这里的权限是你修改权限之后的权限数字)
chmod 664 /home/abc.txt
chmod 660 /home/abc.txt
5 搭建 Java 部署环境 (jdk tomcat和 mysql的 安装及解压).
命令: yum 网络安装. rpm 安装已下载的.
(1) jdk的安装.
(2) tomcat 和 mysql的安装.
本地访问 云服务器的 tomcat. 浏览器输入 http://云服务器公网ip:8080 看能否访问成功.
6 安装过程用到的一些 命令.
部署web项目到Linux.
1 拷贝数据库 stu_dorm.sql 脚本文件到 /root/project 目录下. (要先创建 project目录)
2 linux中创建数据库 stu_dorm并使用数据库.
3 使用 source 命令执行数据库脚本. mysql > source /root/project/ stu_dorm.sql.
4 拷贝项目 war 包粘贴 (或者直接鼠标拖)到 /root/tomcat/apache-tomcat-8.5.12/webapps 目录下. tomcat 会自动将 war 包解压.
5 然后就可以在浏览器中输入项目路径访问项目了.