Linux命令
Linux命令
本文长期更新,仅更新我接触到的、想记录的命令。嘿嘿没错,就是篇个人笔记。
grep 命令
1 | grep "被查找的字符串" 文件名 |
查找SSH连接IP记录:
1 | grep Connection\ from /var/log/auth.log |
递归查找:
1 | grep -r "被查找的字符串" 文件目录名 |
例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串”update”的文件,并打印出该字符串所在行的内容,grep -r update /etc/acpi
来源菜鸟教程:https://www.runoob.com/linux/linux-comm-grep.html
scp命令
1 | scp [可选参数] file_source file_target |
- -r: 递归复制整个目录。
- -P port:注意是大写的P, port是指定数据传输用到的端口号
- -p:保留原文件的修改时间,访问时间和访问权限。
使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。
从远程目录拉取文件到本地:
1 | scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 |
指定远程端口号:
1 | #scp 命令使用端口号 4588 |
特权与普通用户的切换方法
也就是用户之间切换的方法。摘自:Ubuntu中root用户登录、普通用户切换到root身份及root用户切换至普通用户方法
问题背景:使用腾讯云进入ubuntu系统,默认用户使用命令cd ~时,无法进入ubuntu用户的/home/ubuntu/目录。
进入特权(root)模式:
1 | sudo -i |
然后切换到该用户(登录式切换:会通过读取目标用户的配置文件来重新初始化)
1 | su - username |
切换完成,所在目录为该用户的home目录,即/home/username
Ubuntu添加和删除用户
适用于20.04版本,其他版本未知。
- 添加用户:
1 | sudo adduser username |
系统会询问您一系列问题。 输入并确认新的用户密码,其他问题是选填的。
- 仅删除用户(保留主目录和邮件):
1 | sudo deluser username |
- 删除用户及其主目录和邮件:
1 | sudo deluser --remove-home username |
修改主机名称(Ubuntu)
显示当前主机名
1 | hostnamectl |
修改系统主机名
1 | sudo hostnamectl set-hostname host.example.com |
你不应该在同样的网络不同的机器上使用相同的主机名。
静态主机名被存储在/etc/hostname,并且 pretty 主机名被存储在/etc/machine-info文件。
在大多数系统中,主机名在/etc/hosts中被映射到127.0.0.1。打开文件,并且修改旧的主机名到新的主机名。
1 | 127.0.0.1 localhost |
自动脚本执行
执行脚本方法:执行脚本四种方法与Shell如何执行命令
1 | #第一种方法:绝对路径执行 |
关于sh shell 和bash shell的区别,详情参考:二次文章与一次文章
bash脚本:循环
https://www.cnblogs.com/EasonJim/p/8315939.html
https://www.runoob.com/linux/linux-shell-process-control.html
开机运行脚本
详情参考:https://cloud.tencent.com/developer/article/1711876
1 | #重启后的执行任务 |
用shell脚本监控进程是否存在 不存在则启动
适配变体:
①检查OpenWrt中某广告过滤软件是否运行,未运行则启动该软件
1 | #!/bin/sh |
之后添加到开机启动项中,解决重启后不自动运行的问题。
②检查虚拟机OpenWrt是否运行,未运行则启动
1 | #!/bin/bash |
结合上文“开机运行脚本”,将其加入重启后执行的任务中,这里用了root权限。