1、自己动手安装Centos7.6操作系统。
2、常见Linux的发行版有哪些?并描述不同发行版之间的联系与区别。
slackware:
suse
opensuse
debian:
ubuntu
mint
redhat:
rhel:redhat enterprise linux
每18个月发行一个新版本
CentOS:兼容rhel的格式
fedora:每6个月发行一个新版本
ArchLinux
Gentoo
LFS:Linux From scratch
3、描述linux目录结构以及目录结构命名规定
当前目录或工作目录
主目录,家目录:HOME
根目录:root:/root
普通用户:/home/USERNAME
~:用户的主目录
4、Linux帮助都有哪几种,如何使用?
外部命令:都有一个可执行程序,位于文件系统某目录下;
which,whereis
shell程序搜寻可执行程序文件的路径定义在PATH环境变量中;
#echo $PATH
注意:自左至右
格式:COMMAND [OPTIONS...] [ARGUMENTS...]
内部命令:
#help COMMAND
外部命令:
(1)# COMMAND --help
#COMMAND -h
(2)使用手册(manual)
#man COMMAND
(3)信息页
#info COMMAND
(4)程序自身的帮助文档
README
INSTALL
ChangeLog
(5)程序官方文档
官方站点:Documentation
(6)发行版的官方文档
(7)Google
内部命令帮助获取:
#help COMMAND
hash命令:
shell搜寻到的外部命令的路径结果会缓存至kv(key-value)存储中;
history命令:
作用是什么?相关的环境变量是什么?有用的选项?
管理命令历史;
登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history
登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中;
history:
-a:追加本次会话新执行的命令历史列表至历史文件中;
-d:删除历史中指定的命令;
-c:清空命令历史;
快捷操作:
!#:调用历史中第#条命令;
!string:调用历史中最近一个以string开头的命令;
!!:上一条命令
外部命令帮助获取:
man COMMAND
手册页:/usr/share/man
man1... man8
man1:用户命令
man2:系统调用
man3:C库调用
man4:设备文件及特殊文件
man5:配置文件格式
man6:游戏
man7:杂项
man8:管理类的命令
man命令的配置文件:/etc/man.config
MANPATH/PATH/TO/SOMEWHERE:指明新的手册文件搜索位置
#man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手册页并显示之;
man命令的操作方法:
Space,^V, ^f, ^F:向文件尾翻屏;
b,^B:向文件首部翻屏;
d,^D:向文件尾部翻半屏;
u,^U:向文件首部翻半屏;
RETURN,^N, e, ^E or j or ^J:向文件尾部翻一行;
yor ^Y or ^P or k or ^K:向文件首部翻一行;
q:退出;
#:跳转至第#行;
1G:回到文件首部
G:翻至文件尾部
5、常用的用户以及文件管理命令有哪些,并演示命令以及用法。
Linux用户:Username/UID
管理员:root, 0
普通用户:1-65535
系统用户:1-499,1-999
对守护进程获取资源进行权限分配;
登录用户:500+,1000+
交互式登录;
Linux组:Groupname/GID
管理员组:root, 0
普通组:
系统组:1-499,1-999
普通组:500+,1000+
Linux安全上下文:
运行中的程序:进程(process)
以进程发起者的身份运行:
root:cat
tom:cat
进程所能够访问的所有资源的权限取决于进程的发起者的身份;
Linux组的类别:
用户的基本组(主组):
组名同用户名,且仅包含一个用户:私有组
用户的附加组(额外组):
Linux用户和组相关的配置文件:
/etc/passwd:用户及其属性信息(名称、UID、基本组ID等等);
/etc/group:组及其属性信息;
/etc/shadow:用户密码及其相关属性;
/etc/gshadow:组密码及其相关属性;
cp,mv, rm
复制命令:cp
cp[OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
cp SRC DEST
常用选项:
-i:交互式
-r,-R:递归复制目录及内部的所有内容;
-a:归档,相当于-dR --preserv=all
-d:--no-dereference --preserv=links
--preserv[=ATTR_LIST]
mode:权限
ownership:属主属组
-p:--preserv=mode,ownership,timestamp
-v:--verbose 显示过程
-f:--force 强制
mv: move,移动文件
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
常用选项:
-i:交互式
-f:强制
rm: remove,删除
rm[OPTION]... FILE...
常用选项:
-i:交互式
-f:强制删除
-r:递归
6、总结umask用法,以及umask和文件权限的关系
文件或目录创建时的遮罩码:umask
FILE:666-umask
Note:如果某类的用户的权限减得的结果中存在x权限,则将其权限+1
DIR:777-umask
umask:查看
umask#:设定
7、创建用户gentoo,附加组为bin和root,并设置默认shell为/bin/csh,注释信息为 "Gentoo Distribution"
useradd gentoo -G bin,root -s /bin/csh-c "Gentoo Distribution"
8、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
mkdir -vp/tmp/{a1/{a,b},a2}
mkdir -v/tmp/{x,q}_{y,z}
9、总结vim模式、常见快捷命令用法,并演示快捷命令用法
vim:模式化的编辑
基本模式:
编辑模式,命令模式
输入模式
末行模式:
内置的命令行接口
模式转换:
编辑模式 -->输入模式
i:insert,在光标所在处输入;
a:append,在光标所在处后面输入;
o:在当前光标所在行的下方打开一个新行;
I:在当前光标所在行的行首输入;
A:在当前光标所在行的行尾输入;
O:在当前光标所在行的上方打开一个新行;
输入模式 -->编辑模式
ESC
编辑模式 -->末行模式
:
末行模式 -->编辑模式
ESC
10、编写一个脚本接收二个数字,实现任何二个数字之和。
#!/bin/bash
echo -n "Enter your number1"
read number1
echo -n "Enter your number2"
read number2
if [ -z "$(echo $number1 |sed 's#[0-9]##g')"]&&[ -z "$(echo $number2 |sed 's#[0-9]##g')"]
then
sum=`expr $number1 + $number2`
echo $sum
else
echo "no"
fi