Linux第一节课
Linux分为内核版和发行版,所有发行版的Linux内核都是一样的,例如CentOS是发行版的一种。
终端的$是输入命令的提示符号。
cd:变更目录
cd . 一个.代表当前目录
cd .. 返回上级目录
cd ~ 返回root
cd 返回root/home
ls(list):显示当前目录内容
ls -l 在ls的基础上显示细节
ls -a 显示所有文件,包括隐藏的
ls -l -a 上面两个结合
TAB(按键):代码补全
一片伟大的净土
灵魂的归处,肉体的坟墓。Linux分为内核版和发行版,所有发行版的Linux内核都是一样的,例如CentOS是发行版的一种。
终端的$是输入命令的提示符号。
cd . 一个.代表当前目录
cd .. 返回上级目录
cd ~ 返回root
cd 返回root/home
ls -l 在ls的基础上显示细节
ls -a 显示所有文件,包括隐藏的
ls -l -a 上面两个结合
mkdir:创建文件夹
rmdir:删除文件夹(若文件夹非空就无法删除)
rm:删除文件(remove)
touch:新建文件
ll:显示目录结构
mv qinbt /root 将文件qinbt移动到root目录下
mv qinbt Qinbt 如果当前目录没有Qinbt文件和文件夹,就会将qinbt重命名为Qinbt
文件夹也可以移动
cp qinbt /root 将文件qinbt移动到root目录下
* 任意多个字符,也可以0个。
? 任意1个字符(如有需要可以多扣几个?)
ls * 显示当前所有的文件夹,以及文件夹下的全部内容。(这就是一个通配符,也可以写成*json)
ls -a 显示当前文件夹和文件,包括隐藏文件
ls blog 显示文件夹blog下面的所有内容
里面有一步是错误的
正确查看
一、操作题(每题5分,共25分)
1.使用命令切换到/home/qzc目录,并显示当前工作目录路径。
cd /home/qzc
pwd
2.使用命令显示/dev目录下所有文件目录的详细信息,包括隐藏文件。
cd /dev
ls -a
3.使用命令创建空文件/home/qzc /test,。
cd /home/qzc
mkdir test
4.统计文件/etc/dhcpd.conf的行数、字符数和单词数。
sudo yum install dhcp-server –y #-y默认一直确定操作
su #进入root之后才能进/etc/dhcp/
wc -l /etc/dhcp/dhcpd.conf #line统计行数
wc -c /etc/dhcp/dhcpd.conf #char统计字符
wc -w /etc/dhcp/dhcpd.conf #word统计单词
5.使用cut命令截取/etc/passwd第三列信息(用户名)
cut –f 3 /etc/passwd #显示第三列
cut –d ‘:’ –f 3 /etc/passwd #显示第三列,同时分隔符为冒号
二、分析题(每题5分,共25分)
对文件tt.txt进行以下操作
1.查找包含至少两个a的单词。(egrep等价于grep -e,表示使用衍生正则表达式,完全升级版)
egrep ‘a{2,}’ tt.txt
2.查找以大写字母开始的行。
egrep '^[A-Z]' tt.txt
3.查找以字符.结束的行。
egrep ‘\.$’ tt.txt
4.查找包含数字的行。
egrep '[0-9]{1,}' tt.txt
5.查找以非数字开始的行
egrep '^[^0-9]' tt.txt
三、综合题(30分)
利用vsftp配置FTP服务器,要求:
1)使用NAT方式,连接网络
2)创建user1, user2, user3三个本地用户,允许user1,user2登录,不允许user3登录
yum install vsftpd –y #安装vsftpd
systemctl stop firewalld #关闭防火墙
systemctl start vsftpd #启动ftp服务器
本地连接网络适配器打开NAT8 #cmd ftp测试连接
useradd user1 #创建用户
useradd user2
useradd user3
cd /etc/vsftpd #ftp服务器配置目录
vim vsftpd.conf #添加一行userlist_deny=YES,vim userlist中的用户均无法访问ftp
passwd user1 #设置用户的密码,否则上不了ftp
passwd user2
passwd user3
3)user1只能访问自己的主目录,不能访问别的目录; user2可以访问别的目录
这步有问题,拉到前面正确查看
4)修改登录服务器后的提示信息“我的FTP服务器”
打开ftp服务器配置文件vsftpd.conf中取消注释ftpd_banner
并修改为ftpd_banner=my ftp server.
四、编程题(20分)
编写shell程序,在用户目录下创建20个目录,目录名由Dir+【1-20】组成,并在每个目录下面创建空文件,文件名为File+【1-20】。
vim 1 #编写shell脚本
chmod 777 1 #赋予运行权限
./1 #运行shell脚本,不能1,要./1
#for do done,和c++一样 但是for(())两层括号
#printf “” 变量的前面加$引用
---------文本内容----------
#!/bin/bash #头文件,/一个也别漏
cd /home/qzc; #语句用封号结尾
for ((i=1;i<=20;++i))
do
mkdir Dir$i; #不需要双引号
cd Dir$i;
touch File$i;
cd ..;
done
grep -e等价于egrep
使用之后下面的转义字符就不需要使用,比如:
grep -E 'go{2,5}g' Regular.txt 或者 grep 'go\{2,5\}g' Regular.txt
也就是
egrep 'go{2,5}g' Regular.txt
e表示使用正则表达式的 -extend 扩展版本
实验目的:
1、掌握正则表达式符号和语法。
2、掌握grep命令的用法。
实验内容:
1、查看以字符“a”开头的行。
grep ^a Regular.txt
2、查看以字符串“abc"开头的行。
grep ^abc Regular.txt
3、查看以字符串“33”结尾的行。
grep '33$' Regular.txt
4、查看包含字符“1” 或者包含字符“2”包含字符“3”的行。
grep '[1-3]' Regular.txt
5、查看包含字符test或taste的行。
grep 'test\|taste' Regular.txt
6、查找任意字符开头,然后第二个字符为3。
grep '^.3' Regular.txt
7. 匹配字符“3”1次或者多次
grep 'a\+' Regular.txt
8. 匹配字符串“23",但是3被匹配的次数≥0
grep '233*' Regular.txt
9. 搜索到有oo的行,但不想要oo前面有g
grep '[^g]oo' Regular.t
10. 搜寻包含特定字符串“the" 的行
grep 'the' Regular.txt
11. )反向搜寻特定字符串"the"(即不包含“the")
grep -v 'the' Regular.txt
12. 取得任意大小写"the"的这个字符串
grep -i 'the' Regular.txt
13. 搜索oo前面不想有小写字符。
grep '[^a-z]oo' Regular.txt
14.找出g?? d字符串,起头g结束d的四个字符串
grep 'g..d' Regular.txt
15. 找出含有数字的行。
grep '[0-9]' Regular.txt
16. 找出g后含2~5个o然后以g结尾的字符串
grep -E 'go{2,5}g' Regular.txt 或者 grep 'go\{2,5\}g' Regular.txt