赞
踩
目录
7、ls、cat、pwd 、touch、echo、mkdir、mv、cp、rm、ln
2、小实验★:(grep、awk、uniq、sort命令的综合使用)
root
/ 根目录 系统的起始目录
/bin bin就是二进制的意思,里面保存了管理员和普通用户都可以执行的命令字(比如普通用户不能执行关机命令)
/sbin 只有管理员才能执行的命令
/boot 主引导目录 是一个独立的分区 /dev/sda1 具有内核 、启动菜单还有驱动盘(很重要)
/dev device设备,设备文件存放目录 /dev/sda等
/etc 配置文件存放目录
/home 普通用户的家目录
/root 超级管理员的家目录
/media 媒体,光驱(光盘)的挂载目录(光盘插入后,能在这里找到)
/mnt mount 临时设备的挂载目录(U盘等外接设备)
/proc process,进程。都不在硬盘中存,在内存中存取。里面的数据都在内存中,进程的所在目录
/tmp 临时文件存放目录
/usr GNU社区软件默认安装目录
/var 常变文件存放目录 目录文件 日志文件 邮件文件 /var/www/html(web站点根目录)
红色 压缩文件
黑色 普通文件
蓝色 目录
绿色 可执行文件
浅蓝 符号链接(就是windows的快捷方式一个意思)
黑底黄字 设备文件 /dev
紫色 图片文件和模块文件
linux严格区分大小写
内核版本号查询 2.6.2中此版本号为偶数代表稳定版本内核,如果是奇数表示开发版内核
x86_64表示这个操作系统是x86架构的64位操作系统
i386表示32位的操作系统
32位和64位的区别:代表整个操作系统里面内存的寻址数
uname -r 显示操作系统的发行编号(内核的版本号2.6.32)
2.6.32-696.el6.x86_64
2表示主版本号
6表示次版本号
32表示修正了32次
696也是修正次数,修正了696次
el6 红帽的企业版6
fdisk -l 硬盘大小
/dev/sda 操作系统中第一块硬盘的名称以及所在路径
在Linux操作系统一切皆文件 (文件名) sd (硬盘接口类型) a(第一块)
以此类推:sdc就是第三块硬盘一个真实的硬盘换算的进制不是按1024而是按1000
这样它标的是500G硬盘,实际到不了500G
cat /proc/meminfo
cat /proc/cpuinfo
我的电脑右键属性可以查看windows的cpu信息
iptables -nL 查看防火墙当前状态
setup图形化界面选择关闭
iptables -nL 查看防火墙状态(查看当前表的所有规则,默认查看的是filter表)
关闭防火墙:
命令行下输入setup出现一个类图形界面按tab选择OK
selinux服务也是限制操作系统文件被读取,文件被共享的功能
现在,我这个操作系统的所有文件都相当于像超市的商品一样,比如web服务80端口,我肯定会共享主页,所有的商品全部打着标签,你如果想要去看里面的内容,相当于你要买,selinux有点像超市的安保机构,selinux有两个功能一个是报警,一个是拦截。
把超市的报警器撤掉,把保安也撤掉,处于一个自由的环境,怎么关?
1、需要修改文件 /etc/selinux/config
引入一个图形化的编辑器gedit,方便新手使用:屏幕输入命令gedit就会弹出
[root@Waffle ~]# gedit /etc/selinux/config
配置文件在启动系统之后它是加载到内存里,它现在在内存里面生效,你把文件改了,内存没识别,不认,要重启
getenforce(查看当前selinux状态)
[当前用户的用户名@主机名 当前工作目录名称]#
ls 列出当前目录下的内容
pwd 列出当前工作目录 windows中列出当前文件路径的命令是cd(一般会在左边显示,但是拿到shell的时候就不一样了)
cat 查看文件内容
cat -n 显示文件行号
touch 创建新文件、更新文件的时间标记
echo 标准输出 echo “i love you” > 文件路径 输出重定向到文件中
mkdir 创建文件夹 -p 递归建立目录父目录
mv move,剪切、重命名
cp copy 拷贝目录的时候需要加上选项-r递归
rm remove移除-r 递归删除 -f强制删除
ln 链接建立,link,-s表示符号链接的意思
ln -s 源文件[绝对路径] 链接文件[路径]
链接就是我平时做文件的时候某些文件我想把它链接到桌面上,方便好找
介绍一款好用的截图软件Snipaste-1.16.2-x64
F1截图,双击保存在后台,F3就可以把图放到任何地方
[root@allen ~]#命令字 空格 [-选项] 空格 [文件或者目录]
选项过多如何学习: 查看命令的帮助手册
man 命令字
ls -a
ls -lh(可读性高)
man帮助菜单
q退出
/搜索关键字 n向下匹配关键字 N向上匹配关键字
命令字的分类 分两类
内部命令:当前所用的命令解释器(linux是bash)自带的命令 help 内部命令字
外部命令:gnu社区的第三方软件安装后带的命令 which 命令字能找到(内部命令which找不着)
修改用户密码,管理员身份输入:passwd 用户名
打开网:点击右下角的网卡图标右键选择设置,点击桥接(ip addr查看ip)
将kali也选择桥接模式(vmnet0)shell中输入:ssh allen@10.0.105.99
去分析一下谁?什么时间连了我?看日志/var/log/secure (故意输出密码查看一下)
查看失败记录,用过滤的方法过滤出谁?在这个时间段内连了我,失败了多少回?来分析这个IP地址恶意登录IP。写在防火墙里面就再也连不上我了!
grep 过滤关键字(grep是过滤一整行。有没有办法只过滤这一行的某一个词?用awk,把相同的合并的命令用uniq -c)
grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c(先排序,再合并)
| 管道符号 将前一条命令的输出 作为后一条命令的 处理参数(管道符后面的处理管道符前面的)
awk 过滤字段 $11 以空格作为分隔符 第11个字段输出(IP是第11个字段)
sort 排序
uniq 统计 -c 显示合并的数量
cat -n /etc/man.config | more 现实带行号的分页查看
tail -f /var/log/secure 跟踪日志变化 -f=follow ctrl+c退出
tail只看文件的后10行
wc -l 文件显示文件行数
案例:用wc命令查看操作系统一共安装了多少个软件包:grep "Installing" install.log | wc -l
du -sh 目录名称 统计目录占用磁盘空间大小(-h提高可读性,-s统计总数)
练习1:
1、开启自己主机的网络功能,使用其他主机链接你的本地用户
tail -f 观察日志变化 使用 grep awk 过滤链接主机的ip地址
2、wc命令观察系统中/boot目录中有多少个文件只要输出数字
3、du统计系统中哪个目录占用磁盘空间最多
gzip
bzip2
gzip 文件 压缩文件
gunzip 压缩文件 解压缩
bzip2 文件 压缩文件
bunzip2 压缩文件 解压缩
tar 打包压缩
tar -jcf /root/Desktop/1901class.tar.bz2 1901class/
-j 使用bzip2压缩工具压缩
-z 使用gzip压缩工具压缩
-c create 创建
-f 后面跟新建的文件名
tar -tf /root/Desktop/19class.tar.gz
-t 不解压缩就想要查看文件内容
tar -xf 1901class.tar.gz -C /opt
-x 解压缩并解包
-C 指定解压路径
按照大小找:
用find命令找一个大文件100M以上(+100M):(-100M表示100M以下)
find / -size +100M 【find 从哪里开始找 -size 在100M以上】
按照名字找:
想找出系统中名字叫passwd的文件:
find / -name passwd
按照类型找:
find /boot -type f 表示文件 d表示目录 l表示 符号链接
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
dd if=/dev/zero of=/tmp/bigfile bs=1M count=100(建立一个100M的大文件)
input file 输入文件 zero 全是2进制的0
output file 输出文件
bs 单位
count 计数器
eg:dd if=/tmp/123.txt of=/tmp/bigfile bs=1M count=10(1M是要从123.txt文件取出来的单位,但是这个123.txt才11个字节,不能整出1M而且循环10次)所以单位绝对要大于前面这个文件的大小
但是zero可以,/dev/zero 属于设备文件,zero里面的 0可以无限扩展,所以你给1M单位,10M单位都行
★zero的破坏性写法:抹除数据,把整个硬盘的数据都填充为0,原来不管有什么数据都被0盖住了。
dd if=/dev/zero of=/dev/sda bs=512 count=1 清除分区表(bs不写单位默认就是字节)
上面那条命令的意思是从/dev/zero中提取出512个字节,这512个字节都是0,输出文件是/dev/sda硬盘,MBR分区表有四个主分区,这四个主分区记录在硬盘的前512个字节里
这个操作会将硬盘的前512个字节抹掉,执行完这个命令后前往不要重启,一旦重启这个系统会认为你当前所做的操作系统是一个没有任何分区表的系统,就会认为是空硬盘
练习2:
1、找出/boot目录中文件类型为目录的内容
find /boot -name -size -type f 文件 d 目录 l 符号链接找出/boot目录中名为grep.conf的文件并将其拷贝到/tmp目录中,一条命令完成
find /boot -name grub.conf -a -type f -exec cp '{}' /tmp \;(如果是拷贝目录还要写-r)
-a and 两个条件同时满足
-exec 相当于管道符号
'{}' 前面命令查找出来的内容
\; 默认的结束符号不了解这个命令,用man find查看
2、在/tmp目录中建立一个大小为10M的文件。将该文件移动到1901目录中,并对其进行打包压缩。
3、将压缩文件解压缩到/opt目录中
vim /tmp/test.txt
命令模式
/ \
i / esc \ :wq
/ \
输入模式 末行模式
进阶学习
1、末行模式下 :r /etc/man.config(调用 r表示read)把当前这个文件读到vim编辑器里面
2、命令模式下 删除第一行空白行 gg 跳转到第一行 dd删除当前光标所在行
3、末行模式下:set nu
4、命令模式 58G 快速跳转到第58行 40-> 光标向右移动40个字符
5、 /bzip2 向下搜索关键字(左斜杠+关键字)
6、 :50,100 s/man/MAN/g 替换50行到100行出现的小写man为大MAN
7、命令模式u撤销上一次操作
8、65G 跳转 9yy 复制当前光标及以下一共9行 G跳转到最后一行 p粘贴到当前行下(:65,73 y)
9、末行模式 :21,42 d 删除21-42的内容
10、末行模式 :w /tmp/man.test 另存为
11、命令模式 27G 15x 删除当前光标向右一共15个字符
12、gg 到第一行 进入输入模式输入
13、:wq 保存并退出
源码包就是源代码公开需要自己进行编译然后进行安装的软件包,通常情况下这种软件包可以看到软件编写时所写的源码,如果需要进行二次开发可以直接在源码上进行编译
一般情况下发布在GUN社区、GitHub等
源码包的特点:
1、以压缩包的形式提供给用户
2、开源,源代码公开、不收费
1、先解压缩,进入解压目录之后看 INSTALL文件告诉安装方法(tar -xf httpd-2.2.15.tar.gz)
2、./configure --prefix=/usr/local/webserver 指定安装路径 生成makefile文件(C语言脚本文件)
3、make 找makefile文件进行编译
4、make install 将编译完成的内容拷贝到安装目录下
5、/usr/local/webserver/bin/apachectl start 启动apache 服务器
6、主页 /usr/local/webserver/htdocs/index.html
<html>
<body>
<meta charset=utf-8> 否则会出现编码问题
<h1>中文</h1>
</body>
</html>
7、/usr/local/webserver/bin/apachectl stop 关闭apache
8、没有卸载,要卸载直接删除webserver即可
作业内容:
1、通过源码包安装http-2.2.15软件
2、使用压缩工具tar对/tmp/1901目录进行打包压缩到/root/Desktop目录中并进行解压缩。
3、使用vim编辑器 /tmp/test.txt文件 在文件中写入50行 飞哥好帅
4、将好帅全部替换成 非常帅
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。