查看帮助文档 man
man ls 就是查看ls命令的帮助文档
使用某个命令时候的提示 --help
ls --help
获取当前的日期时间
date +%Y-%m-%d 以"年-月-日"的格式显示日期
date +%Y-%m-%d’ '%H:%M:%S 以"年-月-日 时:分:秒"的格式显示日期时间
date +%F’ '%T 以标准格式显示日期时间
相对路径和绝对路径
1.1 什么是相对路径: 不以 / 开头的路径写法,以当前路径作为基准去找目标路径
1.1.1 ./ 代表当前目录
1.1.2 …/ 代表当前目录的上一级目录
例子: 当前在/usr/local/aa/bb 目录中,想要使用相对路径进入 /usr/hello/test目录中,应该怎么写?
…/…/…/hello/test
1.2 什么是绝对路径: 以 / 开头的路径写法,我们通过编写目标路径的绝对路径进行访问
例子: 当前在/usr/local/aa/bb 目录中,想要使用相对路径进入 /usr/hello/test目录中
无论我当前在哪个目录,只要目标路径是一样的,那么绝对路径写法就是一样的
pwd: 打印工作目录(当前目录的绝对路径)
切换目录的命令: cd
3.1 cd … 表示切换到上一级目录
3.2 cd / 表示切换到Linux 的根目录
3.3 cd ~ 表示切换到用户的主目录(回家)
3.4 cd 绝对路径 访问某个目录
3.5 cd 相对路径 访问某个目录
3.6 cd - 切换到你来时候的目录
列出目录中的文件列表的命令: ls
4.1 ls 表示列出当前目录中的可见文件的名字
4.2 ls -l 可以简写为ll 表示列出当前目录中的课件文件的详细信息
4.3 ll -h 表示列出当前目录中的课件文件的详细信息,并且以kb或者mb等等单位显示文件大小
4.4 ll -ah a参数表示查看所有文件(包含隐藏文件 . …)
4.5 ll -Ah A参数表示查看所有文件(包含隐藏文件)
4.6 ll -ah 目录的绝对路径/目录的相对路径 表示列出某一个目录下的内容
4.7 ll -R 递归查看
4.8 ll -ltr 逆序查看最近修改过的文件
创建和删除目录的命令:
5.1 创建目录: mkdir 要创建的目录路径 mkdir test1 或者 mkdir /root/test2
5.2 循环创建目录(创建多级目录): 当路径中的某个目录不存在的时候先将其创建出来再创建后续目录
mkdir -p 要创建的目录路径 mkdir /root/hello/haha/xixi
5.3 删除空目录: rmdir 要删除的空目录的路径 rmdir test1
创建文件、删除文件、删除非空目录的命令:
6.1 新建文件: touch 要创建的文件路径
6.2 删除文件: rm 要删除的文件路径
6.3 f参数: 表示无论如何都要删,不要询问我
6.4 r参数: 递归删除,用于删除非空文件夹以及将该文件夹中的内容都删除
移动文件或者目录
7.1 移动文件或目录 mv 要移动的文件或者目录 目标路径
7.2 重命名文件 mv 要命名的文件 新文件路径
mv a.txt b.txt 表示将当前目录中的a.txt重命名为b.txt
mv /root/test1 /root/test2 表示将/root中的test1目录重命名为test2目录
复制文件或者目录
8.1 复制文件 cp 要复制的文件路径 目标路径
8.2 复制目录 cp -R 要复制的目录 目标路径
8.3 强制覆盖的复制 \cp -rf phone.jpg test2
cat命令: 适合查看小文件
9.1 查看轻量级文件 cat 要查看的文件路径
9.2 连接查看多个文件 cat 多个文件的路径
9.3 用一个文件内容覆盖另一个文件内容: cat 文件1 > 文件2
9.4 将一个文件内容追加到另一个文件后面: cat 文件1 >> 文件2
more 命令分页查看文件
more 要查看的文件路径
在查看的过程中:
Enter 键表示查看下一行数据、Space 键表示查看下一屏数据
Ctrl + B 滚动到上一屏内容 Ctrl + F 滚动到下一屏内容
q 退出查看
less 命令分屏查看大文件
less 要查看的文件路径
在查看过程中:
Enter 键表示查看下一行数据、Space 键表示查看下一屏数据
PgUp键滚动到上一屏内容 PGDn键滚动到下一屏内容
/关键字 向下搜索关键字
?关键字 向上搜索关键字
在搜索的过程中 n 表示正向重复搜索 N 表示反向重复搜索
q 退出查看
tail命令查看文件的末尾,或者滚动查看文件内容(例如查看Tomcat等等软件的日志文件)
查找文件:相当于在系统中搜索某个文件
13.1 使用find命令在系统中指定路径进行全文遍历
find /root -name “*.txt”
13.2 基于索引搜索: locate
13.2.1 Linux系统开机的时候建立索引库
13.2.2 updatedb
13.2.3 locate 搜索文件名 基于索引搜索
grep: 筛选
14.1 配合管道一起进行筛选 ls | grep .txt
14.2 在文本文件中根据关键字匹配行 grep servlet web.xml 表示在web.xml中找出包含servlet的所有行
n参数表示显示行号 grep -n servlet web.xml
v参数表示匹配不包含关键字的那些行
压缩命令: tar -zcvf 生成的压缩文件名 要进行压缩的内容
解压命令: tar -zxvf 要被解压的压缩文件名 -C 解压路径
文件编辑命令:
17.1 进入一般模式: vim 要编辑的文件路径
17.2 一般模式下的按键操作:
yy 复制光标所在行
p 在光标所在行下方粘贴
dd 删除光标所在行
u 撤销前一步操作
ctrl + r 重做刚刚撤销的操作
17.3 从一般模式下进入编辑模式:
i 进入编辑模式,光标位置不动
I 进入编辑模式,光标会移动到当前行的开头
a 进入编辑模式,光标会向后移动一格
A 进入编辑模式,光标会移动到当前行的最后
o 进入编辑模式,会在当前行下新建一行,并且把光标移动到新行
17.4 退出编辑模式,回到一般模式: esc
17.5 从一般模式进入指令模式
17.5.1 进入指令模式进行一些指令操作
在一般模式下输入 : 就能进入指令模式,并且也能输入指令
17.5.2 指令模式下都有哪些指令:
set nu 显示行号
noh 在搜索结果中取消高亮
w 保存修改内容
q 退出编辑
wq 保存修改内容并退出编辑
q! 强制退出编辑不保存修改内容
17.5.3 进入指令模式进行搜索
在一般模式下输入 / 搜索关键字就可以向下进行搜索
n 是正向重复搜索,N 反向重复搜索
17.5.4 进入指令模式进行全文替换
在指令模式下输入 %s/要替换的内容/替换成的内容/g
文件编辑过程中可能会遇到的问题: 存在交换文件
18.1 文件编辑过程中,Linux会针对正在编辑的文件创建一个交换文件(.原文件名.swp),
如果正常退出编辑,则会自动删除交换文件
18.2 交换文件有啥用呢:如果存在某个文件存在交换文件,就表示该文件正在被编辑,别人就不能同时编辑它
防止多个客户端同时编辑一个文件,导致发生冲突。
18.3 怎么解决存在交换文件的问题?
18.3.1 如果是因为当前文件正在被别人编辑,而导致我无法编辑,那么我就告知别人退出编辑让我来编辑
18.3.2 如果是因为上一次编辑之后,异常退出编辑,导致交换文件没有被删除,那么我们就手动删除交换文件
交换文件的名字是 .原文件名.swp
查看进程状态
19.1 查看所有进程信息: ps -ef
19.2 配合管道与more或less命令进行分屏查看进程信息: ps -ef | less
19.2 配合管道与grep命令进行搜索进程信息: ps -ef | grep firefox
杀死进程: kill -9 进程id
字符串处理命令
21.1 basename: 获取字符串中表示当前资源名的部分
21.2 dirname: 获取字符串中表示当前资源存储的目录部分
21.3 cut: 切割字符串
需求一: 选取系统 PATH 变量值,第2个 ‘:’ 开始后的所有路径
1. 怎么获取PATH遍历的值: echo $PATH
2. 使用管道将echo $PATH 的结果交给cut命令操作: echo $PATH | cut
3. cut命令的使用: 根据’:‘切割,第三列以及之后的内容 3-
echo $PATH | cut -d ‘:’ -f 3-
需求二: 切割ifconfig 后打印的IP地址
1. 观察ifconfig查询的内容
2. 将ifconfig的内容通过管道交给grep命令操作,查询出包含IP地址的那些行: ifconfig | grep netmask
3. 通过管道切割这些包含ip地址的行,根据’i’切割, 获取第二列以及之后的内容2-
ifconfig | grep netmask | cut -d ‘i’ -f 2-
4. 再通过管道将上述结果交给cut命令处理,根据’ '切割,获取第二列数据
ifconfig | grep netmask | cut -d ‘i’ -f 2- | cut -d ’ ’ -f 2
21.4 sort: 对文件中的内容进行排序
n参数表示按照数值大小排列
r参数表示反序排列
t参数表示指定排序时候的分隔符
k参数表示根据哪一列排序
sort -t ‘:’ -nk 2 sort.txt
权限管理相关命令
22.1 groupadd 组名 创建组
22.2 创建用户
1. 指定该用户添加到哪个组: useradd -g 组名 用户名
2. 不指定该用户添加到哪个组: useradd 用户名
它默认会新建一个组,组名和用户名一致,然后将用户添加到该组中
22.3 给用户设置密码: passwd 用户名
权限分组:
2.2.4 资源所属用户: 当前资源的拥有者
2.2.5 资源所属用户组: 拥有当前资源的用户组
2.2.6 其它组的用户: 除了拥有当前资源的用户组之外的其它组里面的用户
权限分类:
r: 读, 对于文件而言就是能够读取文件内容(cat、more、less等等一些命令)
对于目录而言就是能够查看目录中的内容(ls、ll等等这些命令)
w: 写, 对于文件而言就是能够编辑文件内容(vim真正编辑修改文件内容)
对于目录而言就是能够删除(rm)当前目录、移动(mv)当前目录、重命名当前目录等等操作
x: 执行, 对于文件而言就是可以直接执行这个文件(可执行文件)
对于目录而言就是可以使用cd命令进入目录、可以在目录里面新建(touch、mkdir)、删除(rm、rmdir)内容
修改权限:
添加权限: chmod +权限 资源
删除权限: chmod -权限 资源
精准修改权限:
3.1 方式一: chmod u=权限,g=权限,o=权限 资源
3.2 方式二: chmod 三个十进制的数表示三种用户权限 资源
修改资源的拥有者: chown 拥有者 资源
修改资源的拥有组: chgrp 拥有组 资源
同时修改资源的拥有者和拥有组: chown 拥有者:拥有组 资源
提升普通用户的权限
Linux的服务管理命令:
24.1 开启服务:systemctl start 服务名称
24.2 停止服务:systemctl stop 服务名称
24.3 重启服务:systemctl restart 服务名称
24.4 设置服务开机自启动:systemctl enable 服务名称
24.5 取消服务开机自启动:systemctl disable 服务名称
24.6 查看服务的状态:systemctl status 服务名称
防火墙相关操作:
25.1 启动防火墙: systemctl start firewalld
25.2 关闭防火墙: systemctl stop firewalld
25.3 查看防火墙状态: systemctl status firewalld
25.4 重新加载防火墙规则: systemctl reload firewalld
25.5 设置防火墙开机自启动: systemctl enable firewalld
25.6 设置防火墙开机不自启动: systemctl disable firewalld
25.7 防火墙放行某个端口:firewall-cmd --add-port=端口号/tcp --permanent
修改了防火墙规则之后,一定要重新加载防火墙规则
25.8 防火墙取消某个端口的放行: firewall-cmd --remove-port=端口/tcp --permanent