1.CentOS 7(在前面的文章)
2.FinalShell
1.查看CentOS的ip地址
①鼠标右键,点击打开终端
②输入命令,并查看ip
2.打开FinalShell
①点击如图图标
②点击如图图标,选择ssh连接
③输入刚才查看CentOS的IP地址,用户名以及密码(名称可随便填写)
④然后出现如图连接,双击即可连接,出现如图内容即说明成功连接
通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态。如果之后系统损坏,可以恢复快照,就不用重新装系统了。
①回到VMware,点击虚拟机
②下拉菜单中,选择快照->拍摄快照
③点击快照->快照管理器就可以查看拍摄的快照,如需转到快照,点击要转的快照,再点击转到即可恢复
1.Linux的目录结构
Linux和Windows的目录结构都是树形结构,Windows可以拥有多个盘符,如C盘、D盘等,但是Linux系统没有盘符的概念,只有一个根目录 /,所有文件都在根目录下。
2.Linux路径的描述方式
在Linux系统中,路径之间的层级用/来表示,例如/usr/local(开头的/表示根目录)
在Windows系统中,路径之间的层级用来表示,例如D:data
3.Linux命令基础格式
在Linux中,命令的通用格式为:command [-options] [parameter]
command:命令本身
-options:[可选,非必填]命令的一些选项,可以更精细的控制命令
parameter:[可选,非必填]命令的参数,大部分用于命令的指向目标
4.相对路径和绝对路径
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以 / 开头
如图所示,上面框内为相对路径,下面为绝对路径,但最后进到的目录都是相同的
5.特殊路径符
• . 表示当前目录,比如 cd https://blog.csdn.net/weixin_48886225/article/details/bin 表示切换到当前目录下的 bin 目录内,和 cd bin 效果一致
• .. 表示上一级目录,比如: cd .. 即可切换到上一级目录, cd https://blog.csdn.net/weixin_48886225/article/.. 切换到上二级的目录
• ~ 表示 HOME 目录,比如: cd ~ 即可切换到 HOME 目录或 cd ~/Desktop ,切换到 HOME 内的 Desktop
目录
首先,我们要了解HOME目录和工作目录这两个概念。
HOME目录是每个Linux的操作用户的个人账户目录,路径为/home/用户名
工作目录是当前所在的目录
ls命令的作用是列出目录下的内容
• ls [-a -l -h] [Linux路径]
• -a -l -h 是可选的选项
• Linux路径是此命令可选的参数
当不使用选项和参数时,直接使用ls时,就会以平铺的方式列出当前工作目录下的内容
①使用选项-a时,显示目录内隐藏文件,图中以.开头的文件都是隐藏文件
②使用选项-l时,文件以列表方式展现
此外,ls选项也可以组合使用
这样就同时以列表的方式列出了隐藏文件
③选项-h表示以易于阅读的方式,列出文件的大小,必须要与-l一起使用,同时在后面写参数/就可查看根目录下的信息
cd命令用来改变当前所在的工作目录
cd [Linux路径]
从当前目录切换到根目录
pwd命令用来查看当前工作目录
pwd命令没有选项,没有参数,可以直接使用
mkdir命令用来创建新的目录(文件夹)
mkdir [-p] Linux路径
参数必填,表示Linux的路径,也可以理解为文件夹的名称
-p 选项用于创建连续多层目录,自动创建不存在的父目录
可以看出在当前工作目录下没有app目录,在添加选项-p后自动创建了父目录,同时创建目录时要在HOME目录下进行,在HOME目录外是没有权限创建目录的
touch命令用来创建文件
语法:touch Linux路径
touch命令无选项,参数必填,表示要创建的文件的路径,相对、绝对、特殊路径符都可以使用
cat命令,用来查看文件内容
语法:cat Linux路径
cat命令无选项,路径必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以使用
在刚才创建的good.txt中写入一句话,然后查看文件的内容
more命令也是用来查看文件的,与cat不同的是
cat是直接将内容全部展示出来
more是一页一页的展示
语法:more Linux路径
more命令无选项,路径必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以使用
下面可以看到查看了文件内容的多少,按空格翻页,按q退出
cp 命令可以用于复制文件或文件夹
语法:cp [-r] 参数1 参数2
-r 选项:可选,用于文件夹的复制
参数1:Linux路径,表示被复制的文件或文件夹
参数2:Linux路径,表示要复制到的地方
mv命令可以用于移动文件或文件夹
语法:mv 参数1 参数2
参数1 表示Linux路径,表示被移动的文件或文件夹
参数2 表示Linux路径,表示被移动到的位置,如果目标不存在,则进行改名,确保目标存在
可以看到把文件test.txt成功移动到了tets文件夹里
如果目标不存在,则有改名的效果
rm 命令可用于删除文件、文件夹
语法:rm [-r -f] 参数1 参数2……参数n
-r选项用于删除文件夹
-f选项用于强制删除
普通用户删除时不会弹出提示
root用户删除时会提示
参数表示要删除的文件路径,用空格分隔
-r -f选项可以同时使用
rm命令支持通配符*,用来模糊匹配
符号 * 表示通配符,即匹配任意内容(包含空),示例:
test* ,表示匹配任何以 test 开头的内容
*test ,表示匹配任何以 test 结尾的内容
*test* ,表示匹配任何包含 test 的内容
补充一句,rm是一个非常危险的命令,尤其是在root用户下,rm -rf /* 的效果相当于格式化c盘,不建议在真实环境中使用,想试试可以在虚拟机中使用,然后恢复快照。
which命令用来查找命令的程序文件存放位置
之前学习的命令都是一个可执行的程序,等同于Windows中.exe
语法:which 要查找的命令
find命令用来搜索指定文件
语法:find 起始路径 -name "被查找的文件名"
这里我们切换为root用户,如果在根目录下搜索的话,普通用户的权限是不够的
su - [用户名] 切换root用户可以不用写用户名
该命令的意思是从~目录也就是root用户的home目录下搜索名字为test.txt文件
同时,find命令也支持通配符*来做模糊搜索
find命令按文件大小查找文件
语法:find 查找目录 -size +|-[kMG]
+ 、 - 表示大于和小于
n 表示大小数字
kMG 表示大小单位, k( 小写字母 ) 表示 kb , M 表示 MB , G 表示 GB
示例:
查找小于 10KB 的文件: find / -size -10k
查找大于 100MB 的文件: find / -size +100M
查找大于 1GB 的文件: find / -size +1G
可以通过 grep 命令,从文件中通过关键字过滤文件行。
语法:grep [-n] 关键字 文件路径
选项 -n ,可选,表示在结果中显示匹配的行的行号
参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来
参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
现在,创建一个名为“test.txt”的文本
然后通过图形化界面输入如下内容
然后输入
想要查看想查找内容的行号就会用到-n参数
可以通过 wc 命令统计文件的行数、单词数量等
语法:wc [-c -m -l -w] 文件路径
选项, -c ,统计字节数
选项, -m ,统计字符数
选项, -l ,统计行数
选项, -w ,统计单词数
参数,文件路径,被统计的文件,可作为内容输入端口
不带选项,统计文件
前面三列分别为:行数、单词数、字节数
统计字节数
统计字符数
统计行数
统计单词数
管道符的含义是将管道符左边的命令的结果,作为右边命令的输入
这条命令的意思就是,先查看test.txt文件的内容,然后用grep命令过滤文件内容里的”test“
很多命令都可以使用管道符来嵌套使用,只要记住左边的结果作为右边的输入就好
可以使用echo来输入指定内容
语法:echo 输入内容
输入带有空格 / 等特殊符号时,建议加""把内容包围起来
输入方式为小写模式下左上角波浪号键
当需要输出当前的工作目录时,直接输入系统会认为想要输出"pwd"这三个字母
这时候就要用到飘号来把他当作命令执行
>,将左侧命令的结果,覆盖写入到右侧指定的文件中
>>,将左侧命令的结果,追加写入到右侧指定的文件中
tail命令可以查看文件尾部的内容,跟踪文件的最新更改
语法:tail [-f -num] Linux路径
Linux路径,表示被跟踪的文件路径
-f,表示持续跟踪
-num,表示查看尾部行数,默认为10行
查看/var/log/vmware-network.log这个文件的尾部10行
加上-num
加上-f
可以看到文件的内容是这样的
然后输入
可以看到最下边的框,表示程序一直在执行中,然后复制标签,打开另一个界面后,尝试在里面写入东西,看看这边会有什么变化
可以看到在右边写入abcd后,左边直接就跟踪到了,想要停止跟踪,按ctrl+c就可以停止
vi/vim是linux里的文本编辑器,vim是vi的加强版,不仅拥有vi的所有功能还具备shell程序编辑的功能,可以通过颜色来辨别语法的正确性
通过vi/vim编辑文件,如果文件存在,会编辑已有文件,如果文件不存在,将会创建文件后进行编辑
进入文件输入i,进入编辑模式,可以看到下面变成了插入,现在就可以在文件里输入内容了
想要退出时输入esc,然后输入:wq(w是保存,q是退出),然后回车即可
还有一些例如
:q 仅退出
:w 仅保存
:q! 强制退出
任何命令都支持--help选项,可以通过这个选项,查看命令帮助
例如查看ls命令的选项有哪些,就可以使用
如果想要查看命令的详细选项,可以通过man命令查看
su命令用户切换用户
语法:su [-] 用户名
符号 - 表示在切换用户是是否加载环境变量,可不加,加上更好
当切换到root用户时,root可以省略
exit命令退回上一个用户,也可以使用快捷键ctrl+d
如果是普通用户,切换到其他用户需要输入密码,如果是root用户,则可以直接切换
因为root用户权限过大,可能出现操作失误的情况,这时就可以使用sudo命令,sudo命令为普通命令授权,临时以root用户身份执行
语法:sudo 其他命令
但不是所有用户都有权利使用sudo,需要为普通用户配置sudo认证
①切换到root用户
②使用vi打开/etc/sudoers,可以直接使用visudo命令
③在文件最后添加
红框内最前面的用户为你登录到centos系统的用户,输入完成后按esc退出编辑模式,再输入:wq保存并退出
在linux系统中可以配置多个用户、多个用户组并且用户可以加入多个用户组中
在linux系统中关于权限有2个级别,分别为,针对用户的权限控制、针对用户组的权限控制
①用户组
Ⅰ 创建用户组
(当前操作以及下列操作均需切换到root用户下进行)
Ⅱ 删除用户组
②用户
Ⅰ创建用户
useradd[-g -d] 用户名
-g指定用户的组,如不指定-g,会创建同名的组并加入,指定-g时需要指定组存在
-d指定用户home路径,如不指定,则为默认路径/home/用户名
Ⅱ 删除用户
userdel[-r] 用户名
-r 删除用户的home目录,不使用-r则保留
Ⅲ id[用户名]
输入用户名则查看该用户的id,不输入则查看当前用户id
Ⅳ 修改用户所属组
usermod -aG 用户组 用户名,将指定用户加入指定组
使用getent命令可以查看当前系统中有哪些用户
一共有7个信息,分别为:
用户名 : 密码 (x): 用户 ID: 组 ID: 描述信息 ( 无用 ):HOME目录 : 执行终端 ( 默认 bash)
同样也可以查看有哪些组
一共有3个信息,分别为:
组名称 : 组认证 ( 显示为 x): 组 ID
通过ls -l来查看文件详细信息
可以看到最前面的就是这个文件的权限,中间为所属用户,后面为所属组
可以看到第一个红框内一共有10位,要把它分成4部分来看,以下图为例
首先第一位是一个部分,可以看到图中是 d,还有 - 和 l ,d表示文件夹,-表示文件,l表示软链接
其次是后面的9位每3位为一组,分别代表所属用户权限、所属用户组权限和其他用户权限
其中r表示读权限,w表示写权限,x表示执行权限,如图后面三组分别为rwx、rwx、r-x,前两组rwx表示所属用户以及所属用户组都有读、写、执行的权限,最后一组r-x表示其他用户有读和执行的权限,没有写的权限,没有的权限用-表示
①chmod
使用chmod来修改文件、文件夹的权限
语法:chomd [-R] 权限 文件或文件夹
-R的意思为对文件夹内所有文件应用同样的操作
修改test.txt文件的权限
其中: u 表示 user 所属用户权限, g 表示 group 组权限, o 表示 other 其它用户权限
但是这样写通常很麻烦,还有一种用数字代替的简单写法
权限可以用 3 位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。
数字的细节如下: r 记为 4 , w 记为 2 , x 记为 1 ,可以有:
0 :无任何权限, 即 ---
1 :仅有 x 权限, 即 --x
2 :仅有 w 权限 即 -w-
3 :有 w 和 x 权限 即 -wx
4 :仅有 r 权限 即 r--
5 :有 r 和 x 权限 即 r-x
6 :有 r 和 w 权限 即 rw-
7 :有全部权限 即 rwx
把work.txt的权限都改为rwx就可以这样写
②chown
chown命令修改文件、文件夹的所属用户和用户组
语法:chown [-R] [用户] [:] [用户组] 文件或文件夹
-R的意思为对文件夹内所有文件应用同样的操作
(使用此命令需要切换到root用户下)
将test.txt所属用户修改为centos
将test.txt的所属用户组修改为centos
(要注意填写:)
将test.txt所属用户和用户组修改为root
通过history命令来查看历史输入过的命令
rpm包软件管理器,用于自动化安装Linux软件,并可以自动解决依赖问题
语法:yum [-y] [install | remove | search]
-y 自动确认,无需手动确认安装或卸载
install 安装 remove 卸载 search 搜索
(使用yum命令时需要root权限以及需要联网)
该命令用于管理服务
语法:systemctl start | stop | status | enable | disable 服务名
start 启动 stop 停止 status 查看状态 enable 开机自启 disable 关闭开机自启
该命令用于在系统中创建软链接,可以将文件和文件夹链接到其他位置,相当于windows系统中的快捷方式
语法:ln -s 参数1 参数2
-s 用于创建软链接 参数1 被链接的文件或文件夹 参数2 要链接去的地方
通过该命令查看系统时间
语法:date [-d] [+格式化字符串]
-d 按照给定的字符串显示日期,一般用于日期计算
格式化字符串:通过特定的字符串标记,来控制显示的日期格式
%Y 年
%y 年份后两位数字 (00..99)
%m 月份 (01..12)
%d 日 (01..31)
%H 小时 (00..23)
%M 分钟 (00..59)
%S 秒 (00..60)
%s 自 1970-01-01 00:00:00 UTC 到现在的秒数
linux系统中有两种压缩格式,一种为.tar另一种为.gz,也有写作.tar.gz,tar是将文件简单封装到一个文件内,体积并没有减少多少,gz则会极大减少文件的体积
语法:tar [-c -v -x -f -z -C] 参数1 参数2……参数n
-c ,创建压缩文件,用于压缩模式
-v ,显示压缩、解压过程,用于查看进度
-x ,解压模式
-f ,要创建的文件,或要解压的文件, -f 选项必须在所有选项中位置处于最后一个
-z , gzip 模式,不使用 -z 就是普通的 tar 格式
-C ,选择解压的目的地,用于解压模式
(-z一般在最前面 -f必须在最后面 -C指定路径时要与其他选项分开)
这样也可以看出使用gz压缩后体积明显变小
解压时只需要把c换成x即可
压缩为.zip的压缩包
语法:zip [-r] 参数1 参数2……参数n
-r 被压缩的文件包含文件夹时使用
unzip解压
加选项-d时,解压到指定路径,不指定,解压到当前目录
(由于篇幅较长,文中如果出现错误,请大家指正)