Linux操作系统
Linux概述:
是一个开源的操作系统
Linux一次代表的是Linux内核
创始人:林纳斯托瓦斯
Linux 两大发型版本:
Red hat 一般在服务器上使用
Debian
Linux操作系统安装:
- 虚拟一台电脑
点击 编辑虚拟机设置 , CD/DVD使用iso,选择本机ios地址
- 网络适配器:
桥接模式:使用和宿主机同一网段地址,同一局域网下可以互相访问
Nat模式:把自己电脑看成路由器,然后只能自己本机和虚拟机通信,或者是多个虚拟机之间。
Linux目录结构:
/ 根目录,处于Linux文件系统树形结构的顶端,所有的目录、文件、设备都在/下。
/bin Binary的缩写。目录存放经常使用的命令。
/boot 存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件。
/dev Device(设备)的缩写。该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc 该目录用来存放所有的系统管理所需要的配置文件和子目录。
/home 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib 这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/mnt 在这里面中有四个目录,系统提供这些目录是为了让用户临时挂载别的文件系统的。如:我们可以将光驱挂载在/mnt/cdrom上,然后进入该目录就可以查看光驱里的内容了。
/proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
/root 该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/tmp 这个目录是用来存放一些临时文件的。
/usr 这个目录存放了我们常用的程序和文件
常用命令:
Linux查看IP地址 : ifconfig
防火墙:
关闭防火墙服务:service iptables stop
永久关闭防火墙:chkconfig iptables off
目录类操作:
查看当前所在路径:pwd
默认root用户登录在root目录下
进入指定目录:cd 目录名
回到上一层目录:cd …
直接进入根目录:cd /
进入目录的两种写法:
绝对路径:从根目录一层一层往下找
相对路径:相对于当前位置 cd …/test
ls 查看当前目录有哪些文件或者子目录
ls -a 显示所有文件和目录包括隐藏目录或者文件
ls -la 显示文件或者目录的详细信息(也会展示出隐藏文件)
开机关机:
立即关闭:shutdown -h now
定时关机:shutdown 15:30
定时关机: shutdown +5 5分钟后关机
注销:logout
重启:reboot
用户管理类:
添加用户:useradd test1
新建用户会创建用用户名命名的组
-g 指定该用户的主属组,一个用户永远只有一个主属组,创建的时候可以指定,也可以后期修改
-G 指定该用户的附属组,一个用户可以有多个附属组,同时主属组也会添加到附属组
也可以这样写useradd -g ko -G ls Augus *** Augus是所添加的用户
添加密码passwd
passwd test1
修改用户usermod
usermod -g test1 -G test2,test3 用户
删除用户 userdel
-r 递归删除该用户所以资料和账户信息
-f 强制删除
组的增、删、改:
增加一个组:groupadd
例如添加一个组组名叫google:groupadd 组名
删除组:groupdel
删除组: groupdel 组名
修改组:groupmod 主要是修改组名 : groupmod -n 修改后的新名字 修改前的名字
groupmod -n lt loadtest -n后面 lt代表的新名字 loadtest 旧的组名字
查看系统有哪些组: cat /etc/group
查看zhangsan用户的详细信息:id zhangsan
查看张三组的信息:groups zhangsan
查询当前登录用户:who am i
文档目录的管理:
文档目录的管理:
创建一个文件夹
mkdir filename
mkdir -p file1 file2 保证多级目录创建成功
同时新建两个文件夹
mkdir test1 test2
删除一个文件夹rmdir
rmdir filename
rmdir只能删除空目录,目录下如果还有其他字目录,则不能删除
重命名一个文件夹mv
mv还有另一个意思,剪贴一个文件夹
如果mv的第二个参数是个文件,则执行重命名的操作
移动并改名
mv ky /home/hhh
如果mv的第二个参数是个路径的话,则执行剪切
mv /tmp/ky /opt
当前在home下,但是要把tmp/ky,剪切到opt
mv 旧名字 新名字
重命名
命令和参数之间必须有空格,参数和后边文件或者路径之间应该有空格
文档操作类:
wc
可以统计文件中的字符数、单词数以及行数
-w 按照单词数统计
wc -w hello
统计数量和系统版本有关系
-l 按照行数进行统计
wc -l agileone.sql
-m 根据字符来进行统计
cp 复制拷贝
拷贝文件到其他路径
-r 递归拷贝
凡是在拷贝文件路径的时候,必须加-r
cp /home/2.txt ./ 将home中的2.txt拷贝到当前目录,使用 ./表示当前目录
rm
r 表示递归删除
f强制删除,不会询问
rm本身只是删除文件,删除路径需要添加rf
rm -rf 1.txt 强制删除1.txt
rm -rf / 慎重使用,会删除一切
创建文件:
-
方式一:
touch 文件名
*** 注意:touch创建的文件为空文件,如果要给里面添加内容,则需要使用vi编辑器 -
方式二:
使用vi创建并且打开进行编辑文件,如果vi创建打开文件里面不添加内容就直接退出,那文件不会创建成功
vi 文件名字
三种模式:1、命令行模式 2编辑默认 3、可视化模式(visual模式) -
刚进入是命令行模式,进入编辑模式用i
w 保存
q 退出
q! 强制退出
wq 保存并退出
wq! 强制保存并退出
- vi +5 mysql.md 指定打开文件时光标移动到第五行
G 移动到文件内容的末尾
gg 移动到文件内容的首行
grep查找:
- grep
通过模式对文件内容进行查找
查找 例子如下: grep mail /etc/passwd
想知道查找内容是哪一行加-n: grep -n mail /etc/passwd
管道操作符 |
将管道操作符左边命令的输出作为右边命令的输入
cat /etc/passwd | grep root
例如 cat 1.txt | grep 5.6
-
ls -la | grep ^d 指以d开头的字符串
cat /etc/passwd | grep ^r -
ls -la | gerp [d] 指除了以d开头之外的所有内容
-
-c 统计符合结果条件的行数
grep -c “INSERT” agilenone.sql
统计agileone中insert有几行 -
-n 查看行数
grep -n “INSERT” agileone.sql
在显示符合样式的那一行之前,标示出该行的列数编号。 -
-v 看除了insert之外剩余的内容
grep -v “INSERT” agileone.sql
查看除了ls之外(-v)的行。并显示行号(-n)cat /etc/passwd | grep -v -n ls
文件传入
安装: yum -y install lrzsz
然后输入: rz
区分大小写查找
列出大小写都存在的soup:grep -i soup hello
只查看大写的:grep Soup hello
精确查找,例如需要查找483和484这两个数字
grep “48[34]” hello
通配符
grep “I…DB*” agileone.sql 寻找以I开头,以DB结尾的内容,然后中间几个点,代表中间省略几个字母
grep '" ’ agileone.sql 查询内容为双引号,必须加上转义\
sort排序:
-
sort
-
将文本文件的内容加以排序
sort 4.txt
给字母排序,默认是根据ASCII码表
-
sort 给数字排序由于ASCII码表,只有0-9对应,过于大的则无法排序,如果要给数字排序要加-n
-
-n:按数字进行排序
例如:sort -n 2.txt -
-u:去重
但是如果数字有重复,例如多个1,需要加-n ,例如:sort -u -n 2.txt
-
-
追加重定向
例如在使用sort排序后,可使用重定向功能,重定向到一个新的文件 例如; sort -u -n 2.txt >> num -
覆盖重定向
原文件内容被覆盖
find:
- find
-
在系统中查找具有指定特征的文件或者路径
-
-name 根据文件名进行查找
例如; find . -name “*.txt” 在当前目录下查找出所有以.txt结尾的文件 -
-perm
find . -perm 775 在当前目录下查找权限是775的所有文件 -
-user 根据当前用户来,按照文件拥有者查找
-
-nouser 查找没有用户的文件
find . -nouser -
-group 按照文件所属组进行查找
find . -group test3 -
-type,根据类型来查找
find . -type f
f代表文件
find . -type d
d代表路径
不想查找用感叹号 !
find . ! -type f 不查找文件 -
等价于find . -type d
-
-exec
find . -name “.txt" -exec rm -rf {} ;
最后面是分号
find . -name ".sql” -exec ls -la {} ;
查找文件名后缀以.sql结尾,的文件的详细信息
{}用来存放前面find出来的结果
find . -name “*.txt” -exec cp {} /opt ; -
-ok
用法跟exec完全一致,区别在与会询问你是否执行
-
文件管理类:
-
cat
显示文本文档的内容
-n 显示行号
可以多个文件同时显示,例如:cat 1.txt agone
cat -n agileone.sql test.sh -
head
-
tail
从末尾开始显示指定行数 tail -2 agone
-n 指定显示几行 -
more
分页显示
more +2 -3 agone 从第二行开始,每次显示三行从 -
+:多少行开始 -:每页显示行数
-
文件权限设置
一个用户能看到那些文件,完全取决于,用户自身身份,和所属组 -
文件权限的种类
-
r读权限
-
w写权限
-
x执行权限
- drwxrwxrwt
-
d第一位
-
d:路径类型
-
-:文件类型
-
l : 软连接
第一个:rwx
拥有者的权限
第二个:rwx
文件所属组的权限
第三个rwx
其他人的权限- #### chmod
一种根据数字来改变权限
r:4
w:2
x:1
根据角色来修改权限
u:代表文件所有者 u +r ug+r
g:文件所属组
o:其他人
a: 所有人+: 增加对应权限
-:去掉对应权限chgrp
chgrp root 1.txt
改变文件1.txt的所属组为rootchown
-
chown tom 文件名
改变文件1.txt的所有者为tom -
-R 修改所有文件的权限(R递归)
chmod -R a+rwx *.txt
给所有.txt文档赋予权限
diff
比较两个文件的内容上的差异
例如: diff 1.txt 2.txtwhereis 命令名
查找系统二进制文件的位置 例如whereis find
which
在系统的环境变量中查找
which pythonalias
给命令 取别名 例如:alias la=‘ls -a’
unalias la
-
网络通信:
- ping
- ifconfig
查询ip地址 - netstat
查询端口使用情况 - -ano
例如 netstat -ano | grep 3306
备份压缩:
-
tar
-
解压
tar -zxvf
f必须是放在最后
v代表解压的时候打印出所有的文件 -
压缩
-zcvf
c代表压缩
例如: tar -zcvf hello.tar.gz agileone.sql
-
注意:生成的文件后缀名必须是.tar.gz
tar -zcvf 19.tar.gz hello
-C
解压到指定路径
tar -zxvf ls.tar.gz -C /home
-
zip
- 压缩
安装:yum -y install zip
例如:zip /opt/liangshuang.zip lsls
生成的压缩文件名后缀必须是.zipunzip - 解压
unzip liangshuang.zip
需要先安装: yum -y install unzip
-d 解压到指定路径
unzip ko.zip -d /opt
- 压缩
软件包管理
软件包管理简介
软件包的分类
源码包
脚本安装包
二进制包(RPM包、系统默认包)
RPM包安装方式
rpm命令安装
yum在线管理
进程管理:
-
进程管理的作用
判断服务器健康状态
查看系统中所有进程
杀死进程 -
查看系统中所有进程: ps -aux
-
查看系统中所有进程,使用Linux标准命令格式: ps -le
-
查看系统状态:top
-
查看可用的进程信息:kill -l
-
每两秒钟监控一次:vmstat 2
-
重启进程 : kill -1 进程ID
**此处为进程数字1 -
强制杀死进程: kill -9 进程ID
系统启动级别:
- 0:关机 init0
- 1:单用户模式,只允许一个用户登录
- 2:多用户模式,不支持网络工作
- 3: 代表命令行模式,企业服务器开机模式
- 4:系统预留
- 5:图形化界面,Linux默认启动级别
- 6:代表重启模式,不能设置,否则系统反复重启
- 修改启动级别:vim /etc/inittab