小实验
2017-10-19 本文已影响28人
Miracle001
实验:更改文件,自动登录
centos7.3和centos6.9
cat /etc/gdm/custom.conf
vim /etc/gdm/custom.conf
在[daemon]下方写上2条信息
AutomaticLoginEnable=true
AutomaticLogin=root(或fgq)开机自动登录的用户名
cat /etc/gdm/custom.conf——reboot——本机就会自动登录
实验:多个终端通讯
SecruteCRT操作:复制并粘贴一个窗口,
echo hello > /dev/pts/n root操作 不正规 当前用户发信息给pts/n终端用户
普通用户只能:wall hello 广播所有人
write+用户名,hello+回车 正规操作
广播禁止和开启
mesg——is y
mesg n 禁止
mesg——is n
mesg y 开启
实验:启用网卡
nano /etc/sysconfig/network-scripts/ifcfg-ens33(34)
nano /etc/sysconfig/network-scripts/ifcfg-eth0(1)
ONBOOT=no 更改位yes
no更改位yes,ifconfig 看IP
yes更改为no,重启reset,看IP
重启或关闭单个网卡
ifdown/ifup et1 192.168.128.136
ifdown/ifup 网卡1 & ifdown/ifup 网卡2
ifconfig 查看IP变化
实验:修改提示符
echo $PS1 提示符格式 [\u@\h \w] \$=$ \\$=# 临时有效 exit后恢复
PS1="..."
引号里的内容
\e \033颜色
\h 主机名简称 \H 全程
\t 24小时格式 \T 12小时格式
\l 命令历史数 \# 开机后命令历史数
\w 当前目录基名
\u
cat /etc/DIR_COLORS 颜色
echo $PS1
PS1="\[\e[31m\][\u@\h \w]\\$\[\e[0m"
nano /etc/profile.d/env.sh 创建一个新文件.sh后缀即可
export PS1="\[\e[31m\][\u@\h \w]\\$\[\e[0m"
闪烁提示符
echo -e "\033[43;31;5mmagedu\033[0m"
43黄色背景 31字体颜色 ;5m闪烁
登录提示信息
nano /etc/motd 永久有效
rz 上传文件
cat 查看此文件
echo > /etc/motd 删除文件
修改文件颜色
ls /etc/profile.d/env.sh
cat /etc/DIR_COLORS
nano /etc/DIR_COLORS 34更改为31
创建文件,颜色变化
nano a.exe 输入文件内容,y保存退出
nano /etc/DIR_COLORS
#.exe...32更改为.exe...35(粉)
#表示注释,删除#,#后面内容发挥作用
echo $PATH
echo $PATH
/usr/local/sbin;/usr/local/bin;/usr/sbin;usr/bin;/root/bin
命令执行后,缓存的是路径,而不是命令本身;
Linux里,即使命令就在当前目录下,也不会执行,只会按照“$PATH变量”指定的目录找,找不到,报错。要执行此命令,写具体路径。
外部命令不在“PATH”变量里,就认为不是外部命令;把此命令放到“$PATH变量”的文件夹里,就可以执行。
实验:把某个程序/命令设成外部命令
把程序/命令放到“$PATH变量”的一个文件夹里
~]mkdir bin
~]ls 有bin目录
~]mv cmd bin/ 把cmd移到/root/bin
~]ls bin/ 有cmd,可以执行
~]cmd 可以执行
~]type cmd
版本不同(6.9/7.3),用户不同(root/fgq),path路径不同
命令执行的次序
别名——内部命令——hash外部——$PATH变量路径
内部命令-bash内存 外部命令-PATH变量 与路径无关,与当前所在文件夹无关
保存别名(exit之后,不失效)
nano .bashrc
系统文件:增加设置即可,exit后,对当前用户生效
alias vi=vim
./source .bashrc 立即生效,不用exit
./source 文件名 使文件立即生效
nano /etc/bashrc 对所有用户有效(建议备份)
最下方空白处添加信息:alias hehe=ls
. /etc/bashrc 保存,立即生效
别名与原始命令可以相同,但是,定义完别名,优先使用别名
使用原始命令,不用别名
which cmd —— /path/to/cmd 写完整路径
\cmd 加斜线
"cmd" 加单引号
不同环境,支持不同方法
cmd 选项 参数
实验:screen命令
安装screen软件
查看程序是否运行
ps aux|grep 程序名(yes)
screen 回车
运行程序 断网
重新连接
screen -ls 显示所有已经打开的screen会话
screen -r 恢复某screen会话(某程序)
图形界面VNC-可以 字符界面VNC-不可以 screen纯字符界面
连接同一机器,用同一个账号,利用SecruteCRT连接
A(root)——连接——> M <——连接——B(root)
A
screen -S help_name 创建新screen会话,名称是help_name
B
screen -ls 显示所有已经打开的screen会话
screen -x help_name 连接
同步
exit 一起退出
Ctrl+a Ctrl+d 自己退出当前回话,然后exit/x,不影响别人
screen -r 显示已经打开的screen会话
vim /etc/passwd AB平等会话,可以自创窗口,同步
实验:录屏、重播
windows 录课堂视频软件
Linux 录操作过程
script -t(时间) 2> time.log(存放时间) -a wang.log(存放执行过的命令) 开始录屏
exit退出录屏
cat time.log 时间文件夹
cat wang.log 操作过的命令
scriptreplay time.log wang.log 回放
可以重复录屏、回放
实验:cp
定义别名命令,每天将/etc/目录下的所有文件备份到/testdir独立子目录下,要求格式为backup YYYY-mm-dd
mkdir /testdir
alias baketc="cp -a /etc /testdir/bakup`date +%F`"
ls /testdir/
创建/testdir/rootdir目录,并复制/root下所有文件到该目录,要求保留原有权限
mkdir /testdir
cp -a /root /testdir/rootdir
cp -a /etc/passwd{,.bak}
echo/touch file{.txt,.log} ——> file.txt file.log
echo file{,.log} ——> file file.log
echo {0000..100..10} 以10为起点,增到100
0000
0010
0020
...
0100
touch file {1,2,3}.{txt,log}
mv A B 改标签,改文件名
rename ".txt" ".txt.bak" *.txt
被替换 替换后 被替换的文件名
mkdir
mkdir -p /app/d1/d2/d3/d4 自动创建所需目录
mkdir -m 777 创建文件时,指定权限
mkdir -p /testdir/dir1/{x,y}/{a,b}
/testdir/dir1/x
/testdir/dir1/y
/testdir/dir1/x/a
/testdir/dir1/x/b
/testdir/dir1/y/a
/testdir/dir1/y/b
mkdir -p /testdir/dir2/{x/{a,b},y}
mkdir -p /testdir/dir{3,4,5/dir{6,7}}
rmdir
rmdir 文件夹名(空)
rmdir -p d1/d2/d3/d4 自动删除空文件夹,次序先d4
rm
rm -f file
rm -rf /* 死定了
rm -rf /app 内容、目录都删
rm -rf /app/
alias rm=mv
mknod
ll /dev/sda ——>b类型 8主号 0次号
mknod /app/sda b 8 0
lsblk /app/sda
软连接、硬连接
软连接
ln -s A B B——>A
跨分区、设备
针对目录进行
链接数不增加(不增加或减少目标文件inode计数)
节点号不同
依赖于原始文件
相对路径是相对于相对于软连接的路径
硬链接
ln A B 参考A建立B
不跨分区和设备
不能针对目录
链接数递增
inode号一样
不依赖于原始文件
相对当前工作目录
readlink /etc/system-release 显示"centos-release"
硬链接(用的少)
ln A B 参考A建立B文件
二者的inode号一样
AB地位平等
多个名字
对应同一分区(文件系统)的一个物理文件
chown feng fiel_A 把A的所有者改为feng,则B的所有者也变为feng
每个目录的inode号一样
创建是,链接数递增
删除文件时,链接数递减
文件至少存在一个链接数,链接数为0,则该文件被删除
不能跨设备(分区)
不能针对目录(A不能为目录)
不依赖原始文件
应用
哪个名字用起来方便,就把这个名字放到易找到的地方
eg
ln /etc/sysconfig/network-script/if-eth0(网卡名称) /etc/eth0
cat /etc/eth0 = cat /etc/sysconfig/network-script/if-eth0
针对文件路径
别名时针对命令
软连接不同,对应的内容相同,但是功能就不同
image.png自动挂载光盘
df
centos6 ...media/centos6.9..
centos7.3 run/media/centos7.3
root登录才可以挂载光盘
mkdir -p /misc/cd centos7.3
yum -y install autofs
普通用户挂载光盘
mount /dev/sr0 /mnt
ls /misc/cd 看到光盘挂载成功 centos6.9
rpm -i /run/media/root/centos7.../Packages/autofs 系统已经安装则不用
systemctl enable autofs 开机自动启动
systemctl start autofs
df
ls /misc/cd
cd /misc/cd 进入访问,即挂载
ls /misc/cd/Packages/ 显示挂载信息
IO重定向
标准输入 0
标准输出 1
标准错误 2
1> 把标准输出重定向到文件
2> 把标准错误重定向到文件
&> 把所有输出重定向到文件
>> 追加
cat 回车
cat > f1
结束:Ctrl+c/d
cat < f1
cat < /bin/ls > /app/ls.exe
mail -s 邮件标题 收信人 可以继续输入内容,结束方式. EOT
收件人查收 mail n第几封邮件 quit退出
echo centos|passwd --stdin mage &> /dev/null
cat /dev/null > f1 清空f1
多行重定向
cat <<@/EOF/END>f1
>1111
>2222
>@/EOF/END 独立一行,结束符,开头和结尾一样
cat <<EOF>mail.txt
>hi,$USER
>I am `whoami`
>EOF
管道
cmd1|cmd2|cmd3
求1..100的和
echo {1..100} | tr ' ' '+' | bc
处理字符串
echo 'xt.,|jr#!$mn2c*/fe 3 uz 4' | tr -dc '0-9 '
''单引号,不理会特殊字符
""双引号,识别特殊字符
将文件中每个单词(字母组成)显示在独立的一行,且无空行
cat file | tr -c 'a-zA-Z' '\n'
奇数和偶数
echo {1..100..2} 奇数
echo {2..100..2} 偶数
seq 100|sed -n 'n;p' 读取匹配到的行的下一行覆盖至模式空间(偶数)
seq 100|sed 'n;d' (奇数)
httpd简单实验
yum -y install httpd
rpm -i /misc/cd/Packages/httpd-2...
service httpd start
iptables -vnL 查看防火墙
iptables -F 关闭防火墙
chkconfig iptables off 关闭防火墙
echo welcome to lol > /var/www/html/index.html 网站建立
网站刷新 产生日志
tail -f /var/log/httpd/access... 回车,显示日志
提取日志中的访问IP,不重复
cut -d " " -f1 /var/log/httpd/access_log |sort -u |wc -l
短期内某个IP显示次数过多,黑客,恶意刷网站
显示日志中IP访问次数
cut -d " " -f1 /var/log/httpd/access_log |sort |uniq -c |sort -nr
取出httpd服务访问次数最高的IP
cut -d " " -f1 /var/log/httpd/access_log |sort |uniq -c |sort -nr |head -n1 |tr -s " " |cut -d " " -f3
提取日志中的访问IP,不重复
cut -d " " -f1 /var/log/httpd/access_log |sort -u |wc -l
查看当前,远程主机IP访问服务器的次数
netstat -nt |tr -s " " : |cut -d: -f6 |sort |uniq -c |sort
刷网页:pv=page view
echo testpage > /var/www/html/test.html 建立网站
访问:IP地址/test.html 不写test.html,默认访问index.html
cat /var/log/httpd/access_log 查看访问哪个网页,使用哪个电脑
centos7 curl http://IP地址/test.html 访问网址
登陆界面输入用户名和密码登录
xml文件
cd /etc/gconf/gconf.xml.defaults
ls
vim %gconf-tree.xml
搜索/user_list 21166行的信息false改为true