1:初识终端
打开终端(乌班图系统):Ctrl+Alt+T
打开终端(Windows系统):Win+R
关闭终端:exit命令;Ctrl+D
2:认识shell
username @ hostname:direction Shell提示符
// username 用户名
// hostname 主机名
// direction方向/路径
"~"表示在用户主目录下;"#"表示在根目录下。
// Shel 提示符普通用户为"$"符号;
超级用户/管理员用户/root为 "$"
3:Linux操作系统命令
3.1:用户与系统相关命令
1)、su 切换用户
// sudo superuser do
// passwd 设置/更改密码
// 我要以超级管理员的身份为root用户新建密码
$ sudo passwd root
// switchUser su为切换用户命令
$ su root
// 退出超级管理员身份
$ exit
// 以普通用户的身份执行超级用户的权限
$ sudo +命令
2) 、系统相关命令
// exit 命令
// 当用户为普通用户时、其功能为关闭终端
// 当用户为超级用户时,其功能为切换到普通用户
//shutdown命令
//实现系统关机/重启
// shutdown 关闭服务器
// shutdown -r 一分钟后重启
// shutdown -c 取消一分钟后的重启/关机
// shutdown -h 一分钟后关机
// reboot 立即重启
Tab补齐
命令补齐需要连续按两次Tab键
文件名补齐需要按一次Tab键。
3.2:文件相关命令
1)目录的创建与删除命令
// 目录创建
$ mkdir filename
// 创建一个层级目录
$ mkdir -p filenamei/filename2/filename3
// 删除空目录
$ rmdir filename
// 删除非空目录
$ rm -rf filename
// 创建空文件
touch
2)目录切换
//切换目录
$ cd【需要切换的路径名]
// 切换到上一级目录
$ cd ..
// 切换到用户主目录
$ cd ~
// 切换到根目录
$ cd /
// 跳转到实际物理路径,而非快捷方式路径
$ cd -p
// ./表示当前所在目录
// ··/表示上一级目录
// ../../表示上上级目录
// pwd查看用户当前工作目录的绝对路径
3) 文件显示查询
$ 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 '需要匹配的字符' 文件名
// -i 不区分大小写
// -c 统计包含匹配的行数
// -n 输出行数
// -v 反向匹配
// find
// 在指定的目录中搜索文件
// find路径文件名
// -name 按照名字查找
// -iname 模翻大小写授系
// * 匹配任意长度的字符串
$ find / -name Videos(会遍历根目录下的所有文件,并显示搜索结果)
$ find -name *.txt 可以搜索当前目录下的txt文件
6) 文件链接
// 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
3.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
4:Linux用户管理
4.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
c: /etc/group
$ cat /etc/gruop
// tfboys:x:1004:
// 组名:口令(加密后):组标识号(GID):组内用户列表
3.2.2:用户组管理
1: groupadd 用户组的添加
$ groupadd [选项] 用户组
// -g 指定新用户组标识号( GID)
// -o 与-g同时使用, 表示新指定的GID可以与系统中已存在的GID相同
$ su root
$ groupadd tfboys
(用户组的所有信息都存放在"etc/grop"文件夹中)
// 查看组
$ cat etc/group
// 查看文件最后10行内容
$ tail /etc/group
2: gpasswd 用户组成员的添加与删除
$ gpasswd [选项] 用户名 组名
// -a 把用户添加到组
// -d 把用户从组中删除
3: groupmod 用户组的修改
$ groupmod [选项] 用户组
// -n 将用户组的名字改为新的名字 (更改后 更改前)
// -g 指定新的组标号 (GID)
// -o 与-g同时使用, 表示新指定的GID可以与系统中已存在的GID相同
4: groupdel 用户组的删除
$ groupdel 用户组