查看系统最后一次重启时间
uptime -s
last
last uptime
查找文件
查看指定文件名的存放位置
find / -name 文件名
查看某文件执行路径
which 文件
查看某文件安装位置
whereis 文件
Linux中用于在本地主机切换登录到远程主机
-
首先通过ssh连接到远程服务器:
ssh username@remote_server 然后enter,输入密码即可
例如:
Linux中用于在本地主机和远程主机之间进行文件传输
在Linux中,可以使用scp工具来进行文件的上传。
scp命令(Secure Copy):
-
语法:
scp [选项] <源路径> <目标地址>
-
示例:将本地文件file.txt上传到远程服务器的/home/user目录下:
scp file.txt user@remote_server:/home/user
注意:需要提供正确的用户名、IP地址或主机名以及密码或SSH密钥认证信息。
例如:
windows中如何使用ssh命令?
windows默认ssh存放目录在:C:\Windows\System32\OpenSSH
一些使用举例:
Linux端口占用问题
(一)使用netstat工具
使用netstat可以查看出已经被使用的端口,并找出占用某个端口的程序名,如下所示:
netstat -anp | grep 8000
上面代码查询8000端口上已被占用的程序,接着,
ps -ef|grep 服务名
键入以下命令杀掉占用该端口的程序:
kill -9 进程号
查看Linux系统位数
getconf LONG_BIT
Linux 中某个目录中的文件数如何查看?
使用 ls 和 wc 命令
最简单的方法是使用 wc 命令来计算文件数。
ls | wc -l
上述命令将会计算所有文件和目录,但不包括隐藏的文件和目录。如果想要将隐藏的文件和目录也包括在内,可以在 ls 命令后添加 -A 选项,不过这不会将目录 . 以及 … 计算在内。
ls -A | wc -l
如果只想计算当前目录中的文件数(包括隐藏文件),可以使用如下组合命令:
ls -Ap | grep -v /$ | wc -l
上述命令中:
- ls 命令的 -p 选项在目录名称的末尾添加 /;
- ls 命令的 -A 选项会列出所有文件和目录,包括隐藏的文件,但是不包括 . 和 … ;
- grep -v /$ 只显示文件末尾不带 / 的条目(即只显示文件);
- wc -l 计算数量
也就是说,使用 ls 命令列出所有文件和目录(在目录名的末尾添加 / 以将其与文件做个区分),然后使用管道重定向将其输出使用 grep 解析,grep 命令只显示末尾没有 / 的条目,最后使用 wc 命令计算条目数量。
一、查找文件夹中含有目录的个数,其中目录包含(文件夹和文件)
ls |wc -w
二、查找文件名中含有某字符串的文件,比如如果查找含有 “.txt” 的文件;
ls |grep .txt
三、查找文件名中含有某字符串的个数,比如如果查找含有 “.txt” 的文件个数;
ls |grep .txt|wc -w
架构
一般情况控制台报无法执行的二进制文件时
检查文件类型和架构
file 文件名
查看系统是什么操作系统版本 cat /etc/os-release ; cat /etc/redhat-release
查看centos版本 cat /etc/redhat-release
查看内核版本以及系统架构 uname -a uname -r
查看系统架构以及cpu lscpu Architecture(架构)
解压压缩包
解压 XXX.tar.gz
tar -zxvf XXX.tar.gz -C /解压目标路径A/解压目标路径B/
解压效果 /解压目标路径A/解压目标路径B/XXX
当前目录下解压
tar -zxvf XXX.tar.gz .tar.gz XXX.tar.gz //后缀.tar.gz压缩文件解压效果 /当前目录下/XXX
解压 XXX.zip
unzip XXX.zip
解压效果 /当前目录下/XXX
新增用户
新增普通用户
useradd 用户名
切换用户
su 用户名
whoami是Linux操作系统中用于查看当前用户名的命令
权限
赋予普通用户某文件夹最高权限
chown -R 普通用户名:普通用户名 /解压目标路径A/解压目标路径B/要赋予文件夹的名称
!!!如果是刚解压的文件夹,例如XXX,要赋予的话,应该是
chown -R 普通用户名:普通用户名 /解压目标路径A/解压目标路径B/XXX
赋予当前用户文件夹最高权限
chmod -R 777 /目标路径A/目标路径B/要赋予文件夹的名称
//批量处理权限,该文件夹底下所有文件
环境变量
Linux配置环境变量使用 vi ~/.bash_profile
配置之后保存退出(:wq),执行source ~/.bash_profile命令使配置生效。
执行echo $PYTHON_HOME命令,查看是否配置成功
Linux 环境变量配置 vim /etc/profile
服务进程
1.Linux查看进程 ps ax|grep 服务名
2.Linux查看进程 ps -ef |grep 服务名
Linux杀死进程 kill -9 进程号ID
Linux查看机器核心数 lscpu
移动文件
Linux移动文件命令mv 文件名 /目标路径A/目标路径B/移动效果 /目标路径A/目标路径B/文件名
防火墙相关
Linux防火墙相关查看防火墙状态: systemctl status firewalld.service关闭防火墙:systemctl stop firewalld.service
chmod -R 777 /目标路径A/目标路径B/文件名/* //批量处理权限
ps -ef|grep 服务名 //查看进程
kill -9 进程号pid //杀死进程 加上 -9 强制结束进程
rm -rf 文件名 //删除文件
touch 文件名 //创建文件
mkdir /目标路径A/目标路径B //创建目录
文件打包
打包成tar
tar -cvf 打包成什么名字.tar 要打包文件名
解压tartar -xvf 要解压的文件名.tar打包并压缩 tar.gz
tar -czvf 打包成什么名字.tar.gz 要打包文件名
解压 tar.gztar -zxvf 要解压的文件名.tar.gz
文件重命名
linux修改文件名的三种方法
mv 源文件名称 源文件修改的名称
cp 源文件名称 源文件修改的名称 && rm -f 源文件名称
//通过cp命令复制一个新文件在删除旧文件,其实是变相实现重命名
rename 源文件名称 源文件修改的名称 源文件名称
举例:将a.txt 修改为 a1.txt
mv a.txt a1.txt
cp a.txt a1.txt && rm -f a.txt
rename a.txt a1.txt a.txt
软连接
linux软连接
软连接意思:访问软链接时,系统会自动跳转到源文件的路径,实现了对源文件的访问
创建软连接
ln -s 源文件 目标文件
-s 表示创建软连接。源文件是要创建软连接的文件或目录,目标文件是软连接的名称
查看软连接
ls -l
删除软连接
rm -f 软连接的目标文件
复制文件和目录
Linux cp命令:复制文件和目录
拷贝文件到目标目录: cp 源文件 /目标目录A/目标目录B/
拷贝文件到目标目录如果需要改名复制:cp 源文件 /目标目录A/目标目录B/修改之后的源文件名称
Linux关于端口的操作命令
查看防火墙状态是否开启
firewall-cmd --state
查看防火墙状态是否开启
systemctl status firewalld
打开防火墙
systemctl start firewalld
关闭防火墙systemctl stop firewalld
开放防火墙指定端口
firewall-cmd --zone=public --add-port=端口号
/tcp --permanent
例子:
开放防火墙端口2181
firewall-cmd --zone=public --add-port=
2181/tcp --permanent
查看防火墙某个端口是否开放
firewall-cmd --query-port=端口号/tcp
例子:查看80端口是否开放
firewall-cmd --query-port=80/tcp
关闭防火墙指定端口
firewall-cmd --zone=public --remove-port=端口号/tcp --permanent
例子: 关闭防火墙80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
防火墙配置立即生效
firewall-cmd --reload
开放防火墙一段端口
firewall-cmd --zone=public --add-port=端口号开始-端口号结束/tcp --permanent
例子: 开放防火墙8121-8124之间的端口
firewall-cmd --zone=public --add-port=8121-8124/tcp --permanent
查看开放的端口列表
firewall-cmd --zone=public --list-ports
开启防火墙
systemctl start firewalld
开放指定端口
firewall-cmd --zone=public --add-port=指定端口号/tcp --permanent
命令含义:
--zone #作用域
--add-port=指定端口号/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd --reload
查看端口号
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp |grep 指定端口号 //查看所有指定端口号端口使用情况
linux开放外部端口访问:linux开放外部端口访问
Linux系统时间设置
Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟
查看系统时间:date
设置系统时间:date -s "20XX-月-日 时:分:秒"
例子:设置Linux系统当前时间为 2022-06-01 12:00:00
date -s "2022-06-01 12:00:00"
Linux怎么查看CentOS的版本
查看系统是什么操作系统 cat /etc/os-release
查看centos版本 cat /etc/redhat-release
查看内核版本以及系统架构 uname -a uname -r
查看系统架构以及cpu lscpu
Linux关机命令
关闭 Linux 的标准命令: shutdown -h
Linux 将在一分钟内关闭。“-h”选项明确表示关闭或关闭系统。通常可以通过单独输入关闭命令来产生相同的结果。shutdown
重启 Linux 的标准命令:shutdown -r
Linux 将在一分钟内重新启动。“-r”选项代表重新启动或重新启动。
立即关闭 Linux 的标准命令:shutdown -h 0
Linux 将立即关闭。在这种情况下,关闭命令后跟“-h”选项和时间规范“0”,表示立即。以下是另一个更常见的立即关闭 Linux 的命令:shutdown now
Linux中free -h命令
Linux
系统中经常使用free
命令来查看当前系统的内存运行情况。其命令格式如下:
free -h
下面介绍下上方返回的信息:
- total:系统内存总大小
- used:当前已使用内存数
- free:当前空闲内存
- shared:多进程共享的内存
- buff/cache:块文件数据缓存和文件内容缓存
- available:当前可用内存
- Swap:交换空间使用情况
- Mem:系统内存使用情况
查找占用端口的进程
1.查找占用端口的进程
使用命令netstat -tlnp 可以列出当前系统中所有正在监听的端口以及对应的进程。在输出结果中,我们可以找到占用目标端口的进程PID,并进一步确定该进程的详细信息。
2.终止占用端口的进程
一旦确定了占用目标端口的进程PID,可以使用kill <PID> 来终止进程,这会释放占用的端口,使得其他服务能够使用该端口
Linux环境变量配置在 vim /etc/profile
export JAVA_HOME=/文件安装的绝对路径
export PATH=$JAVA_HOME/bin:$PATH
export MYSQL_HOME=/var/lib/mysql //使用的wget安装默认安装在/var/lib/目录下
export PATH=$MYSQL_HOME/bin:$PATH
更改了环境配置变量之后让其加载有效 source /etc/profile
Linux系统中怎么设置java环境变量?
Linux系统中怎么设置java环境变量? - 番茄系统家园
mysql 数据库授权以及创建用户
登入数据库 mysql -uroot -p
查看数据库版本信息 select version();
登录之后create user '用户名'@'%' identified by '密码'; //重点这里有设置密码的策略
赋予权限 grant all on *.* to '用户名'@'%';
Linux上防火墙命令
查看防火墙状态的指令 systemctl status firewalld.service
指定端口开启 firewall-cmd --permanent --add-port=8080/tcp
查询指定端口8080是否开启 firewall-cmd --query-port=8080/tcp
启动防火墙的指令 systemctl start firewalld
关闭防火墙服务的指令 systemctl stop firewalld.service
重新加载防火墙的指令 firewall-cmd --reload
进程
查看指定服务的进程 ps -ef |grep 服务名称
杀死进程 kill -9 进程号
检查web服务
检查部署的web服务是否起来了,比如你的端口号是8000,在宿主机
curl -i http://localhost:8000
看原因就curl -v https://localhost:8000
================
一、文件管理命令
1.1.创建文件 touch file.txt
1.2. 创建目录 mkdir /路径/目录名
若上级目录不存在使用 mkdir -p /路径/目录名
1.3. 复制
cp 源文件路径 目标文件路径
cp /tmp/test/file.txt /tmp/test2
1.4.移动
mv 原文件路径 目标文件路径
mv /tmp/test/file.txt /tmp/test1
1.5.删除
rm -rf 文件或目录的路径
rm -rf /tmp/test/file.txt
1.6.查看文件
cat more head tail grep
cat语法-全部文件 cat /tmp/file.txt
more语法-翻页 more /tmp/file.txt
head语法-头部开始 head -2 /tmp/file.txt (文件前两行)
tail语法-尾部开始 tail -2 /tmp/file.txt (文件后两行)
grep语法-过滤不需要的数据 grep 'abc' /tmp/file.txt (有abc会以行列出来)
1.7.修改文件内容
1.vim /路径/文件名/
2.按i
3.输入内容
4按esc
5.:+命令; 命令1:wq(保存退出)命令2:w(保存不退出)命令3:q!(不保存强制退出)
6.扩展命令
查找替换
语法 : :范围 s/原内容/新内容/全局
:1,5 s/nihao/hello/g 解释意思:从1-5行的nihao替换成hello
7.光标定位
光标移动 hjkl
行首行尾 0$
页首页尾 gg G
第三行 3G
查询字符串 /string nN可以查看下一个查询的字符串
8.文本编辑:
复制 yy
粘贴 p
删除 dd
撤销 u undo
9.扩展命令模式
:w file2.txt 另存为file2.txt
设置行号 :set nu
取消设置行号 :set nonu
显示控制字符 :set list
二、用户管理
2.1.查看当前登录的用户信息
[root@VM-12-5-centos ~]# id
uid=0(root) gid=0(root) 组=0(root)
2.2.查看文件的owner
[root@VM-12-5-centos ~]# ll /tmp/
总用量 4
-rw-r--r-- 1 root root 0 6月 9 22:01 file.txt
-rw-r--r-- 1 root root 0 6月 9 21:57 stargate.lock
drwxr-xr-x 2 root root 4096 6月 9 22:00 test
2.3.用户的基本信息
不能用vim的方式改/etc/passwd这个文件,主要是来观察
[root@VM-12-5-centos ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
root: x :0:0:root:/root:/bin/bash(冒号分割为7列字段)
用户名: x :uid:gid:描述:HOME:shell
root:用户名:登录系统的名字
X:密码占位符:,具体内容不在这里
0:UID: 用户的身份证号uid: 0 特权用户uid: 1~999 系统用户 uid: 1000+ 普通用户
0:GID:GROUP 组号每创建一个用户,系统会自动创建同名的组
root:描述:比如经理 manager (这里使用的默认名)
/root:家目录:登录系统时,所在目录
/bin/bash:登录shell:命令解释器
2.4.用户密码信息文件
[root@VM-12-5-centos ~]# head -2 /etc/shadow
root:$1$JLMlAfEa$wJHKlUu03yTsjm0LFCk0i0:19152:0:99999:7:::
bin:*:17834:0:99999:7:::
[root@VM-12-5-centos ~]#
解释:
root:$1$MYG2NDG6$a1wtyr5GDM2esAPjug0YP0:15636:0:99999:7:: :
--------------------------
1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;
星号代表帐号被锁定;
双叹号表示这个密码已经过期了。
$6$开头的,表明是用SHA-512加密的,
$1$ 表明是用MD5加密的
$2$ 是用Blowfish加密的
$5$ 是用 SHA-256加密的。
3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“最大时间间隔”指的是口令保持有效的最大天数。
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。(软限制。到期后多少天就不能用账号了。)
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。(硬限制。)
9) 保留
2.5.组信息文件
[root@VM-12-5-centos ~]# head -2 /etc/group
root: x : 0 :
解释:组名:组密码:组ID:组成员(组成员默认为空)
bin:x:1:
[root@VM-12-5-centos ~]#
2.6.用户管理
1.创建用户
(1).未指定选项
语法:useradd 用户名
[root@VM-12-5-centos ~]# useradd laozhang
[root@VM-12-5-centos ~]# id laozhang
uid=1001(laozhang) gid=1001(laozhang) 组=1001(laozhang)
用户编号=具体数字(用户名) 组编号=具体数字(组名) 组=组ID(成员名字)
(2).指定选项
创建用户,指定uid
语法: useradd 用户名 -u uid
[root@VM-12-5-centos ~]# useradd laozhang03 -u 1004
[root@VM-12-5-centos ~]# id laozhang03
uid=1004(laozhang03) gid=1004(laozhang03) 组=1004(laozhang03)
创建用户 指定家目录
[root@VM-12-5-centos /]# useradd laozhang02 -d /tmp/laozhang02
[root@VM-12-5-centos /]# ls -d /tmp/laozhang02/ /tmp/laozhang02/
2.删除用户
userdel -r 用户名
[root@VM-12-5-centos /]# id laozhang02
uid=1002(laozhang02) gid=1002(laozhang02) 组=1002(laozhang02)
[root@VM-12-5-centos /]# userdel -r laozhang02
[root@VM-12-5-centos /]# id laozhang02
id: laozhang02: no such user
[root@VM-12-5-centos /]#
3.用户密码
方法一:root修改其他用户的密码
[root@VM-12-5-centos /]# useradd meier
[root@VM-12-5-centos /]# passwd meier
更改用户 meier 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@VM-12-5-centos /]#
方法二:用户登录,自己修改密码
[meier@VM-12-5-centos ~]$ passwd
更改用户 meier 的密码 。
为 meier 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[meier@VM-12-5-centos ~]$