lunix
1、 Linux 的目录结构
1.1目录树
1.2目录文件作用
1.3目录总结
1) linux 的目录中有且只要一个根目录 /
2) linux 的各个目录存放的内容是规划好,不用乱放文件。
3) linux 是以文件的形式管理我们的设备,因此 linux 系统,一切皆为文件。
尚硅谷 Linux 课程
更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
第 19页
4) linux 的各个文件目录下存放什么内容,大家必须有一个认识。
5) 学习后,你脑海中应该有一颗linux 目录树。
2、远程登录Lunix
1) linux 服务器是开发小组共享的.
2) 正式上线的项目是运行在公网的.
3) 因此程序员需要远程登录到centos 进行项目管理或者开发.
4) 画出简单的网络拓扑示意图(帮助理解)
5) 远程登录客户端有 Xshell5, Xftp5 , 我们学习使用 Xshell5 和 Xftp , 其它的远程工具大同小异。
3、实操篇 vi 和vim 编辑器
3.1 vi 和 vim 的三种常见模式
3.1.1正常模式
在正常模式下,我们可以使用快捷键。
以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上
下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用
『复制、贴上』来处理你的文件数据。
3.1.2插入模式/编辑模式
在模式下,程序员可以输入内容。
按下 i, I, o, O, a,A, r, R 等任何一个字母之后才会进入编辑模式, 一般来说按 i 即可
3.1.3命令行模式
在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!
3.2三种模式的转换
3.3常用快捷键
1) 拷贝当前行 yy , 拷贝当前行向下的 5 行 5yy,并粘贴(p)。
2) 删除当前行 dd , 删除当前行向下的 5 行 5dd
3) 在文件中查找某个单词 [命令行下 /关键字, 回车 查找 , 输入 n 就是查找下一个 ],查询
hello.
4) 设置文件的行号,取消文件的行号.[命令行下 : set nu 和 :set nonu]
5) 编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg],注意这些都是在正常模式下执行的。
6) 在一个文件中输入 "hello" ,然后又撤销这个动作,再正常模式下输入 u
7) 编辑 /etc/profile 文件,并将光标移动到 第 20 行 shift+g
第一步:显示行号 :set nu
第二步:输入 20 这个数
第三步: 输入 shift+g
3.4快捷键一览图
4、用户管理
4.1、开机、重启和用户登录注销
shutdown
shutdown -h now: 表示立即关机
shutdown -h 1 : 表示 1 分钟后关机
shutdown -r now:立即重启
halt
就是直接使用,效果等价于关机
reboot
就是重启系统。
syn
把内存的数据同步到磁盘
切换用户|切换到超管
Su用户名|exit
注:当我们关机或者重启时,都应该先执行以下 sync 指令,把内存的数据写入磁盘,防止数据丢失。
用户注销
Logout
4.2用户管理
1) Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
2) Linux 的用户需要至少要属于一个组。
4.2.1添加用户
1、语法:useradd [选项] 用户名
2、添加用户且切换到其它目录
Useradd -d /home/dog xq
4.2.2用户指定或者密码修改
1、passwd 用户名
4.2.3 删除用户
1、删除用户但要保留家目录:userdel用户名
2、删除用户以及用户主目录:userdel-r 用户名
4.3查询用户信息
Id 用户名
4.4切换用户
Su – 用户名
5、用户组管理
5.1增加组 groupadd 组名
5.2 删除组 groupdel 组名
5.3 增加用户时直接加上组 useradd-g 用户组 用户名
5.4 修改用户的组 usermod-g 用户组 用户名
5.5 /etc/passwd 文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
5.6 /etc/shadow 文件
口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动
时间:失效时间:标志
5.7 /etc/group 文件
组(group)的配置文件,记录Linux 包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表
6、实用指令
0 :关机
1 :单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是 3 和 5 ,要修改默认的运行级别可改文件
/etc/inittab 的id:5:initdefault:这一行中的数字
6.1 如何找回root密码
如何找回 root 密码,如果我们不小心,忘记 root 密码,怎么找回。
思路: 进入到 单用户模式,然后修改 root 密码。因为进入单用户模式,root 不需要密码就可以登录。
演示一把(注意观察):
开机->在引导时输入 回车键-> 看到一个界面输入 e -> 看到一个新的界面,选中第二行(编辑内核)在输入 e-> 在这行最后输入 1 ,再输入 回车键->再次输入 b ,这时就会进入到单用户模式。
这时,我们就进入到单用户模式,使用 passwd 指令来修改 root 密码。
7、帮助指令
7.1 man 获得帮助信息
7.2 help 指令
8、文件目录类
8.1 pwd 指令 显示当前目录
8.2 ls 指令
基本语法 ls [选项] [目录或是文件]
常用选项-a :显示当前目录所有的文件和目录,包括隐藏的。
-l :以列表的方式显示信息
8.3 cd 指令
8.4 mkdir 指令 mkdir[选项] 要创建的目录
8.5 mkdir 指令 mkdir-p /home/macx/mcx
8.6 rmdir 指令 rmdir 目录名 只能删除空目录非空目录无法删除
8.7 rm -rf /home/macx/mcx 删除非空目录
8.8 touch 文件名称 可创建多个文件 如:touch 1.txt 2.txt
8.9 cp [选项] sourcedest
常用选项 -r :递归复制整个文件夹
例:cp -r home/ FMS/
8.10 rm 指令移除【删除】文件或目录
rm [选项] 要删除的文件或目录
-r :递归删除整个文件夹
-f : 强制删除不提示
将 rm /home/aaa.txt删除
递归删除整个文件夹 rm /home/bbb
强制删除不提示的方法:带上 -f参数即可
8.11 mv指令
mv 移动文件与目录或重命名
mv oldNameFilenewNameFile (功能描述:重命名)
mv/temp/movefile /targetFolder (功能描述:移动文件)
案例 1: 将 /home/aaa.txt 文件 重新命名为 pig.txt
案例 2: 将 /home/pig.txt 文件 移动到 /root 目录下
8.12 cat指令
cat 查看文件内容,是以只读的方式打开。
cat [选项] 要查看的文件
-n :显示行号
案例 1: /etc/profile 文件内容,并显示行号
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 | more
cat 文件名 | more [分页浏览]
cat -n /etc/profile more
8.13 more指令
8.14 less指令 | 对于显示大型文件具有较高的效率
Less 要查看的文件
8.15 >指令 >>指令
> 输出重定向 : 会将原来的文件的内容覆盖
>> 追加: 不会覆盖原来文件的内容,而是追加到文件的尾部。
ls -l >文件 (功能描述:列表的内容写入文件 a.txt 中(覆盖写))
ls -al >>文件 (功能描述:列表的内容追加到文件 aa.txt 的末尾)
cat 文件 1 > 文件 2(功能描述:将文件 1 的内容覆盖到文件 2)
案例:将 /home 目录下的文件列表 写入到 /home/info.txt 中
Ls -l /home/ > /home/info.txt
将当前日历信息追加到 /home/mycal 文件中 [提示 cal ]
8.16 echo 指令
echo [选项] [输出内容]
8.17 head 指令
head 文件 (功能描述:查看文件头 10 行内容)
head -n 5 文件 (功能描述:查看文件头 5 行内容,5 可以是任意行数)
8.18 tail 指令
1)tail 文件 (功能描述:查看文件后 10 行内容)
2) tail -n 5 文件(功能描述:查看文件后 5 行内容,5 可以是任意行数)
3) tail -f 文件(功能描述:实时追踪该文档的所有更新,工作经常使用)
8.18 ln 指令
案例 1: 在/home 目录下创建一个软连接 linkToRoot,连接到 /root 目录
ln -s/root linkToRoot
案例 2: 删除软连接 linkToRoot
Rm -rf linkToRoot
8.19 history 指令
案例 1: 显示所有的历史命令 history
案例 2: 显示最近使用过的 10 个指令 history 10
案例 3:执行历史编号为 5 的指令 !5
8.20 时间日期类
1)date (功能描述:显示当前时间)
2) date +%Y (功能描述:显示当前年份)
3) date +%m (功能描述:显示当前月份)
4) date +%d (功能描述:显示当前是哪一天)
5) date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)
6) date 指令-设置日期 date-s 字符串时间
8.21 cal指令
案例 1: 显示当前日历 cal
案例 2: 显示 2020 年日历 cal 2020
8.22 find 指令
案例1: 按文件名:根据名称查找/home 目录下的hello.txt 文件
find /home -name hello.txt
案例2:按拥有者:查找/opt 目录下,用户名称为 nobody 的文件
find /opt -user nobody
案例3:查找整个 linux 系统下大于 20m 的文件(+n 大于 -n 小于 n 等于)
find / -size +20m
案例 4:查询 / 目录下,所有 .txt 的文件
Find / -name *.txt
8.23 location 指令
由于locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
案例 1: 请使用 locate 指令快速定位 hello.txt 文件所在目录
locate hello.txt
8.24 grep 指令和 管道符号 | grep [选项] 查找内容源文件
案例 1: 请在 hello.txt文件中,查找 "yes" 所在行,并且显示行号
cat /home/info.txt | grep -n yes