目录
一、常用命令
执行命令,是通过终端工具,操作主机
1)ls [选项] [目录或文件]:列出目录下的子目录/文件
选项 | 含义 | 选项 | 含义 |
-a | 显示所有包含隐含文件 | -r | 对目录反向排序 |
-d | 将目录像文件一样显示 | -t | 以时间排序 |
-k | 以k字节表示文件大小 | -R | 列出所有子目录下文件(递归) |
-l | 列出详细信息(ls -l等价于ll) |
2)pwd:显示用户当前所在目录
3)cd 目录名:改变工作目录
cd .. | 返回上级目录 |
cd ~ | 进入用户目录 |
cd - | 返回最近访问目录 |
.表示当前目录
..表示上级目录
/表示根目录
tips:(1)相对路径与绝对路径:在Linux中绝对路径以/开头,其他都是相对路径
(2)tab键可以自动补全
(3)如果命令输错,可以用crtl+c重新输入
4)touch [选项] 文件:修改文件或目录的时间(存取时间、更改时间),或者新建一个不存在的文件
如果文件已经存在是修改文件的时间
eg:touch test.txt
5)mkdir [选项] 目录名:在当前目录下创建一个目录
-p | 递归的建立多个目录 |
6)rm [选项] 文件或目录:删除
选项 | 含义 |
-f | 直接删除 |
-i | 删除时询问 |
-r | 删除目录下所有内容 |
不要运行rm -rf /
7)cp [选项] 源文件或目录 目标文件或目录:复制
选项 | 含义 |
-f | 强制复制,无论是否已经存在 |
-i | 覆盖文件前先询问 |
-r | 递归处理,若源文件或目录的形态,不属于目录 或符号链接,则一律视为普通文件处理 |
-R | 递归处理 |
8)mv [选项] 源文件或目录 目标文件或目录:移动
注意:
a.当mv命令中第二个参数类型的不同(是目标文件还是目标目录) . mv命令将文件重命名或将其移
至一个新的目录中。
b.当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目
录名) .它将所给的源文件或目录重命名为始定的目标文件名。
c.当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
选项 | 含义 |
-f | 如果目标文件已经存在,不会询问直接覆盖 |
-i | 如果目标文件已经存在,会询问直接覆盖 |
9)man [选项] 命令:帮助手册
以下是关于文件内容的操作
10)cat [选项] 文件:查看目标文件内容
大文件慎用,耗时,一般用来显示部分内容
-n | 带行号 |
11)vim文本编辑器
创建文件:vim[文件名]
vim有两个模式
(1)阅读模式下:
q! | 强制退出 |
wq | 保存并退出 |
u | 回退修改的内容 |
dd | 删除光标所在行 |
a.移动光标:上下箭头可以上下移动一行,也可以使用j和k到文本首部/尾部: gg首部, shift+ g尾部。
b.修改某个内容, 一般是先找到内容的位置,然后在修改
搜索:输入 /搜索的内容 再回车,就进行搜索,就移动到匹配的第一个位置; 按n到下一个匹配的位置;按shift+n到.上一个匹配的位置。
(2)编辑模式:输入的内容都作为文件插入
从编辑模式到阅读模式按esc;从阅读模式到编辑模式按i(光标位置插入)按o(新建一行插入)。
以下是关于文件显示的命令
12)less[参数] 文件:显示文件内容(一屏一屏的显示),进入阅读模式
j k /方向键 | 向上向下滚动屏幕 |
-N | 显示每行行号 |
/字符串 | 向下检索字符串 |
n | 重复前一个搜索 |
q | 退出 |
13)head [参数] 文件:显示文件的开头,默认前10行
-n<行数> | 显示行数 |
14)tail [必要参数] [选择参数] 文件:显示文件末尾,不指定文件时,作为输入信息处理,常用来查看日志文件
-f | 循环读取 |
-n<行数> | 显示行数 |
14)date [选项] [+标记]:指定格式显示时间
tips:以下三个命令搜索的内容如果包括空格和特殊字符,则必须加双引号
15)grep [参数] 文件:根据搜索内容在文件中查找
常常结合管道,在前面命令的输出结果中,再次搜索
16)ps [参数]:查看当前系统上运行的进程
要关闭某个进程时,常用进程的名称来搜索进程的pid,再使用关闭命令
-a | 显示所有进程 |
-u | 显示程序状况 |
-x | 显示所有程序 |
ps aux #显示系统上所有进程
ps aux | grep "进程名"
ps -ef | grep "进程名"
17)netstat [参数]:根据进程的端口号搜索进程的pid
netstat -anp | grep "进程端口号"
以下是压缩、解压文件的命令
18)zip格式:unzip 文件路径
19)tar/tar.gz格式:tar xvf 文件路径
二、重定向与管道
1)标准重定向<
构造一个文件并添加内容
cat < test.txt
2)标准输出重定向>
左边命令的输出结果整个输出到右边文件中(文件不存在会新建;存在,会覆盖)
cat test1.txt > test2.txt
3)标准错误重定向2>
把错误信息重定向到文件中
以上三个特殊文件,每个进程在启动时会默认打开,分别对应到键盘,显示器,显示器这样的设备.
在Java中,分别对应到System.in, System.out, System.err
管道 |
将前一个指令标准输出的内容,作为第二个指令的标准输入内容
eg:查找某个文件第50行:
head -n50 文件路径 | tail -n1
查找5-8行:(也可以tail在前)
head -n8 test.txt | tail -n4
三、Linux用户权限
1)创建用户
useradd 用户名
2)配置密码
passwd 用户名
3)切换用户
su 用户名
从普通用户切换到root需要输入密码
sudo 用户名:以root执行命令
4)三种角色
访问一个文件的人可能分成三种类别
a.文件和文件目录的所有者: u---User
b.文件和文件目录的所有者所在的组的用户: g--Group
c.其它用户: o--Others
5)文件类型和文件权限
文件权限
d | 文件夹 | p | 管道文件 |
- | 普通文件 | c | 字符设备文件(例如屏幕等串口设备) |
l | 软链接(类似Windows的快捷方式) | s | 套接口文件 |
b | 块设备文件(例如硬盘、光驱等) |
基本权限
6)chmod [参数] 权限 文件名:修改文件权限
(1)用户表示符+/-=权限字符
chmod u+w /home/abc.txt
(2)三位8进制数
chmod 640 /home/abc.txt
四、搭建web项目环境
(1)jdk
yum install java-1.8.0-openjdk.x86_64
(2)git
# 进入用户家目录
cd ~
# 创建目录保存项目
mkdir project
cd project
# 使用 git 下载代码
git clone [项目链接]
(3)mysql