1:初识终端
打开终端(乌班图系统):Ctrl+Alt+T
打开终端(Windows系统):Win+R
关闭终端:exit命令;Ctrl+D
1.1:认识shell
username @ hostname:direction Shell提示符
// username 用户名
// hostname 主机名
// direction方向/路径
"~"表示在用户主目录下;"#"表示在根目录下。// Shel 提示符普通用户为"$"符号;
超级用户/管理员用户/root为 "$"
2:Linux操作系统命令
2.1:用户与系统相关命令
1)、su 切换用户
// sudo superuser do
// passwd 设置/更改密码
// 我要以超级管理员的身份为root用户新建密码
$ sudo passwd root
// switchUser su为切换用户命令
$ su root
// 退出超级管理员身份
$ exit
// 以普通用户的身份执行超级用户的权限
$ sudo +命令
2) 、系统相关命令
1. exit 命令
// 当用户为普通用户时、其功能为关闭终端
// 当用户为超级用户时,其功能为切换到普通用户//shutdown命令
//实现系统关机/重启
// shutdown 关闭服务器// shutdown -r 一分钟后重启
// shutdown -c 取消一分钟后的重启/关机
// shutdown -h 一分钟后关机
// reboot 立即重启
2.Tab补齐
文件名补齐需要按一次Tab键。
命令补齐需要连续按两次Tab键
3.查询历史命令
按↑即可查看历史命令
//将命令以列表形式记录号1开始一次性显示出来
$ history
// 能够查看的命令行数
$ echo $HISTSIZE
// 修改历史命令容器
$ HISTSIZE=num
4.通配符的使用
// 问号(?)代表它所在位置上的任何单个字符
// 星号 (*)代表从它位置开始的任何字符串
// 方括号([ ])表示一个指定范围的字符
// ([ ]) 匹配指定的范围
// ([ ! ])!非运算,意为不匹配[ ]内的任何字符
5.wc 管道的使用
// wc命令用于统计指定文本的行数,字数,字节数
$ wc [参数] 文件名
// -l 只是显示行数(包括空行)
// -w 只统计单词数
// -c 只显示字节数(包括空行,换行,结尾符)
// wc -w 可以查询文件中的单词数
// 也可以查询目录中文件的数量
// 管道 |
// 连接命令,将第一个命令的输出作为第二个命令的输入。
2.2:文件相关命令
1)mkdir 目录的创建与删除命令
// 目录创建
$ mkdir filename
// 创建一个层级目录
$ mkdir -p filenamei/filename2/filename3// 删除空目录
$ rmdir filename
// 删除非空目录
$ rm -rf filename
// 创建空文件
touch
2)cd 目录切换
//切换目录
$ cd【需要切换的路径名]
// 切换到上一级目录
$ cd ..
// 切换到用户主目录
$ cd ~
// 切换到根目录
$ cd /// 跳转到实际物理路径,而非快捷方式路径
$ cd -p
// ./表示当前所在目录
// ··/表示上一级目录
// ../../表示上上级目录
// pwd查看用户当前工作目录的绝对路径
3) ls 文件显示查询
$ ls【选项][文件]】
// 表示一行输出一个文件
$ ls -1
// 列出目录中所有的文件(包括:开头的隐藏文件)
$ ls -a// 列出文件的具体信息
$ ls -l
// 查看文件内容
cat
4) 文件的复制、剪切、删除
// 命令cp用来实现将目录或文件复制到另一个目录或文件中。
$ cp 源文件/目录 目标文件/目录 【-rf】
// 命令mv用来实现将目录或文件移动(剪切)到另一个目录或文件中。
$ mv 源文件/自录 目标文件/目录
//命令rm用来刷除文件或自录,$ rm -rf
// 递归删除目录中所有内容
$ rm -r
// 强制执行删除操作,而不提示用于进行确认。$ rm -f
// 显示指令的详细执行过程$ rm -v
5) grep 文件搜索
// grep
// 如果匹配到相关信息就会打印符合条件的所有行
// grep '需要匹配的字符' 文件名
// -i 不区分大小写
// -c 统计包含匹配的行数
// -n 输出行数
// -v 反向匹配
// find
// 在指定的目录中搜索文件
// find路径文件名
// -name 按照名字查找// -iname 模翻大小写授系
// * 匹配任意长度的字符串
$ find / -name Videos(会遍历根目录下的所有文件,并显示搜索结果)$ find -name *.txt 可以搜索当前目录下的txt文件
6) ln 文件链接
// ln(link)的缩写
// 链接分为软链接和硬链接
// 无论是修改源文件还是链接文件,另一个文件中的数据都会发生改变。
// ln【选项] 源文件或目录自标文件或目录
// 硬链接
// 无论是删了源文件还是硬链接文件,只要有一个文件存在,文件都可以被访问
// 硬链接不能链接目录
// 软链接
// 删除软链接文件,源文件不受影响:而删除源文件,软链接文件会失效。创建软链接
// ln -s 源文件或目录目标文件或目录
7) 文件所属用户
// Linux操作系统是一个多用户的操作系统
// 系统对用户的管理采用分组分形式,即多个用户分为一组
// 命令chown用于修改文件所属用户(change owner)
// 命令chgrp用于修改文件所属用户组(change group)
// chown / chgrp 【选项][所属用户/组][文件]
8) 文件存取权限
// r 表示可读权限 w 表示可写权限 x 表示可执行权限 - 表示不具备该权限
// 第一组:文件所属用户对文件的访问权限
// 第二组:与所属用户同组的其他用户对文件的访问权限
// 第三组:非同组的其他用户对文件的访问权限
// + 代表增加权限 - 代表减少权限 = 号代表直接赋予
//不同的用户级别表示为
// u(文件所属用户)g(同组其他用户)o[系统其他用户)a(所有用户)
// chmod【选项] 权限符号 文件
第一种方式变更权限
(1)修改文件使其所属主用户具有执行权限
chmod u+x 123.txt
(2)修改文件使其所属组用户具有执行权限
chmod g+x 123.txt
(3)修改文件所属主用户执行权限,并使其他用户具有执行权限
chmod u-x,o+x 123.txt
第二种方式变更权限
八进制数法
//将拥有该权限设置为1,不具有该权限设置为0//"rwx r-x -w-",可以替换成二进制 "111 101 010"
//chmod[选项] 八进制数 文件
//0 000 无权限
//1 001 可执行
//2 010 可写
//3 011 可写可执行
//4 100 可读
//5 101 可读可执行
//6 110 可读可写
//7 111 可读可写可执行
r=4 w=2 x=1 rwx=4+2+1=7
(1)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
chmod 777 123.txt
9)chgrp 改变所属组
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
(1)修改文件的所属组
chgrp root 123.txt
10)echo命令
echo "123" > test.txt # 将文本重定向到文件test.txt
echo "123" >> test.txt # 将文本追加到文件test.txt
echo -e""..\n..">文件名 (激活转义字符,达到换行的效果)(/n:换行符)
2.3:压缩打包相关命令
1:gzip命令
// gzip可以用来实现对文件进行压缩或解压缩
// gzip只能压缩或解压缩单个文件,不能压缩目录
$ gzip [选项] 文件
// -d 选项可以对压缩文件进行解压缩
$ gzip -d [文件] .gz
// zcat命令可以在不解压的情况下查看这个文本文件中的内容
// gunzip命令对文件进行解压
$ gunzip [文件] .gz
2:tar命令
// 命令tar被用于实现文件目录的打包或解包
//打包指的是将一些文件或目录整合成一个单文件
//而压缩则是将大文件通过压缩算法变成一个体积较小的文件
$ tar 参数 新包名 源文件或目录
$ tar -cvf test.tar.gz [文件]
// -c creat 创建档案
// -v 显示详细
// -f 文档
// -x 从打包文件中解压参数
// -z 压缩打包文件
// -C 还原到指定文件夹
// -cvf 打包参数
// -xvf 解包参数
// -czvf 打包压缩参数
// -xzvf 解包压缩参数
//在~中新建demo1、demo2、demo3文件夹
$mkdir demol dmeo2 demo3
//将demo1、demo2、demo3文件夹打包到file文件夹中
$tar -cvf file.tar demol demo2 dmeo3
//还原demo1、demo2、demo3文件
$ tar -xvf file.tar
//打包并压缩demo1、demo2、demo3文件到file文件夹中$tar -czvf file.tar.gz
//解压缩并还原file文件夹
$ tar -xzvf file.tar.gz
//解压缩并还原file文件夹内容到demo文件中
$tar -xzvf file.tar.gz- demo
第三章:Linux用户管理
3.1:用户的基本概念
1:用户的属性
a:用户名
b:口令
口令是登录账号的密码
c:用户标识号
用户标识号(UID)是账号的提示符。
一般情况下,与用户名是一一对应的。
UID为0的账号属于系统管理员;
UID为1-499的账号是系统保留账号,不可登录
UID为500-65526为可登录账号,供一般用户使用d:用户主目录
用户主目录即用户的起始工作目录,默认为"home/用户名"// 从用户主目录切换进入到home目录,
$ cd ..
// 查看hone目录下的文件夹
$ ls(会有一个用户文件夹)// 查看用户主目录的绝对路径
$ pwd
3.2:用户管理命令
3.2.1:用户管理
1: useradd 添加用户
$ useradd [参数]用户名
// -m指定新建用户的用户文件夹在home目录中$ useradd -m 用户名
// eg:
$ sudo useradd -m tom
$ cd ..
$ ls(home文件夹多出了一个tom文件夹)
2: passwd 用户口令
$ passwd [选项] 用户名
eg:
// sudo passwd tom$ 输入两遍要设置的密码
3: userdel 删除用户
$ userdel【选项】用户名
// -r 将用户主目录一并删除
eg:$ sudo userdel -r tom(当前进程在运行,无法删除tom账户)
//退出tom用户进程
$ sudo kill -SIGKILL 进程号
3.1.2:用户与组
a:一对一:某一用户是某个组的唯一成员
b:多对一:多个用户是某唯一组的成员,成员不归属其他用户组
c:一对多:某个用户可以是多个用户组的成。
d:多对多:多个用户对应多个用户组
3.1.3:与用户相关的配置支件
a: /etc/passwd
// 记录了用户的基本属性
$ cat /etc/passwd
$ tail /etc/passwd// WJK:x:1007:999: :/home/WJK:/bin/sh
// 登录名:密码 (x) 占位符x:加密口令:UID:GID:个人信息:主自录:登录Shell
b: /etc/shadow
// wjk :123456: 19866 : 8 : 9999:7
登录名:加密口令:最后一次修改时间距离1978年元旦的天数:最小时间间隔:最大时间间隔:警告时间
c: /etc/group
$ cat /etc/gruop 查看用户组文件
// tfboys:x:1004:
// 组名:口令(加密后):组标识号(GID):组内用户列表
4:用户属性修改
$ usermod [ 选项 ] 用户名
// -p 修改用户密码
// 查看用户密码文件夹
$ cat /etc/shadow
$ tail /etc/shadow
// 修改用户密码
$ usermod -p 新密码 用户名
$ usermod -p 123456 tom
// 查看用户修改用户密码后的密码文件
$ cat /etc/shadow | grep "tom"
$ usermod [ 选项 ] 用户名
// -a 添加
// -G 指定组名
// 将xx用户添加到xx组
$ sudo useradd -aG 组名 用户名
// 查看xx组成员
$ cat /etc/group | grep "xx组"
3.2.2:用户组管理
1: groupadd 用户组的添加
$ groupadd [选项] 用户组
// -g 指定新用户组标识号( GID)
// -o 与-g同时使用, 表示新指定的GID可以与系统中已存在的GID相同
$ su root
$ groupadd tfboys
(用户组的所有信息都存放在"etc/grop"文件夹中)
// 查看组
$ cat etc/group$ cat etc/group | grep "tfgirl"
// 查看文件最后10行内容$ tail /etc/group
2: gpasswd 用户组成员的添加与删除
$ gpasswd [选项] 用户名 组名
// -a 把用户添加到组
// -d 把用户从组中删除
3: groupmod 用户组的修改
$ groupmod [选项] 用户组
// -n 将用户组的名字改为新的名字 (更改后 更改前)
// -g 指定新的组标号 (GID)
// -o 与-g同时使用, 表示新指定的GID可以与系统中已存在的GID相同
4: groupdel 用户组的删除
$ groupdel 用户组
第四章:Linux软件管理
4.1: dpkg 软件包管理工具
$ dpkg [ 选项 ] <package>
// -l 列出已安装软件包的简要信息,包括状态,名称,版本,结构和描述信息
$ dpkg -l apt (列出apt软件包的基本信息)
$ Ctrl + C (终止正在进行的命令)
$ dpkg -l (显示所有已经安装的Dep软件包)
Ctrl + B 向上翻页 Ctrl + F 向下翻页
$ dpkg -l | grep package (结合管道操作再使用grep命令可以查询某些软件包)
// -i 安装一个已经下载至本地的Dep软件包
// -s (检测软件包安装状态)
// -L 列出安装的软件包清单(软件安装到系统之中,其产生的配置文件会分布在系统的各个子目录中)
// -r 卸载软件安装包安装到系统的文件,但保留原有的配置,如果重新安装该软件,仍然可以使用原有的配置
// -P 删除软件的同时清除原有的配置文件
$ ifconfig (未能查看网络接口的详细信息)
$ wget wget http://mirrors.kernel.org/ubuntu/pool/main/n/net-tools/net-tools_1.60+git20161116.90da8a0-1ubuntu1_amd64.deb (wget 命令用于从指定UPL在下载文件)
$ sudo dpkg -i 文件夹名 (安装Dep软件包)
$ sudo dpkg -s net-tools (检测软件包安装状态)
$ ifconfig (可以成功查看网络接口的详细信息,包括接口名称,IP地址,MAC地址,网络掩码)
$ sudo dpkg -L net-tools(查询软件包安装后产生的文件列表)
$ sudo dpkg -r net-tools(卸载软件包)
$ sudo dpkg-P net-tools(卸载软件包及相关文件)
4.2: APT 软件包管理工具
// 从配置的源文件中下载更新包信息,以确保获取最新软件包
$ sudo apt update
// 查看net-tools软件包信息,如果已经安装过这个软件,会显示已安装
$ apt list net-tools
// 如果已经安装,使用已经学过的dpkg命令卸载软件
$ sudo dpkg-P net-tools
// 再查看net-tools软件包信息
$ apt list net-tools
// 安装软件包
$ sudo apt install net-tools
// 显示软件包细节
$ sudo appt show net-tools
// 移除软件包
$ sudo appt remove net-tools
// 升级所有可升级的软件
$ sudo appt upgrade(通过“安装-升级”的方式更新软件包)
$ sudo appt full-upgrade(通过"卸载-安装-升级"的方式更新软件包)
第五章:Linux编程环境
5.1:文本编辑器
// 安装Vim编辑器
$ sudo apt install vim
// 打开文本编辑喇(如果目标文件存在,则打开编辑;如果不存在,会
建一个文件。$ vim abc.txt
// Vim的工作模式有3种,分别为命令模式、插入模式、底行模式。
// 使用命令vim打开文件,这个初始状态就属于命令模式。
// 按i键进入插入模式(编辑模式)
// 对文件进行操作。//按esc键进入命令模式。
// 使用按键移动光标。
// 输入:wq 保存并退出
// 输入:q 退出
// 输入:q!强制退出(放弃保存)
第六章:Linux网络配置
6.1:网络基础知识
// 查看网络配置
// if表示interface网络接口
// 会列出所有的网络接口,及各个接口的状态
$ ifconfig// eth和ens的区别:一个是真实物理网卡,一个是虚拟会话网卡。一个真实物理网卡上可以绑定多个虚拟网络会话。
// up-代表网卡的开启状态,running-代表网卡上的网线处于连接状
态;MTU:1500-最大传输单元为1500字节。// inet-IP地址;broadcast-广播地址;inet6-IPv6地址的配置信
息。// lo网卡是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 网卡 hw ether [临时IP]
// 网卡设备禁用
$ sudo ifconfig 网卡 down
// 修改
$ sudo ifconfig 网卡 hw ether [00:11:22:33:44:55]
// 重启网卡命令
$ sudo ifconfig 网卡 up
// 查询修改结果
// ifconfig