一、目录操作
常用目录
/root: 该目录为系统管理员,也称作超级权限者的用户主目录。
/home: 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/usr: 这是一个非常重要的目录,存放系统用户共享资源
1、列出文件及目录
ls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容。 格式:ls [参数] [路径或文件名] 参数: -a 显示所有文件或目录(包含隐藏的文件) -l 显示文件详细信息 常用: 在linux中以 . 开头的文件都是隐藏的文件 ls ls -a 显示所有文件或目录(包含隐藏的文件) ls -l 列出当前目录下的文件列表,以详细信息展示,可以缩写为ll ls -l / 列出根目录下的文件列表,以详细信息展示
2、切换目录
cd(change directory)命令可以用来切换目录 格式: cd <路径或目录名> 常用: cd app 切换到app目录 cd .. 切换到上一层目录 cd / 切换到系统根目录 cd ~ 切换到用户主目录 cd - 切换到上一个所在目录
3、创建目录
mkdir(make directory)命令可用来创建子目录。 格式: mkdir [参数] <目录路径或目录名> 参数: -p 级联创建目录结构 常用: mkdir app 在当前目录下创建app目录 mkdir –p app2/test 级联创建aap2以及test目
4、删除目录
rmdir(remove directory)命令可用来删除“空”的子目录 格式: rmdir <目录路径或目录名> 常用: rmdir app 删除app目录
二、文件操作
1、查看文件内容
cat命令
cat 用于显示文件的内容。 格式: cat [参数] <文件名> 参数: -n 对输出的所有行编号 常用 cat yum.conf cat -n yum.conf
more命令
more 一般用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面。回车显示下一行内容。 格式: more [参数] <文件名> 常用: more yum.conf 快捷键: 空格 翻页 确定 下一行 q 退出查看
less命令
less 用法和more类似,不同的是less可以通过PgUp、PgDn键来控制上下翻页。 格式: less [参数] <文件名> 常用: less yum.conf 快捷键: PgUp 上一页 PgDn 下一页 q 退出查看
head命令
head 查看文件的前面部分,默认显示前10行 格式: head [参数] <文件名> 参数: -n 显示每个文件的前n行内容 常用: head yum.conf 显示文件的前10行 head -100 yum.conf 显示文件的前100行
tail命令
tail 查看文件的后面部分,默认显示最后10行 格式: tail [参数] <文件名>io 参数: -n 显示每个文件的后n行内容 -f 即时输出文件变化后追加的数据。 常用: tail yum.conf 显示文件的最后10行= tail -100 yum.conf 显示文件的最后100行 tail -f yum.conf 显示文件的最后10行,并且监控文件的变化,输出文件变化后追加的数据。
快速匹配字符串
vim +/pattern filename
打开文件,并将光标置于第一个与pattern匹配的字符串处
比如想到定位到第一个与"hello"匹配的行,输入 vim +/hello filename
2、
grep 查找符合条件的字符串。 格式: grep <text> [参数] <文件名> 参数: -i 忽略大小写 -n 输出的同时打印行号 -B 显示前N行的内容 -A 显示后N行的内容 --color 高亮展示查询关键字 常用: grep headers install.log 在文件中查找headers grep -B 10 headers install.log 在文件中查找headers,显示前10行的内容 grep -A 10 headers install.log 在文件中查找headers,显示后10行的内容 grep -A 10 --color headers install.log 在文件中查找headers,高亮展示关键字
3、创建空文件
touch 用于创建一个空文件 格式: touch <文件名> 常用: touch aa.txt
4、删除文件
rm 用于删除文件或者目录 格式: rm [参数] <文件名> 参数: -f 强制删除。忽略不存在的文件,不提示确认 -r 递归删除目录及其内容 常用: rm a.txt 删除a.txt文件,输入y/n,y确认删除,n不删除 rm -f a.txt 不询问,直接删除 rm -r aa 删除aa目录,每个目录及文件都提示 rm -rf aa 不询问递归删除aa目录 rm -rf * 删除当前目录下所有文件 rm -rf /* 删除根目录下所有文件(自杀)
5、文件编辑
vi/ 用于编辑文件, 一共有三种模式:命令行模式、插入模式、底行模式。 格式: vi/vim [参数] <文件名> 命令行模式: 用户在命令行模式可以按一些快捷键达到快速输入的目的,例如复制,粘贴,删除,插入等 插入模式: 用户可以在插入模式对文件内容进行编辑 底行模式: 用户可以底行模式输入一些命令,对文件进行操作,例如:保存退出,不保存退出,查找等 用户使用vi/vim命令编辑文件,刚开始进入到命令行模式,之后可以使用命令来切换模式 命令行模式-->插入模式: i 在当前位置插入 I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前行之前插入一行 插入模式-->命令行模式: Esc 从插入模式切换到命令行模式 命令行模式-->底行模式: :(冒号) 从命令行模式切换到底行模式 命令行模式快捷键: dd 快速删除一行 yy 拷贝当前行 nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。 p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。 P 在当前行前粘贴 底行模式命令: wq 保存退出 q! 强制退出并忽略所有更改 e! 放弃所有修改,并打开原来文件。 /text 查找text,按n健查找下一个,按N健查找前一个。
查找指令:
/xxx 往下查找
?xxx 往上
n 下一个
:set hls 打开高亮
:set nohls 关闭高亮
6、查找文件
(1)、使用locate命令查找文件
安装locate
yum -y install mlocate
安装完了以后更新库
updatedb
使用
[root@hecs-140905 ~]# locate frpc.ini /usr/local/frps/frpc.ini
(2)、使用find命令查找
find / -name "文件名"
如下:
[root@hecs-140905 ~]# find / -name "frpc.ini" /usr/local/frps/frpc.ini
三、通用文件或目录操作
cp(copy) 将源文件复制至目标文件,或将多个源文件复制至目标目录。 格式: cp [参数] 源目录或文件 目标目录或文件 参数: -r 递归复制目录及其子目录内的所有内容 常用: cp install.log install.log.bak 将install.log复制为install.log.bak文件 cp install.log aaa/ 将install.log文件复制到当前目录下的aaa目录下 cp install.log bbb/install.log.bak 将install.log文件复制到当前目录下的bbb目录下,改名为install.log.bak cp aaa -r bbb/ 递归复制aaa目录及子目录的所有内容到bbb目录下 cp aaa -r bbb/ccc 递归复制aaa目录及子目录的所有内容到bbb目录下,改名为ccc 复制文件,如果后一个参数是目录,则复制文件到指定目录 复制文件,如果后一个参数是文件,则复制文件到指定路径,并改名 复制目录,如果后一个参数是已经存在的目录,则复制目录到指定目录下 复制目录,如果后一个参数是不存在的目录,则复制目录到指定路径下,并改名
2、移动文件或目录
mv(move) 将源文件重命名为目标文件,或将源文件移动至指定目录。 格式: mv 源目录或文件 目标目录或文件 常用: mv install.log install.log.bak 将install.log重命名为install.log.bak mv install.log aaa/ 将install.log文件移动到当前目录下的aaa目录下 mv install.log bbb/install.log.bak 将install.log文件移动到当前目录下的bbb目录下,改名为install.log.bak mv aaa bbb/ 将aaa目录移动到bbb目录下 mv aaa bbb/ccc 将aaa目录移动到bbb目录下,重命名为ccc 移动文件,如果后一个参数是目录,则移动文件到指定目录 移动文件,如果后一个参数是文件,则移动文件到指定路径,并重命名 移动目录,如果后一个参数是已经存在的目录,则移动目录到指定目录下 移动目录,如果后一个参数是不存在的目录,则移动目录到指定路径下,并重命名
3、打包压缩和解压缩
tar 命令能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,
再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。 格式: tar [参数] <文件或目录列表> 参数: -c: 创建一个新tar文件 -v: 显示运行过程的信息 -f: 指定文件名 -z: 调用gzip压缩命令进行压缩 -x: 解开tar文件 -C: 指定解压路径 常用: tar –cvf aaa.tar ./* 将当前目录下的所有文件打包为aaa.tar tar –zcvf aaa.tar.gz ./* 将当前目录下的所有文件打包压缩为aaa.tar.gz tar –xvf aaa.tar 将aaa.tar提取到当前目录 tar -xvf aaa.tar.gz -C /usr/aaa 将aaa.tar.gz解压到/usr/aaa目录
linux中解压zip文件使用unzip命令:
unzip abc.zip
四、
重定向输出
> 重定向输出,覆盖原有内容 >> 重定向输出,又追加功能 常用: ifconfig > ifconfig.txt 将ifconfig命令的结果输出到 ifconfig.txt文件中 ifconfig >> ifconfig.txt 将ifconfig命令的结果追加到 ifconfig.txt文件中
2、
管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。 示例: ls --help | more 分页查询帮助信息 ps –ef | grep java 查询名称中包含java的进程
3、其他
1. pwd 查看当前工作目录 2. ll -h 友好显示文件大小 3. wget 下载资料
4、lsblk查看系统中的所有块设备信息
lsblk
源自于 “list block devices” 的缩写。这个命令用于列出系统中的所有块设备(block devices),比如硬盘、光驱等。它展示块设备的层次结构、大小和挂载点等信息,非常有助于系统管理员理解系统存储结构。
发现vdb没有挂载。
列出指定的块设备信息
lsblk /dev/vdb
5、df查看文件系统的磁盘空间使用情况
df
源自于“disk free”的缩写,这个命令用于查看文件系统的磁盘空间使用情况。它可以显示每个挂载点的可用空间、已用空间、总空间等信息,是监控磁盘使用情况的重要工具。df
命令的输出结果能够帮助系统管理员和用户了解当前文件系统的存储状态,以便及时调整磁盘管理策略。
发现了我的 /dev/vda1 挂载的/目录的内存已经满了,导致MySQL无法写入。
/dev/vda1
是 Linux 系统中的一个设备文件,它表示第一个虚拟磁盘(vda)的第一个分区(1)。在大多数 Linux 发行版中,这是系统根分区的默认位置。
6、du显示目录或文件所占用的磁盘空间
du -sh *
du 是"disk usage"的缩写,用于估算文件或目录的磁盘使用量。
-a: 显示目录中所有文件以及文件夹大小 -h: 以 Kb、Mb 、Gb 等易读的单位显示大小 --si: 类似 -h 选项,但是计算是用 1000 为基数而不是1024 -s: 显示目录总大小 -d: 是 --max-depth=N 选项的简写,表示深入到第几层目录,超过指定层数目录则忽略 -c: 除了显示目录大小外,额外一行显示总占用量 --time: 显示每一个目录下最近修改文件的时间 -t: 是 --threshold=SIZE 的简写,过滤掉小于 SIZE 大小的文件以及目录 --exclude=PATTERN:过滤与PATTERN匹配的文件名或者目录
7、fdisk查看磁盘分区情况和分区管理
查看分区信息
fdisk -l
Disk /dev/vda和 Disk /dev/vdb表示有两块盘
/dev/vda - 系统盘(系统自带的盘),有一个分区vda1(通常第一个盘就是系统盘)
/dev/vdb - 数据盘(一般虚拟出来的盘),有两个分区vdb1,vdb2
五、Linux权限管理命令
1、资源权限管理
资源类型
普通文件(-)
目录(d)
符号链接(l)
字符设备文件(c)
块设备文件(s)
套接字(s)
命名管道(p)
(x:execute)
普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。
目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。
修改资源权限
chmod 变更文件或目录的权限。 格式: chmod [参数] <文件> 参数: -R 以递归方式更改所有的文件及子目录 常用: chmod 755 install.log chmod 000 install.log chmod 777 install.log chmod u=rwx,g=rx,o=rx install.log chmod -R 755 aaa
注意:自己新建的文件夹需要有Other Users的读的权限,否则该文件夹中的图片无法被访问的,即报403 Forbidden
Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。
只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。
2、组管理
创建组
groupadd 创建一个用户组,一个用户组中可以有很多用户 格式: groupadd <组名称> 常用: groupadd mysql 创建一个名为mysql的组
删除组
groupdel 删除一个已经存在的组,组中必须没有用户 格式: groupdel <组名称> 常用: groupdel mysql 删除名为mysql的组
3、
创建用户
useradd 创建一个用户 格式: useradd [参数] <用户名> 参数: -d 指定用户目录,如果不指定在home目录下创建一个同名目录 -g 指定用户所属组,如果没有指定组,那么会创建一个同名组 常用: useradd test 添加test用户 useradd test2 -d /home/test2 指定用户home目录 useradd mysql –g mysql 创建一个mysql用户,指定组为mysql组 useradd test2 -d /home/test2 –g mysql 如果在创建用户时没有指定密码,那么新建用户需要设置密码才可以使用 必须在root 超级管理员下设置密码 格式: passwd <用户> 常用: passwd test 为test用户设置密码
删除用户
userdel 删除使用者帐号及相关档案 格式: userdel [参数] <用户> 参数: -r 使用者目录下的档案一并移除 。 在其他位置上的档案也将一一找出并删除 。 常用: userdel test 删除test用户(不会删除home目录) userdel –r test 删除用户以及home目录
su 切换登录用户 (switch user) 格式: su [选项] [-] [用户] 常用: su u1 切换到u1用户 su - u1 切换到u1用户,并且将环境也切换到u1用户的环境(推荐使用) root用作为超级管理员切换到其他用户不需要输入密码 其他用户切换到root用户需要输入密码
如
su - ypzs
结果就直接进入该用户的根目录。
修改资源的用户和组
chown 改变资源的所属用户和组 格式: chown [参数] [用户]:[组] <文件> 参数: -R 递归处理所有的文件及子目录 常用: chown u1:public a.txt 变更当前的目录或文件的所属用户和组 chown -R u1:public aaa 变更目录中的所有的子目录及文件的所属用户和组
六、
1、网络管理命令
网络测试命令
ping 测试网络是否联通 格式: ping <域名或者IP地址>(ctrl+c) 参数: -c 次数,指定ping发送包的次数 常用: ping 192.168.150.128 ping www.baidu.com ping -c 3 www.baidu.com
查看网络状态
ifconfig 查看网络状态
关闭与启动网卡
ifdown 网卡设备名:禁用该网卡设备。
ifup 网卡设备名:启用该网卡设备。
查询网络状态
netstat 用于查看当前计算机开放的端口,从而判断当前计算机启动了哪些服务 格式: netstat <参数> 参数: -t:列出TCP协议端口 -u:列出UPD协议端口 -n:不使用域名和服务名,而使用IP地址和端口号 -a:列出所有的网络连接 常用: netstat -an 查看当前计算机开放的所有的端口 netstat -an | grep 3306 查看占用了3306(mysql)端口的系统程序
2、防火墙管理命令
开启或关闭防火墙
service iptables status 查看防火墙状态
service iptables start 启动防火墙
service iptables stop 关闭防火墙
service iptables rest--art 重启防火墙
3、其他系统管理命令
(1)、查看系统进程
ps 正在运行的进程的状态 格式: ps [参数] 参数 -e 所有的进程均显示出来 -f 做一个更为完整的输出 常用: ps –ef 查看所有进程 ps –ef | grep ssh 查找某一进程
杀死进程
kill 杀掉某一进程 格式: kill <进程PID> 常用: kill 2868 杀掉2868编号的进程 kill -9 2868 强制杀死进程
(2)、查看系统中各个进程的资源占用状况
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
top
(3)、查看系统内存使用情况
free -m
七、从一台服务器连接另一台服务器
sftp root@ip
八、查看tomcat是否启动成功
tail -f logs/catalina.2021-12-15.out
九、查询服务器配置相关操作
1、检查服务器操作系统版本
cat /etc/redhat-release
如
[root@hecs-xxx ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
2、检查系统运行环境
(1)、docker版本
docker -v
如
[root@hecs-xxx ~]# docker -v Docker version 20.10.17, build 100c701
(2)、jdk版本
进入容器内查看jdk版本: java -version
docker exec -it ptsserver bash
java -version
如
[root@hecs-xxx ~]# docker exec -it ptsserver bash root@383a63ff596f:/usr/local/tomcat# java -version openjdk version "11.0.13" 2021-10-19 OpenJDK Runtime Environment 18.9 (build 11.0.13+8) OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8, mixed mode, sharing)
(3)、nginx版本
进入前端容器内部查看nginx版本:./nginx -v
docker exec -it ptsViewProduct bash
/usr/sbin/nginx -v
如:
[root@hecs-xxx ~]# docker exec -it ptsViewProduct bash root@8f6aa23526f3:/# whereis nginx nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx root@8f6aa23526f3:/# /usr/sbin/nginx -v nginx version: nginx/1.21.5
(4)、tomcat版本
进入后台容器内部查看tomcat版本:sh ./version.sh
docker exec -it ptsserver bash
sh ./version.sh
如
[root@hecs-xxx ~]# docker exec -it ptsserver bash root@383a63ff596f:/usr/local/tomcat# ls BUILDING.txt CONTRIBUTING.md LICENSE NOTICE README.md RELEASE-NOTES RUNNING.txt bin conf lib logs native-jni-lib temp webapps webapps.dist work root@383a63ff596f:/usr/local/tomcat# cd bin root@383a63ff596f:/usr/local/tomcat/bin# sh ./version.sh Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/openjdk-11 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED Server version: Apache Tomcat/9.0.56 Server built: Dec 2 2021 14:30:07 UTC Server number: 9.0.56.0 OS Name: Linux OS Version: 3.10.0-1160.66.1.el7.x86_64 Architecture: amd64 JVM Version: 11.0.13+8 JVM Vendor: Oracle Corporation
3、查看IP地址,子网掩码,默认网关
宿主机的IP看eth0,而不是docker0,docker0是当docker启动后才有的。
云服务器的IP就是云服务器的内网IP。
ifconfig eth0
如
[root@hecs-xxx ~]# ifconfig eth0 | grep 192.168 inet 192.168.0.120 netmask 255.255.255.0 broadcast 192.168.0.255
4、检查DNS
介绍:作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。他的作用是根据域名查找对应的IP地址。
cat /etc/resolv.conf
如
[root@hecs-xxx ~]# cat /etc/resolv.conf # Generated by NetworkManager search openstacklocal nameserver 100.125.21.220 nameserver 100.125.1.220 options timeout:1 single-request-reopen
5、检查Oracle的版本
select * from v$version;
如:
6、检查操作系统语言
echo $LANG
如
[root@hecs-xxx ~]# echo $LANG en_US.UTF-8
7、数据库管理账号ADMIN
select distinct owner from all_all_tables where tablespace_name in ('USERS','PT_TBS');
如
十、Linux系统磁盘(硬盘)逻辑卷分区
LVM是 Logical Volume Manager(逻辑卷管理)的简写
1、逻辑卷分区的基本组成
(1)、物理卷 (PV,Physical Volume)
一个可供存储LVM的块设备. 如硬盘分区(MBR或GPT分区)、SAN 的硬盘、RAID 或 LUN,一个回环文件, 一个被内核映射的设备 (例如 dm-crypt),它包含一个特殊的LVM头,它是 LVM 构建的实际硬件或存储系统。
(2)、卷组 (VG,Volume Group)
卷组是对一个或多个物理卷的集合,并在设备文件系统中显示为 /dev/VG_NAME。
(3)、逻辑卷 (LV,Logical Volume)
逻辑卷是可供系统使用的最终元设备,它们在卷组中创建和管理,由物理块组成,实际上就是一个虚拟分区,并显示为 /dev/VG_NAME/LV_NAME,通常在其上可以创建文件系统。
(4)、物理块 (PE,Physical Extends)
一个卷组中最小的连续区域(默认为4 MiB),多个物理块将被分配给一个逻辑卷。你可以把它看成物理卷的一部分,这部分可以被分配给一个逻辑卷。
依次为:disk -> partition -> PV -> VG -> LV -> fs,也即磁盘->分区->物理卷->卷组->逻辑卷->文件系统。
2、LVM的管理命令
主要命令:
pvcreate命令:创建新的物理卷(格式:pvcreate...设备名1...[设备名2])
vgcreate命令:创建新的卷组(格式:vgcreate...卷组名...物理卷名1...物理卷名2)
lvcreate命令:创建新的逻辑卷(格式:lvcreate...-L...容量大小...-n...逻辑卷名...卷组名)
lvextend命令:添加逻辑卷的存储空间(格式:lvextend...-L...+容量大小.../dev/卷组名/逻辑卷名)
3、实操
(1)、创建PV
pvcreate /dev/vdb1
(2)、创建VG(根据自己的需求创建名字vg+名字)
vgcreate vgData /dev/vdb1
(3)、创建LV (根据自己的需求创建名字lvm+名字)
lvcreate -l 100%FREE -n lvmData vgData
(4)、使用逻辑卷
1)、创建挂载目录
mkdir /cctdData
2)、格式化逻辑卷
mkfs.xfs /dev/vgData/lvmData
3)、永久挂载逻辑卷
vim /etc/fstab
添加:
/dev/vgData/lvmData /cctdData xfs defaults 0 0
4)、挂载所有在 /etc/fstab
文件中定义的文件系统
mount -a
5)、查询磁盘是否挂载成功
df -h
参考:https://www.cnblogs.com/-bobo/articles/18178961