mkdir-命令
- mkdir 用于创建新的目录
- 语法mkdir [-p] 路径
- -p 可选参数,表示自动创建不存在的父目录
touch-cat-more-命令
- touch 路径 用于创建文件
- cat 路径 直接将内容全部显示出来
- more 路径 支持翻页(通过空格翻页,通过q退出查看)
cp-mv-rm-命令
-
cp命令可以用于复制文件/文件夹,来自英文单词:copy
- 语法 :cp [-r] 参数1 参数2
- -r选项,可选,用于复制文件夹使用,表示递归
- 参数1,路径,表示被复制的文件或文件夹
- 参数2,路径,表示要复制去的地方
-
mv命令可以移动文件/文件夹,来自英文单词:move
- 语法 :mv 参数1 参数2
- 参数1:路径,表示被移动的文件或文件夹
- 参数2,路径,表示要移动去的地方。
-
rm命令用于删除文件、文件夹,来自英文单词:remove
-
语法:rm [-r -f] 参数1 参数2 ... 参数n
-
同cp命令一样,-r选项用于删除文件夹
-
-f 表示force,强制删除(不会弹出提示确认信息)
- 普通用户删除不会提示,只有root用户删除才会有提示
- 普通用户一般用不到-f 选项
-
参数1、参数2、... 参数n 表示要删除的文件或文件夹路径,按空格隔开
-
which-find-命令
-
which 命令,查看所使用的一系列命令的程序文件的位置
- 语法:which 要查找的命令
-
find 命令查找文件
- 语法:find 起始路径 -name “被查找文件名” 支持使用通配符 * 模糊查询
- 语法:find 起始路径 -size [+/-] n [kMG]
- +/- 表示大于和小于
- n表示大小数字
- KMG表示大小单位,k(小写)表示kb,MB表示MB,G表示GB
grep-wc-管道符
-
grep命令,从文件中通过关键字过滤文件行
- 语法:grep [-n] 关键字 文件路径
- 选项-n,可选,表示结果中显示匹配的行号
- 参数,关键字,表示过滤的关键字,使用“ ”包裹
- 参数,文件路径,表示要过滤的文件路径 ,可以作为内容输入端口
-
wc命令,用来统计文件的行数、单数数量等
- 语法:wc [-c -m -l -w] 文件路径
- -c ,统计bytes数量
- -m,统计字符数量
- -l,统计行数
- -w,统计单词数量
- 参数,文件路径,被统计的文件,可作为内容输入端口
-
管道符:| 含义是将管道符左边命令的结果,作为右边命令的输入
echo-tail-重定向符
-
echo命令在命令行内输出指定内容
-
语法:echo 输出的内容(建议用引号)
-
反引号 ` ,将命令用反引号包裹,会作为命令执行,而非普通字符
-
重定向符:>和>>
-
">" ,将左侧命令的结果,覆盖写入到符号右侧指定的文件中
-
">>",将左侧命令的和结果,追加写入到符号右侧的文件中
echo "hello linux" >> test.txt
-
-
tail命令,可以查看文件尾部内容,跟踪文件的最新更改
- 语法:tail [-f -num] 路径
- 参数 -f ,表示持续跟踪
- 参数 -num,表示查看尾部多少行,不填默认10行
vi\vim文本编辑器
root用户
-
su命令用于切换用户,来源英文单词:Switch User
- 语法:su [ - ] [用户名]
- [ - ] 符号是可选的,表示是否在切换用户后加载环境变量,建议带上
- [用户名] ,表示要切换的用户,用户名也可以省略,省略表示切换到root
- 切换用户后,可以通过exit命令回退上一个用户。
- 语法:su [ - ] [用户名]
-
sudo命令,为普通用户授权,临时的root权限
- 语法:sudo 其他命令
- 在其它命令之前,带上sudo,即可为这一条命令临时赋予root权限
- 但是并不是所有的用户,都有权力使用sudo,需要为普通用户配置sudo认证。
- 切换到root用户,执行 visudo命令,会自动通过vi编辑器打开:/etc/sudoers
- 在文件的最后添加:用户名 ALL=(ALL) NOPASSWD:ALL
- 语法:sudo 其他命令
用户和用户组管理
-
用户组管理(以下命令需在root用户执行)
- 创造用户组 groupadd 用户组名
- 删除用户组 groupdel 用户组名
-
用户管理
-
创建用户
- useradd [-g -d] 用户名
- -g:指定用户组,不指定,会创建同名组自动加入
- -d:指定用户HOME路径,不指定,就默认在:/home/用户名
- useradd [-g -d] 用户名
-
删除用户
- userdel [-r] 用户名
- -r:删除用户的home目录,不使用-r,删除用户时,home目录保留
- userdel [-r] 用户名
-
查看用户所属组
- id [用户名]
-
修改用户所属组
- usermod -aG 用户组 用户名
-
-
getent passwd 命令,可以查看当前系统中有哪些用户
-
getent group 命令,可以查看当前系统中有哪些组
chmod命令
-
作用:修改文件、文件夹的权限信息
-
语法:chmod [-R] 权限 文件或文件夹
-
-R,对文件夹内的全部内容应用同样的操作
-
示例:
-
chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-x--x
- 其中u表示user所属的权限,g表示group组权限,o表示other其他用户权限
-
chmod -R u=rwx,g=rx,o=x test
-
-
权限的数字序号
chown命令
-
chwon命令,可以修改文件,文件夹的所属用户和用户组
-
语法:chown [-R] 用户 [:] [用户组] 文件或文件夹
- -R,同chmod,对文件夹内部应用相同规则
- 用户,修改所属用户
- 用户组,修改所属用户组
- :用于分隔用户和用户组
- 示例:
- chown root hello.txt,将hello.txt所属用户修改为root
常用快捷键
- ctrl+c 强制停止
- ctrl+d 退出登出
- history 查看历史命令
- !命令前缀,自动匹配上一个命令
- ctrl+r,搜索历史命令
- ctrl+a|e,光标移动到命令开始或结束
- ctrl+←|→,左右跳单词
- ctrl+l 或者 clear 命令 清屏
软件的安装
- yum命令,RPM包软件管理器,用于自动化安装配置Linux,并可以自动解决依赖问题
- 语法:yum [-y] [install |remove |search] 软件名称
- -y:自动确认,无需手动确认安装或卸载过程
- install:安装
- remove:卸载
- search:搜索
systemctl命令
-
systemctl命令控制:启动、停止、开机自启
-
语法:systemctl start | stop|status | enable | disable 服务名
- start 启动
- stop 关闭
- status 查看状态
- enable 开启开机自启
- disable 关闭开机自启
-
系统内置的服务比较多,比如:
- NetworkManager,主网络服务
- network,副网络服务
- firewalld,防火墙服务
- sshd,ssh服务(finalShell远程登录linux使用的就是这个服务)
ln命令创建软连接
-
类似于windows中的快捷方式
-
语法:ln -s 参数1 参数2
- -s,创建软连接
- 参数1:被链接的文件或文件夹
- 参数2:要链接去的目的地
-
实例:
- ln -s /etc/yum.conf ~/yum.conf
日期和时区
-
date命令可以在命令行中查看系统的时间
-
语法:date [-d] [+格式化字符串]
-
-d,按给定的字符串显示日期,一般用于日期计算
-
格式化字符串:
- %Y 年
- %y 年份后两位数字
- %m 月份
- %d 日
- %H 小时
- %M 分钟
- %S 秒
- %s 自1970-01-01 00:00:00 UTC 到现在的秒数
-
实例
- date +%Y-%m+%d
-
修改时区
- rm -f /etc/localtime
- sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ip地址和主机名
- hostname命令查看主机名
- hostnamectl set-hostname修改主机名
网络请求和下载
-
ping [-c num] ip或主机名
-
wget命令
- wget是非交互式的文件下载器,可以在命令行内下载网络文件
- 语法:wget [-b] url
- -b,可选,后台下载
- url,下载链接
-
curl命令
- curl cip.cc 发送网络请求
- curl -o 下载链接
端口
- 安装nmap
- nmap 127.0.0.1 查看本机对外暴露的端口
- 安装net-tools
- netstat -anp | grep 端口号,查看指定端口的占用情况
进程
-
ps命令可以查看系统中的进程信息
- 语法:ps -ef
- -e,显示出全部的进程
- -f,以完全格式化的形式展示信息
- 语法:ps -ef
-
从左到右分别是:
- UID:进程所属用户
- PID:进程的进程号ID
- PPID:进程的父ID
- C:此进程的CPU占用率
- STIME:进程启动时间
- TTY:启动此进程的终端序号,如显示?,表示非终端启动
- TIME:进程占用CPU的时间
- CMD:进程的启动命令或启动路径
-
kill -9 进程ID 强制关闭该进程
主机状态监控
-
通过top命令查看CPU、内存的使用情况,类似于windows的任务管理器
-
默认每5秒刷新一次
-
语法:直接输入top即可,按q或ctrl+退出
-
使用df命令,可以查看硬盘的使用情况
- 语法:df [-h]
- -h,以更加人性化的单位显示
- 语法:df [-h]
-
使用iostat查看CPU、磁盘的相关信息
-
语法:iostat [-x] [num1] [num2]
-
选项:-x,显示更多信息
-
num1:数字,刷新间隔,num2:数字,刷新几次
-
-
使用sar命令查看网络相关统计
-
语法:sar -n DEV num1 num2
-
-n:,查看网络,DEV表示查看网络接口
-
num1:刷新间隔,num2,查看次数
-
环境变量
-
环境变量是操作系统在运行时,记录一些关键信息,用以辅助系统运行。
-
使用env命令可以查看当前系统的环境变量
-
环境变量时一种KeyValue型结构
-
$符号
- 在linux系统中,$符号被用于取“变量”的值
- 如 echo $PATH 就可以把这个环境变量的值,通过echo语句输出出来
- echo ${PATH}abc 当和其他内容混合在一起时,可以通过{}来标注取的变量时谁
-
环境变量的设置
-
临时设置,语法:export 变量名=变量值
-
永久生效
- 针对当前用户,配置在当前用户的:~/.bashrc文件中
- 针对所有用户生效,配置在系统的:/etc/profile文件中
- 并通过语法:source配置文件,进行立即生效,或者重新登录FinalShell
-
修改PATH的值
- export PATH=$PATH:/自己的变量路径
-
文件的上传下载
- rz、sz命令
- rz进行文件上传
- sz文件,进行文件下载
- 使用FinalShell直接拖入上传,右键选中下载
压缩和解压
-
linux常用的压缩格式有,tar、gzip
-
tar命令
- 语法:tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N
- -c,创建压缩文件,用于解压模式
- -v,显示压缩,解压过程,用于查看进度
- -x,解压模式
- -f,要创建的文件,或要解压的文件,-f选项必须在所有选项中最后一个使用
- -z,gzip模式,不使用-z就是普通的tarball格式
- -C,选择解压的目的地,用于解压模式
-
tar常用压缩组合命令:
- tar -cvf test.tar 1.txt 2.txt 3.txt 将1.2.3.txt压缩到test.tar文件内
- tar -zcvf test.tar.gz 1.txt 2.txt 3.txt 将1.2.3.txt压缩test.tar.gz文件内,使用gzip模式
-
tar常用解压组合命令:
- tar -xvf test.tar 将文件解压到当前目录
- tar -xvf test.tar -C 路径 解压test.tar,将文件解压到指定目录
- tar -zxvf test.tar.gz -C 路径 以Gzip模式解压到指定目录
-
zip命令压缩文件
-
语法:zip [-r] 参数1 参数2 ... 参数N
- -r,被压缩地文件包含文件夹地时候,需要使用
-
示例:
- zip test.zip a.txt b.txt c.txt 将a.b.c.txt压缩到test.zip文件内
- zip -r test.zip test a.txt 将test文件夹和a.txt文件,压缩到test.zip内
-
unzip命令,解压zip
- 语法:unzip 参数 [-d] 路径
- -d,指定要解压地位置,同tar的-C选项
- 参数,需要解压的zip文件
- 路径,解压到什么位置
-
MySQL8.0的安装
-
配置yum仓库
#更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 #安装mysql8.0版本 yum库 rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
-
使用yum安装MySQL
# yum安装mysql yum -y install mysql-community-server
-
安装完成后,启动MySQL并设置自启动
systemctl start mysqld #启动 systemctl enabele mysqld #开机自启
-
检查MySQL的运行状态
systemctl status mysqld
-
查看mysql的root默认密码
cat /var/log/mysqld.log | grep "temporary password" # 使用默认密码登录 mysql -uroot -p 密码 # 然后修改MySQL的密码,必须是8位包含大写字母和特殊符号 ALTER user 'root'@'localhost' identified by '密码'; # 或者 set password='密码';
-
配置root的简单密码
set global validate_password.policy=0 #密码安全级别低 set global validate_password.length=1; #密码长度最低1位
-
允许root远程登录
# 第一次 设置root远程登录,其中%表示任意ip都可以使用远程登录 create user 'root'@'%' identified with mysql_native_password by ''; # 后续使用修改密码 alter user 'root'@'%' identified with mysql_native_password by '';
-
退出mysql
# 退出命令 exit #快捷键 ctrl+d
jdk的安装
-
下载对应的安装包 jdk-8u381-linux-x64.tar_2.gz,然后上传到linux中
-
创建文件夹,用来部署jdk和Tomcat :/export/server
mkdir -p /export/server
-
解压jdk安装文件
tar -zxvf jdk-8u381-linux-x64.tar_2.gz -C /export/server
-
配置软链接
ln -s /export/server/jdk目录 /export/server/jdk
-
配置环境变量
# 编辑 /etc/profile文件 export JAVA_HOME=/export/server/jdk export PATH=$PATH:$JAVA_HOME/bin # 文件刷新 source /etc/profile
tomcat安装
-
下载对应的tapache-tomcat-9.0.78.tar.gz
-
然后解压到/export/server下
-
配置软连接
-
开启服务 startup.sh
-
查看8080端口的使用情况 sudo netstat -anp | grep 8080
-
关闭防火墙
systemctl stop firewalld # 关闭防火墙 systemctl disable firewalld # 停止自启
-
只放开对应的端口
firewall-cmd --add-port=8080/tcp --permanent #允许外部访问8080端口 firewall-cmd --reload #永久生效
redis安装
-
安装epel仓库 yum install -y epel-release
-
安装redis yum -y install redis
-
启动redis systemctl start redis
-
防火墙设置同上,需要注意的是redis的端口是6379
-
进入redis服务
# 执行redis-cli 进入redis服务 set key hello -->ok get key -->hello