1、Linux系统介绍
Linux是一套免费使用和自由传播的操作系统。
特点如下:
开源免费、安全稳定、可移植性好、高性能
Linux常见的发行版本
Debian
Kali Ubuntu
Redhat
Fedora CentOS(企业版) Oracle Linux(企业版)
OpenSUSE
Linux使用领域
应用服务器 、数据库服务器 、网络服务器、虚拟化云计算、嵌入式领域 、个人PC 、移动手机
2、Linux目录介绍
Linux是树形结构的文件系统,其中/是系统的根目录,其他所有目录都是它的子节点。
重要文件目录
3、Linux常用命令
3.1、查看命令
ll= ls -l
按修改时间正序 ls -lt >test.txt
按修改时间倒叙 ls -ltrh >test.txt
ls -al /home
在linux中以 . 开头的文件都是隐藏的文件
查看/home目录下所有文件或目录(包含隐藏的文件,隐藏文件都是.xxx)
-a:(all)全部⽂件,包含隐藏⽂件
-l: (list)以列表的形式显示,可以看⽂件类型、权限、⼤⼩、修改⽇期
ls -al /usr/bin/ | more 分屏查看
常用通配符:
*代表任意字符。如:ls *.txt
? :表示一个任意字符
[abcd] :表示可以匹配a、b、c、d中的任何一个字符 例如:ls 1[ab]h.txt
[a-f] :匹配从a到f范围内的的任意一个字符 例如:ls 1[a-b]h.txt
文件类型
普通文件(-)
目录(d)
符号链接(l)
3.2、切换目录
cd:(change directory)
快速回家: cd ~
/home/用户名
3.3、文件操作
3.3.1、创建文件
touch 234.txt 345.txt 创建多个文件
3.3.2、创建文件夹
mkdir -p 1/2/3 创建多级文件夹
mkdir -p /data/mariadb/{logs,conf,data} 创建多个文件夹
3.3.3、删除文件或文件夹
rm -rf 文件或文件夹
3.3.4、复制
cp -rf 源文件 目标文件
cp -rf /home/admin/123.txt /home/admin/124.txt
cp -rf /home/admin/123.txt /home/admin
-r: 复制文件夹下所有的内容
-f: 强制性复制及覆盖
3.3.5、移动
mv 源文件 移动的目标地址
mv也可以重命名 如:mv 文件1 文件2
mv /home/admin/123.txt /home/admin/124.txt
3.3.6、查看文件
cat:一次打开文件全部内容(适合查看少量内容)
head: 从头开始查看指定行数内容
默认显示日志文件前10行内容。
参数:-n 指定行数
head -15 xx.log 显示日志文件的前15行内容
显示前10行输出 head -n 10
./consumer.sh flow_pcap_topic| head -n 10
tail: 从尾部指定 行数查看日志
默认显示日志文件最后10行内容
-n:读取的行数
-f:动态查看内容
tail -10 /etc/passwd 查看后10行数据
tail -n 100 logs/catalina.out 看Tomcat尾部最近100行
tail -f catalina.log 实时显示日志的文件信息
查看一个log文件后300行有关error的错误?如何将这些错误下载下来
tail -300f xx.log | grep error > error.log
查看文件内容行数: wc -l aaa.sql
more/less:分屏查看(查看比较大的文件)
more命令用于分屏显示文件内容,每次显示一页内容
适用于查看文件内容较多的文件
more操作键说明:
空格键: 显示文件的下一页内容
Enter键 : 滚动显示文件下一行内容
b : 显示文件的上一页内容(回滚上一页)
f : 显示文件的下一页内容
q : 退出
3.3.7、编辑文件
vi 或 vim
命令模式:输⼊命令(删除、打开插⼊模式、打开末⾏模式)
dd:删除光标所在⾏内容
插⼊模式:
i、a、o 任意⼀个键就可以打开插⼊模式
退出插⼊模式:按esc键->回到命令模式
末⾏模式:
从命令模式按下:冒号键盘(shi!+;)
退出保存: :wq w->保存 ;q->退出;
显示行号
vim打开文件之后输入:set nu
文件中查找关键字
通过 /关键字 查找出现多个结果,使用 n 字符切换到下一个
3.3.8、搜索文件内容
grep 是一个强大的文本搜索工具,允许对文本进行模糊查找(正则表达式)
grep -n 内容 xxx.log
grep -n error p2p.log
-v :显示不包含匹配文本的所有行(相当于取反)
-n:显示匹配的行及行号
-i:忽略大小写
grep 常用正则表在式:
^a : 搜索行首内容以a文本开头的行。 例如: grep –n '^a' 1.txt
ke$: 搜索行尾内容以ke文本结尾的行。例如: grep –n 'ke$' 1.txt
[Ss]igna[Ll]: 匹配[]中的任意一个字符,搜寻匹配单词为 SignaL、Signal、signaL、signal的行; 例如: grep –n ' [Ss]igna[Ll] '
grep -v 是反向查找的意思,比如 grep -v "grep" 就是查找不含有 grep 字段的行
数据示例:;devVsn=DGA_V2.2.0;systemUser=Cy;type=1;subtype=1;name=TMP;
过滤:./consumer.sh nsmap_agent|grep 172.18.23.67|grep type=1";"subtype=1
3.3.9、查找文件命令
find 搜索路径 -iname "⽂件名关键字"
find / -iname "abc.txt"
-i:忽略⼤⼩写
路径省略掉表示在当前目录下查找文件
文件名可以通过通配符来表示
find . -name test.sh 查找当前目录下所有名为test.sh的文件
find . -name '*.sh' 查找当前目录下所有后缀为.sh的文件
3.3.10、文件权限
赋权字⺟法
chmod u+r ⽂件
u:表示文件所属用户
g:表示文件所属的用户组
o:其他⽤户
a:所有⽤户
r->读,w->写,x->执行,-->空
4->读,2->写,1->执行,0->空
chmod 变更文件或目录的权限
chmod u=rwx,g=rx,o=rx a.txt
u代表所有者,x代表执行权限。 + 表示增加权限。
chmod a+x /etc/init.d/nginx 赋予所有用户执行的权限
权限设置说明: + : 增加权限 - : 撤消权限 = : 设定权限
数字法
chmod 777 ⽂件 授最高权限
chmod 755 a.txt 数字755代表上面属主 属组 其他用户数字加起来代表的权限
chmod 000 a.txt 授最低权限
chown 变更文件或目录改文件所属用户和组
chown u1:public a.txt :变更当前的目录或文件的所属用户和组
chown -R u1:public dir :变更目录中的所有的子目录及文件的所属用户和组
chown mysql.mysql -R /usr/local/mysql :修改权限为 mysql组 mysql用户
sudo 命令 其他用户权限不够时前边加上sudo后边空格跟命令
3.3.11、文件创建链接
软链接
软链接只是指向源文件的一个链接,类似于windows的快捷方式
说明:快捷⽅式,源⽂件删除,快捷⽅式不能⽤。
语法: ln -s 源⽂件 链接文件
源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用
软链接可以链接目录
选项:-s 建⽴软连接选项
ln -s webapp_20201222 last
硬链接(和软连接类似,这个是复制了一份)
说明:复制源⽂件,源⽂件删除不影响使⽤。
语法: ln 源⽂件 ⽬标⽂件
删除软连接
rm -rf last
3.3.12、文件压缩解压
压缩(tar)
命令: tar -zcvf 压缩⽂件名.tar.gz 要压缩的⽂件
示例: tar -zcvf tpshop.tar.gz /home/admin/tpshop/*
选项
z:调⽤gzip压缩⼯具
c:创建打包文件
v:列出归档解档的详细过程,显示进度
f:指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
t:列出档案中包含的文件
解压(tar)
tar -zxvf 压缩包.tar.gz
tar -zxvf tpshop.tar.gz
tar -zxvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /root/mysql 解压到指定目录
选项:x:解包
压缩与解压(zip)
压缩: zip ⽂件名.zip ⽬录/*
解压 :unzip ⽂件名.zip
提示 :如果要解压到指定⽬录使⽤ -d 路径⽬录;如: unzip -d /home/test ⽂件.zip
压缩与解压(xxx.tar.bz2)
实际应用是在tar 选项中增加一个-j选项来调用biz2实现打包和压缩的过程
压缩文件: tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径
解压缩文件: tar -jxvf 打包文件.tar.bz2
3.3.13、文件上传
远程上传⽂件: scp 要上传⽂件的本地路径及⽂件 服务器登录⽤户名@服务器IP:上传的位置
scp -r cytec root@172.18.23.108:/usr/local/src/
3.4、重定向
将左侧执行结果保存到文件
>:向文件写入内容,如果文件中已有内容,会进行覆盖。
>>:向文件追加内容,不会覆盖原有内容
ls -l /home > a.txt
例如
ip a > ip.txt
echo 哈哈哈 > ip.txt echo是显示的意思,回显到控制台。
ls -al /usr/bin/ > bin.txt 将目录下文件写入到文本。
tail -20 ping.log | grep 30 > 1.txt
3.5、管道符
作用:将左侧命令执行结果 通过管道符 作为右侧命令数据的来源
提示:管道符,通常配合grep命令使用
示例:tail -20 ping.log | grep 30
ls -al /usr/bin/ | more 分屏查看