linux常用指令
linux常用指令
FANSEAlinux常用指令
ls
展示当前目录的所有内容(子目录)
ls -a 展现所有目录包括隐藏目录
ls -l 展示不包括隐藏目录的所有目录的权限信息
pwd
展示当前目录的名称
clear
清除全屏小杂碎
ll
查看权限信息
cd
选择进入的目录
mkdir
创建目录
mkdir -p test1/test2
生成多层目录
rmkdir test1
删除当前空目录
rmkdir -p test1/test2
这样可以将不为空的test1删除
cp
拷贝文件
cp 拷贝的文件 拷贝位置
rm
删除文件
-f 不会出现警告,实现强制删除
-r 递归删除目录
-i 互动,询问是否删除
1 | rm -rf 文件名 #删除文件 |
mv
1.移动文件
2.重命名文件
1 | mv install.sh kuangstudy/ #将install.sh移动到kuangstudy目录 |
1 | mv kuangstudy kuangstudy1 #将kuangstudy重命名为kuangstudy1 |
touch
创建一个文件
1 | touch file2.txt |
chmod
设置用户权限
1 | r:4 w:2 x:1 |
top
top
命令是一个非常有用的工具,用于实时监控 Linux 系统中的进程活动和整体系统状态。它提供了关于 CPU 使用率、内存使用情况、运行的进程列表等信息。以下是如何使用 top
指令的基本介绍:
启动 top
在终端中输入 top
或者 htop
(如果你已经安装了 htop,它提供了更友好的界面)。
基本界面
启动后,你会看到一个类似下面的界面:
1 | Tasks: 227 total, 1 running, 226 sleeping, 0 stopped, 0 zombie |
功能键
P
:按 CPU 使用率排序进程列表。M
:按内存使用量排序进程列表。Shift
+P
或Shift
+M
:反向排序。1
:切换显示单一 CPU 还是所有 CPU 的信息。h
或H
:显示帮助信息。q
或Q
:退出 top。- 在
htop
中,你可以使用箭头键来选择不同的进程,还可以改变颜色设置,等等。
高级功能
在 top
中,你还可以执行以下操作:
- 输入进程 ID 并按回车,可以高亮显示指定的进程。
- 输入
k
后回车,可以发送信号终止某个进程(管理员权限下)。 - 输入
r
后回车,可以改变进程优先级(管理员权限下)。
实时更新
top
会自动刷新屏幕上的信息,默认刷新间隔大约为每三秒一次。你可以通过按 S
键来自定义刷新间隔时间。
注意事项
使用 top
时,请注意不要随意终止系统的重要进程,这可能会导致系统不稳定甚至崩溃。
通过 top
,你可以有效地监控系统的运行状态,这对于性能调优、故障排查等工作都非常有帮助。如果你需要更多高级功能,可以考虑使用 htop
,它提供了更加用户友好的交互界面。
more
查看文件内容
在Linux系统中,more
命令是用来逐屏显示文本文件内容的一个实用工具。当你有一个较大的文件需要查看,但又不想一次性加载整个文件到屏幕上时,more
命令就非常有用。它允许用户逐步浏览文件内容,一次显示一屏,直到文件结束。
基本语法
1 | more [选项] 文件名 |
常见选项
-d
或--end
:从当前位置显示文档的剩余部分。+n
:跳过指定的行数后开始显示文件内容。--help
:显示帮助信息。--version
:显示版本信息。
键盘快捷键
当你使用more
命令查看文件时,可以通过键盘上的某些按键来控制其行为:
空格键
:向下滚动一屏。Enter
:向下滚动一行。b
或PgUp
:向上滚动一屏。q
:退出more
命令,返回到命令行提示符。/pattern
:搜索模式pattern
。如果模式包含空格,请使用反斜杠转义或引号括起来。?pattern
:从当前位置向后搜索模式pattern
。n
或N
:向前或向后重复上一次搜索模式。v
:编辑当前文件。
查看一个文件
打开并浏览example.txt
文件的内容:
1 | more example.txt |
从第10行开始查看
从example.txt
文件的第10行开始显示内容:
1 | more +10 example.txt |
查找特定模式
在example.txt
文件中查找包含“hello”的行:
1 | more example.txt |
ifconfig
查看虚拟机的IP地址
chown
在Linux系统中,改变文件或目录的所有者可以使用chown
命令。chown
命令允许你更改文件或目录的所有者(用户)以及所属组(群组)。
基本语法
1 | chown [选项] 用户名[:组名] 文件或目录 |
常见选项
-R
,--recursive
:递归地改变目录内所有文件和子目录的所有者。--reference=RFILE
:将文件的所有者和所属组设置为参考文件的所有者和所属组。-h
,--no-dereference
:仅改变符号链接本身的所有者,而不是它指向的目标文件。-v
,--verbose
:详细模式,显示更改的所有文件名。
参数解释
- 用户名:指定新的所有者。
- 组名(可选):指定新的所属组。如果省略组名,仅改变所有者;如果省略用户名,则仅改变所属组。
- 文件或目录:指定要改变所有者和/或所属组的文件或目录。
改变单个文件的所有者
假设有一个文件example.txt
,你想把它改为属于用户alice
:
1 | chown alice example.txt |
同时改变所有者和所属组
如果你想把example.txt
的所有者改为alice
,所属组改为users
:
1 | chown alice:users example.txt |
递归改变目录的所有者和所属组
如果你想递归地改变目录mydir
及其所有子目录和文件的所有者为alice
,所属组为users
:
1 | chown -R alice:users mydir |
显示改变过程
如果你想看到chown
命令执行过程中每一步的详细信息,可以使用-v
选项:
1 | chown -v alice example.txt |
文件查看
cat
正向读取当前文件
tac
反向读取当前文件
nl
正向读取当前文件并标明行数
more
可翻页读取文件但不能向上翻页
less
与more功能类似但可以向上翻页(数字旁方向键控制)
q可以使退出文件,/可以向下查询,?可以向上查询。n和N分别表示向上和下跳转关键字
head
从前面读取几行
1 | head -n 20 [文件名] |
tail
从后面读取几行
1 | tail -n 20 [文件名] |
硬链接和软链接
硬链接
1 | touch f1 #生成f1文件 |
软链接
1 | ln -s f1 f3 #给f1文件生成f3软链接,指向同一文件,党源文件被删除之后,快捷方式失效 |
vim使用
突然无法使用
1 | [root@master ~]# export PATH=/bin:/usr/bin:$PATH #执行该命令 |
1 | vim [文件名] #进入当文件的编辑模式,或者创建这个文件并进入编辑模式 |
1.进入首先是命令模式
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
yy复制本行
p粘贴复制内容于下一行
/“word”可查询word所在位置
2.输入模式
可以输入文字,点击esc退出
3.底线命令模式
输入冒号:之后选择wq保存并退出文件
1 | :wq |
vim快捷命令
/word ( ?word ) | 在文章中查询关键词 |
---|---|
u | 复原前一个动作 |
ctrl+r | 重复上一个动作 |
:w | 保存 |
:q | 退出 |
:wq | 保存并退出 |
:wq! | 强制该动作 |
:set nu | 显示行号 |
:set nonu | 撤销行号 |
管理用户
useradd
创建新的普通用户
参数说明:
选项 :
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- xxxxxxxxxx docker-compose upsh
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名 :
- 指定新账号的登录名
1 | useradd [选项] [新建用户名] |
userdel
删除用户
1 | userdel -r [用户名] #常用这种,表示并且删除目录 |
usermod
修改用户
1 | usermod 选项 [用户名] #选项同useradd |
su/sudo su
切换用户
1 | su fansea #root用户使用该指令切换成fansea用户 |
passwd
普通用户
1 | passwd #可以修改当前密码 |
超级用户root
可使用的选项:
- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令。
- -f 强迫用户下次登录时修改口令。
1 | passwd 选项 用户名 |
管理用户组
groupadd
添加用户组
1 | groupadd [用户组名] |
groupdel
删除组
1 | groupdel [用户组名] |
groupmod
修改组
- -g GID 为用户组指定新的组标识号。
- -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
- -n新用户组 将用户组的名字改为新名字
1 | groupmod -g [组标识号] -n [改动的名称] [被修改的用户组] |
usermod -g
修改用户组
newgrp
切换组
==如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。==
1 | newgrp root |
/etc/passwd
查看用户对应的组信息
1 | # cat /etc/passwd |
==用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell==
/etc/group
查看组以及他的组标识号
查看磁盘
df
查看磁盘整体使用量
- -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
- -k :以 KBytes 的容量显示各文件系统;
- -m :以 MBytes 的容量显示各文件系统;
- -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
- -H :以 M=1000K 取代 M=1024K 的进位方式;
- -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
- -i :不用硬盘容量,而以 inode 的数量来显示
1 | df -h #常用 |
du
查看文件或者目录占用空间
1 | du [-选项] 文件或目录名称 |
查看进程
ps
查看进程
1 | ps -aux|grep [进程名] #常用 |
kill
1 | kill -id #停止进程 |
其他指令
解压文件
1 | tar -zxvf [jar包] |
springboot项目启动指令
1 | nohup java -jar xxx.jar > ./demo.log 2>&1 & |
nginx启动指令
1 | /usr/local/nginx/sbin/nginx |
查看当前端口的pid
1 | lsof -i:[端口号] |
停止ping
1 | Ctrl+c[z] |
已加载插件:fastestmirror, langpacks 您需要 root 权限执行此命令
1 | su root |
关闭防火墙
1 | systemctl stop firewalld.service #关闭防火墙 |
java环境安装
- 下载jdk17压缩包
1 | wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz |
- 解压压缩包
1 | tar -zxvf jdk-17.0.1_linux-x64_bin.tar.gz |
- 配置环境变量
1 | vim/etc/profile |
1 | #jdk17 |
- 重新加载配置
1 | source /etc/profile 重启环境变量 |
后台运行程序
1 | nohup ./go-cqhttp & |
查找并杀死程序
1 | ps -ef |grep java |grep -v grep |awk '{ print $2 }' |xargs kill -9 |
Linux查看端口被进程占用的方法
1 | sudo lsof -i [端口号] |
远程监测系统(1Panel)
命令行工具
1 1pctl¶
1Panel 默认内置了命令行运维工具 1pctl,通过执行 1pctl help,可以查看相关的命令说明。
1 | Usage: |
2 1pctl reset¶
重置 1Panel 系统信息,包括取消安全入口登录,取消两步验证等
1 | Usage: |
3 1panel app¶
应用商店相关命令,包括初始化应用等
1 | Usage: |
创建应用名为
app_name
,版本为v1.0.0
的应用,命令如下:
1 | 1panel app init -k app_name -v v1.0.0 |