Linux 究级基础入门命令整理
Linux 究级基础入门命令整理
条条框框,三三两两,怎讷个这么多,哈哈!no zuo no die.
纯粹个人菜鸟笔记,望大神笑纳!
后续,未完!!
查看系统信息
- uname -a - 查看内核/操作系统/CPU信息
- head -n 1 /etc/issue - 查看操作系统版本
- free -m - 查看内存使用量和交换区使用量
- df -h - 查看各分区使用情况
- du -sh <目录名> - 查看指定目录的大小
- du -sh * 查看当前目录下各个目录及文件所占用磁盘空间大小
- grep MemTotal /proc/meminfo - 查看内存总量
- grep MemFree /proc/meminfo - 查看空闲内存量
- iptables -L - 查看防火墙设置
- ps -ef - 查看所有进程
- lsof -i:端口号
- netstat -tunlp|grep 端口号
文件传输
- rsync文件增量传输
rsync -avzu --progress ~/Desktop/hh/images/ root@112.213.122.123:/www/wwwroot/hh/images/
- find xargs
#find 查找需要解压的zip文件 #xargs 依次执行unzip find . -name '*.zip' | xrags -n1 unzip
- 字符串拼接
cat data1.txt | tr -d "\r" |sed "s/.*/'&',/"
linux下 ls 排序
-
按文件名升序(这是ls的默认输出方式)
ls -l | sort -k9
-
按大小降序排列
ls -lS
-
按大小升序
ls -l | sort -n -k5
-
按时间降序
ls -ltn
-
按时间升序
ls -ltr
-
按文件名降序
ls -lr
-
按文件名降序
ls -l | sort -rk9
-
只显示目录
ls -l -d */
-
只显示文件
ls -l |grep -v "^d"
-
拷贝文件,想拷贝目录里面的内容而不是目录本身,就用斜杠加个星号"cp –R src/* target"; 想拷贝目录本身,就啥也不带"cp –R src target"就行了
-
检测服务器端口号是否放开
nc -v -z -w 3 A.B.C.D 22 8888 443
vim编辑
- Vim 中如何去掉 ^M 字符 ==> vim下 :%s/^M//g 或者 :1,$s/^M//g 均可 [^M是使用 "CTRL-V CTRL-M" 而不是字面上的 ^M]
- grep -rl '^M' ./havetatami | xargs sed -i 's/^M//g'
- 查看配置文件有效配置
egrep -v '^$|^#' /etc/vsftpd/vsftpd.conf | less
- Linux crontab 查看所有用户的crontab任务
cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {} sudo cat /etc/passwd | cut -f 1 -d : |xargs -I {} sudo crontab -l -u {} for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done for user in $(cut -f1 -d: /etc/passwd); do echo $user; sudo crontab -u $user -l; done
如何查找大文件
- 对查找结果按照文件大小做一个排序
find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
- 文件夹
du -hm --max-depth=2 | sort -nr | head -12
crontab文件
- 文件:/etc/cron.deny 该文件中所列用户不允许使用crontab命令
- 文件:/etc/cron.allow 该文件中所列用户允许使用crontab命令
- 文件:/var/spool/cron 所有用户crontab文件存放的目录,以用户名命名
磁盘挂载
- 系统盘的扩容安全无影响
- 数据磁盘的挂载需要选择全新的无文件的空目录,或者先把目录下的文件移至其它位置
- 一个目录下面只能挂载一个数据磁盘,数据磁盘支持像系统盘一样的扩容操作
- 必要时执行
umount 挂载目录
和ls -la 挂载目录
可能有一些帮助 - 温馨提示重要文件请备份,科学绿色环保无公害
- 华为云文档参考
- 阿里云文档参考
mysql操作
- 创建数据库 CREATE DATABASE IF NOT EXISTS local_test DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
- 导出数据库 mysqldump -uroot -p --add_drop_database database_name > database.sql
- --no-create-db,-n 将不创建数据库,不与 --databases 或者 --all-databases 搭配使用
+【-B, --databases】导出指定数据库数据,包括数据库和表的创建脚本 - 相反使用 -n, --no-create-db
mysqldump -uroot -p -B test dbname2 mysqldump -uroot -p -n test
- --lock-all-tables,-x 在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭
- 导出指定表的数据
mysqldump -t database -u username -ppassword --tables table_name1 table_name2 > database.sql
- 导出存储过程和自定义函数 --routines,-R
mysqldump -uroot -R -n test -p > database.sql
- 只导出存储过程和函数(不导出结构和数据)
mysqldump -uroot -R -ndt dbname1 -p > xxx.sql
- 导出单库所有数据
mysqldump -hhostname -uusername -ppassword --single-transaction --triggers --routines --events --no-create-db databasename > database_`date +%F_%H_%M_%S`.sql;
- 导出所有数据库数据脚本
#!/bin/bash timestamp=$(date +"%Y%m%d_%H%M%S") DBS=$(mysql -u root -p123456 -e 'show databases' -s --skip-column-names) for db in $DBS; do echo ${db}_${timestamp}.sql mysqldump -u root -p123456 --single-transaction --triggers --routines --events --no-create-db $db > ${db}_${timestamp}.sql done
- 导出单库的表结构
mysqldump -uroot -p123456 -d --add-drop-table dbname > dbname.sql
- 导出单库所有数据
mysqldump -uroot -p123456 -t dbname > dbname.sql
- sql.gz数据备份与恢复
mysqldump -hhostname -uusername -ppassword --no-create-db -x databasename | gzip > sqlback.sql.gz gunzip < sqlback.sql.gz | mysql -uusername -ppassword databasename
- 杂项
连接服务器保持不掉线(ubantu)
连接服务器保持不掉线(centos编辑/etc/ssh/sshd_config文件设置心跳,保持连接)ssh -o serveraliveinterval=60 root@ip
Too many authentication failuresClientAliveInterval 600 ClientAliveCountMax 10 #配置生效 systemctl restart sshd
-o IdentitiesOnly=yes
- 显示进程间的关系
pstree -apnh
- 查看系统所有环境变量
env | grep -i proxy unset proxy
- 常用
mysqldump -uroot -p -n test > /file/test.sql;
- 导入mysqldump文件 mysql>source /home/xxxx/database .sql; 或 mysql -uroot -p < database.sql
- 创建数据库 CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci
- 测试脚本是否有语法错误
bash -n filetest.sh
- 把脚本中的每条命令的执行情况打印出来
bash -x filetest.sh
记一次由于软件更新未成功导致ubantu桌面进不去[进入高级recovery模式]
sudo apt-get update
sudo apt-get upgrade
sudo apt-get remove lightdm
sudo install lightdm
systemctl enable lightdm.service
systemctl start lightdm.service
参考链接
- Mysql的mysqldump详解
- Linux设置虚拟内存
- Linux设置虚拟内存
- Linux查看系统版本
- Linux查看系统版本
- linux shell下除了某个文件外的其他文件全部删除的命令
- Mysqldump参数大全(参数来源于mysql5.5.19源码)
- Linux定时任务Crontab命令详解
- 使用inotify-tools监控网站文件变动情况
- Ubuntu安装软件以及查看已安装软件的几种方式
- Linux流量监控工具 - iftop
- mysql之为已经建好的表格添加id为自增主键
- 用ssh公钥实现免密码登录
- 使用ngrok将本地Web服务映射到外网
- 怎样长时间保持SSH会话连接不断开?
- 初始化Linux数据盘(fdisk)
- linux命令解压压缩rar文件的详细步骤
- 宝塔下切换默认php版本
- Linux流量监控工具 - iftop (最全面的iftop教程)
- 解决向日葵软件在Ubuntu 20.04依赖libwebkitgtk-3.0-0等问题
- 完美解决"find: 路径必须在表达式之前:"
- Ubuntu使用PlayOnLinux笔记
- 查看当前mysql使用的配置文件是哪个
- Linux挂载命令mount用法及参数详解
- linux清空历史命令(history)
- Linux netstat命令详解
- Ubuntu下crontab的安装和使用
- linux查看硬件配置命令
- Linux查看本机IP:curl cip.cc
- sudo 命令执行找不到命令
- nohup和&后台运行,进程查看及终止
- Ubuntu 16.04 标题栏实时显示上下行网速、CPU及内存使用率
- nohup命令、setsid命令、Daemon(守护进程)简要梳理
- Linux netstat命令详解
- Shell脚本统计文件行数的8种方法
- linux服务器禁用root账户密码登录,只能采用密匙登录,加强系统安全
- Linux shell
- Linux - 配置SSH免密通信 - ssh-keygen的基本用法
- 如何测试端口号是否开启
- Linux系统中nc工具那些不为人知的用法
- linux 查看网段内所有IP
- MySQL查询日志介绍
- Mysql主从基本原理
- rsync 用法教程
- linux远程scp,但是不覆盖已经存在文件的方法
- rsync命令比对文件及增量同步
- gpasswd 命令详解
- goaccess网站日志统计分析工具
- Linux date命令的用法
- Linux下数组遍历
- Linux crontab 查看所有用户的crontab任务
- linux中双括号和双中括号,括号和中括号
- 在Deepin 20.1系统下安装snapd及用snap安装rdm的方法
- 在deepin系统中制作桌面快捷方式
- curl专栏
- Linux curl命令使用代理、以及代理种类介绍
- linux服务器设置只允许密钥登陆
- Linux-ssh证书登录(实例详解)
- 修改ssh服务器默认端口号
- nc命令端口侦听端口连接端口测试端口扫描
- 检测远程服务器端口是否打开的三种方法
- Linux 查看服务器开放的端口号
- 新特性解读 | 自动验证 MySQL 配置正确性的新选项
- linux下批量删除空文件
- find cp/rsync保留源目录结构的备份
- Mysql中timestamp用法详解
- vim强制保存命令:w !sudo tee %详解
- 为什么grep打印出“没有这样的文件或目录”
- Deepin系统扩展分辨率
- MySQL创建用户与授权
- rsync命令同步文件,exclude排除多个匹配模式
- rsync(一):基本命令和用法
- ssh服务、密钥登陆配置
- mysql 自动增长 变为0_MySQL --当AUTO_INCREMENT自增遇到0
- MySQL的SQL_Mode修改小计
- linux下批量删除空文件
- Linux系统之进程状态
- 万字长文教你玩转 tcpdump
- Linux字符截取命令-cut
- 使用 lsof 查找打开的文件
- linux下压缩文件tar.gz的压缩、解压、分割、合并
- Curl测试socks5 or http 代理命令
- Linux Deepin怎样用终端查看已经安装的软件列表及卸载软件
- CentOS修改ssh端口号及ssh免密码登录
- Ubuntu16.04忘记用户登录密码以及管理员密码
- Linux 录屏软件有哪些
- mysql/mysqldump使用说明
- mysqldump-ddl-options
正因为来之不易,所以才有了后来的倍加珍惜。