LINUX基础

一、LINUX目录结构

1、LINUX操作系统的目录结构

2、目录内容

  • /在LINUX中表示根目录
  • 出现在开头的/表示根目录
  • 出现在/后面的表示层次关系

3、相对路径和绝对路径


绝对路径:以根目录为起点,描述路径的一种写法,路径开头以/开头
相对路径:以当前路径为起点,描述路径的一种写法,路径不用以/开头
特殊路径符

  • .  表示当前目录
  • .. 表示上一层目录 若回退两级 则 cd ../.. 回退三级 cd ../../.. 以此类推
  • ~  表示HOME目录

二、LINUX命令

1、命令行格式

command [-options] [paramter]

参数:

command:命令本身
options:[可选,非必填]命令的一些选项,可以通过选项控制命令的细节
paramter:[可选,非必填]命令的参数,多用于指向命令的目标等

2、常用命令

  • mkdir:创建文件夹
  • mkdir -p :若没有该路径则会创建
  • touch:创建文件
  • cat:查看文件内容
  • more:查看文件内容,空格键翻页,按键盘q退出
  • which命令查找命令的程序文件

cp复制命令行格式

  • cp [-r] [参数1] [参数2]
  • -r 选项可选,用于复制文件夹使用,表示递归
  • [参数1] linux路径,表示被复制的文件或文件夹
  • [参数2] linux路径,表示要复制到的地方

mv移动文件或文件夹命令行格式

  • mv 参数1 参数2
  • 参数1:linux路径,表示被移动的文件或文件夹
  • 参数2:linux路径,表示移动到地方,如果目标不存在则进行改名,确保目标存在。

rm删除文件或文件夹命令行格式

  • rm [-r -f] 参数1 参数2 ... 参数N
  • -r:用于删除文件夹
  • -f:强制删除
  • 参数1 参数2 .... 参数N:表示删除的文件或文件路径,按空格间隔
  • rm命令支持通配符*,用于做模糊匹配
  • 举例:
  • *名称:表示任何以该内容结尾的内容
  • 名称*:表示任何以该内容开头的内容
  • *名称*:表示任何包含该内容的内容

find命令查找指定文件

  • 语法格式:
  • find 起始路径 -name "被查找文件名"
  • find命令支持通配符*,用于做模糊匹配
  • 举例:
  • *名称:表示任何以该内容结尾的内容
  • 名称*:表示任何以该内容开头的内容
  • *名称*:表示任何包含该内容的内容

find命令按文件大小查找文件

  • 语法格式:
  • find 起始路径 -size +|- -n[kMG]
  • +、- 表示大于和小于
  • n表示数字
  • kMG表示单位,k(小写)表示kb,M表示MB,G表示GB

grep命令从文件中通过关键字过滤文件行

  • 语法:
  • grep [-n] 关键字 文件路径
  • 选项-n可选,表示在结果中显示匹配的行的行号
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议用" " 将关键字包围起来
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为管道符的输入

wc命令做数量统计

  • 语法:
  • wc [-c -m -l -w] 文件路径
  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为管道符的输入
  • wc命令若不带参数则输出内容为:行数 单词数 文件大小

管道符:|

  • 管道符的含义:将管道符左边命令的结果,作为右边命令的输入

echo命令

  • 可以使用echo命令在命令行内输出指定内容
  • 语法:echo 输出的内容

反引号

  • 被反引号包括的内容,会作为命令执行而不是普通字符

重定向符号

  • >:将左命令的结果,覆盖写入到符号右侧指定的文件中
  • >>:将左命令的结果,追加写入到符号右侧指定的文件中

tail命令

  • tail命令可以查看文件尾部内容,跟踪文件的最新更改
  • 语法:
  • tail [-f -num] liunx路径
  • 参数,Liunx路径,表示被跟踪的文件路径
  • 选项,-f,表示持续跟踪
  • 选项,-num,表示查看尾部多少行, 不填写默认10行

三、vi/vim编辑器

  • 通过vi/vim编辑器编辑文件
  • 语法:
  • vi 文件路径
  • vim 文件路径
  • 如果文件路径表示的文件不存在,那么此命令会创建一个新的文件用于编辑
  • 如果文件路径表示的文件存在,那么此命令用于编辑已有文件

3.1vi/vim使用方法和常用快捷键

vi/vim使用方法和常用快捷键
模式命令描述
命令模式i在当前光标位置进入输入模式
命令模式a在当前光标位置之后进入输入模式
命令模式I在当前行的开头,进入输入模式
命令模式A在当前行的结尾,进入输入模式
命令模式0在当前光标下一行进入输入模式
命令模式O在当前光标上一行进入输入模式
输入模式ESC任何情况下输入ESC都能回到命令模式
命令模式键盘上、键盘k向上移动光标
命令模式键盘下、键盘j向下移动光标
命令模式键盘左、键盘h向左移动光标
命令模式键盘右、键盘l向右移动光标
命令模式0移动光标到当前行的开头
命令模式$移动光标到当前行的结尾
命令模式pageup(PgUp)向上翻页
命令模式pangdown(PgDn)向下翻页
命令模式/进入搜索模式
命令模式n向下继续搜索
命令模式N向上继续搜索
命令模式dd删除光标所在行的内容
命令模式nddn是数字,表示删除当前光标向下n行
命令模式yy复制当前行
命令模式nyyn是数字,复制当前行和下面的行
命令模式p复制粘贴的内容
命令模式u撤销复制
命令模式ctrl+r反向撤销修改
命令模式gg跳到行首
命令模式G跳到行尾
命令模式dG从当前行开始,向下全部删除
命令模式dgg从当前行开始,向上全部删除
命令模式d$从当前光标开始,删除到本行的结尾
命令模式d0从当前光标开始,删除到本行的开头
底线命令模式:wq保存并退出
底线命令模式:q仅退出
底线命令模式:q!强制退出
底线命令模式:w仅保存
底线命令模式:set nu显示行号
底线命令模式:set paste设置粘贴模

四、LINUX系统的ROOT用户

1、用户

1.1超级用户和普通用户

在LINUX系统中,拥有最大权限的账户名为:root(超级管理员)

普通用户和root用户的区别:

  • 普通用户的权限,一般在其HOME目录内是不受限制的
  • 一旦除了HOME目录,大多数地方,普通用户只有读和执行的权限,没有修改权限

1.2普通用户和超级用户的切换

su 命令就是用于账户切换的系统命令,语法: su [-] 用户名

  • - 符号是可选的,表示是否在切换用户后加载环境变量,建议带上
  • 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
  • 切换用户后后,可有通过exit命令退回上一个用户,也可以使用快捷键:crtl+d
  • 使用普通用户,切换到其它用户需要输入密码
  • 使用root用户,切换到其它用户,无需密码,可以直接切换

1.3sudo 命令

sudo命令,为普通的用户赋权,临时用以root身份执行

语法:sudo 其它命令

在其它命令之前,带上sudo,即可为这一条命令临时赋root权限,但并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证

2、用户组

2.1用户和用户组

 2.2用户组管理

用户组管理需要使用root用户执行

  • 创建用户组
  • 命令:groupadd 用户组名
  • 删除用户组
  • 命令:groupdel 用户组名

2.3用户管理

用户管理需要使用root用户执行

  • 创建用户
  • 命令:useradd [-g -d] 用户名
  • 选项:-g 指定用户的组,不指定-g,会创建同名组并自动加入,使用-g需要组已存在,如已存在同名组,必须使用-g
  • 选项:-d 指定用户的HOME路径,不指定,HOME路径默认在:home/用户名
  • 删除用户
  • 命令:userdel [-r] 用户名称
  • 选项:-r 删除用户的HOME路径,不是用-r 删除用户时,HOME路径保留
  • 查看用户所属组
  • id [用户名]
  • 参数:被查看的用户名,如果不提供则查看自身
  • 修改用户所属组
  • 命令:usermod -aG 用户组 用户名
  • 将指定用户加入指定用户组

2.4查看系统用户

语法:getent passwd

查询结果内有7个信息:

用户名:密码(X):用户ID:组ID:描述信息(无用):HOME(目录):执行终端(默认bash)

2.5查看系统用户组

语法:getent group

查询结果内有3个信息:

组名:组认证(X):组ID

3、权限控制

 

3.1rwx的含义 

  • r表示读权限
  • w表示写权限
  • x表示执行权限

3.2文件和文件夹rwx含义的区别

  • r针对文件可以查看文件内容
  • r针对文件夹可以查看文件夹下的内容
  • w针对文件表示可以修改此文件
  • w针对文件夹表示可以在文件夹内容进行创建、删除、改名等操作
  • x针对文件表示可以将此文件当做程序执行
  • x正对文件夹表示可以更改工作目录到此文件夹内

3.3修改权限控制

3.3.1chmod命令

可以使用chnod命令,修改文件和文件夹的权限信息

注意:只有文件、文件夹的所属用户或root用户可以修改

语法: chmod [-R] 权限 文件或文件夹

选项:-R ,对文件夹内的全部内容应用同样操作

实例:
chmod u=rwx g=rx o=x 文件名

chmod 751 文件名/文件夹

以上表示的含义均为 这个文件所属用户有读写执行 用户所属用户组有读和执行 其它用户只有执行的权限

chmod -R u=rwx g=rx o=x 文件夹

chmod -R 751 文件名/文件夹

以上表示的含义均为 这个文件夹所属用户有读写执行 用户所属用户组有读和执行 其它用户只有执行的权限,对文件夹内的全部内容应用同样操作

3.3.2chown命令

使用chown命令,修改文件和文件夹的所属用户和用户组,此命令只适用于root用户执行

语法:chown [-R] [用户][:][用户组] 文件或文件夹

  • 选项:-R,对文件夹内的全部内容应用同样操作
  • 选项:用户,修改所属用户
  • 选项:用户组,修改所属用户组
  • :(冒号):用于分割用户和用户组
实例:
chown  lj:lj 文件

将文件所属用户修改为lj,用户组修改为lj

chown -R lj:lj 文件夹

将文件夹所属用户修改为lj,用户组修改为lj,并对文件夹内的全部内容应用同样操作

五、软件安装和服务自启动

软件安装

语法:yum -y [install | remove | status] 服务名

服务自动启

语法:systemctl [start|stop|stauts|enable|disable] 服务名

六、软连接

ln命令创建软连接
在系统中将文件或文件夹链接到其它位置
语法: ln -s 参数1 参数2 
选项: -s 创建软连接
参数1:被链接的文件或文件夹
参数2:要链接去的目的地

七、日期和时区

date命令
可以通过date命令在命令行中查看系统的时间
语法:date [-d] [+格式化字符串]
-d:按照给定的字符串显示日期,一般用于日期计算
格式化字符串:通过特定的字符串标记,用来控制显示的日期格式
%Y 年
%y 年份后两位数字(00-99)
%M 月份(01-12)
%d 日(01-31)
%H 小时(00-23)
%M 分钟(00-59)
%S 秒(00-60)
%s 自1970年-01-01 00:00:00 到现在的秒数

八、IP地址和主机名

查看主机名称:hostname
变更主机名称:hostnamectl set-hostname 新主机名

九、网络请求和下载

9.1ping命令

可以通过ping命令,检查指定的网络服务器是否是可联通状态
语法:ping [-c num] ip或主机名
选项-c:检查的次数,不使用-c选项,将无限次数持续检查
参数:ip或主机名,被检查的服务器的ip地址或主机名地址

9.2wget命令


wget是非交互式的文件下载器,可以在命令行内下载网络文件
语法: wget [-b] url
选项: -b ,可选,后台下载,会将日志写在当前工作目录的wegt-log文件
参数:url 下载链接

9.3curl命令

curl命令可以发送网络请求,可用于:下载文件,获取信息等
语法: curl [-O] url
选项: -O,用于下载文件(仅访问地址不需要加-O),当url是下载链接时,可以使用此选项保留文件
参数:url,要发起请求的网络地址

十、端口

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类

  • 物理端口:又成之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等
  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的

Linux系统可以支持65535个端口,这65535端口分为3类进行使用:

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用
  • 注册端口:1024~49151,通常可以随意使用,用于宋丹的绑定一些程序\服务
  • 动态端口:49152~65534,通常不会固定绑定程序,而是当程序进行网络连接时,用于临时使用。

查看端口占用

语法: netstat -anp |grep 端口号,安装netstat:yum -y install net-tools

十一、进程

程序运行在操作系统中,是被操作系统所管理的。

为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程

并会为每一个进程都分配一个独有的:进行ID(进行号)

查看进行

语法: ps  [-e -f]

选项:-e,显示出全部的进行

选项:-f,以完成格式化的形式展示信息(展示全部信息)

从左到右分别是

  • UID:进程所属的用户ID
  • PID:进程的进程号ID
  • PPID:进程的父ID(启动此进程的其它进程)
  • C:此进程的启动时间
  • STME:进程的启动时间
  • TIY:启动此进程的终端序号,如果显示?,表示非终端启动
  • TIME:进程占用CPU的时间
  • CMD:进程的启动命令或启动路径

关闭进程

语法: kill  [-9] 进程ID

选项:-9,表示强制关闭进程。

十二、主机状态监控

查看系统资源占用

可以通过top命令查看cpu、内存使用情况

默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl+c退出

  • 第一行

top:命令名称 ;15:35:21:当前系统时间 ;up 1:10 :启动了1分10秒;5 users:5个用户登录;load average:1、5、15 分钟负载

  • 第二行

Tasks:184个进程;2 runing:2个进程在运行;182 sleeping:182个进程睡眠;0个停止进程,0个僵尸进程

  • 第三行
    %Cpu(s):CPU使用了;us:用户CPU使用率;sy:系统CPU使用率;ni:高优先级进程占CPU时间百分比;id:空闲CPU率;wa:IO等待CPU占用率;hi:CPU硬件中断率;si:CPU软件终端率;st:强制等待占用CPU率
  • 第四、五行

Kib Mem:物理内存,total:总量;free:空闲;used:使用;buff/cache:buff和cache占用

KibSwap:虚拟内存(交换空间),total:总量;free:空闲;used:使用;buff/cache:buff和cache占用

  • PID:进程ID
  • USER:进程所属用户
  • PR:进程优先级,越小越高
  • NI:负值表示高优先级,正表示低优先级
  • VIRT:进程使用虚拟内存,单位KB
  • RES:进程使用物理内存,单位KB
  • SHR:进程使用共享内存,单位KB
  • S:进程状态(S-休眠,Z-僵死状态,N-负数优先级,I-空闲状态)
  • %CPU:进程占用CPU率
  • %MEM:进程占用内存率
  • TIME+:进程使用CPU时间总计,单位10毫秒
  • COMMAND:进程的命令或名称或程序文件路径
top命令选项
选项功能
-p只显示某个进程信息
-d设置刷新时间,默认是5S
-c显示产生进程的完整命令,默认是进程名
-n指定刷新次数,比如 top -3 ,刷新输出3次后退出
-b以非交互非全屏默认运行,以批次的方式执行 top ,一般配合 -n指定输出几次统计信息,将输入的重定向到指定文件,比如: top -b -n 3 > /tmp/top.tmp
-i不显示任何闲置(idle)或无用(zombie)的进程
-u查找特定用户启动的进程

top交互式选项
按键功能
h显示帮助画面
c会显示产生进程的完整命令,等同于-c
f可以选择需要展示的项目
M根据驻留内存大小(RES)排序
p根据CPU使用百分比大小进行排序
T根据时间/累计时间进行排序
E切换顶部内存显示单位
e切换进程内存显示单位
I切换显示平均负载和启动时间信息
i不是显示闲置或无用进程,等同于-i
t切换显示CPU状态信息
m切换显示内存信息

磁盘信息监控

语法:df [-h]

选项:-h ,以更加人性化的单位显示

磁盘信息监控

语法: iostat [-x] [num1] [num2]

选项:-x,显示更多信息

num1:数字,刷新间隔,num2:数字,刷新次数

网络状态监控

语法: sar - n DEV num1 num2

选项: -n,查看网络,DEV表示查看网络接口

num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)

十三、环境变量

在LINUX系统中执行:env命令即可查看当前系统中记录的环境变量

$符号

在LINUX系统中,$符号被用于取“变量”的值

自行设置环境变量

  • 临时设置:export 变量名 = 变量值
  • 永久生效
  • 针对当前用户生效,配置在当前用户的 ~/bashrc文件中
  • 针对所有用户生效,配置在系统的~/etc/profile文件中
  • 并通过语法,source配置文件,或重新登录生效

十四、上传和下载

rz和sz命令需要安装,可以通过yum -y install lrzsz

rz:进行文件上传

sz:进行文件下载

语法: sz 文件名

十五、压缩和解压缩

tar命令

语法:tar [-c -v -x -f -z -C] 参数1,参数2,.......参数n

  • -c ,创建压缩文件,用于压缩模式
  • -v,显示压缩、解压过程,用于查看进度
  • -x,解压模式
  • -f,要创建的文件,或要解压的文件, -f选项必须在所有选项中位置处于最后一个
  • -z,gzip模式,不使用-z就是普通的tarball格式
  • -C,选择解压的目的地
tar常用的压缩组合命令

tar -cvf 文件名称.tar 参数1,参数2,参数3.....参数n

tar -zcvf 文件名称.gz 参数1,参数2,参数3.....参数n

tar常用的解压组合命令

tar -xvf 文件名.tar

tar -xvf 文件名.tar -C 地址

tar -zxvf 文件名.tar -C 地址

zip命令

zip压缩文件

语法: zip [-r] 参数1,参数2 .......参数n

选项:-r,被压缩的包含文件夹时使用

unzip解压文件

语法:unzip [-d] 参数

选项:-d,指定要解压到的位置

参数:被解压的zip压缩包文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值