Linux指令教程
警告
本教程仅供具有一定代码基础的爱好者学习借鉴
对于执行任何操作所造成的后果, 作者不予负责
相关信息
测试系统版本为Debian12
基本教程
apt install <command>
安装相应指令,可以让debian使用ubuntu指令
如遇到command not found可尝试安装再使用
-help 或 --help参数可以查看指令参数
例:
apt --help
具体指令教程
查看架构
arch
uname -m
文件管理
转到目录cd /opt/xx
新建目录mkdir [options] <name>
新建目录
-m手动配置权限 -p递归创建(/opt/user/username/abc)
列出文件ls -a
显示所有文件和目录ls -d
显示所有目录ls -l
显示所有文件和目录及其信息ls -t
按照修改时间排序ls -A
不列出.和..的-als -F
在列出的文件名后加一个符号(可执行档加*,目录加/)ls -r
递归显示目录及其子目录所有文件和目录
移动文件mv /opt/xx /opt
将本目录下的xx移动到opt中mv ./xx yy
将本目录下的xx改名为yy
删除文件rm xx.txt
删除指定文件rm -f *xx*
无需确认并删除所有文件名中带有xx的文件rm -f -r xx
无需确认并删除xx
输出文件cat file
输出文件到控制台cat file0 > file1
将file0内容覆盖到file1cat file0 >> file1
将file0内容追加到file1末尾
压缩zip -v output.zip file1 file2 ...
压缩文件zip -r -v output.zip directory
压缩目录
查看压缩包内容unzip * -l
解压unzip -d <directory> * -v
教程:菜鸟教程
搜索
find <directory> -name <name>
网络传输
scp -r <from> <to>
将源地址的/opt/xx文件下载到目标地址的路径
例:
scp -r C:\xx root@123.123.123.123:/opt
scp -r root@123.123.123.123:/opt/xx C:\
wget <url>
用户管理
useradd [options] <username>
新建用户
-d <directory>
指定主目录-d <directory> -m <directory>
新建目录并指定为主目录
passwd [options] <username>
设置密码
-l禁用账号 -u启用账号 -f下次登录时修改密码
su <username>
切换用户userdel [options] <username>
删除用户
-r删除用户并删除主目录
usermod [options] <username>
修改用户
脚本管理
授权chmod u+x xx.sh
赋予脚本运行权限
运行./xx.sh
运行xx.sh
安装
apt update
apt install
apt-get update
apt-get install
编辑
vi ./xx.txt
vi基本上可以分为三种模式,分别是一般模式、编辑模式和命令行模式,各模式的功能区分如下:
一般模式:
当以vi打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用 上下左右按键来移动光标,你可以使用删除字符或删除整行来处理文件内容,也可以使用复制、粘贴来处理你的文件数据。
编辑模式:
在一般模式中可以进行删除、复制、粘贴等的操作,但是却无法编辑文件的内容,只有当到你按下【i, I, o,O, a, A, r, R】等任何一个字母之后才会进入编辑模式。这时候屏幕的左下方会出现【INSERT或 REPLACE】的字样,此时才可以进行编辑。而如果要回到一般模式时,则必须要按下【Esc】即可退出编辑模式。
命令行模式:
输入【 : / ? 】三个中的任何一个,就可以将光标移动到最底下那一行。在这个模式中,可以提供查找、读取、存盘、替换字符、离开vi、显示行号等的动作则是在此模式中完成的。
常用命令(仅限命令行模式)
:w 保存
:q 离开vi
:q! 不保存并强制离开
:x或:wq 保存后离开
:ZZ 若更改则保存后离开,若未更改则无动作
:w xx.txt 另存为
释放端口
netstat -anp| grep <stat>
查看端口的占用状态 如果提示command not found,执行apt install net-tools
fuser -v -n <tcp/udp> <stat>
查看占用端口的进程 如果提示command not found,执行apt install psmisc
输出结果:
USER PID ACCESS COMMAND <stat>/<tcp/udp>:zhu 1154 F... java
kill <PID>
杀死特定进程(强制杀死用参数-9)ps
查看所有进程 检查端口号即可发现进程已杀死
其他程序教程
screen
screen -ls
列出所有会话screen -R <name>
接入会话screen -S <name>
新建会话screen -S <name>
-X quit 关闭会话screen -d <name>
退出会话
在会话内Ctrl+A进入快捷键模式 A切换最近 D退出会话 K关闭窗口 :命令行
ts3启动
useradd teamspeak
新建用户teamspeak
找到ts3目录chmod +x ./teamspeak3_startscript.sh
./teamspeak3_startscript.sh start
MCAManager
systemctl start mcsm-{daemon,web}.service
systemctl stop mcsm-{daemon,web}.service
systemctl restart mcsm-{daemon,web}.service
Nginx
nginx -t
测试配置文件nginx -s reload
重启
Docker
docker exec -it <Dockername> /bin/sh
进入容器Dockername (在Dockername新建终端并执行/bin/sh)
MySQL
mysql -u <username> -p
作为username使用密码登录use <pro>
设置本次默认使用的数据库为pro
若输入指令回车后出现->并无法跳出的情况,请输入;并回车
原因:部分mysql指令须以;结尾,指令无法闭合
正则表达式
删除空行
匹配(\n)^\s*$
替换为
保留原内容
匹配字段中通过()
捕获表达式
替换字段中通过\i
指定捕获的第i个表达式