语言基础

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常用命令总结

  1. 知道Linux命令的格式
  2. 掌握Linux文件和目录常用的命令
  3. 常握Linux系统信息相关的命令
  4. 掌握文件权限修改的命令
  5. 掌握压缩和解压缩的相关命令
  6. 掌握Linux远程连接的工具使用

页码: 1 2 3

留言