第二章:Linux操作系统的使用
2.1:初识终端
打开终端:Ctrl+Alt+T(乌班图系统)
Win+R(Windows系统)
关闭终端:exit命令;Ctrl+D
2.2:认识shell
username@hostname:direction Shell提示符
// username(用户名)
// @ hostname(主机名)
// diretion(方向/路径)
"~"表示在用户主目录;"/"表示在根目录下。
// Shell提示符:普通用户为"$"符号
超级用户/管理员用户/root为"#"
2.3:Linux操作系统命令
2.3.0:用户与系统相关命令
1:切换用户命令su
//sudo (superuser do)
//passwd 设置/更改密码
//我要以超级管理员身份为root用户新建密码
$ sudo passwd root
//第一次密码:用户密码
//第二次密码:要设置的root用户密码
//switchUser su为切换用户命令
$ su root
//退出超级管理员身份
exit
//以普通用户的身份执行超级用户的权限
$ sudo 命令
2:系统相关命令
//exit命令
当用户为普通用户时,其功能是关闭终端。
当用户为超级用户时,其功能是切换为普通用户。
//shutdown命令
shutdown -r 一分钟后重启
shutdown -c 取消一分钟后的重启/关机
shutdown -h 一分钟关机
reboot 立即重启
//clear命令,用于清屏
2.3.1:文件相关命令
1:目录的创建与删除
// 目录创建
$ mkdir filename
// 创建一个层级目录
$ mkdir -p filename1/filename2/filename3
// 删除空目录
$ rmdir filename
// 删除非空目录
$ rm -rf filename
2:目录切换命令
// 切换目录
$ cd [需要切换的路径名]
// 切换到上一级目录
$ cd ..
// 切换到用户主目录
$ cd ~
//切换到根目录
$ cd /
// ./表示当前所在目录
// ../表示上一级目录
// ../../表示上上级目录
// pwd查看用户当前工作目录的绝对路径
3:文件显示查询
$ ls [选项] [文件]
//表示一行输出一个文件
$ ls -数字1
//列出目录中的所有文件(包括.开头的隐藏文件)
$ ls -a
//列出文件的具体信息
$ ls -l
4:文件的复制、剪切、删除
//命令cp用来实现将目录或文件复制到另一个目录或文件中。
$ cp 源文件/目录 目标文件/目录 [-rf]
//命令mv用来实现将目录或文件移动(剪切)到另一个目录或文件中。
$ mv 源文件/目录 目标文件/目录
//命令rm用来删除文件或目录。
5:文件搜索
//grep
如果匹配到相关信息就会打印符合条件的所有行
grep '需要匹配的字符' 文件名
-i 不区分大小写
-c 统计包含匹配的行数
-n 输出行数
-v 反向匹配
//find
在指定路径下查找文件
find 路径 文件名
//-name 按照名字查找
$ find / -name Videos (会遍历根目录下的所有文件,并显示搜索结果)
$ find -name *.txt 可以搜索当前目录下的txt文件
6:文件链接
// ln(link)的缩写
// 链接分为软链接和硬链接
// ln [选项]源文件或目录 目标文件或目录
// 硬链接
// 无论是删除了源文件还是硬链接文件,只要有一个文件的存在,文件就可以被访问
// 硬链接不能链接目录
// 软链接
// 删除软链接文件,源文件不受影响;而除源文件,软链接文件会失效。
// ln-s 源文件或目录 目标文件或目录
7:文件所属用户
//Linux操作系统是一个多用户的操作系统
//系统对用户的管理采用分组的形式,即多个用户分为一组
//命令chown用于修改文件所属用户
//命令chgrp用于修改文件所属用户组
//chown/chgrp[选项][所属用户/组][文件]
8:文件存取权限
//r表示可读权限 w表示可写权限 x表示可执行权限 -表示不具备该权限
//第一组:文件所属用户对文件的访问权限
//第二组:与所属用户同组的其他用户对文件的访问权限
//第三组:非同组的其他用户对文件的访问权限
//+代表增加权限,-代表减少权限
//不同的用户级别表示为:
//u(文件所属用户),g(同组其他用户),o(系统其他用户),a(所有用户)
//chmod [选项] 权限符号 文件
[八进计数法]
//将拥有该权限设置为一,不具有该权限设置为零。
//例:"rwx r-x -w-",可以替换为二进制"111 101 010"
//chmod [选项] 八进制数 文件
//0 000 无任何权限
//1 001 可执行
//2 010 可写
//3 011 可写可执行
//4 100 可读
//5 101 可读可执行
//6 110 可读可写
//7 111 可读可写可执行
9:在文本中输入内容
echo “内容” >文件名
追加内容
echo “内容” >>文件名
-e
激活输入文本内容中的转义符\n,使文本内容达到换行目的
10:查询文件内容
cat 文件名
2.3.3: 压缩打包相关指令
1:命令gzip
//gzip可以用来对文件进行压缩或解压缩。
//gzip只能压缩或解压缩单个文件,不能压缩目录。
$ gzip [选项] 文件
// -d选项可以对压缩文件解压缩
//zcat命令可以在不解压的情况下查看文本文件中的内容
//gunzip命令对文件进行解压缩
$ gunzip [选项] .gz文件
2:命令tar
// 命令tar被用于实现文件目录的打包或解包
//打包指的是将一些文件或目录整合成一个单文件。
//而压缩则是将一个大文件通过压缩算法变成一个体积较小的文件。
$ tar 参数 新包名 源文件或目录
// -c creat 创建档案
// -v 显示详情
// -f 文档
// -x 从打包文件中解压出参数
// -z 压缩打包文件
// -C 还原到指定文件夹
// -cvf 打包参数
// -xvf 解包参数
// -czvf 打包压缩参数
// -xzvf 解包解压缩参数
2.3.4:系统常用功能命令
1.Tab补齐
命令补齐需要连续两次按Tab键;
文件名补齐需要按一次Tab键。
2.查询历史命令
按"↑"键可以翻看历史命令
// 将命令以列表形式记录号1开始一次性显示出来。
$ histroy
// 能够查看的命令条数
$ echo $HISTSIZE
//修改历史命令容器
$ HISTSIZE = num
3.Ctrl+C终止程序
4.通配符的使用
//问号(?)代表它所在位置的任何单个字符
//星号(*)从它开始的任何字符串
//方括号([])表示一个指定范围的字符
//([])匹配指定的范围
// (!)!非运算,意为不匹配[]内的任意字符
5.管道的使用
// wc命令用于统计指定文本的行数、字数、字节数等
$ wc [参数] 文件名
// -l 只显示行数(包括空行)
// -w 只统计单词数
// -c 只统计字节数(包括空行、换行、结尾符)
// wc -w 可以查询文件中的单词数
// 也可以查询目录中文件的数量
// 管道|
// 链接命令,将第一个命令的输出作为第二个命令的输入
第三章:Linux用户管理
3.1:用户的基本概念
3.1.1:用户的属性
a:用户名
b:口令
口令是登入账号的密码
c:用户标识号
用户标识号(uid)是账号的提示符。
一般情况下,与用户名是一一对应的。
uid为0的账号属于系统管理员;
uid为1-499的账号是系统保留账号,不可登入。
uid为500-65526为可登录账号,供一般用户使用。
d:用户主目录
用户主目录即用户的起始工作目录,默认为“home/用户名”
// 从用户主目录切换进入到home目录。
$ cd ..
// 查看home目录下的文件夹
$ ls (会有一个用户文件夹)
// 查看用户主目录的绝对路径
$ pwd
3.1.2:用户与组
a:一对一:某一用户是某个组的唯一成员。
b:多对一:多个用户是某唯一组的成员,成员不归属其他组。
c:一对多:某个用户可以是多个用户组的成员。
d:多对多:多个用户对应多个组。
3.1.3:与用户相关的配置文件
a:/etc/passwd
b:/etc/shadow
c: /etc/group
$$ cat /etc/gruop
// tfboys:x:1004:
//组名:口令(加密后):组标识号(GID):组内用户列表
3.2:用户管理命令
3.2.1:用户管理
1:添加用户
$ useradd [参数] 用户名
// -m 指定新建用户的用户文件夹在home目录里
eg:
$ sudo useradd -m 用户名
$ cd ..
$ ls (home文件夹多出了一个tom文件夹)
2:用户口令
$ passwd [选项] 用户名
eg:
// sudo passwd 用户名
$ 输入两遍要设置的密码
3:删除用户
$ userdel [选项] 用户名
// 将用户主目录一并删除
eg:
$ sudo userdel -r 用户名(当前进程在运行,无法删除用户)
//退出用户进程
$ sudo kill -SIGKILL 进程号
3.2.2:用户组管理
1:用户组的添加
$ groupadd [选项] 用户组
$ su root
$ groupadd tyfboys
(用户组的所有信息都存放在“etc/group”文件夹中)
查看组
$ cat /etc/group
查看文件最后10行内容
$ tail /etc/group
2:用户组成员的添加与删除
a. /etc/passwd
记录了用户的基本属性
$ cat /etc/passwd
$ tail /etc/passwd
//WJK:x:1007:999::/home/WJK:/bin/sh
//登入名:加密口令:UID:GID:个人信息:主目录:登入shell
b. /etc/shadow
c. /etc/group
$ cat /etc/group
$ gpasswd [选项] 用户名 组名
// -a 把用户添加到组
// -d 把用户从组中删除
3:用户组的修改
$ groupmod [选项] 用户组
// -n 将用户组的名字改为新名字 (更改后,更改前)
// -g 指定新的组标识号(GID)
4:用户属性修改
$usermod〔选项]用户名
//-p 修改用户密码
// 查看用户密码文件夹
$ cat /etc/shadow
$ tail /etc/shadow
// 修改用户密码
$ usermod -p 新密码 用户名
$ usermod -p 123456 tom
//查看用户修改密码后的密码文件
$ cat /etc/shadow | grep "tom"
第四章:Linux软件包管理
4.1:dpkg软件包管理工具
$ dpkg [选项] <package>
//-l 列出已安装软件包的简要信息,包括状态、名
称、版本、结构和描述信息
$ dpkg -l apt
$ Ctrl + C(终止正在运行的命令)
$ dpkg -l(显示所有已经安装的Deb软件包)
(Ctrl+B向上翻页,Ctrl+F向下翻页 )
$dpkg-l|grep<package>(结合管道操作再使用grep命令可以查询某些软件包)
【下载net-tools】
$ ifconfig(未能查看网络接口的详细信息。)
$ wget http://mirrors.kernel.org/ubuntu/pool/main/n/net-tools/net-tools 1.60+git20161116.90da8a0-1ubuntu1 amd64.deb(从网上下载一个deb包)(wget命令用于从指定URL中下载文件。)
$ sudo dpkg -i 文件夹名(安装Deb软件包)
$ 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
//再次查看软件包信息
$ 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(通过"卸载-安装-升级"的方式更新软件包)