今天笔者把使用到的linux命令小知识总结出来,便于日后查看和添加更新,作为以后日常的工具来使用。毕竟年纪大了,好记性不如烂笔头!
/etc/mysql/my.cnf 配置文件
/var/lib/mysql 数据文件目录
? select ;在命令前加?可以查看命令语法
安装LAMP
https://www.jianshu.com/p/df7af411a32b
树莓派功能:
python get.py 输出树莓派各种状态和数据的脚本
./cpu_temp C语言程序
脚本备份mysql
mysqldump-hlocalhost -uphpmyadmin -proot formula_table > /home/pi/mysqlbackup_formula/`date +%Y%m%d`.sql
find/home/pi/mysqlbackup_formula/ -mtime +7 -name '*[1-9].sql' -exec rm -rf {} \;
find/home/pi/mysqlbackup_formula/ -mtime +92 -name '*.sql' -exec rm -rf {} \;
chmod +xbackup_mysql.sh
crontab –e
15 21 * * *
./backup_mysql.sh 或者15 21 * * * /home/pi/backup_mysql.sh
crontab无需重启,每分钟都会读取,可 crontab -l查看
/etc/init.d/cronstop
/etc/init.d/cronstart
/etc/init.d/cronstatus
复制文件到远程pi
scp local_fileremote_username@remote_ip:remote_folder
scp get.py pi@192.168.31.103:/home/pi
从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可
scp pi@192.168.31.112:/home/root/others/music /home/space/music/1.mp3
scp -r pi-dashboardpi@192.168.31.76:/var/www/html 复制目录pi-dashboard到远程,远程没有这个文件夹
./dump1090 --net--net-sbs-port 30003 飞常准进程
ps -eaf | grep
dump1090 | grep -v grep 查看进程,-e 显示所有进程。-f 全格式,a 显示终端上的所有进程,包括其他用户的进程。
cron.d增加定时任务。当我们要增加全局性的计划任务时,一种方式是直接修改/etc/crontab。但是,一般不建议这样做,/etc/cron.d目录就是为了解决这种问题而创建的。
cron进程执行时,就会自动扫描该目录下的所有文件,按照文件中的时间设定执行后面的命令。
cron执行时,也就是要读取三个地方的配置文件:一是/etc/crontab,二是/etc/cron.d目录下的所有文件,三是每个用户的配置文件
/usr/bin/php
test.php命令行执行php脚本 php安装在哪里whereis php which php
查找二进制(命令)、源文件、man文件。which主要是用来查找系统***PATH目录下***的可执行文件,与which不同的是这条命令可以是通过文件索引数据库而非PATH来查找的,所以查找的面比which要广。
sudo passwd root 设置root密码,开启root用户。如果没有设置过root密码的话,是无法进入的
stat test.sh查看文件信息
touch -mt 201909052248 test.log 修改文件的时间。
touch test.log用于修改文件或者目录的时间属性,若文件不存在,系统会建立一个新的文件。
df –h查看磁盘
echo $PATH 查看path路径
vcgencmd measure_temp查看温度 树莓派 vcgencmd 命令查看硬件状态
vcgencmd commands 显示 vcgencmd 可接的指令
sudo find / -name file.txt查找文件,sudo添加后才有权限
sudo find / -name file.txt -type f 只查找文件
sudo find / -name somedir -type d 只查找目录
sudo find / -name file.* *号为通配符
man command 查看命令手册
sqlite3 cpu_temp.db "select * from temps ORDER BY tdatetime DESC;" 查询语句
1是标准输出,2是标准错误,0是标准输入
2>/dev/null意思就是把错误输出到“黑洞”
>/dev/null 2>&1默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞”
2>&1 >/dev/null意思就是把错误输出2重定向到标准出书1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕
ls-lh /usr/bin/ | grep mysql 打印出目录下的mysql相关文件
sudo passwd pi修改用户密码
修改hostname ,查看命令hostname
sudo nano/etc/hosts
sudo nano/etc/hostname
sudoreboot
扩展分区
sudoraspi-config,advanced options, expand filesystem
U盘挂载在/meida/pi目录下
apt-cache search keepalived 搜索软件
安装软件 apt-get install softname1 softname2 softname3……卸载软件 apt-get remove softname1 softname2 softname3……卸载并清除配置apt-get remove --purge softname1
apt-get autoremove software_name:卸载软件及其依赖的安装包更新软件信息数据库 apt-get update进行系统升级 apt-get upgrade搜索软件包 apt-cache search softname1 softname2 softname3……
github克隆项目
cd /var/www/html
sudo git clone https://github.com/spoonysonny/pi-dashboard.git
sudo apt-get--purge remove keepalived 删除软件及其配置文件
echo $(date) shell输出时间
mariadb虚拟内存偏大 800m左右
Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。
insert intomasterslave.test(THING,ADDRESS) value (2020,202023);
相当于use masterslave,然后插入test表
show variables like'%logs%';
select @@global.gtid_current_pos; mariadb gtid复制查看pos
service命令用于运行System V init脚本,这些脚本一般位于/etc/init.d文件下,这个命令可以直接运行这个文件夹里面的脚本,而不用加上路径查看服务状态。
查看所有服务状态$ service --status-all
重启服务$ service ssh restart
ssh pi@192.168.31.103 "ls" ssh 192.168.31.103"ls"远程执行命令,需要输入密码
dpkg -l 命令会列出系统中所有已安装的软件包信息。结合grep,可以过滤出自己想要的内容。
rm -rf 目录名字无提示强制递归删除当前所有文件
[if !supportLineBreakNewLine]
[endif]
service命令其实是去/etc/init.d目录下,去执行相关程序
service mysql start /etc/init.d/mysql start systemctl mysql start
systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。系统开始的第一个进程,pid为1.
systemd
对应的进程管理命令是systemctl, systemctl命令兼容了service,即systemctl也会去/etc/init.d目录下,查看,执行相关程序
cat /etc/os-release查看os版本
uptime 显示的数值为最近1分钟,5分钟,15分钟内的变化,从中可以看出趋势。
getconf LONG_BIT 查看位数
sudo -s 切换到管理员权限
systemctl list-unit-files 列出所有软件,查看是否开机启动
systemctl list-unit-files |grep enable
> access.log 清空文件内容
echo “”> access.log清空文件内容,但会有一个空行。空字符串并不等同于 null,字符串结尾都有个换行符。
echo -n "" > access.log 不输出新行
cat /dev/null> access.log
cp /dev/null access.log
/usr/bin apt-get方法安装的目录
ping -c 3 -i 0.2 -W 3。-c表示的是ping的次数,-i表示的是两次ping的时间间隔,-W表示的是等待超时的时间
组合测试条件:
-a: and
-o: or
!: 非
网友评论