Linux的目录结构:
一:在Linux系统中,路径之间的层级关系,使用:/来表示
注意:1、开头的/表示根目录
2、后面的/表示层级关系
二:在windows系统中,路径之间的层级关系,使用:\来表示
注意:1、D:表示D盘
2、\表示层级关系
练习题:请根据语言描述,写出对应的Linux路径
- 1、在根目录下有一个文件夹test,文件夹内有一个文件hello.txt,请描述文件的路径
/test/hello.txt
- 2、在根目录下有一个文件itheima.txt,请描述文件的路径。
/itheima.txt
- 3、在根目录下有一个文件夹itcast,在itcast文件夹内有文件夹itheima,在itheima文件夹内有文件hello.txt,请描述文件的路径
/itcast/itheima/hello.txt
Linux命令入门:
一:ls命令:
- 1、ls命令的作用是?
在命令行中,以平铺的形式,展示当前工作目录(默认HOME目录)下的内容(文件或文件夹)
- 2、HOME目录是?
每一个用户在Linux系统的专属目录,默认在:/home/用户名
- 3、当前工作目录?
Linux命令行在执行命令的时候,需要一个工作目录,打开命令行程序(终端)默认设置工作目录在用户的HOME目录
二:ls 命令的-a选项
1、a选项,表示: all的意思,即列出全部文件 (包含隐藏的文件/文件夹)
可以看到,ls-a 对比ls 列出的内容更多了
- 图中以.开头的,表示是Linux系统的隐藏文件/文件夹 (只要以.开头,就能自动隐藏)只有通过-a选项,才能看到这些隐藏的文件/文件夹
三:ls命令的-l选项 [Linux路径]
1、-l选项,表示:以列表 (竖向排列)的形式展示内容,并展示更多信息
四:ls命令选项的组合使用
语法中的选项是可以组合使用的,比如学习的-a和-l可以组合应用写法:
- 1、ls -l -a
- 2、ls -la
- 3、ls -al
上述三种写法,都是一样的,表示同时应用-l和-a的功能
五:ls 命令的 -h选项
- 1、-h 表示以易于阅读的形式,列出文件大小,如K、M、G(文件的单位大小)
- 2、-h选项必须要搭配-l一起使用
小结:
1、ls命令的参数的作用
可以指定要查看的文件夹(目录)的内容,如果不给定参数,就查看当前工作目录的内容
2、ls命令的选项
a选项,可以展示出隐藏的内容
以.开头的文件或文件夹默认被隐藏,需要-a才能显示出来
-l选项,以列表的形式展示内容,并展示更多细节
-h选项,需要和-l选项搭配使用,以更加人性化的方式显示文件的大小单位
3、命令的选项组合使用
命令的选项是可以组合使用的,比如: ls -lah,等同于 ls-a -l-h
linux:常用的命令
1、ls:列出文件list
list列出当前路径下的文件与文件夹
ls常用参数:
- -l:列出文件的详细信息(竖向排列)
- -a:all,列出所有文件,包括隐形文件
- -h:1.列出文件大小,如K、M、G(文件的单位大小)
2.-h选项必须要搭配-l一起使用,如ls -lh
2、cp:复制copy
cp参数:
cp a b
- 1、复制文件cp a b(解释:将a复制到b文件中)
- 2、-r复制文件夹cp -r a b(解释:将a文件夹复制在b文件中)
3、mv:移动move
mv参数:
mv a b
- 1、a是被移动的文件或文件夹
- 2、b是要移动去的地方,如果目标不存在,则进行改名,确保目标存在
4、cd:切换目录change directory
cd参数:
cd a
1、a代表切换到指定参数(切换到某一个文件夹中)
2、无a,则切换到当前用户HOME
5、pwd:输出工作目录print work directory
pwd参数
- 1、直接使用
- 2、作用:输出当前所在的工作目录
6、rm:移除,删除remove
rm参数
rm a b
- 1、rm a(这里a指文件而不是文件夹)
- 2、rm -r a(有一个-r,则这里a指文件夹)
- 3、rm -r a b c(abc指rm -r 后面可以加多个文件夹一起删除)
- 4、rm -f a(这里-f指的是force,强制删除,普通用户用不到-f选项
只有在root管理员用户删除内容会有提示)
7、mkdir:创建文件夹remove directory
mkdir参数
mkdir -p a
- 1、-p必填,表示要创建的文件夹的路径、相对、绝对、特殊路径符都可以使用
- 2、-p作用,自动创建不存在的父目录,适用于创建连续多层级的目录
- 3、a是文件夹的名字
8、touch:创建文件
touch参数
touch a
- 1、a指的是文件名(如touch test.txt)
- 2、a必须填写,表示要创建的文件路径、相对、绝对、特殊路径符均可以使用
9、cat:查看文件内容
cat参数
cat a
- 1、cat a指的是查看a文件里面的内容(如cat test.txt,表示查看test.txt文件里面内容)
- 2、a必须填写
10、more:查看文件内容(与上面cat差不多,但又不同)
more参数
more a
- 1、cat是直接将内容全部显示出来
- 2、more支持翻页,如果文件内容过多,可以一页页的显示
- 3、a指的是文件,必填内容
11、which:查找命令存放文件
which参数
which 要查找的命令
- 1、如which cd、which pwd等
- 2、只能查找命令程序
12、find:查找指定的文件
find参数
一:按文件名查找:find 起始路径 -name “被查找的文件名”
1、起始路径指/(根目录)或者文件夹等
2、支持通配符(*)
二:按文件大小查找:find 起始路径 -size +|-n[kGM]
例题:
1、请使用find命令找出:名称中带有centos的文件
find /-name “*centos*”
2、请使用find命令找出: /usr 目录内大于100M的文件
find /usr -size +100M
13、grep:从文件中通过关键字过滤文件行
grep参数
grep [-n] 关键字 文件路径
- 1、-n,可不要,表示在结果中显示匹配的行的行号。
- 2、关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用” ”将关键字包围起来
- 3、文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
- 14、wc:数量统计
wc参数
wc [-c -m -1 -w] 文件路径
- 1、选项,-C,统计bytes数量(字节)
- 2、选项,-m,统计字符数量
- 3、选项,-l,统计行数
- 4、选项,-W,统计单词数量
- 5、参数,文件路径,被统计的文件,可作为内容输入端口
15、管道符|
管道符|
将管道符左边命令的结果,作为右边命令的输入
例:对创建的test.txt进行统计,请使用cat、grep、管道符、wC命令组合,进行统计:
统计文件中带有itcast关键字的有几行
cat test.txt| grep itcast| wc -l
16、rmdir:移除,删除文件夹
rmdir参数
- 1、rmdir test 指的是在当前路径删除test文件夹及子文件(夹)
17、tar:打包、压缩、解压
tar参数
- 1、-jcv:压缩
- 2、-jxv:解压
18、reboot:重启
reboot参数
- 1、reboot输完立马重启(记得保存文件)
19、tee:显示并保存
tee参数
- 1、显示内容并将内容保存在文件中
20、passwd:修改密码
passwd参数
- 1、修改当前用户密码
21、ps:查看进程
ps参数
-A:显示所有进程
-a: 不与terminal有关的所有进程
-u: 有效用户的相关进程
-x:一般与-a 起用,列出完整的进程信息
-l: long,详细列出PID的信息
22、chmod: 更改文件的权限模式
文件权限模式针对三类对象: 当前用户user (这里也是文件的所有者),组group,其他用户other。
文供权限有读Read,写Write,执行Execute。
chmod参数:
u: user,权限对象为当前用户 (这里是所有者)
g: group,权限对象为所有者和组
o: other,权限对象为其他用户
r: read = 4,读权限
w: write = 2,写权限
e: execute = 1,执行权限
+: u/g/o与r/w/e组合使用,加入
-:删除
=:设置W
4: 仅读
5: 仅读+执行
6: 仅读+写
7: 读+写+执行
23、 kill: 杀死进程
kill参数:
- -SIGHUP: 启动被终止的进程
- -SIGINT: 相当于ctrl+c,中断进程
- -SIGKILL: 强制中断进程
- -SIGTERM: 以正常的结束进程方式来终止进程
- -SIGSTOP: 相当于ctrl+z,暂停进程
linux:vi\vim编译器
linux:vi\vim编译器
一:vi\vim编译器介绍
1、vi\vim是visualinterface的简称
是Linux中最经典的文本编辑器同图形化界面中的 文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择
vim 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。
二:vi\vim编译器的三种工作模型
1、命令模式:命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能.此模型下,不能自由进行文本编辑。
2、输入模式:也就是所谓的编辑模式、插入模式此模式下,可以对文件内容进行自由编辑。
3、底线命令模式:以:开始,通常用于文件的保存、退出。
如图所示:运用原理。
三:vi\vim的基本命令
1、vi 文件路径(不常用)
2、vim 文件路径(常用)
vim兼容全部的vi功能,后续全部使用vim命令
- .如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
- .如果文件路径表示的文件存在,那么此命令用于编辑已有文件
如下图所示,进行编译:
第一步:ls查看文件,vim hello.txt 编辑不存在的文件。
第二步:回车,进入命名模式
第三步:点i、a、o随便点一个就进入了输入模式
第四步:点Esc键,又进入命令模式
第五步:点:进入底线命令模式
第六步:输入wq,w指的是保存,q指的是退出
第七步:回车,就回到主页,输入ls查看,后发现我们新建立了一个文件。
第八步:查看文件里面的内容输入 cat hello.txt 查看文件内容。
我们就编辑好了
四:快捷键
1、命令模式快捷键
命令模式 i 在当前光标位置进入输入模式
命令模式 a 在当前光标位置之后进入输入模式
命令模式 I 在当前行的开头,进入输入模式
命令模式 A 在当前行的结尾,进入输入模式
命令模式 o 在当前光标下一行进入输入模式
命令模式 O 在当前光标上一行进入输入模式
输入模式 Esc 任何情况下输入esc 都能回到命令模式
命令模式 键盘上、键盘k 向上移动光标
命令模式 键盘下、键盘j 向下移动光标
命令模式 键盘左、键盘h 向左移动光标
命令模式 键盘右、键盘1 向后移动光标
命令模式 0 移动光标到当前行的开头
命令模式 $ 移动光标到当前行的结尾
命令模式 pageup(PgUp) 向上翻页
命令模式 pangdown(PgDn) 向下翻页
命令模式 / 进入搜索模式
命令模式 n 向下继续搜索
命令模式 N 向上继续搜索
命令模式 dd 删除光标所在行的内容
命令模式 ndd n是数字,表示删除当前光标向下n行
命令模式 yy 复制当前行
命令模式 nyy n是数字,复制当前行和下面的n行
命令模式 p 粘贴复制的内容
命令模式 u 撤销修改
命令模式 ctrl+r 反向撤销修改
命令模式 gg 跳到首行
命令模式 G 跳到行尾
命令模式 sG 从当前行开始,向下全部删除
命令模式 dgg 从当前行开始,向上全部删除
命令模式 d$ 从当前光标开始,删除到本行的结尾
五:底线命令模式
底线命令模式 :wq 保存并退出
底线命令模式 :q 仅退出
底线命令模式 :q! 强制退出
底线命令模式 :w 仅保存
底线命令模式 :set nu 显示行号
底线命令模式 :set paste 设置粘贴模式
Linux:超级管理员(root用户)创建用户、用户组
root用户:
拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。
演示:
1、使用普通用户在根目录下创建文件夹(失败)
2、切换到root用户后,继续尝试(成功)
3、普通用户的权限,一般在其HOME目录内是不受限的
4、一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限
su和exit命令
su命令就是用于账户切换的系统命令,其来源英文单词tSwitch User
语法: su [-] [用户名]
- 1、- 符号是可选的,表示是否在切换用户后加载环境变量,建议带上
- 2、参数:用户名表示要切换的用户,用户名也可以省略,省略表示切换到root
- 3、切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键: ctrl + d
- 4、使用普通用户,切换到其它用户需要输入密码,如切换到root用户
- 5、使用root用户切换到其它用户,无需密码,可以直接切换
sudo命令
在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。
但是我们不建议长期使用root用户,避免带来系统损坏。
我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。
语法:sudo 其它命令
1、在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权
2、但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证
普通用户配置sudo认证:
切换到root用户执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
在文件的最后添加:
1、其中最后的NOPASSWD:ALL表示使用sudo命令,无需输入密码。
2、输入:,最后通过wq保存。
切换到普通用户,输入sudo 在根目录下创建文件,这样就有临时root权限
配置用户和用户组
Linux系统中可以:
- 1、配置多个用户
- 2、配置多个用户组
- 3、用户可以加入多个用户组中
用户组管理
以下命令需root用户执行
1、创建用户组
groupadd 用户组名
2、删除用户组
groupdel 用户组名
3、创建用户
useradd[-g -d] 用户名
a、选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存
在同名组,必须使用-g
b、-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
4、删除用户
userdel[-r] 用户名
a、选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
5、查看用户所属组
id [用户名]
a、参数:用户名,被查看的用户,如果不提供则查看自身
6、修改用户所属组
usermod -aG
a、用户组 用户名将指定用户加入指定用户组
查看用户组、用户名的命令
getent
使用getent命令,可以查看当前系统中有哪些用户
语法:getent passwd
使用getent命令,同样可以查看当前系统中有哪些用户组
语法:getent group
包含3份信息,组名称:组认证(显示为x):组ID
linux:认识权限信息、修改权限
权限细节
总共分为10个槽位
如下图所示:
序号1,表示文件、文件夹的权限控制信息
序号2,表示文件、文件夹所属用户
序号3,表示文件、文件夹所属用户组
举例:drwxr-xr-x表示:
- 1、这是一个文件夹,首字母d表示(-是文件)
- 2、所属用户的权限是:有r有w有x,rwx
- 3、所属用户组的权限是:有r无w有x,r-x
- 4、其它用户的权限是:有r无w有x,r-x
rwx
那么,rwx到底代表什么呢?
- 1、r表示读权限
- 2、w表示写权限
- 3、x表示执行权限
针对文件、文件夹的不同,rwx的含义有细微差别
- 1、r,针对文件可以查看文件内容
针对文件夹,可以查看文件夹内容,如ls命令
- 2、 w,针对文件表示可以修改此文件
针对文件夹,可以在文件夹内: 创建、删除、改名等操作
- 3、x,针对文件表示可以将文件作为程序执行
针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
chmod命令修改权限
使用chmod命令,修改文件、文件夹的权限信息。
注意,只有文件、文件夹的所属用户或root用户可以修改。
语法: chmod [-R] 权限 文件或文件夹
选项:-R,对文件夹内的全部内容应用同样的操作
示例
chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为rwxr-x--x
其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限
演示:
chmod -R u=rwx,g=rx,o=x test,将文件夹test以及文件夹内全部内容权限设置为:rwxr---x
快捷写法:
chmod 751 hello.txt,什么是751
权限的数字序号
权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户
权限。数字的细节如下:r记为4,w记为2,x记为1,可以有:
- 1、0:无任何权限,即---
- 2、1:仅有x权限,即--x
- 3、2:仅有w权限,即-w-
- 4、3:有w和x权限,即-wx
- 5、4:仅有r权限,即r--
- 6、5:有r和x权限,即r-x
- 7、6:有r和w权限,即rw-
- 8、7:有全部权限,即rwx
如751,rwx(7)r-x(5)--x(1)
例:将hello.txt的权限修改为: r-x--xr-x,数字序号为:
chmod 515 hello.txt
chown命令,修改文件,文件夹的所属用户和用户组
普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行
语法: chown [-R] [用户][:][用户组] 文件或文件夹
1、选项,-R,同chmod,对文件夹内全部内容应用相同规则
2、选项,用户,修改所属用户
3、选项,用户组,修改所属用户组
4、:用于分隔用户和用户组
演示:
将1.txt文件修改到root用户下
将1.txt文件修改到root用户组下
将1.txt文件c'd还原的jianbing用户下: