1.Linux引言
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。目前Linux存在着许多不同的Linux发行版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。2.Linux的诞生
20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和MacOS这几种。Unix价格昂贵,不能运行于PC;DOS显得简陋,且源代码被软件厂商严格保密; MacOS是一种专门用于苹果计算机的操作系统。此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用。总结:Linux出现于1991年,是由芬兰赫尔辛基大学学生,Linus Torvalds和后来加入的众多爱好者共同开发完成。
3.Linux特点
3.1 完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。3.2 多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。同时`丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,出色的速度性能。4.Cent OS介绍
4.1 centos 引言
CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS完全开源。4.2 centos 和 readheat区别
目前的Linux操作系统主要应用于生产环境,主流企业的Linux系统仍旧是RedHat或者CentOS,他们出自于同样的源代码,但centos完全免费。其独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!5.安装Cent OS
5.1 环境准备
# 环境要求:1. windows7+ 2. VMware Workstation8+, 3. CentOS系统(镜像)
5.2 安装Cent OS
# 0.下载centos官网 : The CentOS Project 官网的下载地址 : http://isoredirect.centos/centos/7/isos/x86_64/# 1.第一步:打开VMware Workstation # 2.选择菜单File的第一项新建虚拟机 # 3.选择自定义虚拟机安装 # 4.选择下一步 # 5. 虚拟机设置之后安装系统 # 6.选择虚拟机安装系统以及版本 # 7.选择虚拟机名称与位置 # 8.设置处理器数 # 9.设置虚拟机内存 # 10.选择网络模式 # 11.选择io总线 下一步 # 12.选择新建硬盘 # 13.选择硬盘类型 # 14.拆分硬盘 # 15.设置磁盘位置 # 16.创建完成
6.Linux目录结构
# 目录结构 bin (binaries)存放二进制可执行文件 [重点] sbin (super user binaries)存放二进制可执行文件,只有root才能访问 etc (etcetera)存放系统配置文件 [重点] usr (unix shared resources)用于存放共享的系统资源 [重点] home 存放用户文件的根目录 [重点] root 超级用户目录 [重点] dev (devices)用于存放设备文件 lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块 mnt (mount)系统管理员安装临时文件系统的安装点 boot 存放用于系统引导时使用的各种文件 tmp (temporary)用于存放各种临时文件 [重点] var (variable)用于存放运行时需要改变数据的文件
7.Linux常用命令
# Linux中命令格式: 命令 -选项 参数 如: ls -l /usr
注意:在linux中命令严格区分大小写
1、目录简化
#当前目录 ./ #上层目录 ../
2、ls
介绍:查看命令,对所在目录中的文件查看展示。 语法: ls -l //长格式显示文件和目录信息,简写:ll ls -a //显示所有文件和目录(包含隐藏文件和目录) ls -R //递归显示指定目录下的文件清单,即会显示指定目录分支内各子目录中的文件清单# ls -l (长格式展示文件) [root@localhost ~]# ls -l 总用量 60 drwxrwxr-x 2 user1 user1 4096 Aug 17 09:10 abc - rw- r-- r-- 1 user1 user1 17 Aug 17 09:04 host.conf - rw- r-- r-- 1 user1 user1 38450 Aug 17 09:04 php.ini `长格式含义:` 文件类型 文件权限 链接数 属主 属组 大小 日期 时间 文件名 d rwxrwxr-x 2 user1 user1 4096 Aug 17 09:10 abc
3、pwd
介绍:显示当前所在目录。 用法: pwd //显示所在目录所在路径地址[root@localhost home]# pwd /home
4、touch
介绍:创建文件。 用法: touch 文件名 //创建文件 touch 文件1 文件2 文件3 //创建多个文件 touch /root/文件名 //在root目录创建文件[root@localhost home]# touch nginx.conf [root@localhost home]# touch a1.txt a2.txt a3.txt [root@localhost home]# touch /usr/nginx/nginx.conf
5、mkdir
介绍:创建目录 用法: mkdir 名称 //在所在目录创建文件夹 mkdir -p 目录名 //递归建立文件夹,没有上级目录先创建上级目录[root@localhost home]# mkdir nginx [root@localhost home]# mkdir /usr/abc/aa
6、cp
介绍:复制文件或目录 用法: cp 文件 目录 //拷贝文件到指定目录 cp -r 目录 目录 //递归处理目录下的子文件和子目录一并拷贝,拷贝目录到指定目录[root@localhost home]# cp http.conf /etc/fdfs/ [root@localhost home]# cp aa/ root/
7、mv
介绍:对文件和目录进行移动或更改名称 用法: mv 文件 目录 //移动文件到指定目录 mv 文件 新文件名 //对文件更改名称 mv 目录 目录 //移动目录到指定目录 mv 目录 新目录名 //对目录进行重命名[root@localhost home]# mv test.txt /home/ [root@localhost home]# mv test.txt test-v1.txt [root@localhost home]# mv /home/dist /home/nginx/ [root@localhost home]# mv dist dist-v1
8、rm
介绍:删除文件或目录 用法: rm 文件 rm -f 文件或目录 //强行删除文件或目录 rm -i 文件或目录 //先询问然后是否删除文件或目录 rm -r 目录或文件 //递归删除文件或目录 rm -rf 目录或文件 //强行递归删除文件或目录[root@localhost home]# rm nginx.conf [root@localhost home]# rm -i nginx.conf [root@localhost home]# rm -r /usr/nginx/nginx.conf [root@localhost home]# rm -rf /usr/nginx/nginx.conf
9、tail
介绍:查看文件内的信息,常用语读取日志文件,持续输出日志信息 用法: tail -f 文件 //循环读取文件内信息 tail -n 行数 文件 //显示文件最后几行信息[root@localhost home]# tail -f aa.log [root@localhost home]# tail -n 10 aa.log
10、echo
介绍:对文件输入内容 用法: echo 内容 >>文件 //对文件输入指定内容[root@localhost home]# echo LOVE baby >> a.txt
11、clear
介绍:清除控制台内容 用法: clear //清除[root@localhost home]# clear
12、cd
介绍:切换目录 用法: cd 目录 //切换到指定目录 cd ../ //切换到上级目录[root@localhost home]# cd /root/ [root@localhost home]# cd /usr/bin/ [root@localhost home]# cd ../ [root@localhost home]# cd ../../
13、cat
介绍:查看文件内容 用法: cat 文件 //查看文件内容[root@localhost home]# cat nginx.conf
14、ip addr
介绍:查看IP地址 用法: ip addr //查看IP地址,简写:ip a[root@localhost home]# ip addr [root@localhost home]# ip a
15、ping
介绍:检查主机与另一台服务器IP地址是否联通 用法: ping IP地址 //测试主机与IP地址是否联通[root@localhost home]# ping 10.153.44.232
16、telnet
介绍:检查主机与另一台服务器IP+端口 是否联通 用法: telnet IP 端口[root@localhost home]# telnet 10.153.44.232 8080 //成功 Trying 10.153.44.232... Connected to smtp.gmail. Escape character is '^]'. 220 smtp.gmail ESMTP g14sm2313081pjh.28 - gsmtp //失败 Trying 74.125.20.108...
17、tar
介绍:用于解压tar压缩包文件 参数:-c 建立一个压缩文件的参数指令(create) -x 解开一个压缩文件的参数指令(extract) -z 是否需要用 gzip 压缩 -v 压缩的过程中显示文件(verbose) -f 使用档名,在 f 之后要立即接档名(file) -C 解压到指定目录用法: tar -cvf tar压缩包 目录或文件 //将文件或目录打包成tar压缩包 tar -zcvf tar压缩包 目录或文件 //将文件或目录打包成tar压缩包并压缩 tar -zxvf tar压缩包 //将tar压缩包解压到所在目录 tar -zxvf tar压缩包 -C /usr/ //将tar压缩包解压到指定目录
[root@localhost home]# tar -cvf nginx.tar.gz nginx [root@localhost home]# tar -cvf ab.tar.gz a.txt b.txt [root@localhost home]# tar -zcvf nginx.tar.gz nginx [root@localhost home]# tar -zxvf nginx.tar.gz [root@localhost home]# tar -zxvf nginx.tar.gz -C /usr/
18、systemctl
介绍:操作服务的启动,停止,查看 用法: systemctl status 服务名 //查看服务状态 systemctl start 服务名 //启动服务 systemctl stop 服务名 //停止服务 systemctl restart 服务名 //重启服务[root@localhost home]# systemctl status firewalld [root@localhost home]# systemctl start firewalld [root@localhost home]# systemctl stop firewalld [root@localhost home]# systemctl restart firewalld
19、ps
介绍:查看服务是否启动并查看进程信息 参数:-ef 查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号用法: ps -ef|grep 关键字 //根据关键字查询进程
[root@localhost home]# ps -ef|grep tomcat
20、kill
介绍:结束进程 参数:-9 强行杀死某个进程用法: kill 进程号 //根据进程号杀死服务 kill -9 进程号 //根据进程号强行杀死服务
[root@localhost home]# kill 14312 [root@localhost home]# kill -9 12453
21、netstat
介绍:用于显示各种网络信息 参数:-a 显示所有socket连接 -l 显示监控中(listening)的socket连接 -n 直接使用ip地址,而不使用域名服务器 -p 显示正在使用socket的程序的pid和名称 -r 打印路由表 -t 显示TCP传输协议的连线状况 -u 显示UDP传输协议的连线状况 -s 显示网络工作信息统计表用法: netstat -nlp|grep 端口号 //根据端口号查询进程
[root@localhost home]# netstat -nlp|grep 8080
22、vi
介绍:文本编辑器 操作:i 在光标前插入 I 在光标当前行开始插入 a 在光标后插入 A 在光标当前行末尾插入 o 在光标当前行的下一行插入新行 O 在光标当前行的上一行插入新行
:set nu 显示行号 :set nonu 取消行号 gg 到文本的第一行 G 到文本的最后一行 :n 到文本的第n行 / 要搜索的内容 搜索 VG 全选 u undo 取消上一步操作 Ctrl + r redo 返回到undo之前 Shift+ zz 保存退出,与“:wq”作用相同 :q 退出不保存 :q! 强制退出不保存 :wq 保存退出 :wq! 强制保存退出用法: vi 文件 //编辑文件
[root@localhost home]# vi nginx.conf
23、rpm
介绍:RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便。 参数:i:安装应用程序(install) e:卸载应用程序(erase) vh:显示安装进度;(verbose hash) U:升级软件包;(update) qa: 显示所有已安装软件包(query all)用法: rpm -ivh 安装包 //安装
[root@localhost home]# rpm -ivh xxxx.rpm
24、yum
介绍:Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 参数:install 安装 remove 删除 update 更新 clean 清除 info 获取所有软件包信息 list 列出所有可安装的软件包 erase 卸载用法: yum install 软件包 yum remove 软件包 yum update 软件包
[root@localhost home]# yum install unzip [root@localhost home]# yum remove unzip [root@localhost home]# yum update unzip
25、su
介绍:切换用户 用法: su //切换root账号,回车然后输入用户名密码 su 用户名 //切换用户,回车然后输入用户名密码[root@localhost home]# su
26、whoami
介绍:查看当前登录用户 用法:[root@localhost home]# whoami
27、find
介绍:查找 参数:find [path...] -options [-print / -ecex / -ok] path:表示要查找的目录路径 * ~ 表示home目录 * . 表示当前目录 * / 表示根目录 -print:表示将结果输出到标准输出上 -exec:表示对文件执行所给出的shell命令 -ok:作用域-exec相同 _options:有以下几种查找方式: * 按照名字查找(-name) * 按照安装权限进行查找(-perm) * 不在当前指定的目录下寻找(-prune) * 按照文件属主来查找(-user) * 按照文件的所属组来查找(-group) * 查找没有有效的所属组文件(-nogroup) * 查找没有有效属主的文件(-nouser) * 按照文件类型来查找(-type)用法: find / -name 关键字 //在根目录根据名字查找 find / -name *关键字* //在根目录根据名字模糊查找
[root@localhost home]# find / -name 'tomcat' [root@localhost home]# find / -name '*tomcat*'
28、which
介绍:which指令会在环境变量$PATH设置的目录里查找符合条件的文件 用法: which 关键字[root@localhost home]# which mysql
29、unzip
介绍:unzip是对zip压缩文件进行解压的命令 用法: unzip zip文件 //解压zip文件 unzip -d 目录 zip文件 //解压zip文件到指定目录 unzip -n zip文件 //解压不想覆盖已经存在的文件 unzip -n -d 目录 zip文件 //解压zip文件到指定目录并不覆盖已经存在的文件 unzip -l zip文件 //查看zip文件包含什么文件,补进行解压 unzip -v zip文件 //查看zip文件包含文件列表和文件的压缩比率 unzip -t zip文件 //检查zip文件是否损坏[root@localhost home]# unzip fastdfs.zip [root@localhost home]# unzip -d /root/fastdfs/ fastdfs.zip
30、history
介绍:查看用户已键入的命令,用户所有键入的命令都会记录在文件中 用法:[root@localhost home]# history
31、scp
介绍:服务器之间拷贝文件 scp -r -P B服务器端口 A服务器压缩包路径 B服务器用户名@B服务器IP:复制到B服务器上的路径 用法:[root@localhost home]# scp -r -p 22 /home/selectmodel.tar.gz root@172.16.18.13:/home/
32、reboot
介绍:重启服务器 用法:[root@localhost home]# reboot
33、lsblk
介绍:列出服务器所有块设备的信息 用法:[root@localhost home]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sr0 11:0 1 1024M 0 rom
vda 252:0 0 100G 0 disk
├─vda1 252:1 0 500M 0 part /boot
└─vda2 252:2 0 99.5G 0 part
├─centos-root 253:0 0 92.1G 0 lvm /
└─centos-swap 253:1 0 7.5G 0 lvm [SWAP]
vdb 252:16 0 500G 0 disk
└─vdb1 252:17 0 500G 0 part
└─data-lvol0 253:2 0 500G 0 lvm /data #主要列解释 NAME:设备名称(如 vda、vda1 等)。 MAJ:设备的主次编号,主编号标识设备类型,次编号标识该类型中的不同设备。 RM:是否为可移动设备(0表示不可移动,1表示可移动)。 SIZE:设备的大小。 RO:是否为只读设备(0表示可读写,1表示只读)。 TYPE:设备类型,disk 表示磁盘,part 表示分区,lvm 表示逻辑卷,rom 表示光驱。 MOUNTPOINT:挂载点,即设备挂载到的文件系统路径。 #具体信息解释 1.fd0:fd0 是一个 4KB 的软盘设备(通常标识软驱)。 - TYPE 为 disk,没有挂载点,表示未使用。 2.sr0:这是一个大小为 1024MB 的光驱设备(通常是CD/DVD驱动器)。 - TYPE 为 rom,没有挂载。 3.vda:这是一个虚拟磁盘,大小为 100GB。 - 包含两个分区:vda1 和 vda2。 4.vda1:这是 vda 的第一个分区,大小为 500MB。 - MOUNTPOINT 为 /boot,存放系统启动文件。 5.vda2:这是 vda 的第二个分区,大小为 99.5GB。 - 包含两个逻辑卷 centos-root 和 centos-swap,通过 LVM(逻辑卷管理)进行管理。 6.centos-root:这是 vda2 上的一个逻辑卷,大小为 92.1GB。 - MOUNTPOINT 为 /,即系统根目录。 7.centos-swap:这是 vda2 上的另一个逻辑卷,大小为 7.5GB。 - 类型为 [SWAP],用于虚拟内存交换分区。 8.vdb:这是一个 500GB 的虚拟磁盘,未分区。 - 包含一个分区 vdb1,用于存储 /data 数据。 9.vdb1:这是 vdb 上的唯一分区,大小为 500GB。 - 包含一个逻辑卷 data-lvol0,并挂载在 /data 目录。 10.data-lvol0:这是 vdb1 上的逻辑卷,大小为 500GB。 - MOUNTPOINT 为 /data,用于数据存储。
34、wget
介绍:wget 是 Linux 系统中的一个用于非交互式下载文件的命令行工具。它支持 HTTP、HTTPS 和 FTP 等协议,是下载文件的一个常用工具。 参数:-r:递归下载整个目录或网站。 -c:断点续传。 -b:后台下载。 --limit-rate:设置下载速度限制。 -i:从文件中读取多个 URL 进行批量下载。 -P:指定下载目录。用法: wget [选项] [URL]
// 下载单个文件 [root@localhost home]# wget http://example/file.txt // 递归下载,可以下载整个网站或目录结构(适用于爬取网页内容等)。 [root@localhost home]# wget -r http://example/ // 断点续传,如果下载中断,还可以继续下载未完成的部分 [root@localhost home]# wget -c http://example/largefile.iso // 后台下载,支持在后台运行下载任务,适合下载大文件时不影响其他操作。 [root@localhost home]# wget -b http://example/largefile.iso // 限制带宽,可以设置下载速度的限制,避免占用过多网络资源。 [root@localhost home]# wget --limit-rate=100k http://example/largefile.iso // 批量下载,可以通过文本文件中的 URL 列表批量下载多个文件。 [root@localhost home]# wget -i urls.txt
35、free
介绍:free 命令用于显示系统内存的使用情况,包括物理内存(RAM)、交换分区(swap)和缓存等信息。 参数:-b:以字节为单位显示内存。 -k:以千字节(KB)为单位显示内存(默认)。 -m:以兆字节(MB)为单位显示内存。 -g:以千兆字节(GB)为单位显示内存。 -h:以人类可读的格式(KB/MB/GB)显示内存(推荐)。 -t:显示内存总计(total,包括物理内存和交换分区)。 -s[秒数]:每隔指定秒数刷新一次内存信息。 -c[次数]:指定显示的刷新次数。用法: free [选项]
#指定显示的刷新次数 [root@localhost home]# free -h -c 5 #推荐用法 [root@localhost home]# free -h total used free shared buff/cache available Mem: 62G 5.8G 49G 73M 7.9G 56G Swap: 7.5G 0B 7.5G #主要列解释 total:总内存大小,包括物理内存的全部容量和交换分区的总大小。 used:已使用的内存,包括被应用程序、操作系统和缓存占用的内存。 free:未被分配的空闲内存,这是完全未被使用的内存部分。 shared:被多个进程共享的内存,通常用于共享内存段。 buff/cache:缓存和缓冲区占用的内存,buffer:用于存储块设备的 I/O 操作,cache:用于缓存文件系统的数据。 available:应用程序实际可用的内存,它基于内存调度算法计算,包含空闲内存和可回收的缓存内存。
36、df
介绍:df(Disk Free)用于显示文件系统的磁盘空间使用情况。 参数:-h:以人类可读的格式显示(KB/MB/GB)。 -T:显示文件系统类型。 -i:显示 inode 信息而非磁盘空间。用法: df [选项]
#基本用法 [root@localhost home]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 32G 0 32G 0% /dev tmpfs 32G 88K 32G 1% /dev/shm tmpfs 32G 74M 32G 1% /run tmpfs 32G 0 32G 0% /sys/fs/cgroup /dev/mapper/centos-root 93G 25G 68G 27% / /dev/vda1 497M 277M 221M 56% /boot /dev/mapper/data-lvol0 493G 1.3G 466G 1% /data overlay 93G 25G 68G 27% /var/lib/docker/overlay2/ca6fcc6f2d220c6eef423d2d0c1ba61c456efaf0f265acf5dcfad9a496c84f5f/merged overlay 93G 25G 68G 27% /var/lib/docker/overlay2/0f487109ae12a83fe9d3e46b2d8b3bd745575718492d328bfe26a726c4c14a34/merged overlay 93G 25G 68G 27% /var/lib/docker/overlay2/e16b6c7e314f8a33a892eab9e7dc2336d646bf847ac7ede255d046c9b1e15062/merged overlay 93G 25G 68G 27% /var/lib/docker/overlay2/1e320c8c3fd6cda464bf4499ef1f3f684d50d5ab327a9146d7e77430659669dc/merged overlay 93G 25G 68G 27% /var/lib/docker/overlay2/7a0d5408b66c5f643658c54c934ab00166dd5e9a32818ebad33f8a4034f6deee/merged overlay 93G 25G 68G 27% /var/lib/docker/overlay2/cbe1a87b320b972c4bc9bd2c981344cb9216e29d09f0d67fd0a64bda8b443607/merged tmpfs 6.3G 0 6.3G 0% /run/user/0
37、uptime
介绍:uptime 显示系统已运行的时间,以及最近的启动时间。 用法: uptime[root@localhost home]# uptime 14:46:51 up 6 days, 9:19, 2 users, load average: 0.15, 0.19, 0.31 #up 6 days, 9:19:表示系统已运行6天9小时19分钟。如果时间较短,可以判断系统最近刚重启过。
8. 权限相关命令
Linux文件有三种典型的权限,即r读权限、w写权限和x执行权限。在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的。r=4,w=2,x=1
# chmod all = user + group + other chmod u+rwx,g+rwx,o+rwx 文件名 字母法:chmod u/g/o/a +/-/= rwx 文件 [ u/g/o/a ] 含义 u user 表示该文件的所有者 g group 表示与该文件的所有者属于同一组( group )者,即用户组 o other 表示其他以外的人 a all 表示这三者皆是 chmod a+rwx 文件名 [ +-= ] 含义 + 增加权限 - 撤销权限 = 设定权限 rwx 含义 r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。 w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。 x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。 数字法: 4读 2写 1执行 chmod 777 文件名chmod 命令 修改文件,目录的操作权限 linux的文件调用权限分为三个组:
- 所有者:全称Owner,简写u
- 用户组:全称Group,简写g
- 其它用户:全称Other Users,简写o
- 读取内容权限:全称read,简写r
- 修改内容权限:全称write,简写w
- 执行权限:全称execute,简写x
- 无权限:使用符号-表示
常用参数 | 作用 |
-c | 显示修改结果 |
-f | 屏蔽错误信息 |
-v | 显示修改过程 |
-R | 同时修改所有子文件 |
用户 | 说明 |
u | user,文件所有者 |
g | group,文件所有者所在组 |
o | others,所有其他用户 |
a | all,所有用户 |
操作符 | 说明 |
+ | 增加权限 |
- | 去除权限 |
= | 重设为指定权限 |
权限 | 说明 |
r | 读权限 |
w | 写权限 |
x | 执行权限 |
#bash.sh文件所有者所在组,增加执行权限 chmod g+x bash.sh
9.CRT终端操作
# 0.准备工作 安装CRT客户端工具,安装winscp工具 # 1.设置linux获取ip地址 (编辑网络配置文件) vi /etc/sysconfig/network-scripts/ifcfg-ens33 # 2.修改ens33配置文件: BOOTPROTO=dhcp ONBOOT=yes # 3.重启启动网路服务加载修改配置生效 systemctl restart network # 4.查看ip地址 ip addr # 5.此时ip已经获取 ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:07:16:9e brd ff:ff:ff:ff:ff:ff inet 192.168.202.136/24 brd 192.168.202.255 scope global noprefixroute dynamic ens33 valid_lft 1459sec preferred_lft 1459sec inet6 fe80::b22b:7e01:db87:52fe/64 scope link noprefixroute # 6.测试外部网络连通(保证宿主机windows可以上网前提) ping www.baidu # 7.使用CRT工具连接即可
10.firewalld 防火墙
如果没有防火墙,需要先安装防火墙yum install firewalld1、启动防火墙
systemctl start firewalld2、禁用防火墙
systemctl stop firewalld3、设置开机启动
systemctl enable firewalld4、停止并禁用开机启动
sytemctl disable firewalld5、重启防火墙
systemctl restart firewalld6、查看状态
systemctl status firewalld
1.Linux引言
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。目前Linux存在着许多不同的Linux发行版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。2.Linux的诞生
20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和MacOS这几种。Unix价格昂贵,不能运行于PC;DOS显得简陋,且源代码被软件厂商严格保密; MacOS是一种专门用于苹果计算机的操作系统。此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用。总结:Linux出现于1991年,是由芬兰赫尔辛基大学学生,Linus Torvalds和后来加入的众多爱好者共同开发完成。
3.Linux特点
3.1 完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。3.2 多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。同时`丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,出色的速度性能。4.Cent OS介绍
4.1 centos 引言
CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS完全开源。4.2 centos 和 readheat区别
目前的Linux操作系统主要应用于生产环境,主流企业的Linux系统仍旧是RedHat或者CentOS,他们出自于同样的源代码,但centos完全免费。其独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!5.安装Cent OS
5.1 环境准备
# 环境要求:1. windows7+ 2. VMware Workstation8+, 3. CentOS系统(镜像)
5.2 安装Cent OS
# 0.下载centos官网 : The CentOS Project 官网的下载地址 : http://isoredirect.centos/centos/7/isos/x86_64/# 1.第一步:打开VMware Workstation # 2.选择菜单File的第一项新建虚拟机 # 3.选择自定义虚拟机安装 # 4.选择下一步 # 5. 虚拟机设置之后安装系统 # 6.选择虚拟机安装系统以及版本 # 7.选择虚拟机名称与位置 # 8.设置处理器数 # 9.设置虚拟机内存 # 10.选择网络模式 # 11.选择io总线 下一步 # 12.选择新建硬盘 # 13.选择硬盘类型 # 14.拆分硬盘 # 15.设置磁盘位置 # 16.创建完成
6.Linux目录结构
# 目录结构 bin (binaries)存放二进制可执行文件 [重点] sbin (super user binaries)存放二进制可执行文件,只有root才能访问 etc (etcetera)存放系统配置文件 [重点] usr (unix shared resources)用于存放共享的系统资源 [重点] home 存放用户文件的根目录 [重点] root 超级用户目录 [重点] dev (devices)用于存放设备文件 lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块 mnt (mount)系统管理员安装临时文件系统的安装点 boot 存放用于系统引导时使用的各种文件 tmp (temporary)用于存放各种临时文件 [重点] var (variable)用于存放运行时需要改变数据的文件
7.Linux常用命令
# Linux中命令格式: 命令 -选项 参数 如: ls -l /usr
注意:在linux中命令严格区分大小写
1、目录简化
#当前目录 ./ #上层目录 ../
2、ls
介绍:查看命令,对所在目录中的文件查看展示。 语法: ls -l //长格式显示文件和目录信息,简写:ll ls -a //显示所有文件和目录(包含隐藏文件和目录) ls -R //递归显示指定目录下的文件清单,即会显示指定目录分支内各子目录中的文件清单# ls -l (长格式展示文件) [root@localhost ~]# ls -l 总用量 60 drwxrwxr-x 2 user1 user1 4096 Aug 17 09:10 abc - rw- r-- r-- 1 user1 user1 17 Aug 17 09:04 host.conf - rw- r-- r-- 1 user1 user1 38450 Aug 17 09:04 php.ini `长格式含义:` 文件类型 文件权限 链接数 属主 属组 大小 日期 时间 文件名 d rwxrwxr-x 2 user1 user1 4096 Aug 17 09:10 abc
3、pwd
介绍:显示当前所在目录。 用法: pwd //显示所在目录所在路径地址[root@localhost home]# pwd /home
4、touch
介绍:创建文件。 用法: touch 文件名 //创建文件 touch 文件1 文件2 文件3 //创建多个文件 touch /root/文件名 //在root目录创建文件[root@localhost home]# touch nginx.conf [root@localhost home]# touch a1.txt a2.txt a3.txt [root@localhost home]# touch /usr/nginx/nginx.conf
5、mkdir
介绍:创建目录 用法: mkdir 名称 //在所在目录创建文件夹 mkdir -p 目录名 //递归建立文件夹,没有上级目录先创建上级目录[root@localhost home]# mkdir nginx [root@localhost home]# mkdir /usr/abc/aa
6、cp
介绍:复制文件或目录 用法: cp 文件 目录 //拷贝文件到指定目录 cp -r 目录 目录 //递归处理目录下的子文件和子目录一并拷贝,拷贝目录到指定目录[root@localhost home]# cp http.conf /etc/fdfs/ [root@localhost home]# cp aa/ root/
7、mv
介绍:对文件和目录进行移动或更改名称 用法: mv 文件 目录 //移动文件到指定目录 mv 文件 新文件名 //对文件更改名称 mv 目录 目录 //移动目录到指定目录 mv 目录 新目录名 //对目录进行重命名[root@localhost home]# mv test.txt /home/ [root@localhost home]# mv test.txt test-v1.txt [root@localhost home]# mv /home/dist /home/nginx/ [root@localhost home]# mv dist dist-v1
8、rm
介绍:删除文件或目录 用法: rm 文件 rm -f 文件或目录 //强行删除文件或目录 rm -i 文件或目录 //先询问然后是否删除文件或目录 rm -r 目录或文件 //递归删除文件或目录 rm -rf 目录或文件 //强行递归删除文件或目录[root@localhost home]# rm nginx.conf [root@localhost home]# rm -i nginx.conf [root@localhost home]# rm -r /usr/nginx/nginx.conf [root@localhost home]# rm -rf /usr/nginx/nginx.conf
9、tail
介绍:查看文件内的信息,常用语读取日志文件,持续输出日志信息 用法: tail -f 文件 //循环读取文件内信息 tail -n 行数 文件 //显示文件最后几行信息[root@localhost home]# tail -f aa.log [root@localhost home]# tail -n 10 aa.log
10、echo
介绍:对文件输入内容 用法: echo 内容 >>文件 //对文件输入指定内容[root@localhost home]# echo LOVE baby >> a.txt
11、clear
介绍:清除控制台内容 用法: clear //清除[root@localhost home]# clear
12、cd
介绍:切换目录 用法: cd 目录 //切换到指定目录 cd ../ //切换到上级目录[root@localhost home]# cd /root/ [root@localhost home]# cd /usr/bin/ [root@localhost home]# cd ../ [root@localhost home]# cd ../../
13、cat
介绍:查看文件内容 用法: cat 文件 //查看文件内容[root@localhost home]# cat nginx.conf
14、ip addr
介绍:查看IP地址 用法: ip addr //查看IP地址,简写:ip a[root@localhost home]# ip addr [root@localhost home]# ip a
15、ping
介绍:检查主机与另一台服务器IP地址是否联通 用法: ping IP地址 //测试主机与IP地址是否联通[root@localhost home]# ping 10.153.44.232
16、telnet
介绍:检查主机与另一台服务器IP+端口 是否联通 用法: telnet IP 端口[root@localhost home]# telnet 10.153.44.232 8080 //成功 Trying 10.153.44.232... Connected to smtp.gmail. Escape character is '^]'. 220 smtp.gmail ESMTP g14sm2313081pjh.28 - gsmtp //失败 Trying 74.125.20.108...
17、tar
介绍:用于解压tar压缩包文件 参数:-c 建立一个压缩文件的参数指令(create) -x 解开一个压缩文件的参数指令(extract) -z 是否需要用 gzip 压缩 -v 压缩的过程中显示文件(verbose) -f 使用档名,在 f 之后要立即接档名(file) -C 解压到指定目录用法: tar -cvf tar压缩包 目录或文件 //将文件或目录打包成tar压缩包 tar -zcvf tar压缩包 目录或文件 //将文件或目录打包成tar压缩包并压缩 tar -zxvf tar压缩包 //将tar压缩包解压到所在目录 tar -zxvf tar压缩包 -C /usr/ //将tar压缩包解压到指定目录
[root@localhost home]# tar -cvf nginx.tar.gz nginx [root@localhost home]# tar -cvf ab.tar.gz a.txt b.txt [root@localhost home]# tar -zcvf nginx.tar.gz nginx [root@localhost home]# tar -zxvf nginx.tar.gz [root@localhost home]# tar -zxvf nginx.tar.gz -C /usr/
18、systemctl
介绍:操作服务的启动,停止,查看 用法: systemctl status 服务名 //查看服务状态 systemctl start 服务名 //启动服务 systemctl stop 服务名 //停止服务 systemctl restart 服务名 //重启服务[root@localhost home]# systemctl status firewalld [root@localhost home]# systemctl start firewalld [root@localhost home]# systemctl stop firewalld [root@localhost home]# systemctl restart firewalld
19、ps
介绍:查看服务是否启动并查看进程信息 参数:-ef 查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号用法: ps -ef|grep 关键字 //根据关键字查询进程
[root@localhost home]# ps -ef|grep tomcat
20、kill
介绍:结束进程 参数:-9 强行杀死某个进程用法: kill 进程号 //根据进程号杀死服务 kill -9 进程号 //根据进程号强行杀死服务
[root@localhost home]# kill 14312 [root@localhost home]# kill -9 12453
21、netstat
介绍:用于显示各种网络信息 参数:-a 显示所有socket连接 -l 显示监控中(listening)的socket连接 -n 直接使用ip地址,而不使用域名服务器 -p 显示正在使用socket的程序的pid和名称 -r 打印路由表 -t 显示TCP传输协议的连线状况 -u 显示UDP传输协议的连线状况 -s 显示网络工作信息统计表用法: netstat -nlp|grep 端口号 //根据端口号查询进程
[root@localhost home]# netstat -nlp|grep 8080
22、vi
介绍:文本编辑器 操作:i 在光标前插入 I 在光标当前行开始插入 a 在光标后插入 A 在光标当前行末尾插入 o 在光标当前行的下一行插入新行 O 在光标当前行的上一行插入新行
:set nu 显示行号 :set nonu 取消行号 gg 到文本的第一行 G 到文本的最后一行 :n 到文本的第n行 / 要搜索的内容 搜索 VG 全选 u undo 取消上一步操作 Ctrl + r redo 返回到undo之前 Shift+ zz 保存退出,与“:wq”作用相同 :q 退出不保存 :q! 强制退出不保存 :wq 保存退出 :wq! 强制保存退出用法: vi 文件 //编辑文件
[root@localhost home]# vi nginx.conf
23、rpm
介绍:RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便。 参数:i:安装应用程序(install) e:卸载应用程序(erase) vh:显示安装进度;(verbose hash) U:升级软件包;(update) qa: 显示所有已安装软件包(query all)用法: rpm -ivh 安装包 //安装
[root@localhost home]# rpm -ivh xxxx.rpm
24、yum
介绍:Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 参数:install 安装 remove 删除 update 更新 clean 清除 info 获取所有软件包信息 list 列出所有可安装的软件包 erase 卸载用法: yum install 软件包 yum remove 软件包 yum update 软件包
[root@localhost home]# yum install unzip [root@localhost home]# yum remove unzip [root@localhost home]# yum update unzip
25、su
介绍:切换用户 用法: su //切换root账号,回车然后输入用户名密码 su 用户名 //切换用户,回车然后输入用户名密码[root@localhost home]# su
26、whoami
介绍:查看当前登录用户 用法:[root@localhost home]# whoami
27、find
介绍:查找 参数:find [path...] -options [-print / -ecex / -ok] path:表示要查找的目录路径 * ~ 表示home目录 * . 表示当前目录 * / 表示根目录 -print:表示将结果输出到标准输出上 -exec:表示对文件执行所给出的shell命令 -ok:作用域-exec相同 _options:有以下几种查找方式: * 按照名字查找(-name) * 按照安装权限进行查找(-perm) * 不在当前指定的目录下寻找(-prune) * 按照文件属主来查找(-user) * 按照文件的所属组来查找(-group) * 查找没有有效的所属组文件(-nogroup) * 查找没有有效属主的文件(-nouser) * 按照文件类型来查找(-type)用法: find / -name 关键字 //在根目录根据名字查找 find / -name *关键字* //在根目录根据名字模糊查找
[root@localhost home]# find / -name 'tomcat' [root@localhost home]# find / -name '*tomcat*'
28、which
介绍:which指令会在环境变量$PATH设置的目录里查找符合条件的文件 用法: which 关键字[root@localhost home]# which mysql
29、unzip
介绍:unzip是对zip压缩文件进行解压的命令 用法: unzip zip文件 //解压zip文件 unzip -d 目录 zip文件 //解压zip文件到指定目录 unzip -n zip文件 //解压不想覆盖已经存在的文件 unzip -n -d 目录 zip文件 //解压zip文件到指定目录并不覆盖已经存在的文件 unzip -l zip文件 //查看zip文件包含什么文件,补进行解压 unzip -v zip文件 //查看zip文件包含文件列表和文件的压缩比率 unzip -t zip文件 //检查zip文件是否损坏[root@localhost home]# unzip fastdfs.zip [root@localhost home]# unzip -d /root/fastdfs/ fastdfs.zip
30、history
介绍:查看用户已键入的命令,用户所有键入的命令都会记录在文件中 用法:[root@localhost home]# history
31、scp
介绍:服务器之间拷贝文件 scp -r -P B服务器端口 A服务器压缩包路径 B服务器用户名@B服务器IP:复制到B服务器上的路径 用法:[root@localhost home]# scp -r -p 22 /home/selectmodel.tar.gz root@172.16.18.13:/home/
32、reboot
介绍:重启服务器 用法:[root@localhost home]# reboot
33、lsblk
介绍:列出服务器所有块设备的信息 用法:[root@localhost home]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sr0 11:0 1 1024M 0 rom
vda 252:0 0 100G 0 disk
├─vda1 252:1 0 500M 0 part /boot
└─vda2 252:2 0 99.5G 0 part
├─centos-root 253:0 0 92.1G 0 lvm /
└─centos-swap 253:1 0 7.5G 0 lvm [SWAP]
vdb 252:16 0 500G 0 disk
└─vdb1 252:17 0 500G 0 part
└─data-lvol0 253:2 0 500G 0 lvm /data #主要列解释 NAME:设备名称(如 vda、vda1 等)。 MAJ:设备的主次编号,主编号标识设备类型,次编号标识该类型中的不同设备。 RM:是否为可移动设备(0表示不可移动,1表示可移动)。 SIZE:设备的大小。 RO:是否为只读设备(0表示可读写,1表示只读)。 TYPE:设备类型,disk 表示磁盘,part 表示分区,lvm 表示逻辑卷,rom 表示光驱。 MOUNTPOINT:挂载点,即设备挂载到的文件系统路径。 #具体信息解释 1.fd0:fd0 是一个 4KB 的软盘设备(通常标识软驱)。 - TYPE 为 disk,没有挂载点,表示未使用。 2.sr0:这是一个大小为 1024MB 的光驱设备(通常是CD/DVD驱动器)。 - TYPE 为 rom,没有挂载。 3.vda:这是一个虚拟磁盘,大小为 100GB。 - 包含两个分区:vda1 和 vda2。 4.vda1:这是 vda 的第一个分区,大小为 500MB。 - MOUNTPOINT 为 /boot,存放系统启动文件。 5.vda2:这是 vda 的第二个分区,大小为 99.5GB。 - 包含两个逻辑卷 centos-root 和 centos-swap,通过 LVM(逻辑卷管理)进行管理。 6.centos-root:这是 vda2 上的一个逻辑卷,大小为 92.1GB。 - MOUNTPOINT 为 /,即系统根目录。 7.centos-swap:这是 vda2 上的另一个逻辑卷,大小为 7.5GB。 - 类型为 [SWAP],用于虚拟内存交换分区。 8.vdb:这是一个 500GB 的虚拟磁盘,未分区。 - 包含一个分区 vdb1,用于存储 /data 数据。 9.vdb1:这是 vdb 上的唯一分区,大小为 500GB。 - 包含一个逻辑卷 data-lvol0,并挂载在 /data 目录。 10.data-lvol0:这是 vdb1 上的逻辑卷,大小为 500GB。 - MOUNTPOINT 为 /data,用于数据存储。
34、wget
介绍:wget 是 Linux 系统中的一个用于非交互式下载文件的命令行工具。它支持 HTTP、HTTPS 和 FTP 等协议,是下载文件的一个常用工具。 参数:-r:递归下载整个目录或网站。 -c:断点续传。 -b:后台下载。 --limit-rate:设置下载速度限制。 -i:从文件中读取多个 URL 进行批量下载。 -P:指定下载目录。用法: wget [选项] [URL]
// 下载单个文件 [root@localhost home]# wget http://example/file.txt // 递归下载,可以下载整个网站或目录结构(适用于爬取网页内容等)。 [root@localhost home]# wget -r http://example/ // 断点续传,如果下载中断,还可以继续下载未完成的部分 [root@localhost home]# wget -c http://example/largefile.iso // 后台下载,支持在后台运行下载任务,适合下载大文件时不影响其他操作。 [root@localhost home]# wget -b http://example/largefile.iso // 限制带宽,可以设置下载速度的限制,避免占用过多网络资源。 [root@localhost home]# wget --limit-rate=100k http://example/largefile.iso // 批量下载,可以通过文本文件中的 URL 列表批量下载多个文件。 [root@localhost home]# wget -i urls.txt
35、free
介绍:free 命令用于显示系统内存的使用情况,包括物理内存(RAM)、交换分区(swap)和缓存等信息。 参数:-b:以字节为单位显示内存。 -k:以千字节(KB)为单位显示内存(默认)。 -m:以兆字节(MB)为单位显示内存。 -g:以千兆字节(GB)为单位显示内存。 -h:以人类可读的格式(KB/MB/GB)显示内存(推荐)。 -t:显示内存总计(total,包括物理内存和交换分区)。 -s[秒数]:每隔指定秒数刷新一次内存信息。 -c[次数]:指定显示的刷新次数。用法: free [选项]
#指定显示的刷新次数 [root@localhost home]# free -h -c 5 #推荐用法 [root@localhost home]# free -h total used free shared buff/cache available Mem: 62G 5.8G 49G 73M 7.9G 56G Swap: 7.5G 0B 7.5G #主要列解释 total:总内存大小,包括物理内存的全部容量和交换分区的总大小。 used:已使用的内存,包括被应用程序、操作系统和缓存占用的内存。 free:未被分配的空闲内存,这是完全未被使用的内存部分。 shared:被多个进程共享的内存,通常用于共享内存段。 buff/cache:缓存和缓冲区占用的内存,buffer:用于存储块设备的 I/O 操作,cache:用于缓存文件系统的数据。 available:应用程序实际可用的内存,它基于内存调度算法计算,包含空闲内存和可回收的缓存内存。
36、df
介绍:df(Disk Free)用于显示文件系统的磁盘空间使用情况。 参数:-h:以人类可读的格式显示(KB/MB/GB)。 -T:显示文件系统类型。 -i:显示 inode 信息而非磁盘空间。用法: df [选项]
#基本用法 [root@localhost home]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 32G 0 32G 0% /dev tmpfs 32G 88K 32G 1% /dev/shm tmpfs 32G 74M 32G 1% /run tmpfs 32G 0 32G 0% /sys/fs/cgroup /dev/mapper/centos-root 93G 25G 68G 27% / /dev/vda1 497M 277M 221M 56% /boot /dev/mapper/data-lvol0 493G 1.3G 466G 1% /data overlay 93G 25G 68G 27% /var/lib/docker/overlay2/ca6fcc6f2d220c6eef423d2d0c1ba61c456efaf0f265acf5dcfad9a496c84f5f/merged overlay 93G 25G 68G 27% /var/lib/docker/overlay2/0f487109ae12a83fe9d3e46b2d8b3bd745575718492d328bfe26a726c4c14a34/merged overlay 93G 25G 68G 27% /var/lib/docker/overlay2/e16b6c7e314f8a33a892eab9e7dc2336d646bf847ac7ede255d046c9b1e15062/merged overlay 93G 25G 68G 27% /var/lib/docker/overlay2/1e320c8c3fd6cda464bf4499ef1f3f684d50d5ab327a9146d7e77430659669dc/merged overlay 93G 25G 68G 27% /var/lib/docker/overlay2/7a0d5408b66c5f643658c54c934ab00166dd5e9a32818ebad33f8a4034f6deee/merged overlay 93G 25G 68G 27% /var/lib/docker/overlay2/cbe1a87b320b972c4bc9bd2c981344cb9216e29d09f0d67fd0a64bda8b443607/merged tmpfs 6.3G 0 6.3G 0% /run/user/0
37、uptime
介绍:uptime 显示系统已运行的时间,以及最近的启动时间。 用法: uptime[root@localhost home]# uptime 14:46:51 up 6 days, 9:19, 2 users, load average: 0.15, 0.19, 0.31 #up 6 days, 9:19:表示系统已运行6天9小时19分钟。如果时间较短,可以判断系统最近刚重启过。
8. 权限相关命令
Linux文件有三种典型的权限,即r读权限、w写权限和x执行权限。在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的。r=4,w=2,x=1
# chmod all = user + group + other chmod u+rwx,g+rwx,o+rwx 文件名 字母法:chmod u/g/o/a +/-/= rwx 文件 [ u/g/o/a ] 含义 u user 表示该文件的所有者 g group 表示与该文件的所有者属于同一组( group )者,即用户组 o other 表示其他以外的人 a all 表示这三者皆是 chmod a+rwx 文件名 [ +-= ] 含义 + 增加权限 - 撤销权限 = 设定权限 rwx 含义 r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。 w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。 x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。 数字法: 4读 2写 1执行 chmod 777 文件名chmod 命令 修改文件,目录的操作权限 linux的文件调用权限分为三个组:
- 所有者:全称Owner,简写u
- 用户组:全称Group,简写g
- 其它用户:全称Other Users,简写o
- 读取内容权限:全称read,简写r
- 修改内容权限:全称write,简写w
- 执行权限:全称execute,简写x
- 无权限:使用符号-表示
常用参数 | 作用 |
-c | 显示修改结果 |
-f | 屏蔽错误信息 |
-v | 显示修改过程 |
-R | 同时修改所有子文件 |
用户 | 说明 |
u | user,文件所有者 |
g | group,文件所有者所在组 |
o | others,所有其他用户 |
a | all,所有用户 |
操作符 | 说明 |
+ | 增加权限 |
- | 去除权限 |
= | 重设为指定权限 |
权限 | 说明 |
r | 读权限 |
w | 写权限 |
x | 执行权限 |
#bash.sh文件所有者所在组,增加执行权限 chmod g+x bash.sh
9.CRT终端操作
# 0.准备工作 安装CRT客户端工具,安装winscp工具 # 1.设置linux获取ip地址 (编辑网络配置文件) vi /etc/sysconfig/network-scripts/ifcfg-ens33 # 2.修改ens33配置文件: BOOTPROTO=dhcp ONBOOT=yes # 3.重启启动网路服务加载修改配置生效 systemctl restart network # 4.查看ip地址 ip addr # 5.此时ip已经获取 ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:07:16:9e brd ff:ff:ff:ff:ff:ff inet 192.168.202.136/24 brd 192.168.202.255 scope global noprefixroute dynamic ens33 valid_lft 1459sec preferred_lft 1459sec inet6 fe80::b22b:7e01:db87:52fe/64 scope link noprefixroute # 6.测试外部网络连通(保证宿主机windows可以上网前提) ping www.baidu # 7.使用CRT工具连接即可
10.firewalld 防火墙
如果没有防火墙,需要先安装防火墙yum install firewalld1、启动防火墙
systemctl start firewalld2、禁用防火墙
systemctl stop firewalld3、设置开机启动
systemctl enable firewalld4、停止并禁用开机启动
sytemctl disable firewalld5、重启防火墙
systemctl restart firewalld6、查看状态
systemctl status firewalld