Linux学习
文章目录
- Linux学习
- linux里边有2种路径
- Linux的优点
- 几个特殊的相对路径
- 几个特殊操作
- linux命令的构成
- linux命令书写时注意事项
- 查看命令用法的命令
- 基本命令
- 模糊匹配
- 显示文件具体类型
- `file`
- `cd`
- `pwd`
- 文件操作类命令
- 文件编辑命令
- 文件查看命令
- 文件权限命令
- 文件文本搜索命令
- 用户、用户管理命令
- 系统管理类命令
- 磁盘管理类命令
- 网络管理类命令
- 备份压缩命令
- 程序安装命令
- ecshop搭建过程
- Linux目录
linux里边有2种路径
1. 绝对路径
就是从根目录开始的路径,比如:/AA/bb/cc,命令在操作时,先到根目录找到第一层文件夹,然后在找到第二层文件夹,一直到最后一层。
2. 相对路径
不是从根目录开始的路径,比如:XX/YY/zz, 命令在操作时,先到当前文件夹里找到第一层文件夹,然后在找到下一层文件夹,一直到最后一层。
Linux的优点
- 系统稳定
- 消耗资源少,资源利用率高
- 安全性高
- 代码开源,系统免费
- 真正的多用户、多用户
- 服务器市场占用率高
几个特殊的相对路径
代表当前所在文件.
代表上1层目录..
代表切换目录之前所在的路径-
代表当前用户的主目录~
几个特殊操作
1. 自动补全操作tab
当我们输入文件路径的过程中,如果以某几个字母开头只有1个时,按tab键可以自动将该文件的名字补全
2. 切换到最近最近敲过的命令
可以使用上下键切换到最近最近敲过的命令
3. 结束某个正在运行的命令
可以使用ctrl+c
4. 查看最近敲过的X条命令
可以使用history
查看最近敲过的100条命令,如果想显示最近敲过的X条命令,可以使用history X
linux命令的构成
linux由:命令名、选项、参数3部分构成
1. 命令名
命令的唯一标识
2. 选项
用来控制命令具体要实现什么样的功能
3. 参数
参数是命令处理的对象,是命令处理的数据源,参数一般多由路径构成
linux命令书写时注意事项
- linux命令严格区分大小写
- 命令名、选项、参数3者之间要用空格隔开
- 为了区分选项和参数,选项前往往会加1个
-
或者2折-
- 1个命令后边可以跟多个选项,多个选项间用空格隔开,也可把多个连线写在一起,只保留第1个
-
- 多个选项同时出现时,谁在前谁在后一般是不重要的
- 1个命令后边也可以跟多个参数,多个参数间用空格隔开
查看命令用法的命令
1. 查看某个命令简介用法
--help
2. 查看某个命令详细用法(操作手册)
man 命令名
基本命令
罗列出文件夹里边有那些文件,如果没有写文件夹地址则查看的是当前目录里边有那些文件
ls
用法:ls 选项 文件夹
-l
长格式显示文件内容,第1列代表文件类型:文件类型如下
-
代表普通文件
l
代表链接文件
d
代表文件夹
-h
以易于阅读的方式显示文件大小,一般和-l
一起使用
-a
显示当前目录里边所有的文件包括了隐藏文件,以及.
开头的文件
-A
显示当前文件目录里边除了.
和..
之外的所有文件,包括了隐藏文件
-t
按照文件修改日期降序(由大到小)排列,一般和-l
一起使用
-S
按照文件大小降序排序,一般和-l
一起使用
-r
升序(由小到大)排列,一般和-lt
或者-lS
一起使用
-R
递归显示每1层文件夹及其子文件
模糊匹配
1.*
代表匹配任意0个或多个字符
比如:abc*代表以abc开头的字符创,*abc代表以abc结尾的字符串,abc代表包含abc的字符串
2.?
代表匹配任意单个字符
比如:abc?代表以abc开头紧接着还有1位的字符串
3.[]
代表匹配括号里边任意1个字符串.括号里可以写范围,也可以写集合
比如:[m-o]匹配m-o之间任意1个字母.[a-z,A-Z,0-9]匹配任意字母或者任意0到9之间的数字
显示文件具体类型
file
显示文件具体类型的
用法:file 文件名
cd
切换目录的
用法:cd 路径
pwd
打印(显示)当前所在路径
用法:pwd
文件操作类命令
创建空文件夹mkdir
用法:mkdir 选项 文件夹名称
选项:
1.依次创建具有层次结构的目录
-p
2.显示创建文件夹的过程
-v
创建空文件,也可以修改文件最后的修改日期touch
用法:touch 文件名
-t
修改文件或文件夹最后修改日期
用法:touch -t 202207011230 FileName
复制文件
cp
用法:cp 选项 目标文件 目的地路径
-i
覆盖前询问,不加时也会询问,因为cp
等于cp -i
-r
递归复制文件夹及其子文件子文件,复制文件夹必须要加-r
-v
显示复制的过程
-p
保留文件原有的日期属性
移动文件或重命名文件mv
用法:mv 选项 目标文件 目的地路径
-i
覆盖前询问,不加时也会询问,因为mv
等价于mv -i
-v
显示移动过程
-f
覆盖前不询问
删除文件或文件夹rm
用法:rm 选项 文件或文件夹
-r
递归删除,删除文件夹时必须要加
-f
删除前不询问,又叫强制删除,一般删文件夹时会和-r
一起使用
-v
显示删除过程
-i
删除前询问,不加时也会询问,因为rm
等于rm -i
生成链接文件ln
链接文件有2种:硬链接、软链接
用法:ln 选项 目标文件 链接文件
软链接-s
给1个文件创建软链接,相当于给其创建了快捷访问方式,软链接存放的文件的路径
硬链接-d
给1个文件创建硬链接,相当于给改文件起了1个别名,1个文件有多个别名时,只有将文件所有的名字都删除这个文件才算真的被删除.所以我们经常会给一些比较重要的文件创建别名,防止文件被误删.硬链接只能给文件创建不能给文件夹创建
文件编辑命令
创建1个新文件并编辑它,最后保存时需要给文件命名vi
创建1个新文件,并命名,然后编辑它vi new_file
编辑1个已经存在的文件
vi或者vim命令执行后有3种模式:普通模式、编辑模式(插入模式)、命令模式
普通模式
刚进入该命令是默认就是普通模式
编辑模式
最下边1行显示--insert
或者--插入--
命令模式
最下边1行显示:
命令模式命令
- 保存
w
- 退出
q
- 强制退出
q!
- 保存并退出
wq
- 强制保存并退出
wq!
- 放弃修改
e!
- 在普通模式下保存并退出
ZZ
- 在普通模式下不保存强制退出
ZQ
文件查看命令
满屏显示整个文件的内容cat
用法:cat 选项 文件名
显示所有行编号-n
显示非空行的编号-b
有多个连续空行时只显示1个空行-s
用file1的内容覆盖file2cat file1>file2
将file1的内容续写到file2后边
将file1、file2的内容都续写到file3后边
快速清空某个文件的方法
cat 空文件>file_name
>file_name
echo "">file_name
满屏逆向显示文件内容,也就从最后1行往第1行显示.和cat
恰好相反tac
用法:tac 文件名
分页按照百分比显示文件内容more
用法:more 文件名
可以按空格键往下翻行,可以按F键或空格键往下翻页
分页按照百分比显示文件内容,可以按上下键往下翻行,也可以往上翻行,可以按F键、空格键往下翻页.还可以输入/+keywords+回车
会将该关键字标亮less
用法:less 文件名
-M
在xshell最下边1行显示文件名,当前行范围、总行数、百分比
显示文件前K行,默认显示前10行head
用法:head -n K 文件名
显示文件后K行,默认显示后10行tail
用法:tail -n K 文件名
-f
动态显示文件后K行(当文件内容被修改时,会自动刷新最后K行)
文件权限命令
如rwx r-x r-x
前3位:代表文件属主权限(文件的创建者或拥有者)
中间3位:代表和文件属主同组的用户(相同角色的用户)拥有的权限,也叫属组权限
后3位:代表其他用户所拥有的权限
r
可读权限、可查看权限
w
可写、可编辑权限
x
可执行权限
-
代表没有权限
修改文件或文件夹的权限chmod
用法:chmod [who] [operator] [permission] file_name
who:修改谁的权限
u
属主权限
g
属组权限
o
其他用户权限
a
所有用户权限
operator:操作
+
增加权限
-
取消权限
permission:权限
r
w
x
-R
修改文件夹及其子文件夹子文件的权限
-v
显示修改过程
r | w | x | - |
---|---|---|---|
4 | 2 | 1 | 0 |
权限组合 | 对应数值 |
---|---|
rwx | 7 |
rw- | 6 |
r-x | 5 |
-wx | 3 |
r– | 4 |
-w- | 2 |
–x | 1 |
— | 0 |
####将文件file_name的权限修改为rwx r-x rw-
chmod 756 file_name
修改文件或文件夹属主(所有者、拥有者)
用法:chown 新用户 文件或文件夹
-R
递归操作
-v
显示过程
修改文件或文件夹属组chgrp
用法:chgrp 新的用户组 文件或文件夹
-R
递归操作
-v
显示过程
文件文本搜索命令
搜索文件或文件夹所在路径的find
用法:find 搜索范围 选项 搜索关键字
-name
按照文件名搜索,搜索关键字就写文件名
-iname
按照文件名搜索,但是不区分大小写
-user
按照文件属主搜索,搜索关键字就写属主名称
-group
按照文件属组搜索,搜索关键字就写属组名称
-type
按照文件类型搜索,搜索关键字就写文件类型
普通f
文件d
链接文件l
-path
按照文件路径搜索
如:find -name ecshop
如果搜索文件是有多个条件,多个条件是且关系,则用-a
连接,-a
可以省略,如果是或关系则用-o
,-o
不可以省略
如:find /root/www -type f
在根目录下查找.txt的文件→find / -name “*.txt”
搜索某个文件中包含对应字符串的行,将包含该字符串的行输出grep
用法:grep 要搜索的字符串 文件名
-i
不区分大小写
-n
输出匹配的行号
-C
除了显示符合样式的那1行,将其前K行和后K行也输出.-C后边必须跟个数字K
-v
显示不包含匹配文本的所有行
--clolor=auto
将包含该字符串的行输出,同时用颜色自动将该字符串标注出来
管道命令
管道可以将命令1的结果作为命令的输入(参数),将命令2的结果作为命令3的输入(参数)
用法:命令1|命令2|命令3
用户、用户管理命令
新增用户useradd、adduser
用法:useradd 用户名
或者adduser 用户名
设置、修改用户密码passwd
用法:passwd 用户名
回车后输入密码
删除用户userdel
用法:userdel 用户名
-r
删除用户的同时删除home里边该用户的主目录
切换用户su
用法:su 用户名
回车之后输入密码再回车
普通用户切换时必须输入密码,超级管理员切换时不用输密码
新增用户组groupadd
用法:groupadd 新用户组名
删除用户组groupdel
用法:groupdel 用户组名称
管理用户组gpasswd
用法:gpasswd 选项 用户名 用户组
-A
把用户设置为该用户组的管理员
-a
把用户添加到该用户组里,也就是给用户授予该角色
-d
将用户从用户组中删除,也就是收回用户该角色
查看某个用户所属的用户组groups
用法:groups 用户名
也可以使用id 用户名来查,或者cat /etc/group|grep 用户名
系统管理类命令
静态显示系统进程ps
ps -ef
查看所有的进程
ps -aux
查看所有的进程,并显示进程资源利用情况
动态显示系统整体的运行情况top
用法:top
-d K
每隔K秒刷新1次,默认是每隔3秒刷新1次
给指定的进程发送信号kill
用法:kill -信号编号/信号名 pid
-l
查看指令列表
如:结束某个进行kill -9 pid
给命令起别名,一般多给命令组合起别名alias
用法:alias 别名="命令组合"
删除别名:unalias 别名
查看有那些别名:直接alias
磁盘管理类命令
查看文件系统使用情况df
用法:df 选项
-a
显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统
-k
以k为单位显示
-h
以可读性较好的方式显示(文件大小的可读性)
-T
显示文件系统类型
统计文件或文件夹大到小du
用法:du 文件/文件夹
du
后边跟1个文件夹时,默认显示该文件夹底下所有层文件夹大小,不显示每1层文件的大小,不显示文件夹底下的文件及文件夹大小,如果要显示每层文件夹及文件大小则要加-R
选项
查看内存的使用情况free
用法:free 选项
-b
以Byte为单位显示内存使用情况
-k
以KB为单位显示内存使用情况
-m
以MB为单位显示内存使用情况
网络管理类命令
查看、配置系统网络ifconfig
用法:ifconfig
修改网络配置:ifconfig 网卡名称 新的ip
关闭网卡:ifconfig 网卡名称 down
开启网卡:ifconfig 网卡名称 up
查看当前电脑和目标电脑之间网络是否畅通
用法:ping 目标主机ip/域名
-c
设置完成要求回应的次数
-f
极限检测(0间隔大量ping)
-i
指定收发信息的间隔时间(单位为秒)
-l
设置在送出要求信息之前,先行发出的数据包的个数
查看网络端口、路由器、路由表netstat
查看某个端口有没有被使用:netstat -anp|grep:端口号
备份压缩命令
主要用来打包、压缩、解包、解压tar格式的文件
用法:tar 选项 文件或文件夹
-c
生成1个.tar包文件
-z
使用gzip压缩.tar文件
-j
使用bzip2压缩.tar文件
-f
指定归档后的文件
-v
将解压缩的过程显示在屏幕上
-t
查看包的内容
-x
解压缩或解包
-C
path解压缩或解包到指定路径
如:解压file.tar→tar -xvf file.tar
将目录压缩为test.tar→tar -cvf test.tar
打包压缩成zip格式的压缩包zip
用法:zip 选项 压缩后的文件名 被压缩的文件名
-r
递归操作,将文件夹及其子文件夹一并压缩(压缩文件夹的时候必须要加-r
)
查看、解压zip格式的压缩包unzip
用法:unzip 选项 压缩包名
-d
指定解压后的文件存储路径
-l
显示压缩文件包含的文件
解压、压缩、查看rar格式压缩包rar
用法:rar 选项 压缩包
a
添加文件到压缩包或生成压缩包
lb
只看压缩包包含了什么文件
e
解压缩包
程序安装命令
linux软件安装包分2种:1. 二进制软件包2. 源码安装包
二进制安装包
二进制安装包开发好之后已经编译的,不能进行二次开发,整个安装过程是1个完整整体,安装过程比较简单
源码安装包
源码安装包开发好后没有经过编译的,可以进行二次开发,整个安装过程分了配置、编译、安装、安装过程相对比较复杂
用来安装、卸载、升级管理redhat发行版的二进制软件包rpm
-i
安装软件包(install)
-q
查看包是否安装(query)
-e
卸载软件包(delete)
-U
更新软件包(update)
-v
显示软件包执行的过程(安装、卸载、更新)
-h
用#显示安装过程
-qa
查看已经安装的所有的软件
源码安装
源码安装包,安装分为3步:配置、编译、安装
第1步:配置
执行:./configure 配置选项
第2步:编译
执行:make
第3步:安装
执行:make install
ecshop采用LAMP架构
L:代表使用的是linux操作系统
A:代表使用的网络服务管理系统用的是Apache
M:代表使用的数据库管理系统mysql
P:代表使用PHP开发语言开发的
ecshop搭建过程
1.首先搭建LAMP架构
1.1.先安装依赖程序
1.2.接着安装Apache,安装好后还要设置端口号,设置开机自启动
1.3.安装mysql数据库管理系统,安装好后也要设置开机自启动,设置端口号,还要添加数据库管理员,给管理员授权等
1.4.安装PHP插件
1.5.安装PHP,安装好之后,还要调试apache让其支持php
2.将ecshop软件包,解压放置在apache对应目录下,然后通过浏览器访问安装配置界面.连接数据库、设置管理员、生成测试数据即可
分页按照百分比显示文件内容more
用法:more 文件名
可以按空格键往下翻行,可以按F键或者空格键往下
Linux目录
/root
该目录为系统管理员,也称作超级权限者的用户主目录
/bin
该目录是binary的缩写,这个目录存放着最经常使用的命令
/etc
这个目录用来存放所有的系统管理所需要的配置文件和子目录
/home
用户的主目录,在linux中,每个用户都有1个自己的目录,一般该目录名是以用户的账号命名的