首页 > 系统相关 >第二章 Linux 实操

第二章 Linux 实操

时间:2022-10-30 10:08:36浏览次数:57  
标签:文件 txt 实例 指令 实操 Linux home 第二章 目录


第二章 Linux 实操

1、Linux 实用指令

指定运行级别

运行级别说明:

  • 0:关机
  • 1:单用户【找回丢失密码】
  • 2:多用户状态没有网络服务
  • 3:多用户状态有网络服务(实际生产环境用这个)
  • 4:系统未使用保留给用户
  • 5:图形界面
  • 6:系统重启

常用运行级别是3和5,也可以指定默认运行级别

应用实例:

命令:​​init[0 1 2 3 4 5 6]​

通过 init 来切换不同的运行级别,比如从5切换到3,然后关机

查看当前的运行级别
systemctl get-default

第二章 Linux 实操_服务器

multi-user.target,等价于运行级别3

graphical.target,等价于运行级别5

切换到5的运行级别
systemctl set-default graphical.target

找回root密码

经典面试题:如何找回root密码?

  1. 首先,启动系统,进入开机界面,在界面中按“e”进入编辑界面。如图
  2. 进入编辑界面,使用键盘上的上下键把光标往下移动,找到以“Linux16”开头内容所在的行数”,在行的最后面输入:init=/bin/sh。如图

第二章 Linux 实操_运维_02

  1. 接着,输入完成后,直接按快捷键:Ctrl+x 进入单用户模式
  2. 接着,在光标闪烁的位置中输入:​​mount -o remount,rw /​​(注意:各个单词间有空格,逗号间没有空格),完成后按键盘的回车键(Enter)。如图

第二章 Linux 实操_服务器_03

  1. 在新的一行最后面输入:​​passwd​​, 完成后按键盘的回车键(Enter)。输入密码,然后再次确认密码即可(提示: 密码长度最好8位以上,但不是必须的),密码修改成功后,会显示passwd…的样式,说明密码修改成功

第二章 Linux 实操_运维_04

  1. 接着,在鼠标闪烁的位置中(最后一行中)输入:​​touch /.autorelabel​​(注意:touch与 /间有一个空格),完成后按键盘的回车键(Enter)
  2. 继续在光标闪烁的位置中,输入:​​exec /sbin/init​​(注意:exec与 /间有一个空格),完成后按键盘的回车键(Enter),等待系统自动修改密码(提示:这个过程时间可能有点长,耐心等待),完成后,系统会自动重启, 新的密码生效了

第二章 Linux 实操_linux_05

帮助命令

man获得帮助信息

基本语法:man [命令或配置文件](功能描述:获得帮助信息)

案例:查看 ls 命令的帮助信息(​​man ls​​)

​ls -a​​:列出所有文件,包括以 “.” 开头的隐含文件

第二章 Linux 实操_linux指令_06

说明:在Linux下,隐藏文件是以“.”开头的,选项可以组合使用,例如:​​ls -al​

​ls -l​​:单列输出

第二章 Linux 实操_服务器_07

help 指令

基本语法:help 命令 (功能描述:获得shell内置命令的帮助信息)

第二章 Linux 实操_linux指令_08

文件目录类

pwd指令

基本语法:pwd (功能描述:显示当前工作目录的绝对路径)

第二章 Linux 实操_服务器_09

ls指令

基本语法:ls [选项] [目录或是文件]

常用选项:

​-a​​ : 显示当前目录所有的文件和目录,包括隐藏的

​-l​​ : 以列表的方式显示信息

cd指令

基本语法:cd [参数] (功能描述:切换到指定的目录)

理解:绝对路径和相对路径(相对路径是针对当前位置的路径)

​cd ~​​​ 或者 ​​cd​​ 回到自己的家目录,比如你是root,那么 cd ~ 就是到 /root 目录

第二章 Linux 实操_linux指令_10

​cd ..​​ 回到当前目录的上一级目录

第二章 Linux 实操_linux_11

mkdir 指令

基本语法:mkdir [选项] 要创建的目录

理解:mkdir指令用于创建目录(默认只能创建一级目录)

常用选项:

​-p​​:创建多级目录

第二章 Linux 实操_linux指令_12

rmdir 指令(用于删除空目录)

基本语法:rmdir [选项] 要删除的空目录

使用细节:

  • rmdir 删除的是空目录,如果想要删除的目录下有内容则无法删除
  • 如果需要删除非空目录,需要使用 ​​rm -rf​​ 要删除的目录

第二章 Linux 实操_基本语法_13

touch指令(用于创建空文件)

基本语法:touch 文件名称

实例:在 /home 目录下创建一个空文件 hello.txt

第二章 Linux 实操_linux_14

cp指令(copy拷贝文件到指定目录)

基本语法:cp [选项] source dest

常用选项:

​-r​​:递归复制整个文件夹

应用实例:

  1. 将 /home/hello.txt 拷贝到 /home/bbb 目录下

第二章 Linux 实操_服务器_15

  1. 递归复制整个文件夹,将 /home/bbb 整个目录下的文件全部拷贝到 /home/opt

第二章 Linux 实操_基本语法_16

使用细节:强制覆盖不提示的方法:\cp

\cp -r /home/bbb/ /optt/

rm指令(remove,移除文件或目录)

基本语法:rm [选项] 要删除的文件或目录

第二章 Linux 实操_服务器_17

常用选项:

  • ​-r​​:递归删除整个文件夹
  • ​-f​​ :强制删除不提示

使用细节:强制删除不提示的方法,带上 ​​-f​​ 参数即可

第二章 Linux 实操_基本语法_18

mv指令(move,移动文件与目录或重命名)

基本语法:

  • ​mv oldNameFile newNameFile​​(功能描述:如果两个文件在同一个目录,相当于重命名)
  • ​mv /temp/movefile /targetFolder​​(功能描述:移动文件,剪切)

第二章 Linux 实操_运维_19

使用细节:移动并重命名

第二章 Linux 实操_运维_20

应用实例:移动整个目录,比如将 /opt/bbb 移动到 /home 下

第二章 Linux 实操_服务器_21

cat指令(查看文件内容)

基本语法:cat [选项] 要查看的文件

常用选项: -n 显示行号

使用细节:cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 | more

第二章 Linux 实操_服务器_22

cat -n /etc/profile | more

more指令

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键(交互的指令)

基本语法:more 要查看的文件

操作说明:如下图

第二章 Linux 实操_运维_23

less 指令

第二章 Linux 实操_运维_24

echo 指令

echo 输出内容到控制台

基本语法:echo [选项] [输出内容]

实例:

  1. 使用 echo 指令输出环境变量,比如输出 第二章 Linux 实操_服务器_25HOSTNAME

第二章 Linux 实操_服务器_26

  1. 使用 echo 指令输出 hello,world!

第二章 Linux 实操_服务器_27

head 指令

head 用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容

基本语法:

  • head 文件(功能描述:默认查看文件前10行内容)
  • head -n 5 文件(功能描述:查看文件前5行内容,5可以是任意行数)

应用实例:

  1. 查看 /etc/profile 的前面5行代码

第二章 Linux 实操_服务器_28

tail 指令

tail 用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。

基本语法:

  1. tail 文件(功能描述:查看文件尾10行内容)
  2. tail -n 5 文件(功能描述:查看文件尾5行内容,5可以是任意行数)
  3. tail -f 文件(功能描述:实时追踪该文档的所有更新)

应用实例:

  1. 查看 /etc/profile 最后5行的代码

第二章 Linux 实操_服务器_29

  1. 实时监控 mydate.txt,看看文件有变化时,是否能看到,实时的追加日期

第二章 Linux 实操_运维_30

退出可以按下Ctrl键 + C键

指令 和 >>指令

输出重定向

追加

基本语法:

1. ls -l > 文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
2. ls -al >> 文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
3. cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
4. echo "内容" >> 文件 (追加)

应用实例:

  1. 将 /home 目录下的文件列表写入到 /home/info.txt 中,覆盖写入
ls -l /home > /home/info.txt [如果info.txt没有,则会创建]

第二章 Linux 实操_linux指令_31

  1. 将当前日历信息​​追加​​到 /home/mycal 文件中

显示当前日历信息:cal

第二章 Linux 实操_linux指令_32

ln指令

软连接也称为符号连接,类似于windows里的快捷方式,主要存放了连接其他文件的路径

基本语法:ln -s [原文件或目录] [软连接名](功能描述:给原文件创建一个软连接)

应用实例:

  1. 在/home 目录下创建一个软连接 myroot,连接到 /root 目录

第二章 Linux 实操_运维_33

  1. 删除软连接 myroot

第二章 Linux 实操_linux指令_34

细节说明:当我们使用pwd指令查看目录时,仍然看到的是软连接所在的目录。

history指令

查看已经执行过的历史命令,也可以执行历史指令

history     查看所有的历史指令
history 10 查看最近使用过的10个指令
!5 执行历史编号为5的指令

第二章 Linux 实操_服务器_35

时间日期类

date指令-显示当前日期

基本语法:

date          显示当前时间
date +%Y 显示当前年份
date +%m 显示当前月份
date +%d 显示当前是哪一天
date "+%Y-%m-%d %H:%M:%S" 显示年月日时分秒

应用实例:

  1. 显示当前时间信息
  2. 显示当前时间年月日

第二章 Linux 实操_linux_36

  1. 显示当前时间年月日时分秒

第二章 Linux 实操_运维_37

date指令-设置日期

基本语法:

date -s 字符串时间

应用实例:

设置系统当前时间,比如设置成 2022-11-11 11:22:22

cal指令

查看日历指令

基本语法:

cal [选项]      (功能描述:不加选项,显示本月日历)
cal 2022 显示2022整年的日历

第二章 Linux 实操_linux指令_38

搜索查找类

find 指令

find指令将从指定目录向下递归遍历各个子目录,将满足条件的文件或者目录显示在终端上。

基本语法:

find [搜索范围] [选项]

选项说明(可填选项):

第二章 Linux 实操_服务器_39

说明:当查询路径下无该文件,就不会有任何显示

应用实例:

  1. 按文件名:根据名称查找 /home 目录下的 hello.txt 文件

第二章 Linux 实操_运维_40

  1. 按拥有者:查找 /opt 目录下,用户名称为 nobody 的文件

第二章 Linux 实操_linux指令_41

  1. 查找整个Linux系统下大于200M的文件(+n大于、-n小于、n等于,单位有 k,M,G)

第二章 Linux 实操_linux指令_42

locate指令

locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保障查询结果的准确度,管理员必须定期更新locate时刻

基本语法:

locate 搜索文件

特别说明:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

应用实例:请使用 locate 指令快速定位 hello.txt 文件所在的目录

第二章 Linux 实操_linux_43

which指令

可以查看某个指令在哪个目录下

比如:查看 ls 指令在哪个目录下

第二章 Linux 实操_linux指令_44

grep指令和管道符号 |

grep过滤查找,管道符 “|”,表示将前一个命令的处理结果输出传递给后面的命令处理。

基本语法:

grep [选项] 查找内容 源文件

常用选项:

第二章 Linux 实操_服务器_45

应用实例:

请在 hello.txt 文件中,查找“yes”所在行,并且显示行号

两种写法:

1. cat /home/hello.txt | grep -n "yes" 
2. grep -n "yes" /home/hello.txt

第二章 Linux 实操_服务器_46

压缩和解压类

gzip / gunzip 指令

gzip 用于压缩文件,gunzip 用于解压

基本语法:

gzip 文件   (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压文件命令)

应用实例:

  1. gzip 压缩,将 /home 目录下的 hello.txt 文件进行压缩
  2. gunzip 解压,将 /home 目录下的 hello.txt.gz 文件进行解压

第二章 Linux 实操_运维_47

zip / unzip 指令

zip用于压缩文件,unzip用于解压的,这个在项目打包发布中很有用

基本语法:

zip [选项] xxx.zip 将要压缩的内容(功能描述:一般是文件和文件夹)
uzip [选项] xxx.zip (功能描述:解压文件)
  • zip 常用选项:

-r:递归压缩,即压缩整个目录

  • unzip 常用选项:

-d<目录>:指定解压后文件的存放目录

  • 应用实例:
  1. 将整个 /home 目录(包括home目录本身)下的所有文件/文件夹进行压缩成 myhome.zip

第二章 Linux 实操_linux指令_48

第二章 Linux 实操_linux_49

  1. 将 myhome.zip 解压到 /opt/tmp 目录下

第二章 Linux 实操_基本语法_50

第二章 Linux 实操_linux指令_51

tar指令

tar指令是打包指令,最后打包后的文件是 ​​.tar.gz​​ 的文件。

基本语法:

tar [选项] xxx.tar.gz  打包的内容 (功能描述:打包目录或文件,压缩后的格式.tar.gz)

选项说明:

第二章 Linux 实操_linux指令_52

应用实例:

  1. 压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz

第二章 Linux 实操_linux_53

  1. 将 /home 的文件夹压缩成 myhome.tar.gz

第二章 Linux 实操_基本语法_54

第二章 Linux 实操_linux_55

  1. 将 pc.tar.gz 解压到当前目录

第二章 Linux 实操_linux_56

  1. 将 myhome.tar.gz 解压到 /opt/tmp2 目录下

第二章 Linux 实操_linux指令_57

第二章 Linux 实操_linux_58

2、组管理和权限管理

Linux 组的基本介绍

  • 在 Linux 中的每个用户都必须属于一个组,不能独立于组外。
  • 在 Linux 中的每个文件都有​​所有者​​​、​​所在组​​​、​​其他组​​的概念。
  1. 所有者
  2. 所在组
  3. 其他组
  4. 改变用户所在的组

文件/目录的所有者

一般文件的创建者,谁创建了该文件,就自然成为该文件的所有者。

查看文件的所有者

指令: ls -ahl

应用实例:下面应该是所在组,这里写错了

第二章 Linux 实操_linux指令_59

注意:蓝色代表目录,白色代表普通文件

修改文件所有者

指令:chown 用户名 文件名

应用实例:

使用 root 创建一个文件 apple.txt,然后将其所有者修改成 tom

第二章 Linux 实操_基本语法_60

组的创建

基本指令:

groupadd 组名

应用实例:

  1. 创建一个组,monster
  2. 创建一个用户 fox,并放入到 monster 组中

第二章 Linux 实操_linux指令_61

文件/目录的所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。

查看文件/目录的所在组

基本指令:

ls -ahl

应用实例:

  1. 使用 fox 创建一个文件,看看该文件属于哪个组?

第二章 Linux 实操_基本语法_62

修改文件所在的组

基本指令:

chgrp 组名 文件名

应用实例:

  1. 使用 root 用户创建文件 orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 fruit 组。

第二章 Linux 实操_linux_63

第二章 Linux 实操_linux_64

其他组

除文件的所有者和所在组的用户外,系统的其他用户都是该文件的其它组。

改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用 root 的管理权限可以改变某个用户所在的组。

改变用户所在的组

usermod -g 新组名 用户名
usermod -d 目录名 用户名 (功能描述:改变该用户登录的初始目录,特别说明:用户需要有进入新目录的权限)

应用实例:

将 zwj 这个用户从原来所在组,修改到 wudang 组。

第二章 Linux 实操_linux指令_65

权限的基本介绍

​ls -l​​ 显示的内容如下:

-rw-r--r--(第一列) 1 root root 0 Oct 22 11:08 pig.txt

第一列的 0-9 位说明:

  • 第 0 位确定文件类型(d、-、l、c、b)
  • l 是链接,相当于Windows的快捷方式
  • d是目录,相当于Windows的文件夹
  • c是​​字符设备​​文件,比如鼠标、键盘
  • b是块设备,比如硬盘
  • -是普通文件
  • 第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限 —User
  • 第 4-6 位确定所属组(同用户组的)拥有该文件的权限 —Group
  • 第 7-9 位确定其他用户拥有该文件的权限 —Other

rwx 权限详解(难点)

rwx 作用到文件

  • 【r】代表可读(read):可以读取、查看
  • 【w】代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
  • 【x】代表可执行(execute):可以被执行

rwx 作用到目录

  • 【r】代表可读(read):可以读取,ls查看目录内容
  • 【w】代表可写(write):可以修改,对目录内创建文件、删除文件、重命名文件
  • 【x】代表可执行(execute):可以进入该目录

文件及目录权限实际案例

​ls -l​​ 显示的内容如下:

10个字符    所有者  所在组
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

10个字符确定不同用户能对文件干什么

  • 第一个字符代表文件类型:(d、-、l、c、b)
  • 其余字符每三个一组(rwx)读(r)写(w)执行(x)
  • 第一组 ​​rwx​​:文件拥有者的权限是读、写和执行
  • 第二组 ​​rw-​​:与文件拥有者同一组的用户的权限是读、写但不能执行
  • 第三组 ​​r--​​:不与文件拥有者同组的其他用户的权限是只能读,不能写和执行

可用数字表示为:r=4、w=2、x=1,因此 ​​rwx = 4+2+1 = 7​

其他说明

1                   如果是文件:表示硬件连接数,如果是目录:表示子目录数+文件数
root 文件所有者
root 文件所在组
1213 文件大小(字节),如果是文件夹则显示4096字节
Feb 2 09:39 最后修改日期
abc 文件名

修改权限 - chmod

基本说明:通过 ​​chmod​​ 指令,可以修改文件或目录的权限。

第一种方式:+ 、- 、= 变更权限

u:所有者

g:所在组

o:其他用户

a:所有人(u、g、o的总和)

  • ​chmod u=rwx,g=rx,o=x​​ 文件/目录名
  • ​chmod o+w​​ 文件/目录名
  • ​chmod a-x​​ 文件/目录名

应用实例:

  1. 给abc文件的所有者赋予读写和执行的权限,给所在组赋予读和执行的权限,给其他组赋予读和执行的权限
chmod u=rwx,g=rx,o=rx abc

第二章 Linux 实操_linux指令_66

  1. 给abc文件的所有者除去执行的权限,赋予所在组写的权限
chmod u-x,g+w abc

第二章 Linux 实操_运维_67

  1. 给abc文件的所有用户赋予读的权限
chmod a+r abc

第二章 Linux 实操_基本语法_68

第二种方式:通过数字变更权限

r=4、w=2、x=1,rwx=4+2+1

chmod u=rwx,g=rx,o=x 文件/目录名
相当于 chmod 751 文件/目录名

应用实例:

将 ​​/home/abc.txt​​​ 文件的权限修改成 ​​rwxr-xr-x​​,使用数字的方式实现

第二章 Linux 实操_基本语法_69

修改文件的所有者 - chown

基本介绍

chown newowener 文件/目录 改变所有者
chown newonwner:newgroup 文件/目录 改变所有者和所在组
-R 如果是目录,则使其下所有子文件或目录递归生效(recursion)

应用实例:

  1. 请将 /home/abc.txt 文件的所有者修改成 tom

第二章 Linux 实操_运维_70

  1. 请将 /home/kkk 目录下所有的文件和目录的所有者都修改成 tom

第二章 Linux 实操_服务器_71

修改文件/目录的所在组 - chgrp

基本介绍:

chgrp newgroup 文件/目录 (功能描述:改变所在组)

应用实例:

  1. 请将 /home/abc.txt 文件的所在组修改成 shaolin(少林)

第二章 Linux 实操_linux_72

  1. 请将 /home/kkk 目录下所有的文件和目录的所在组都修改成 shaolin(少林)

第二章 Linux 实操_linux_73


标签:文件,txt,实例,指令,实操,Linux,home,第二章,目录
From: https://blog.51cto.com/u_15786590/5807182

相关文章

  • 用SQL查Linux日志工具-q
    概述Linux文本查找命令不要太多:tail、head、cat、sed、more、less、awk,但对新手不友好。q是一个命令行工具,允许在任意文件或查询结果,如​​ps-ef​​​查询进程命令的结果......
  • linux下C语言实现可打印字符及键值的输出
    代码非常简单:1#include<stdio.h>2#include<termios.h>3#include<unistd.h>4#include<sys/types.h>5#include<sys/time.h>67intkbhit(void){8......
  • 物理机异常断电,linux虚拟机系统磁盘mount失败,导致无法启动
    1)、报错如下   (2)进入/run/initramfs查看详细的报错日志rdsosreport.txt发现执行mount/dev/mapper/centos-root/sysroot命令的时候,挂载失败了或者输入:journal......
  • linux 中如何将一列数据转换为指定行的数据
     001、[root@pc1test]#cata.txt12345678910[root@pc1test]#awk-va=$(awk'END{if(NR%3!=0){printf("%d",NR/3+1)}else{printNR/3}}......
  • linux 如何监控并自动启动服务 - monit
    背景项目发布后,需要监控服务。也就是说如果出现异常停止情况,系统可以自动尝试启动。systemctl的enable只是对于开机自启动有效,但对于服务意外终止,并不能自行启动。这......
  • linux系统
    安装各种软件#################安装nginx###########################yuminstall-yepel-release&&yuminstall-ynginxsystemctlenablenginx#开机启动system......
  • linux 中如何将一列数据转换为指定列的数据
      001、[root@pc1test]#lsa.txt[root@pc1test]#cata.txt##测试数据12345678910##转换为两列数据[root@pc1test]#cata.......
  • Linux是啥?我们来聊聊?
    首先问大家一下,你们知道Linux是啥不?要说起电脑,windows就会浮现在大家的脑海里,要问起Linux,据我了解有部分人不清楚,就算经常用到电脑的公司企业白领有的也了解甚少。那我先来......
  • 数据结构—第二章线性表习题
    (1)B(2)A(3)B(4)A(5)D(6)B(7)C(8)A(9)B(10)D(11)C(12)D(13)D(14)A(15)C(1)voidMergeList(LinkList&La,LinkList&Lb,LinkList&Lc){//将两个递增的有序链表La和Lb合并为一个递增的有序链表Lc......
  • 重新整理 .net core 实践篇 ———— linux上排查问题 [外篇]
    前言简单介绍一下在排查问题。献给初学者。该文的前置篇:https://www.cnblogs.com/aoximin/p/16838657.html正文什么是linux系统linux是基于名为procfs的特殊文件系......