Linux与Redis
一、Linux
linux基础
操作系统
- 操作系统是应用程序运行的基础支撑环境
- 操作系统作用是管理和控制计算机系统的硬件和软件资源
- Intel x86架构上常见的操作系统有Windows、Linux、Unix...
Linux发行版本
Linux系统内核提供了Linux操作系统的核心功能
不同开发商在内核基础上扩展封装,形成了不同发行版本
Linux系统目录结构
"/":是所有目录的顶点,称为“根目录”
不同目录下的数据可分布在不同磁盘,所有目录按规则组织与命名
Linux也区分绝对路径和相对路径
"/bin":常用的二进制命令所在的目录,例如ls,cp,mkdir...
"/ect":yum、rpm方式安装应用程序的默认配置文件路径
"/usr":存放用户应用程序的目录,包括两个重要子目录、
"/usr/local":编译方式安装程序的默认目录
"/usr/src":程序源码目录
Linux文件操作命令
终端命令格式
command [-options] [parameter]
说明:
- Command: 命令名称
- [ ] 表示可选项
- [-options] : 命令选项, 可有可无
- [Parameter]: 命令参数,可以不传,也可以传一个或多个
命令 | 用途 |
---|---|
cd | 切换目录 |
pwd | 查看当前目录 |
ls、ll | 显示目录内容 |
mkdir | 创建目录 |
cp | 复制文件与目录 |
cp -r xxx | 可以复制怎么目录 |
mv | 移动或重命名文件 |
rm | 删除文件或目录 |
find | 查找目录或文件 |
find / -name *.exe | 查找目录或文件 |
clear | 清屏 |
rm -rf | 不要轻易使用 |
rm -r | 使用删除用这条 |
tree | 以树形结构的形式查看当前目录下的所有层级的文件 |
shutdown -r now | 立即重启 |
reboot | 重启 |
1、查看目录内容--ls
命令格式: ls [-lah(选项)] [文件或目录]
ls参数说明:
- -l:以列表方式详细显示内容信息
- -a:显示所有文件,包含隐藏文件及目录
- -h:配合-l显示出文件的大小
常用通配符
*
:表示0到多个任意字符- ? :表示一个任意字符
- [abcd] :表示可以匹配a、b、c、d中的任何一个字符
- [a-f] :匹配从a到f范围内的的任意一个字符
2、切换目录--cd
命令格式:cd [目录名称]
cd命令说明:
- cd或者cd ~ : 切换到当前用户的主目录(/home/用户目录)
- cd . : 切换到当前目录
- cd .. :切换到上一级目录
- cd - :切换到上一次所在的目录
注意:文件及目录名称区分大小写
绝对路径:以根路径或家路径开头,表示从根目录/家目录 开始的具体目录位置
相对路径:不以根路径或者家目录开头,表示相对当前目录所在的目录位置
3、创建文件--touch
命令格式:touch 文件名
说明:
- 如是文件名不存在,创建对应的文件。
- 如果文件名已存在,则更新文件的修改时间。
4、创建目录--mkdir
命令格式:mkdir 目录名称
说明:
- 可以跟上 –p 选项,实现递归创建。
- 目录名称不能与当前目录下的文件或目录同名。
5、删除文件或目录--rm
命令格式:rm [-ifr(选项)] 目录名或文件名
选项参数说明:
- -i : 表示交互式执行,删除前会询问是否删除。
- -f : 表示强制删除,忽略不存在的文件,无需提示。
- -r : 表示删除文件夹及文件夹下所有的内容
注意:使用rm删除文件时无法恢复,建议使用rm时跟上 –i 参数
6、复制文件—cp
命令格式: cp 源文件 目标文件
常用选项说明:
- -f : 强制覆盖已存在的目标文件而不提示
- -i : 交互式复制,覆盖时会提示用户确认
- -r : 若源文件为目录,则复制该目录下的所有内容
- -v : 显示复制的进度
7、移动文件—mv
命令格式: mv 源文件 目标文件
常用选项说明:
- -f : 强制覆盖已存在的目标文件而不提示
- -i : 交互式复制,覆盖时会提示用户确认
- -v : 显示复制的进度
mv命令除了移动文件之外还可以用来修改文件名称
8、查看文件命令
常用查看文件命令:
cat 文件名: 适用于查看较少内容的文件,可以用来查看文件、创建文件、合并文件、追加文件等功能
more 文件名: 适用于查看内容较多的文件,用于分屏显示文件内容
grep 文件名: 适用于查看内容较多的文件
8.1查看文件命令--cat
命令格式: cat 文件名
命令说明:
- cat可以用来查看文件、创建文件、合并文件及追加文件
- cat查看文件时会一次显示所有内容,适用于内容较少的文件
常用选项说明:
- -b : 对非空行输出行编号
- -n : 对所有行输出行编号
8.2查看文件命令--more
命令格式: more 文件名
命令说明:
- more命令用于分屏显示文件内容,每次显示一页内容
- 适用于查看文件内容较多的文件
more操作键说明:
- 空格键: 显示文件的下一页内容
- Enter键 : 滚动显示文件下一行内容
- b : 显示文件的上一页内容(回滚上一页)
- f : 显示文件的下一页内容
- q : 退出
8.3查看文件命令--grep
命令格式: grep 文件名
命令说明:
grep 是一个强大的文本搜索工具,允许对文本进行模式查找(正则表达式)
常用选项说明:
- -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] '
9.1其他命令—重定向>、>>
说明:
- Linux允许将命令执行结果重定向到另一个文件中。
- 可以将显示在终端的内容通过重定向添加或追加到另一个文件中。
>
重定向符号表示输出到新文件中,会覆盖文件中原有内容>>
重定向符号表示追加到新文件中,不会覆盖文件中原有的内容。
例1: ls -l > 1.txt
例2: ls –l >> 1.txt
9.2其他命令—管道符号 |
说明:
Linux 允许将 一个命令的输出结果 可以 通过管道 做为 另一个命令的输入
常用的管道命令:
- more :分屏显示执行结果
- grep : 通过grep过滤执行结果的内容
例1: ls -l /usr/bin | more
例2: ls /usr/bin | grep ‘^au'
9.3其他命令—pwd、clear、which
命令格式: pwd
说明:pwd命令用于显示当前所在的目录。
命令格式:clear
说明:clear命令用于清除当前屏幕终端所有内容。
命令格式: which 工具名称
说明: which命令用于查找工具或者程序的安装位置
例如: which ls
信息系统相关命令
1、重启与关机命令
重启命令: reboot
命令说明: 执行命令后立即重新启动操作系统。
关机命令: shutdown
命令说明:执行命令后,提示一分钟后关闭操作系统。
- shutdown常用命令选项:
- shutdown –r now :重新启动操作系统,shutdown会给别的用户提示
- shutdown -h now : 立刻关机,其中now相当于时间为0的状态
- shutdown -h 20:25 :系统在今天的20:25 会关机
- shutdown -h +10 :系统再过十分钟后自动关机
2、查看系统进程 -- ps
命令格式: ps –aux
常用选项说明:
- -a : 显示终端上的所有进程,包括其他用户的进程
- -u : 显示进程的详细状态
- -x :显示没有控制终端的进程
ps命令一般会结合 grep使用,来查找特定应用程序的进程
例如:ps –aux|grep bin
另一种查看方式: ps -ef|grep bin
3、查看系统进程 -- top
命令格式: top
说明:top命令用于实时动态查看系统进程相关信息。
常用交互快捷键说明:
- M :根据内存的大小降序显示进程信息
- P :根据CPU使用率大小降序显示进程信息
- q : 退出top命令 或者按 ctrl+c也可以退出
4、关闭进程-- kill
命令格式: kill -9 进程号
说明:该命令表示强制关闭对应的进程。
进程号可以通过ps或者netstat等命令获取到
5、查看系统监听端口-- netstat
命令格式: netstat [-anptu]
说明:netstat 可以查看当前系统网络状态及对应软件使用的端口
常用选项说明:
- -a : 显示所有已打开的端口
- -p : 显示对应的进程id
- -n : 用数字显示对应的端口,不用别名显示
- -t : 显示所有tcp协议端口
- -u : 显示所有udp协议端口
注意: netstat 一般会配合管道符命令 grep来查看特定进程的端口信息。
例如: netstat -anp |grep mysql
6、查看系统监听端口-- lsof
命令格式: lsof -i
说明:lsof(list open files)是一个列出当前系统打开文件的工具,可以查看系统中正在使用端口的详细信息。
命令说明:
- lsof -i :如果不给出条件,则默认显示所有进程打开的所有。
- lsof -i:3306 :列出使用端口3306的进程信息
- 提示: 在Linux中启动软件时,会出现因为端口被占用而无法启动的情况,这个时候就需要我们用lsof -i命令查看
- 安装软件要使用的端口是否被占用。
7、查看日志信息命令-- head
命令格式: head 文件名
命令说明:
- 默认显示日志文件有前10行内容。
- head -20 文件名: 显示日志文件的前20行内容。
命令格式: tail 文件名
命令说明:
默认显示日志文件最后10行内容。
tail -15 文件名: 显示日志文件最后15行内容。
tail -f 文件名: 实时显示日志的文件信息。
8、查看操作系统信息
-
cat /proc/version
说明:查看当前操作系统版本信息 -
cat /etc/issue
说明:查看版本当前操作系统发行信息
用户权限和管理
Linux中可以通过 ls –l 来查看文件或目录的权限。
1、修改用户权限chmod-字母法
字母法命令格式: chmod u+r 文件名
用户类型说明:
- u : 表示文件所属用户
- g : 表示文件所属的用户组
- o : 表示其他用户
- a : 表示所有用户
权限设置说明:
-
- : 增加权限
-
- : 撤消权限
- = : 设定权限
2、修改用户权限chmod-数字法
数字法命令格式: chmod 755 文件名
命令说明:
755这三个数字分别表示的是 文件拥有者权限/用户组权限/其他用户权限
3、用户管理-新增账户、查看登录账户
新增用户: useradd 用户名
命令说明:
- useradd admin123 : 创建一个普通账户admin123
- useradd -g root admin2 : 创建用户admin2,并指定用户的组为root
查看登录账户: who
选项说明:
- -q或--count : 只显示用户的登录账号和登录用户的数量
- -u或--heading : 显示列标题
4、用户管理-切换用户、设置用户密码
切换用户: su – 或者 su 用户名
命令说明:
- su - : 切换到root用户
- su 用户名 : 切换到指定用户下
注意:由普通用户切换到其他用户时,需要输入密码
设置密码: passwd 或者 passwd 用户名
命令说明:
- passwd : 用于设置当前用户的密码
- passwd 用户名 : 用于设置指定用户的密码 (执行命令的用户必须为root)
5、退出登录账户
命令格式: exit
命令说明:
- 如果是图形界面,退出当前终端。
- 如果是使用ssh远程登录,退出登陆账户。
- 如果是切换后的登陆用户,退出则返回上一个登陆账号。
其他常用命令
1、查找文件命令
命令格式:find [路径] –name 文件名
命令说明:
- 路径省略掉表示在当前目录下查找文件。
- 文件名可以通过通配符来表示。
案例:
- find . -name test.sh 查找当前目录下所有名为test.sh的文件
- find . -name '*.sh' 查找当前目录下所有后缀为.sh的文件
2、软链接-ln -s
命令格式:ln –s 源文件 链接文件
命令说明:
- 软链接只是指向源文件的一个链接,类似于windows的快捷方式。
- 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用。
- 软链接可以链接目录。
硬链接简介:
- ln命令不带 -s 参数时,创建的是硬链接。
- 硬链接的文件大小与源文件相同,即使删除源文件,链接文件依然存在。
3、打包和压缩 – 打包/解包
说明:打包和压缩命令主要用于备份系统中的相关文件。
- 打包命令: tar -cvf 打包文件.tar 被打包的文件/路径
- 解包命令: tar -xvf 打包文件.tar
tar命令常用选项说明:
- -c : 创建打包文件
- -v : 列出归档解档的详细过程,显示进度
- -f : 指定档案文件名称,f后面一定时.tar文件,所以必须放选项最后
- -t : 列出档案中包含的文件
- -x : 解开档案文件
4、打包和压缩 – 压缩/解压缩(gzip)
说明:tar 与 gzip 命令结合使用实现文件 打包、压缩,压缩后的扩展名为 xxx.tar.gz
gzip命令格式: gzip [选项] 被压缩文件
gzip选项说明:
- -r :压缩所有子目录
- -d :解压
注意:实际应用是在tar 选项中增加一个-z选项来调用gzip实现打包和压缩的过程
- 压缩文件: tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
- 解压缩文件: tar -zxvf 打包文件.tar.gz
- 解压缩文件到指定目录: tar -zxvf 打包文件.tar.gz -C 目标路径
5、打包和压缩 – 压缩/解压缩(biz2)
说明:tar 与 biz2 命令结合使用实现文件 打包、压缩,压缩后的扩展名为 xxx.tar.bz2
注意:实际应用是在tar 选项中增加一个-j选项来调用biz2实现打包和压缩的过程
- 压缩文件: tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...
- 解压缩文件: tar -jxvf 打包文件.tar.bz2
6、打包和压缩 – 压缩/解压缩(zip/unzip)
说明:通过zip压缩文件不需要指定后缀名
命令格式:
- 压缩文件: zip [-r] 压缩文件名 被压缩的文件
- 解压缩文件:unzip -d 解压后的目录 打包文件.zip
Linux远程连接
- 实际的工作中,Linux服务器要么放在机房,要么用的是云服务器。要对Linux服务器进行相关操作,必须通过远程
- 连接的工具连接到Linux服务器。
- 远程连接Linux服务器之前,必须要知道Linux服务器的IP地址,以及SSH的端口(默认:22)
- 可以通过 ifconfig 命令查看 ip地址
- 可以通过netstat –anopt|grep sshd 查看ssh的端口
Linux常用命令总结
- 知道Linux命令的格式
- 掌握Linux文件和目录常用的命令
- 常握Linux系统信息相关的命令
- 掌握文件权限修改的命令
- 掌握压缩和解压缩的相关命令
- 掌握Linux远程连接的工具使用