第二章:Linux操作系统的使用
一、认识终端
打开终端(乌班图系统):Ctrl+Alt+T
打开终端(Windows系统):Win+R
关闭终端:exit命令;Ctrl+D
二、认识shell
username @ hostname : direction Shell提示符
//username 用户名
//hostname 主机名
//direction 方向/路径
"~" 表示在用户主目录下;"/"表示在根目录下
//Shell提示符:普通用户为"$";
超级用户/管路员用户/root为"#"
三、Linux操作系统命令
1.用户与系统相关命令
(1).切换用户命令 su
//sudo superuser do
//passwd 设置/更改密码
//我要以超级管理员的身份为root用户新建密码
$ sudo passwd root
//第一次密码:用户密码(123456)
//第二次密码:要设置的root密码(12345678)
//switchUser su为切换用户命令
$ su root
//退出超级管理员身份
$ exit
//以普通用户的身份执行超级管理员的命令
$ sudo 命令
2.文件相关命令
(1).目录创建命令
// 目录创建
$ mkdir filename
// 创建一个层级目录
$ mkdir -p filename1/filename2/filename3
(2).目录删除命令
// 删除空目录
$ rmdir filename
// 删除非空目录
$ rm -rf filename
// 清除内容
$ clear
(3).目录切换命令
// 切换目录
$ cd [需要切换的路径名]
// 切换到上一级目录
$ cd ..
// 切换到用户主目录
$ cd ~
// 切换到根目录
$ cd /
// ./ 表示当前所在目录
// ../ 表示上一级目录
// ../../ 表示上上级目录
// pwd查看用户当前工作目录的绝对路径
(4).文件查询
$ ls [选项][文件]
//表示一行输出一个文件
$ ls -1
//列出目录中所有的文件(包括.开头的隐藏文件)
$ ls -a
//列出文件的具体信息
$ ls -l
(5).文件的复制、剪切、删除
//命令cp用来实现将目录或文件复制到另一个目录或文件中
$ cp 源文件/目录 目标文件/目录 [-rf]
//命令mv用来实现将目录或文件移动(剪切)到另一个目录或文件中
$ mv 源文件/目录 目标文件/目录
//命令rm用来删除文件或目录
(6).文件搜索
// grep
// 如果匹配到相关信息就会打印符合条件的所有行
// grep '需要匹配的字符' 文件名
// -i 不区分大小写
// -c 统计包含匹配的行数
// -n 输出行数
// -v 反向匹配
// find
// 在指定的目录文件中搜索文件
// find 路径 文件名
// -name 按照名字查找
// -iname 模糊大小写搜索
// * 匹配任意长度的字符串
$ find / -name Videos (会遍历根目录下的所有文件,并显示搜索结果)
$ find -name *.txt 可以搜索当前根目录下的txt文件
(7).文件链接
// ln (link) 的缩写
// 链接分为软链接和硬链接
// ln [选项] 源文件或目录 目标文件或目录
// 软链接
// 删除软链接文件,源文件不受影响;而删除源文件,软链接文件会失效
// ln -s 源文件或目录 目标文件或目录
// 硬链接
// 无论是删除了源文件还是链接文件,只要有一个文件存在,文件都可以被访问
// 硬链接不能链接目录
(8).文件所属用户
// Linux操作系统是一个多用户的操作系统
// 系统用户的管理采用分组分形式,即多个用户分为一组
// 命令chown用于修改文件所属用户
// 命令chgrp用于修改文件所属用户组
// chown/chgrp [选项] [所属用户/组] [文件]
(9).文件存储权限
【符号标记法】
// r表示可读权限 w表示可写权限 x表示可执行权限 -表示不具备该权限
// 第一组:文件所属用户对文件的访问权限
// 第二组:与所属用户同组的其他用户对文件的访问权限
// 第三组:非同组的其他用户对文件的访问权限
// +代表增加权限 -代表减少权限
// 不同的用户级别表示为:
// u(文件所属用户)g(同组其他用户)o(系统其他用户)a(所有用户)
// chmod [选项] 权限符号 文件
【八进制数法】
// 将拥有该权限设置为1,不具有该权限设置为0
// 例"rwx r-x -w-",可以替换为二进制"111 101 010"
// chmod [选项] 八进制数 文件
// 0 000 无任何权限
// 1 001 可执行
// 2 018 可写可执行
// 3 011 可写可执行
// 4 100 可读
// 5 101 可读可执行
// 6 110 可读可写
// 7 111 可读可写可执行
(10).在文件中输入内容
echo "内容" > [目标文件]
(文件原先的内容会被覆盖掉)
如:echo "wly" > 1.txt
echo "内容" >> [目标文件]
(>>表示追加内容)
如:echo "wly" >> 1.txt
echo "-e 内容 \n 内容 \n" > [目标文件]
(-e激活转义符,\n可换行)
echo "-e 123 \n" > 1.txt
(11).查看文件
cat命令常常用于查看内容较少的文件
cat [参数选项] [文件]
如:cat 1.txt
3.压缩打包相关指令
(1).命令gzip
// gzip可以用来实现对文件进行压缩或解压缩,gzip只能用来压缩或者解压缩单个文件,不能压缩目录
$ gzip [选项] 文件
// gungizp或-d选项可以对压缩文件解压缩
$ gzip gungizp或-d 文件.gz
// zcat可以在不解压的情况下查看这个文本文件的内容
(2).命令tar
// 命令tar被用于实现文件目录的打包或解压
// 打包指的是将一些文件或目录整合成一个单文件
// 而压缩则是将一个大文件通过压缩算法变成一个体积较小的文件
$ tar 参数 新包名 源文件或目录
// -c creat 创建档案
// -v 显示详情
// -f 文档
// -x 从打包文件中解压除参数
// -z 压缩打包文件
// -C 还原
// -cvf 打包参数
// -xvf 解包参数
// -czvf 打包压缩参数
// -xzvf 解包解压参数
4.系统常用功能命令
(1).Tap 补齐
命令补齐需要连续按两次Tap键;
文件名补齐需要按一次Tap键
(2).查询历史命令
按“PgUp”即可翻看历史命令
// 将命令以列表形式记录号1开始一次性显示出来
$ history
// 能够查看的命令行数
$ echo $HISTSIZE
// 修改历史命令容器
$ HISTSIZE=num
(3).通配符的使用
// 问号代表它所在位置上的任何单个字符
// 星号代表从它位置开始的任何字符串
// 方括号表示一个指定范围的字符
// [] 匹配指定的范围
// [!] !非运算,意为不匹配[]内的任意字符
(4).管道的使用
// w命令用于统计指定文本的行数、字数、字节数
$ wc [参数] 文件名
// -l 只显示行数(包括空行)
// -w 只统计单词数
// -c 只显示字节数(空行、换行、结尾符)
// wc -w可以查询文件中的单词数,也可以查询目录中文件的数量
// 管道 |
// 连接命令,将第一个命令的输出作为第二个命令的输入
(5).Ctrl+C 终止程序
第三章:Linux用户管理
一、用户的基本概念
1.用户的属性
(1).用户名
(2).口令
口令是登录账号的密码
(3).用户标识号
用户标识号(UID)是账号的提示符,一般情况下,与用户名是一一对应的。
UID为0的账号属于系统管理员;
UID为1~499的账号是系统保留账号,不可登录;
UID为500~65526为可登录账号,供一般用户使用。
(4).用户主目录
用户主目录即用户的超级工作目录,默认为“home/用户名”
2.用户与组
(1).一对一
某一用户是某个组的唯一成员
(2).多对一
多个用户是唯一组的成员,成员不归属其他用户组
(3).一对多
某个用户可以是多个用户组的成员
(4).多对多
多个用户对应多个用户组
3.与用户相关的配置文件
(1)./etc/passwd
// 记录了用户的基本属性
$ cat /etc/group
$ tail /etc/group
// WJK:x:1007:999::/home/WJK:/bin/sh
// 登录名:加密口令:UID:GID:个人信息:登录 shell
(2)./etc/shadpw
// WJX:123456:19866:0:99999:7::
// 登录名:加密口令:最后一次修改时间距离1970元旦的天数:最小时间间隔:最大时间间:隔警告时间
(3)./etc/group
$ cat /etc/group
// tfboys:x:1004
// 组名:口令(加密后):组标识(GID):组内用户列表
二、用户管理命令
1.用户管理
(1).添加用户
$ useradd [参数] 用户名
// -m 指定新建用户的用户文件夹在home目录中
// eg:
$ useradd -m tom
$ cd ..
$ ls(home文件多出一个tom文件夹)
(2).用户口令
$ passwd [选项] 用户名
// eg:
$ sudo passwd tom
(3).删除用户
$ userdel [选项] 用户名
// -r 将用户主目录一并删除
eg:
$ sudo userdel -r tom(当前进程在运行,无法删除tom账户)
// 退出root用户进程
$ sudo kill -SIGKILL 进程号
(5).用户属性修改
$ usermod [选项] 用户名
// -p 修改用户密码
// 查看用户密码文件夹
$ cat /etc/shadow
$ tail /etc/shadow
// 修改用户密码
$ usermod -p 新密码 用户名
// 查看用户修改密码后的密码文件
$ cat /etc/shadow | grep "tom"|
2.用户组管理
(1).用户组的添加
$ groupadd [选项] 用户组
$ su root
$ groupadd tfboys
(用户组的所有信息都存放在“etc/groud”文件夹中)
// 查看组
$ cat /etc/group
// 查看文件最后10行内容
$ tall/etc/group
(2).用户组成员的添加与删除
$ gpasswd [选项] 用户名 组名
// -a 把用户添加组
// -b 把用户从组中删除
$ su root
$ tail /etc/group
$ tail /etc/passwd
$ gpasswd -a wjk tfboys
$ grep "tfboys" /etc/group
(3).用户组的修改
$ groupmod [选项] 用户组
// -n 将用户组的名字改为新的名字 (更改前 更改后)
// -g 指定新的组标识号 (GID) |
$ su root
$ tail /etc/group
$ groupmod -n TFgirls TFboys
$ groupmod -g 9999 TFgirls
$ grep "TFgirls" /etc/group
(4).用户组的删除
$ grouodel 用户组
第四章:Linux软件管理
一、dpkg软件包管理工具
$ dpkg [选项] <package>
// -l 列出已安装的软件包的简要信息,包括状态、名称、版本、结构和描述内容
$ dpkg -l apt(列出APT软件包的基本信息)
$ dpkg -l(列出所有已安装的Deb软件包)
$ dpkg -l | grep package(组合管理操作再使用grep命令可以查询某些软件包)
$ Ctrl C(终止命令)
$ Ctrl F(向下翻页)
$ Ctrl B(向上翻页)
// -l 安装一个已经下载至本地的Deb软件包
二、APT软件包管理工具
// 从配置的源文件中下载更新包信息,以确保获取的软件包
$ sudo apt update
// 查看net-tools软件包信息,如果已安装过这个软件,会提示已安装
$ apt list net-tools
// 再次查看软件包信息
$ apt list net-tools
// 安装软件包
$ sudo apt install net-tools
// 显示软件包细节
$ sudo apt show net-tools
// 移出软件包
$ sudo apt remove net-tools
// 升级所有可升级的软件
$ sudo apt upgrade(通过“安选-升级”的方式更新软件包)
$ sudo apt full-upgrade(通过“卸载-安装-升级”的方式更新软件包)
第五章:Linux编程环境
一、文本编辑器
// 安装Vim编辑器
$ sudo apt install vim
// 打开文本编辑器(如果目标文件存在,则打开成功,如果不存在,会新建一个文件)
$ vim abc.txt
// Vim的工作模式有3种,分别为命令模式、插入模式、底行模式
// 使用命令Vim打开文件,这个初始状态就属于命令模式
// 按i键进入插入模式
// 对文件进行操作
// esc键进入命令模式
// 使用按键移动光标
// 输入 :wq 保存并退出
// 输入 :q 退出
// 输入 :q! 则强制退出(放弃保存)
第六章:Linux网络配置
// 查看网络配置
//if表示interface 网络接口
//会列出所有的网络接口,及各个接口的状态
$ ifconfig
// eth和ens的区别:一个是真实物理网卡,一个是虚拟会话网卡。一个真实物理网卡上可以绑定多个虚拟网络会话。
//up-代表网卡的开启状态,running-代表网卡上的网线处于连接状态;MTU:1500-最大传输单元为1500字节。//inet-IP地址;broadcast-广播地址;inet6-IPv6地址的配置信息。
//1o网卡是Loopback的缩写,也就是本地回环网卡,这个网卡的IP地址是127.0.0.1。代表我们的网络协议正常,就算不插入网线也能ping通,没有实际使用意义。
//开启/禁用网络
$sudo ifconfig 网卡 up
$sudo ifconfig 网卡 down
// ping命令-测试网络中的主机的通信情况。(Ctrl+C强行中止)//显示ping的域名以及IP地址,发送的是56字节的数据。
//从目标主机中收到的数据是64字节,icmp_seq是收到包的序号,time是时延。
$ ping www.baidu.com
//临时配置IP地址//使用ifconfig命令配置网卡信息仅会临时生效,重启网络或服务器配置就会失效。
$sudo ifconfig网卡(ens33)地址(10.0.36.99)
//配置网卡的物理地址
ifconfig 网卡hwether【临时IP]
// 网卡设备禁用
$sudo ifconfig 网卡 down// 修改
$sudo ifconfig 网卡hw ether[0:11:22:33:44:551// 重启网卡命令
$sudo ifconfig 网卡 up
//查询修改结果
// ifconfig