Linux操作系统

一、Linux系统概述

1.1Linux操作系统的组成

Linux操作系统是由Linux系统内核和系统级应用程序两部分组成的
1、内核提供系统核心的功能:如调度CPU、调度内存、调度系统文件、调度网路通讯、调度IO
2、系统级应用程序可以理解为:出厂时自带的程序,可提供用户快速上手的程序操作系统,如文件管理系统,系统播放器,图片查看等。

1.2 Linux系统环境——虚拟机

为了方便学习,我们需要将Linux操作系统安装在虚拟机上进行学习,而不是将自己的电脑设置成Linux操作系统,它是不适合我们日常办公使用的,所以我们需要借助虚拟机学习。

1.2.1什么是虚拟机

就是通过我们已有的操作系统,电脑windows通过一系列的虚拟化软件,得到虚拟的硬件,并给虚拟的硬件安装真实的操作系统,那么就得到一台虚拟的电脑。

1.2.3安装虚拟机

此次安装的虚拟机时VM虚拟机,在官网中找到适用的版本,这里可以免费使用一个月,但是大家可以动动自己的小手,去找一些安装的教程,把他破解了,以方便我们长期使用。
在这里为大家提供一个博主的安装过程以作大家参考
https://blog.csdn.net/qq_45743985/article/details/121152504

如果大家在安装过程中,Linux虚拟机在安装CentOS 7 时配置“网络和主机名”时显示"以太网(ens33,被拔出)",此时大家也不要着急。
Linux操作系统_第1张图片
Linux操作系统_第2张图片
这样设置之后,不出意外的话,就解决了此问题了,如果还是没有办法,参与评论留言,看看大家是怎么解决的。也可以留言给小编。

1、虚拟机centOS 7显示“以太网(ens33,被拔出)”的原因是VMware DHCP Service”和”VMware NAT Service这两个服务被禁用了。
选中“计算机”,左键“管理”,打开计算机管理窗口,点击“服务和应用”,选择“服务”,找到VMware DHCP Service”和”VMware NAT Service“服务。如果这样操作后还是不可以,那么就换种方式。
2、虚拟机-“编辑”-“虚拟网络编辑器”,选择“还原默认设置”,这时它会自动删除所有的VMware网络服务和虚拟网卡并且重新安装服务

1.3 操作系统的使用

对于操作系统的使用有两种方式,一种是图形话的形式,另一种是命令的形式。无论是那种操作系统他都支持这两种方式。
图形化:使用操作系统提供的图形话页面,以获得图形化反馈的形式去使用操作系统。
命令行:使用操作系统提供的各类命令,以获得字符反馈的形式使用操作系统。
那么在人们使用计算机的过程中,图形化的方式受到了广大人们的青睐,但是在Linux操作系统中,由于图形化界面的方式没有得到优化,并没有重点发力,所以在Linux操作系统中的图形化界面不稳定并且不好用,所以在使用Linux操作系统和windows操作系统的方式是相反的,反而命令行使用的更加广泛,使用命令行的形式,效率更高,更加直观,并且资源占用率低,所以使用名列行的形式。
综上,在学习的过程中采用命令行的形式去学习Linux操作系统

1.3FinalShell软件

既然选择使用命令行的形式去学习,那么就可以借助第三方的软件操作学习,丰富我们的学习工具,我们使用VMware软件可以得到一个Linux虚拟机,但是在这里操作Linux命令的页面还是不太方便,主要是不方便我们类容的赋值粘贴跨越VMware,文件的上传与下载跨越VM,总之和Linux的各类交互都是不方便的。
下载方式,进入FinalShell官网,根据自己电脑的操作系统下载自己对应的版本就可以了。
官方网址: hostbuf.com ----->傻瓜式安装

1.4 远程连接

首先打开我们的虚拟机,在虚拟机桌面鼠标右击,点击在终端打开,输入第一个命令,回车就可以看到我们的ip,子网掩码等相关的信息,记住ens33下的inet地址,也就是该虚拟机的主机号,

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.78.128  netmask 255.255.255.0  broadcast 192.168.78.255
        inet6 fe80::981b:f62a:19b7:5e38  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e3:cf:80  txqueuelen 1000  (Ethernet)
        RX packets 879014  bytes 175682467 (167.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 917248  bytes 85612836 (81.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 8  bytes 696 (696.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 696 (696.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:db:71:92  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# 

然后打开我们第三方软件,点击屏幕左上角的一个文件夹形式图标,打开后继续点击左上角第一个文件夹形式图标,打开后点击SSH连接(Linux),Linux操作系统_第3张图片
名称自己随便填写一个,主机也就是我们上面所记录下的ip地址,用户名和密码是自己安装的虚拟机所设置的用户和密码。完成后双击就可以实现远程连接了。显示主机连接成功,此次连接就成功了。
我们可以验证两边输入命令ifconfig所得到的结果是否一样,显然结果是一样的,此时我们就可以将我们的虚拟机最小化(不是关闭),在我们的第三方软件上进行我们的学习实操。

1.5 虚拟机的快照

由于我们初学者,对知识点不熟悉,可能会出现一些操作失误的现象,这时就可能破话操作系统,但是快照就可以帮助我们恢复之前的样子,相当于给我们的文件进行一个备份的操作,如果操作失误,就可以转到之前所作的快照恢复到原来的状态。
Linux操作系统_第4张图片
拍摄一张快照,点击拍摄快照
Linux操作系统_第5张图片
然后关闭,这样我们就拍摄好了一张快照,下次由于自己的操作失误,快照就能排上用场了,到时候点击我们的快照,然后点击转到,就可以恢复到我们拍摄快照的状态。

1.6Linux操作系统的目录结构

Linux操作系统相对于Windows操作系统还是有很多区别的,在Windows可以分A,B, C…等多个盘符,二Linux操作系统则只有一个根目录/,被称作顶级目录,根目录。
那么表示路径的时候Linux操作系统就是开头是/----->表示根目录,必须以/开头,出现在中间则表示层次关系。
Linux操作系统_第6张图片

二、Linux基础命令

1、命令和命令行

前面已经介绍到,我们学习Linux操作系统是采用命令行的形式进行学习,而不是图形化界面操作,那么什么是命令,什么是命令行呢?

1.1命令

他是Linux程序,一个命令就是一个Linux程序,命令没有图形化界面,它可以在终端也就是命令行中提供字符化的反馈。

1.2命令行

所谓i的命令行,就类似与图形化界面,但是他是一种命令提示符页面,以纯字符的形式操作系统,使用各种字符化命令对操作系统发出操作指令。

1.3Linux命令基础格式

无论是什么命令,都有其对应的用途和基本的格式,那么Linux的通用格式如下:

command  [ -options ]  [ parameter ]
  • command : 代表命令本身
  • options:他是可选的,非必填,是命令的一些选项,可以通过控制命令的行为细节
  • parameter也是可选的,他是命令的参数,用于命令的目标指向等

实例

	ls  -l /home/mylinux

其中,ls是命令本身,,-l是选项,/home/mylinux是参数,意思就是以列表的形式,显示/home/mylinux目录内的内容。

1.4 ls命令

  1. ls命令的作用:在命令行中,以平铺的形式,展示当前目录下的所有内容—文件或者文件夹。

  2. HOME目录
    我们使用Windows操作系统时,可以发现我们的每一个磁盘目录都有自己的专属目录,也就是说每个人都对应一个总的目录来存放你的文件,同理在Linux操作系统中,也有自己的专属目录,就是在打开虚拟机的时候,有一个HOME文件夹,那么这个就是用户的家目录,/home/用户名。

  3. 展示ls命令

[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面

  1. 参数选项
    我们在ls后面加上路径就可以展示所加路径的目录结构了
[root@localhost ~]# ls /
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

  1. ls后面可以跟的选项
    ls 可以跟选项 - a , - l, - h

-a 显示隐藏的文件,在linux中隐藏的文件在文件名前面加上.

[root@localhost ~]# ls -a
.   anaconda-ks.cfg  .bash_logout   .bashrc  .config  .dbus      .ICEauthority         .local  .tcshrc  模板  图片  下载  桌面
..  .bash_history    .bash_profile  .cache   .cshrc   .esd_auth  initial-setup-ks.cfg  .pki    公共     视频  文档  音乐

-l 以列表的形式展示内容,并展示更多是信息,由原来的平铺变为竖向展示

[root@localhost ~]# ls -l
总用量 8
-rw-------. 1 root root 1830 7月  22 22:06 anaconda-ks.cfg
-rw-r--r--. 1 root root 1878 7月  22 22:07 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 7月  22 22:07 公共
drwxr-xr-x. 2 root root    6 7月  22 22:07 模板
drwxr-xr-x. 2 root root    6 7月  22 22:07 视频
drwxr-xr-x. 2 root root    6 7月  22 22:07 图片
drwxr-xr-x. 2 root root    6 7月  22 22:07 文档
drwxr-xr-x. 2 root root    6 7月  22 22:07 下载
drwxr-xr-x. 2 root root    6 7月  22 22:07 音乐
drwxr-xr-x. 2 root root    6 7月  22 22:07 桌面

那么我们的选项内容是可以混合使用的,以下这三种方式都是可以的

-l -a   
-la
-al

-h用于显示文件的大小,但是它必须和-l组合使用,

[root@localhost ~]# ls -lh
总用量 8.0K
-rw-------. 1 root root 1.8K 7月  22 22:06 anaconda-ks.cfg
-rw-r--r--. 1 root root 1.9K 7月  22 22:07 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 7月  22 22:07 公共
drwxr-xr-x. 2 root root    6 7月  22 22:07 模板
drwxr-xr-x. 2 root root    6 7月  22 22:07 视频
drwxr-xr-x. 2 root root    6 7月  22 22:07 图片
drwxr-xr-x. 2 root root    6 7月  22 22:07 文档
drwxr-xr-x. 2 root root    6 7月  22 22:07 下载
drwxr-xr-x. 2 root root    6 7月  22 22:07 音乐
drwxr-xr-x. 2 root root    6 7月  22 22:07 桌面

1.5cd命令和pwd命令

cd命令是用来切换工作目录的,他的语法格式如下

cd  [ Linux工作的目录 ]     它没有选项,只有参数

这个工作的目录是可选的,当我们不写的时候,它代表切换到当前用户的home目录下,如果使用参数就表示切换到指定的路径。

[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  redis-7.0.12.tar.gz  公共  模板  视频  图片  文档  下载  音乐  桌面
[root@localhost ~]# cd /
[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@localhost /]# cd
[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  redis-7.0.12.tar.gz  公共  模板  视频  图片  文档  下载  音乐  桌面

pwd命令,它既没有选项也没有参数,即直接使用,它的作用就是输出当前的工作目录。

[root@localhost ~]# pwd
/root

1.6相对路径和绝对路径

在目录进行切换的过程中我们知道使用cd命令进行目录的切换,所有我们有两种方式进行目录的切换,一种是cd命令后面跟绝对路径,一种是跟相对路径,所谓的绝对路径就是具体的路径,需要带上根目录,而相对路径就是在cd命令后面跟目录名称
如下所示,切换到目录公共使用这两种方式都可以

[sun@localhost ~]$ cd 公共
[sun@localhost 公共]$ pwd
/home/sun/公共
[sun@localhost 公共]$  cd /home/sun/公共
[sun@localhost 公共]$ pwd
/home/sun/公共

特殊的路径符
. 他表示当前目录,
…表示上一层目录
~表示用户的home目录
那么我们可以根据上面的桑格特殊的路径符进行目录的相互切换。

1.7 mkdir命令

该命令的作用就是用来创建新的目录(文件夹)
语法格式

mkdir   [ - p ]  Linux路径
参数是必填的,表示要创建的目录路径,相对绝对路径特殊路径字符都可以
-p是可选的,它的作用就是创建不存在的父目录,适用于创建多层级的目录

如下创建一个目录在文档下面

[sun@localhost ~]$ mkdir 文档/test
[sun@localhost ~]$ cd 文档
[sun@localhost 文档]$ ls
test

使用-p选项

[sun@localhost 文档]$ ls
test
[sun@localhost 文档]$ mkdir -p test/a/b
[sun@localhost 文档]$ ls
test
[sun@localhost 文档]$ cd test
[sun@localhost test]$ ls
a
[sun@localhost test]$ cd a
[sun@localhost a]$ ls
b

1.8 touch,cat,more命令

  • touch命令

touch Linux路径 (参数是必须填写的,表示要创建文件的目录)

  • cat命令

cat Linux路径 (参数必填,表示要查看的文件路径,相对路径和绝对路径都是可以的)

  • more命令

more Linux文件路径 (表示要查看的文件路径,同样相对路径和绝对路径都是可以的,相对于cat命令,它可以使用空格进行翻页查看,使用q退出查看)

1.9 cp,mv,rv命令

  • cp命令

    它用于赋值文件或者文件夹的

语法格式 cp [ - r ] 参数1 参数2

-r选项,可选用于复制文件夹使用,表示递归,参数一,Linux路径表示复制的文件或者文件夹,参数二,也是路径,表示要复制的地方

  • mv命令
    用于移动文件文件夹

mv 参数一 参数二
参数一表示被移动文件或者文件夹的位置,参数二表示要移动的地方,如果要移动的地方不存在,就是给文件改名。

[sun@localhost ~]$ ls
test  test01.txt  公共  模板  视频  图片  文档  下载  音乐  桌面
[sun@localhost ~]$ mv test01.txt test/
[sun@localhost ~]$ ls test
test01.txt

-rm命令
用于删除文件或者文件夹的

rm [ -r -f] 参数一 参数二 …可以跟多个参数,删除多个
选项都是可选的,-r表示文件夹删除,-f则表示强制删除(一般用于root用户因为要提示,加上后就直接删除了不会提示)
参数也支持通配符加上*,a*以a开头,*a以a结尾, a包含a的

[sun@localhost test]$ ls
1a.txt  a1.text  abc  a.txt  ca.txt
[sun@localhost test]$ rm a*
[sun@localhost test]$ ls
1a.txt  ca.txt
[sun@localhost test]$ rm *a*
[sun@localhost test]$ ls

1.10 查找命令

  • which命令

我们前面学习的Linux命令,实质上都是一个个可执行的二进制可执行程序
和windows系统中的.exe文件是同一个意思,我们可以通过which命令进行查找命令所在的目录

which 命令名

[sun@localhost test]$ which pwd
/usr/bin/pwd
[sun@localhost test]$ which rm
/usr/bin/rm
  • find命令

该命令用于查询文件,两种方式一种是按照文件名查找,一种是按照文件大小查找 ——>支持通配符查找

按名字

find 起始的路径 -name “查找的名字” -->引号可加可不加

[root@localhost test]# find / -name test
/var/lib/docker/overlay2/8eb869ddda0cfbd86248dacafcb571b80c4d8445afa8653de3be5a8d3c298b90/diff/usr/bin/test
/usr/bin/test
/usr/lib/modules/3.10.0-1160.el7.x86_64/kernel/drivers/ntb/test

[root@localhost test]# find / -name "test"
/var/lib/docker/overlay2/8eb869ddda0cfbd86248dacafcb571b80c4d8445afa8653de3be5a8d3c298b90/diff/usr/bin/test
/usr/bin/test

按文件大小

find 起始的路径 -size +|-[KMG]

[root@localhost test]# find / -size +100M
/usr/lib64/firefox/libxul.so
[root@localhost test]# ls -lh /usr/lib64/firefox/libxul.so
-rwxr-xr-x. 1 root root 116M 7月   8 2020 /usr/lib64/firefox/libxul.so

三、其他命令

1.1 grep命令

该命令的作用是从文件中过滤关键字过滤文件行

grep [ - n] 关键字 文件路径
-n是可选项,表示查找关键字的行号,参数也就是关键字是必填的,路径也是必填的,表示文件的路径。参数可以作为管道符的输入。

[sun@localhost ~]$ ls
test  test.txt  text  公共  模板  视频  图片  文档  下载  音乐  桌面
[sun@localhost ~]$ vim test.txt 
[sun@localhost ~]$ cat test.txt 
hello word ,java 
i will be find a good job
[sun@localhost ~]$ grep "a" test.txt 
hello word ,java is a very good langer
i will be find a good job
[sun@localhost ~]$ grep -n "a" test.txt 
1:hello word ,java 
2:i will be find a good job

1.2 wc命令

用于统计文件的行数单词的数量

wc [ -c -m -l -w] 文件路径
选项的作用:
-c统计bytes数量
-m统计字符数量
-l统计行数
-w统计单词数量
如果不加选选项,会统计行数,单词数,bytes数,以及文件名

[sun@localhost ~]$ wc -l test.txt 
2 test.txt
[sun@localhost ~]$ wc -c test.txt 
65 test.txt
[sun@localhost ~]$ wc -m test.txt 
65 test.txt
[sun@localhost ~]$ wc -w test.txt 
15 test.txt
[sun@localhost ~]$ wc test.txt 
 2 15 65 test.txt
[sun@localhost ~]$ 

1.3 管道符 |

将管道符左边的命令结果作为管道符右边命令的输入
Linux操作系统_第7张图片
就是将文件的结果,过滤字母a

1.4 echo命令和使用

使用echo命令相当于编程语言的print用法,就是在控制台输出内容

echo 要输出的内容
没有选项只有参数

[sun@localhost ~]$ echo hello
hello
  • 反引号符
    被``包围的内容会当作命令来执行,而非普通字符串。
[sun@localhost ~]$ echo `pwd`
/home/sun
  • 重定向符

    符号 : >,将左侧命令的结果覆盖写入到右侧的文件中
    符号:>>,将左侧命令的结果追加写入到右侧的文件中去

[sun@localhost ~]$ cat test.txt 
hello word ,java is a very good langer
i will be find a good job
[sun@localhost ~]$ echo helaojd > test.txt 
[sun@localhost ~]$ cat test.txt 
helaojd
[sun@localhost ~]$ echo hadh >> test.txt 
[sun@localhost ~]$ cat test.txt 
helaojd
hadh
[sun@localhost ~]$ ls >> test.txt 
[sun@localhost ~]$ cat test.txt 
helaojd
hadh
test
test.txt
text
公共
模板
视频
图片
文档
下载
音乐
桌面

  • tail命令

查看文件尾部内容,并且可以持续追踪
语法:tail [-f -num] 路径
其中-f就是表示持续追踪,-num表示查看文件最后num行数据,如果不跟表示查看文件后十行数据

1.5 VI编辑器

  • vi编辑器的三种模式
    Linux操作系统_第8张图片
    命令模式:命令模式下,所敲的按键编辑器都可以理解为命令,以命令驱动执行不同的功能,此模式下不能自由进行文本编辑
    输入模式:也就是所谓的编辑模式,插入模式,该模式下可以对文本进行自由的编辑。
    底线命令模式:以:开始用于文件的保存退出

注意,通过vi/vim命令编辑文件,会打开一个新的窗口,此时这个创客就是:命令模式窗口,命令模式是vi编辑器的入口和出口
命令模式
vi/vim 文件路径
推荐使用vim,因为它兼容了vi的全部功能
如果文件不存在,就会用此命令编辑这个路径下的新文件
存在就直接编辑
vim模式的一些快捷键
Linux操作系统_第9张图片
Linux操作系统_第10张图片
Linux操作系统_第11张图片
Linux操作系统_第12张图片

四、Linux下的root用户

1、root用户

root用户也叫超级管理员,拥有系统中权限最大的管理员,相对其他的用户权限受到了一些限制。
在Linux系统中普通用户的权限在home目录下,在其他目录进行修改删除会受到权限的约束,一般只有查询的权限。

1.1普通用户和root之间的切换

使用的命令 su 和 exit

su - root 表示切换到root用户,需要输入密码
exit 退出已切换的用户
如下代码演示,切换到root用户需要输入密码

[sun@localhost ~]$ su - root
密码:
上一次登录:四 7月 27 17:05:45 CST 2023pts/1 上
[root@localhost ~]# exit
logout
[sun@localhost ~]$ 

1.2 用户和用户组

Linux系统中可以配置多个用户,可以配置多个用户组,用户也可以加入到多个用户组中。
Linux中关于权限管控的的级别有两个,分别是对用于的权限控制和对用户组的权限控制。

1.2.1用户管理

用户的管理同样需要我们超级管理员进行管理

  • 创建用户

useradd [ -g -d] 用户名
选项-g 指定用户的组,不用该选项的话,会自动创建一个和用户同名的组,并将该用户加入进去,并且该命令需要组已经存在,如果存在同名组就必须加该选项
选项-d指定用户的home目录,不指定的话就默认home目录在:/home/用户名

  • 删除用户

userdel [-r] 用户名
选项:-r表示删除用户的home目录,不适用就保留

  • 查看用户所属组

id [用户名]
参数,提供表示产看参数的所属组,否则查看自己

  • 修改用户所属组

usermod -aG 用户组 用户名
将用户加入到指定的用户组

3、查看权限控制信息

Linux操作系统_第13张图片
如上图所示的1 2 3
1表示文件,文件夹的权限控制信息
2表示文件文件夹所属的用户
3表示文件文件夹所属的用户组
权限的细节
上述的1总共有十位,他们所代表的信息如下
Linux操作系统_第14张图片
rwx表示的含义
r表示read就是可读
w表示write表示可以写,修改
x就是可以将文件当作可执行文件,针对文件夹就是可以进行cd操作。

4、权限修改

chmod命令

  • chomd命令用于修改文件或者文件夹的权限信息
  • 只能是文件或者文件夹所属用户或者root有权使用

chmod [-R] 权限 文件或者文件夹 权限的格式是:u=?,g=?,o=?
?代表的就是权限信息
注意R选项,对文件夹的全部内容应用同样的规则

[sun@localhost ~]$ ls -l
-rwxr-xr-x. 1 sun sun 92 7月  26 21:25 hh.txt
[sun@localhost ~]$ ls -l
-rwxr--r--. 1 sun sun 92 7月  26 21:25 hh.txt

在这个修改权限的语法中,我们写权限的时候要写一长串,不利于我们的操作,所以便于简化,我们通过三位二进制来表示r w x三种权限,其中r最高位,x最低位,并且为1的时候表示该权限生效,为0不设置权限,比如751表示给文件或者文件夹的用户权限为wrx,用户组权限设置为r-x,其他设置为–x权限。

[sun@localhost ~]$ ls -l
-rw-rw-r--. 1 sun sun 92 7月  26 21:25 hh.txt
[sun@localhost ~]$ chmod 755 hh.txt
[sun@localhost ~]$ ls -l
-rwxr-xr-x. 1 sun sun 92 7月  26 21:25 hh.txt

chown命令,前面的chmod命令只能修改文件或者文件的权限,但是不能修改文件或者文件的的用户或者用户组,那么使用该命令就可以实现对文件或者文件夹的用户或者用户组进行修改。

chown [-R] [用户][:][用户组] 文件或者文件夹
-R选项还是代表对文件夹下面的内容使用同样的规则,
选项用户,修改所属用户
选项用户组,修改所属的用户组
选项:用于分割用户和用户组
注意,该命令普通用户是不能使用的没有权限,所以该命令只是用root用户。

五、快捷键的使用

1、ctrl + c

当Linux程序在运行的时候,如果想要强制退出停止,那么我们就可以使用该快捷键进行退出操作了。

[sun@bogon ~]$ tail
faifj 
 fajf ^C
[sun@bogon ~]$ 

命令输入错误时,我们也可以使用该快捷键,重新输入正确的命令就可以了

2、ctrl + d

用于退出登录,或者退出编程语言等特殊的页面
前面所讲的退出root用户登录,那么我们就可以直接用快捷键ctrl+d进行退出登录,还有就是我们在使用python,进入它时的页面如果需要退出就直接使用此快捷键就退出了。

[sun@bogon ~]$ python
Python 2.7.5 (default, Oct 14 2020, 14:45:30) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
[sun@bogon ~]$ cd - root
-bash: cd: OLDPWD 未设定
[sun@bogon ~]$ su - root
密码:
上一次登录:四 7月 27 17:07:57 CST 2023pts/0 上
[root@bogon ~]# logout

3、搜索历史命令

history命令可以搜索我们的历史命令,直接输入history就可以执行该命令,实例

[root@bogon ~]# history
    1  yum install -y yum-utils            device-mapper-persistent-data            lvm2 --skip-broken
    2  yum-config-manager     --add-repo     https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    3      
    4  sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
    5  yum makecache fast
    6  yum install -y docker-ce
    7  set +o history;

结合该命令,我们可以继续搜索定位我们想要使用的命令,比如结合grep命令和管道符,我们就可以过滤我们想要过滤的命令

4、!命令

该命令用于自动匹配前面的命令,就是最近出现的命令

   38  ls
   39  exit
   40  cd /
   41  exit
   42  history
[root@bogon ~]# !a
-bash: !a: event not found
[root@bogon ~]# 1e
bash: 1e: command not found...
[root@bogon ~]# !l
ls
anaconda-ks.cfg  Desktop  Documents  Downloads  initial-setup-ks.cfg  jdk-8u311-linux-x64.rpm  Music  Pictures  Public  redis-7.0.12.tar.gz  Templates  Videos  桌面
[root@bogon ~]# 

如上述代码,就是匹配到38行的命令,执行了,这就是!的作用了,他的匹配是最近的命令开始

5、ctrl + r快捷键

该快捷键的作用就是搜索历史的命令,它的搜索方式也是和!命令的搜索方式一样,都是从最近的命令从下向上开始搜索的,我们还可以修改搜索到的命令然后执行。

6、光标移动快捷键

光标移动的快捷键分为四个

  • ctrl + a 将光标移动命令的开始
  • ctrl + e 将光标移动到命令的结尾
  • ctrl + -> 将光标向右跳动一个单词
  • ctrl + <- 将光标向左跳动一个单词

7、清屏快捷键

该快捷键的使用有两种

  • 使用快捷键ctrl + l
  • 使用命令clean
    上面两种方式都可以实现清屏的功能

六、软件安装

Linux操作系统和windows操作系统差不多,安装软件一般有两种途径,一种是使用压缩包文件,另一种就是使用应用商店进行安装,那么在Linux操作系统中的应用商店实际上就是命令行————yum

1、yum命令

yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题,

yum [-y] [install | remove | search] 软件名称
选项:-y自动确认,无需手动确认安装或者卸载的过程,
install: 安装
remove :卸载
search: 搜索
yum命令的使用需要使用root用户,并且需要联网

2、systemctl命令

Linux系统有很多软件或者第三方的软件都支持systemctl的命令,控制启动,停止,开机自启,停止开机自启
语法格式

systemctl start | stop |status | enable | disable
starat:启动
stop:停止
status:查看状态
enable:开机自启
disable:关闭开机自启

3、软链接

软链接就是可以将文件或者文件夹链接到其他的位置,链接就是一个指向,是物理移动,它类似与windows里面的快捷方式

ln -s 参数1 参数2
-s表示创建软链接;
参数1,被链接的文件或者文件夹;
参数2,要链接的目的地。

4、date命令的作用和用法

date命令可以用来查看时间,并且可以自己格式化时间的形式
Linux操作系统_第15张图片

5、ip地址和主机名

ip地址:ip地址是联网计算机的网络地址,用于在网络中进行定位,格式是:a.b.c.d,abcd是数字0~255。
主机名:主机名就是主机的名称,用于标识一个计算机。
域名解析:域名解析就是通过主机名找到计算机对应的ip地址,这就是主机名映射,它的查找顺序就是先从系统中的本地记录去查找,如果找不到就去公开的DNS服务器中去查找。

6、ping命令

ping命令是用来检查与网络是否联通

ping [-c num] ip或者主机名
-c num设置检查次数,如果不使用该选项,那就会无限次检查
如下检查是否与百度ping通

[root@bogon ~]# ping baidu.com
PING baidu.com (110.242.68.66) 56(84) bytes of data.
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=59.1 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=57.7 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=128 time=54.0 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=4 ttl=128 time=49.3 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=5 ttl=128 time=45.9 ms

7、wget命令

wget命令是非交互式的文件下载器,可以在命令行内下载网络文件,

wget [-b] url
选项b代表可选,后台进行下载,会将日志写入到当前文件的工作目录wget-log文件中
url 下载的链接

8、curl命令

该命令可以向网络发起请求,

curl [-o] url
选项-o用于下载使用,不带该选项就可以请求路径的网络页页,以前端页面代码的形式呈现。

9、查看进程

查看进程管理的命令

ps -ef 查看进程的信息
我们也可以使用管道符和grep关键字过滤关键字进程的信息
kill [-9] 进程号,关闭指定进程号的进程

10、环境变量

在操作cd命令的时候,只要存在工作目录那么我们都可以执行cd命令,这里能执行的主要原因就是借助环境变量中的PATH这个项目来做到的,PATH记录了任何命令的搜索命令,只要目录中搜索到了cd程序,就直接执行了。
$符号:用于取出变量的值

$环境变量名 来取得
比如 echo $ PATH
使用上面的命令就可以取出变量的值

[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

自行设置环境变量

临时设置:export 变量名 = 变量值
永久生效
针对当前用户生效,将export 变量名 = 变量值配置到当前用户的:
~/.bashrc文件中
针对所用的用户生效,将export 变量名 = 变量值配置到系统的:
/etc/profile文件中
配置完成后,通过语法:source配置文件,进行立刻生效,或者重新登录生效

11、文件的压缩

11.1 tar

tar命令> tar [-c -v -x -f -z -C] 参数1 参数2 … 参数n

-c创建压缩文件,用于压缩模式
-v显示压缩解压过程,用于查看进度
-x解压模式
-f要创建的文件,或者要解压的文件,-f必须式所有选项的最后一个
-z,gzip模式,不适用-z就是普通的tarball模式,一般放在第一位
-C选择解压的目的地,用于解压模式

常用的组合模式
压缩文件

  • tar -cvf teat.tar 1.txt 2.txt 3.txt
    将1.txt 2.txt 3.txt压缩到teat.tar文件中去
  • tar -zcvf teat.tar 1.txt 2.txt 3.txt
    将1.txt 2.txt 3.txt压缩到teat.tar文件中去,使用gzip格式

解压文件

  • tar -xvf teat.tar
    解压teat.tar文件,将文件解压到当前目录
  • tar -zxvf teat.gtar -C /home/sun/test
  • 以Gzip模式解压test.tar.gz,将文件指定解压到所述位置

11.2 zip压缩

  • 压缩zip
    可以使用zip命令,压缩文件为zip的压缩包

zip [-r] 参数1,参数2…
-r被压缩的包含文件夹的时候,需要使用-r选项,和rm,cp等命令的-r效果是一样的

实例
zip test.zip a.txt b.txt
将 a.txt b.txt解压到文件text.zip中
zip -r test.zip test hh a.txt
将文件夹 test hh 和文件 a.txt压缩到test.zip文件中

  • 解压unzip

unzip 解压文件 [-d] 参数
-d选项代表指定要解压去的位置,后面再跟上路径
如 unzip test.zip -d /home/sun/test 将文件test.zip解压到目录/home/sun/test

你可能感兴趣的:(linux,java)