IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux基础入门 -> 正文阅读

[系统运维]Linux基础入门

#实验楼“Linux基础入门”课程笔记
课程地址:https://www.lanqiao.cn/courses/1

第一章:用户及文件权限管理

一、Linux用户管理

1.1 查看用户

打开终端,输入命令:

who am i
#或者
who mom likes
#或者
whoami

在这里插入图片描述
输出的第一列表示打开当前伪终端的用户的用户名。
第二列的 pts/0 中 pts 表示伪终端,伪终端就是当你在图形用户界面使用 /dev/tty7 时每打开一个终端就会产生一个伪终端,pts/0 后面那个数字就表示打开的伪终端序号,可以尝试再打开一个终端,然后在里面输入 who am i,第二列就变成 pts/1 了。
第三列则表示当前伪终端的启动时间。

1.2 创建用户

创建用户需要root权限,要用到sudo命令。
su,su- 与 sudo
su 可以切换到用户 user,执行时需要输入目标用户的密码。
sudo 可以以特权级别运行 cmd 命令,需要当前 用户属于 sudo 组,且需要输入当前用户的密码。su - 命令也是切换用户,但是同时用户的环境变量和工作目录也会跟着改变成目标用户所对应的。
在这里插入图片描述

1、创建一个名叫lilei的用户

sudo adduser lilei

这个命令不但可以添加用户到系统,同时也会默认为新用户在 /home 目录下创建一个工作目录:

ls /home

在这里插入图片描述

2、创建好一个用户,使用如下命令切换登录用户:

su -l lilei

3、退出当前用户,可以使用exit命令或者使用快捷键Ctrl+D

1.3 用户组

1.3.1 查看用户组

方法1:groups命令

groups shiyanlou

在这里插入图片描述
其中冒号之前表示用户,后面表示该用户所属的用户组。每次新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组。
默认情况下在 sudo 用户组里的可以使用 sudo 命令获得 root 权限。

方法2:查看/etc/group文件

cat /etc/group | sort

cat 命令用于读取指定文件的内容并打印到终端输出,后面会详细讲它的使用。 | sort 表示将读取的文本进行一个字典排序再输出,然后你将看到如下一堆输出,你可以在最下面看到 shiyanlou 的用户组信息:
在这里插入图片描述
可以使用 grep 命令过滤掉一些你不想看到的结果:

cat /etc/group | grep -E "shiyanlou"

在这里插入图片描述
/etc/group 文件格式说明
/etc/group 的内容包括用户组(Group)、用户组口令、GID(组 ID) 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:

group_name:password:GID:user_list

上面的 password 字段为一个 x,表示密码不可见。

1.3.2 将其它用户加入 sudo 用户组

默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限。

使用 usermod 命令添加用户组,使用该命令必需有 root 权限。可以直接使用 root 用户为其它用户添加用户组,或者用其它已经在 sudo 用户组的用户使用 sudo 命令获取权限来执行该命令。

这里我用 shiyanlou 用户执行 sudo 命令将 lilei 添加到 sudo 用户组:

groups lilei
sudo usermod -G sudo lilei
groups lilei

在这里插入图片描述

1.3.3 删除用户和用户组

1、删除用户

sudo deluser lilei --remove-home

--remove-home 参数在删除用户时候会一并将该用户的工作目录一并删除。如果不使用那么系统会自动在 /home 目录为该用户保留工作目录。
在这里插入图片描述
2、删除用户组

使用 groupdel 命令,倘若该群组中仍包括某些用户,则必须先删除这些用户后,才能删除群组。

二、Linux文件权限

在 Unix/Linux 中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。

2.1、查看文件权限

ls命令用来列出并显示当前目录下的文件。
使用较长格式列出文件:ls -l
在这里插入图片描述
文件列表所包含的内容如下:
在这里插入图片描述
在这里插入图片描述
关于 ls 命令的一些其它常用的用法:

  • 显示除了 .(当前目录)和 ..(上一级目录)之外的所有文件,包括隐藏文件(Linux 下以 . 开头的文件为隐藏文件)。
ls -a

在这里插入图片描述
当然,你可以同时使用 -a-l 参数:

ls -al

在这里插入图片描述
查看某一个目录的完整属性,而不是显示目录里面的文件属性:

ls -dl <目录名>

在这里插入图片描述

  • 显示所有文件大小,并以普通人类能看懂的方式呈现:
ls -asSh

在这里插入图片描述
其中小 s 为显示文件大小,大 S 为按文件大小排序。

2.2、变更文件所有者

切换到lilei用户,然后在 /home/lilei 目录新建一个文件,命名为 iphone11,可见文件所有者是 lilei 在这里插入图片描述
现在切换回到 shiyanlou 用户,使用以下命令变更文件所有者为 shiyanlou。

#需要切换到 shiyanlou 用户执行以下操作
cd /home/lilei
ls iphone11
sudo chown shiyanlou iphone11

现在查看,发现文件所有者成功修改为 shiyanlou。
在这里插入图片描述

2.3、修改文件权限

  • 方法1:二进制数字表示
  • 在这里插入图片描述
    每个文件有三组固定的权限,分别对应拥有者,所属用户组,其他用户,这个顺序是固定的
    文件的读写执行对应字母 rwx,以二进制表示就是 111,用十进制表示就是 7

如果我要将文件 iphone11 的权限改为只有我自己可以用那么就可以用这个方法更改它的权限。

chmod 600 iphone11
ls -alh iphone11

在这里插入图片描述
切换到 lilei 用户,尝试写入和读取操作,可以看到 lilei 用户已经不能读写这个 iphone11 文件了:
在这里插入图片描述

  • 方法2:加减赋值操作
    要完成上述实验相同的效果,可以:
chmod go-rw iphone11

在这里插入图片描述
go 还有 u 分别表示 group(用户组)、others(其他用户) 和 user(用户),+- 分别表示增加和去掉相应的权限。

第二章:Linux目录结构及文件基本操作

一、Linux目录结构

1、FHS标准

Linux大部分目录结构是规定好了的(FHS 标准),FHS 定义了两层规范:

第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可执行文件等等。

第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统日志文件,/usr/share 放置共享数据等等。
FHS_3.0标准文档
在这里插入图片描述
FHS将目录定义为四种交互作用的形态:
在这里插入图片描述

2、目录路径

如果你想进入某个具体的目录或者想获得某个目录的文件(目录本身也是文件)那就得用路径来找到了。

使用 cd 命令可以切换目录,使用 pwd 命令可以获取当前所在路径(绝对路径)。

. 表示当前目录,.. 表示上一级目录,- 表示上一次所在目录, 通常表示当前用户的 home 目录。

二、文件基本操作

1、新建

1.1 新建空白文件

touch命令,创建名为test的空白文件。

因为在其它目录没有权限,所以需要先 cd ~ 切换回 shiyanlou 用户的 Home 目录:

cd ~
touch test

若当前目录存在一个 test 文件夹,则 touch 命令,则会更改该文件夹的时间戳而不是新建文件。

1.2新建目录

使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性。
创建名为“ mydir ”的空目录:

mkdir mydir

使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在安装软件、配置安装路径时非常有用):

mkdir -p father/son/grandson

在这里插入图片描述
若当前目录已经创建了一个 test 文件,再使用 mkdir test 新建同名的文件夹,系统会报错文件已存在。这符合 Linux 一切皆文件的理念。
在这里插入图片描述

2、复制

2.1复制文件

使用 cp 命令(copy)复制一个文件到指定目录。
将之前创建的 test 文件复制到 /home/shiyanlou/father/son/grandson 目录中:

cp test father/son/grandson

2.2复制目录

复制目录需要加上 -r 或者 -R 参数,

cd /home/shiyanlou
mkdir family
cp -r father family

3、删除

3.1 删除文件

使用 rm(remove files or directories)命令删除一个文件:

rm test

有时候你会遇到想要删除一些为只读权限的文件,直接使用 rm 删除会显示一个提示,如下:
在这里插入图片描述
你如果想忽略这提示,直接删除文件,可以使用 -f 参数强制删除:

rm -f test

3.2 删除目录

和复制目录一样,删除一个目录也需要加上-r-R参数:

rm -r family

遇到权限不足删除不了的目录也可以和删除文件一样加上
-f参数:

rm -rf family

4、移动文件与文件重命名

4.1移动文件

mv(move or rename files)命令移动文件(剪切)。
命令格式:mv 源目录文件 目的目录

例如将文件“file1”移动到Documents目录:

mkdir Documents
touch file1
mv file1 Documents

在这里插入图片描述

4.2 重命名文件

mv命令重命名文件。
命令格式为:mv 旧的文件名 新的文件名
例如将文件“file1”重命名为“myfile”:

mv file1 myfile

批量重命名:
rename命令可以批量重命名,

cd /home/shiyanlou/

# 使用通配符批量创建 5 个文件:
touch file{1..5}.txt

# 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:
rename 's/\.txt/\.c/' *.txt

# 批量将这 5 个文件,文件名和后缀改为大写:
rename 'y/a-z/A-Z/' *.c

在这里插入图片描述

5、查看文件

cat,tacnl 命令查看文件:
前两个命令都是用来打印文件内容到标准输出(终端),其中 cat 为正序显示,tac 为倒序显示。

moreless 命令分页查看文件:
more 和 less 就是天生用来"阅读"一个文件的内容的。
more 命令只能向一个方向滚动,打开后默认只显示一屏内容,终端底部显示当前阅读的进度。可以使用 Enter 键向下滚动一行,使用 Space 键向下滚动一屏,按下 h 显示帮助,q 退出。
在这里插入图片描述
headtail 命令查看文件:
这两个命令只查看文件的头几行(默认为 10 行,不足 10 行则显示全部)和尾几行。

6、查看文件类型

file 命令查看文件的类型:

file /bin/ls

在这里插入图片描述
说明这是一个可执行文件,运行在 64 位平台,并使用了动态链接文件(共享库)。

值得注意的是, Linux 中文件的类型不是根据文件后缀来判断的。当你在文件里输入内容后才会显示文件类型。
在这里插入图片描述

编辑文件

在 Linux 下面编辑文件通常我们会直接使用专门的命令行编辑器比如(emacs,vim,nano)。
-------持续更新-----------

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 10:14:35  更:2021-08-06 10:15:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 19:32:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码