练习
1.命令行以$作为结尾代表什么含义?
普通用户
2.请写出Linux系统一般的命令格式?
命令 —【—选项】【参数】
3.在Linux系统下,如何辨别目录与文件及其他的文件?
通过ls——文件:
d 目录:蓝色表示目录(windows系统里的文件夹)
l 链接文件:浅蓝色表示链接文件(类似于windows系统的快捷方式)
b 跨设备文件
c 字符设备文件
p 管道设备文件
s 套接字
通过颜色去辨别:
蓝色表示目录(windows系统里的文件夹)
白色表示文件
红色闪动文件——>表示链接文件不可用
浅蓝色表示链接文件(类似于windows系统的快捷方式)
绿色表示可执行文件(如脚本,命令程序文件)
红色表示压缩文件
黄色表示设备文件(硬盘、键盘、鼠标、网卡、CPU硬件设备都是以文件的形式存在的)
4.如何查看一个文件的详细属性?
ll 或者 ls -l
5.如何查看一个目录本身的详细属性?
ls -d +【其他选项】
6.查看文件详细属性,并以KB、MB、GB的方式显示文件的大小?
ls -lh
7.如何查看一个文件的inode号?
ls -i+【其他参数】
8,请写出Linux下文件和目录的三个归属关系?
- u 所有者:文件或目录的拥有者,拥有者的权限通常是最大的
- g 所属组:文件或目录属于哪一个组,所属组的权限略微比所有者小
- o 其他人:既不是文件或目录的所有者,也部署于文件或目录组内的成员,其他人的权限通常最小的权限
9.请写出Linux下基本权限的表示方式?
rwxrwxrwx
r 读取 w 写入 x 执行 - 没有权限
10.命令行以#作为结尾代表什么含义?
root用户
1.请在/tmp目录下创建student目录,并在student目录下同时创建t1、t2、t3文件
mkdir /tmp/student
touch student/t{1..3}
2.请在/tmp目录下递归创建test1/test2/test3目录
mkdir -p /tmp/test1/test2/test3
3.切换到/tmp/test1/test2/test3目录下,并打印(查看)当前所在目录
[root@localhost tmp]# cd /tmp/test1/test2/test3
[root@localhost test3]# pwd
4.请同时在/opt、/media目录下创建upload文件
touch /opt/upload /media/upload
5.请将/opt目录下的upload文件移动至/tmp/test1/test2/test3目录下,并改名为upload.bak
mv /opt/upload /tmp/test1/test2/test3/upload.bak
6.请将/etc/passwd文件拷贝至/opt目录下,改名为passwd.bak,并保持属性不变
cp -p /etc/passwd /opt/passwd.bak
7.请将/etc/fstab文件拷贝至/opt目录下,并改名为fstab.bak
cp -p /etc/fstab /opt/fstad.bak
8.请将/etc/sysconfig/network-scripts/ifcfg-ens33、文件拷贝至/opt目录下,并改名为ens33.bak
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /opt/ens33.bak
9.请删除/etc/yum.repos.d/目录下所有内容
rm -rf /etc/yum.repos.d/*
10.请在/etc/yum.repos.d/目录下创建local.repo文件
touch /etc/yum.repos.d/local.repo
11.请查看/etc/sysconfig/network-scripts/ifcfg-ens33文件末尾5行内容
tail -n 5 /etc/sysconfig/network-scripts/ifcfg-ens33
12.请查看/etc/passwd文件第1行内容
head -n 1 /etc/passwd
13.请查看/etc/hostname文件内容
cat /etc/hostname
14.请查看/etc/hosts文件内容
cat /etc/hosts
15.
软连接特点:软连接可以跨分区,可以对目录进行链接,源文件删除后,链接文件不可用
硬连接特点:不可以跨分区,不可以对目录进行链接,源文件删除后,链接文件可用
16.请在/opt目录下创建hello.soft文件,并创建软连接到/tmp目录下
touch /opt/hello.soft
ln -s /opt/hello.soft /tmp
17.请在/opt目录下创建hello.hard文件,并创建硬连接到/tmp目录下,并查看连接文件详细属性
touch /opt/hello.hard
[root@localhost ~]# ln /opt/hello.hard /tmp
[root@localhost ~]# ll /tmp/hello.hard
18.如何获取ls命令的帮助信息?
ls —help
19.请说出Linux系统的运行级别
0:关机
1:单用户:root
2:多用户:没有网络NFS
3:完整多用户4:系统未成型
5:图形化界面
6:重启
20.如何重启Linux系统?
reboot
init 6
1.查看当前系统内核名称及版本信息
uname -rs
2.请写系统存放cpu配置文件
cat /proc/cpuinfo
3.请写出查看cpu信息命令
lscpu
cat /proc/cpuinfo
4.请写出系统存放内存配置文件
/proc/meminfo
5.请写出查看内存命令(以人类易读方式显示)
free -h
6.请写出系统存放网卡配置文件路径
/etc/sysconfig/network-scripts/
7.请写出查看网卡配置信息命令
ifconfig(如果系统最小化安装,需要安装net-tools)
ip a (ip address)
8.请写出系统存放主机名配置文件
/etc/hostname
9.请写出查看主机名命令
cat /etc/hostname
10.将主机名修改为student(永久修改)
hostnamectl set-hostname student
vim /etc/hostname
echo student > /etc/hostname
11.请写出vim的三种模式
命令
输入
末行
12.将/etc/passwd文件复制到/opt目录,使用vim打开文件并显示行号
cp /etc/passwd /opt/ | vim /opt/passwd
:set nu
13.使用vim在/opt/passwd文件中搜索包含root关键字的行
/root
14.使用vim在/opt/passwd文件中将光标快速跳转到第10行,并将光标跳转到行尾
:10 $
15.使用vim在/opt/passwd文件中快速跳转到文件最后一行并删除,在将光标跳转到文件第一行,将刚刚删除的行复制到文件第二行
G dd gg p
16.使用vim将/etc/hostname文件内容读入到/opt/passwd文件最后一行下
gg :r /etc/hostname
17.使用vim在/opt/passwd文件中复制前5行内容并粘贴到文件最后一行下
5yy p
18.将本次vim的修改恢复至初始状态,并保存退出
u
19.将本机IP地址修改为192.168.0.100,并重启动网卡
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.0.100/24 connection.autoconnect yes
systemctl restart network
20.如何获取一个域名所对应的IP地址
host 域名
21.如何检测本机使用的DNS是否可用
nslookup 域名
22.请将hostname命令设置别名为hn(临时设置)
alias hn=hostname
23.取消hostname命令别名
unalias hn
24.如何查看本机历史命令
history
25.执行命令历史中第20条命令
!20
26.删除命令历史中第5条命令
history -d 5
27.清空所有历史命令
history -c
rm -rf .bash_history
28.查看本机当前系统日期与时间
date
29.将本机日期时间设置与你当前时间一致
date -s ‘2021-07-12 17:30:00’
30.统计/etc/passwd文件行数,并将命令输出结果重定向至/opt/pass.bak文件中
wc -l /etc/passwd > /opt/pass.bak
31.显示/etc/passwd文件末尾10行的前5行内容,并将输出结果追加至/opt/pass.bak文件中
tail -n 10 /etc/passwd |head -n 5 >> /opt/pass.txt
1.创建test1用户,并指定用户UID为6666,指定用户描述信息为test1@163.com,指定用户解释器为/sbin/nologin
useradd -u 6666 -c test1@163.com -s /sbin/nologin test1
2.创建名为stugrp组,将test1用户加入到stugrp组
[root@qm ~]# groupadd stugrp
[root@qm ~]# gpasswd -a test1 stugrp
正在将用户“test1”加入到“stugrp”组中
3.请写出/etc/passwd文件中每个字段含义
用户名:密码占位符:UID:GID:描述文件:家目录:解释器
4.创建test2用户,并设置密码为123456
useradd test2
[root@qm ~]# echo 123456 | passwd —stdin test2
更改用户 test2 的密码 。
passwd:所有的身份验证令牌已经成功更新。
5.修改root用户密码为123456
在root用户下输入passwd
[root@qm ~]# passwd
更改用户 root 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
6.请写出Linux系统下存放用户密码信息文件
/etc/shadow
7.设置test2用户首次登录系统需要修改密码
chage -d 0 test2
8.使用root切换为test1用户身份
[root@qm ~]# su - test1
This account is currently not available.
9.将test2用户添加至stugrp组,并锁定用户密码
gpasswd -a test2 stugrp
passwd -l test2_————锁用户密码
usermod -L test2——————锁用户
10.删除test1用户,连同用户家目录一并删除
userdel -r test1
11.请写出Linux系统存放组信息文件,与组密码信息文件
/etc/group
/etc/gshadow
12.将test2用户从stugrp组中删除
[root@qm ~]# gpasswd -d test2 stugrp
正在将用户“test2”从“stugrp”组中删除
13.在根下创建upload目录,并修改目录所有者为test2用户,所属组为stugrp组,并将lisi用户加入到stugrp组,修改所有者权限rwx,修改所属组权限为rwx,设置其他人没有任何权限
chown test2:stugrp /upload/
[root@qm /]# gpasswd -a lisi stugrp
正在将用户“lisi”加入到“stugrp”组中
[root@qm /]# chmod 770 /upload/
[root@qm /]# ll -d /upload/
drwxrwx—-. 2 test2 stugrp 6 7月 13 09:35 /upload/
[root@qm /]#
14.创建test3用户,非交互式设置用户密码为123456,并设置test3用户可以对upload目录拥有rx权限
[root@qm /]# useradd test3
[root@qm /]# echo 123 | passwd —stdin test3
更改用户 test3 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@qm /]# setfacl -m u:test3:rw /upload/
[root@qm /]# getfacl /upload/
getfacl: Removing leading ‘/‘ from absolute path names
# file: upload/
# owner: test2
# group: stugrp
user::rwx
user:test3:rw-
group::rwx
mask::rwx
other::—-
15.在根下创建shared目录,并同时设置所有人都有完全权限(至少两种方法设置),要求所有普通用户在该目录下只能修改自己创建的文件
[root@qm /]# chmod 777 /shared/
[root@qm /]# ll -d shared/
drwxrwxrwx. 2 root root 6 7月 13 09:56 shared/
chmod o+t /shared/
[root@qm /]# ll -d shared/
drwxrwxrwt. 2 root root 6 7月 13 09:56 shared/
1.查看/var/log目录下以包含log的文件
[root@localhost ~]# ls /var/log/*log
2.查看/var/log目录下以数字结尾的文件
ls /var/log/*[0-9]
3.查看/var/log目录下以字母结尾的文件(包括大写)
[root@localhost ~]# ls /var/log/*[a-Z]
4.过滤/etc/sudoers文件以root开头的行
[root@localhost ~]# grep ^root /etc/sudoers
root ALL=(ALL) ALL
5.看/etc/sudoers文件有效的配置
grep -v ‘^#’ /etc/sudoers |grep -v ‘^$’ -n
6.查找/etc/目录下crontab文件存放位置,并查看文件内容
[root@qm ~]# find /etc/ -type f -name crontab -exec cat {} \;
7.查找10分钟内被修改的文件
[root@qm ~]# find / -mmin -10 -type f
8.查找/var/log目录下30天之前被修改且大于1M的文件,清空文件内容
[root@localhost ~]# find /var/log -mtime +30 -type f -size +10k -exec cp /dev/null {} \;
9.Linux下你常熟悉的压缩格式有哪些?
gzip bzip2 xz
10.对/home目录打包并压缩,打包后名为home.tar.gz
[root@localhost ~]# tar -czf home.tar.gz /home
11.将home.tar.gz压缩包内容解压至/homebak目录下
[root@localhost ~]# tar -xvf home.tar.gz -C /homebak/
12.MBR分区格式可以划分多少个主分区?支持多大容量磁盘?
4个主分区,2.2T
13.GPT分区格式可以划分多少个主分区?支持多大容量磁盘?
128主分区,18EB
14.CentOS7分区默认使用的文件系统类型是什么?
xfs
15.如何查看一块磁盘的分区格式?及扩展分区大小?
[root@localhost ~]# fdisk -l /dev/sdc
16如何查看一块磁盘剩余容量?
[root@localhost ~]# lsblk /dev/sdc
17.linux下开机自动挂载文件是哪个?
/etc/fstab
18.如何查看一个分区文件系统类型?及使用情况?
lsblk -f
[root@localhost ~]# df -hT
19.为根分区扩容40G空间
#查看根分区卷组[root@localhost ~]# vgsVG #PV #LV #SN Attr VSize VFreecentos 1 2 0 wz--n- <19.00g 0#扩容根分区卷组[root@localhost ~]# vgextend centos /dev/sdc2 /dev/sdc3#查看根分区逻辑卷信息[root@localhost ~]# lvsLV VG Attr LSizeroot centos -wi-ao---- <17.00g#扩容逻辑卷[root@localhost ~]# lvextend -L +39G /dev/centos/root#查看逻辑卷信息[root@localhost ~]# lvsroot centos -wi-ao---- <56.00g#查看正在使用的分区信息[root@localhost ~]# df -hT文件系统 类型 容量 已用 可用 已用% 挂载点/dev/mapper/centos-root xfs 17G 4.4G 13G 26% /#扩容文件系统[root@localhost ~]# xfs_growfs /#查看使用情况[root@localhost ~]# df -h文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/centos-root 56G 4.4G 52G 8% /
1.请说出RAID0、RAID1、RAID5、RAID10的特点
raid0:至少由两块磁盘组成,磁盘空间使用率:100%,故成本最低。:读性能:N单块磁盘的读性能,写性能:N单块磁盘的写性能,冗余:无,任何一块磁盘损坏都将导致数据不可用。
raid1:完整备份,至少由两块磁盘组成,磁盘空间使用率:50%,故成本最高。:读性能:只能在一个磁盘上读取,取决于磁盘中较快的那块盘,写性能:两块磁盘都要写入,虽然是并行写入,但因为要比对,故性能单块磁盘慢。冗余:只要系统中任何一对镜像盘中有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。
raid5:最少3块磁盘,磁盘空间利用率:(N-1)/N,即只浪费一块磁盘用于奇偶校验。读性能:(n-1)*单块磁盘的读性能,接近RAID0的读性能。写性能:比单块磁盘的写性能要差,冗余:只允许一块磁盘损坏。
raid10:最少需要4块磁盘,磁盘空间利用率:50%。读性能:N/2单块硬盘的读性能,写性能:N/2单块硬盘的写性能,,冗余:只要一对镜像盘中有一块磁盘可以使用就没问题
2.如何查看系统中的进程树,并显示每个进程的PID
pstree -p
3.如何查找到系统中lisi用户开启了哪些进程?
pstree -p lisi
4.如何将进程放入后台运行?
&
5.如何将后台运行进程调度到前台运行?
fg 进程编号
6.如何查看后台进程?
jobs -l
7.kill与killall命令的区别是什么?
kill 结束进程时,按照进程的PID结束
killall 结束进程时候,按照进程名字结束
8.如何将lisi用户提出系统?
killall -9 -u lisi
[root@qm ~]# who
root pts/0 2021-07-14 11:15 (192.168.0.1)
lisi pts/1 2021-07-14 16:35 (192.168.0.1)
[root@qm ~]# pkill -t -9 pts/1
9.如何查看系统中登录失败的用户?
lastb
10.如何查看系统中登录成功的用户?
last
11.如何查询一个软件包在系统中安装了哪些文件与目录?
rpm -ql 软件包名
12.如何查询ifconfig命令是由哪个软件包产生?
[root@qm ~]# rpm -qf /usr/sbin/ifconfig
net-tools-2.0-0.25.20131004git.el7.x86_64
13.如何查看一个软件包是否被安装在系统中?
[root@qm ~]# rpm -q vsftpd (软件包名)
vsftpd-3.0.2-28.el7.x86_64
14.如何卸载一个软件包?
rpm -e vsftpd
15.说明本地yum仓库每一行的配置含义
[仓库名字]
name=仓库描述
baseurl=仓库地址
enabled=仓库状态(1/0,启用/不起用)
16.源码包的安装过程大体步骤
下载源码包
安装源码包依赖关系
解压源码包,进入源码包路径
./configure 安装参数
make 编译
make install 安装
17.如何查看一个服务占用的端口信息?
ss/netstat -anptul | grep 程序名称
18.如何启动vsftpd服务?
systemctl start vsftpd
19.如何查看vsftpd运行状态?
systemctl status vsftpd
20.如何设置vsftpd服务随机自启?
systemctl enable vsftpd
21.如何停止vsftpd服务?
systemctl stop vsftpd
- rpm包安装mysql
- mysql 服务相关参数
- 扩展:编译安装mysql mariadb
