概述
是一个开源的操作系统
linux 一词代表linux内核
创始人:林纳斯托瓦斯
两大发行版本:
red hat 一般在服务器使用
debian
centos
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 这个目录存放了我们常用的程序和文件
常用命令
查IP地址:ifconfig
关闭防火墙 service IPtables stop
永久关闭防火墙 chkconfig iptables off
开启防火墙 service iptables start
chkconfig iptables on
目录类操作
查看当前所在路径:pwd
默认root 用户登录在root 目录下
回到上一级目录: cd …
建hello文件夹:mkdir hello
进入指定目录: cd 目录名
直接进入根目录:cd /root
进入目录的两种方法:
绝对路径:从根目录开始一层一层往下找
相对路径:相对于当前位置 cd …/
删除目录: rm-rf 目录名
rm -rf /text
/ 根目录
ls -a 查询当前目录所有文件包括隐藏文件或者文件
ls 查看当前目录有哪些文件或者子目录
ls -la 显示文件或者目录的详细信息(也包含隐藏文件)
开机关机
shutdown 15:30 定时关机
shutdown -h now 立即关机
shutdown +1 1分钟之后关机
logout 注销
reboot 重启
用户管理类
useradd 用户名 添加用户
passwd 用户名 设置密码
id 用户名 查看用户详细信息
clear 上翻
whoami 产看当前登录用户
su root 切换回root 账户
userdel 用户名 删除用户
kill -9 提示数字 杀死进程
-g 指定该用户的主属组,一个用户永远只有一个主属组,创建的时候可以指定,也可以后期修改
-G 指定该用户的附属组,一个用户可以有多个附属组,同时主属组也会添加到附属组
也可以这样写useradd -g ko -G ls Augus *** Augus是所添加的用户
修改用户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 文件名 新建文件(空文件)
如果要给里面添加内容,则需要使用vi编辑器
vi 文件名 创建并且打开进行编辑文件
q 退出
使用vi创建并且打开进行编辑文件,如果vi创建打开文件里面不添加内容就直接退出,那文件不会创建成功
VI 三种模式:
命令行模式
插入模式
可视化模式
刚进入是命令行模式,进入编辑模式用i 退出编辑esc shift:w
w 保存 wq 保存并退出
q 退出 q!强制退出
wq!强制保存并退出
vi +5 文件名
按大写的G最后一行 小写的gg首行
s/10000/20000/g
/查找内容 按n查下一个
😒/123/234/g 替换当前行
😒/123/234
rm -rf 目录名 删除
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命令
在系统中查找具有指定特征的文件或者路径
-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 文件名
-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的所属组为root
chown
chown tom 文件名
改变文件1.txt的所有者为tom
-R 修改所有文件的权限(R递归)
chmod -R a+rwx *.txt
给所有.txt文档赋予权限
diff
比较两个文件的内容上的差异
例如: diff 1.txt 2.txt
whereis 命令名
查找系统二进制文件的位置 例如whereis find
which
在系统的环境变量中查找
which python
alias
给命令 取别名 例如:alias la=‘ls -a’
unalias la
网络通信
ping
ifconfig
查询ip地址
netstat
查询端口使用情况
-ano
例如 netstat -ano | grep 3306
备份压缩
解压: tar -zxvf 详细列出处理文件
不加v直接解压不运行出来解压过程 tar -zxf
压缩: tar -zcvf 压缩后文件名(zen.tar.gz) 压缩文件名
解压到home路径
tar -zxvf zen.tar.gz -C /home
unzip 2.zip -d /home/