一、服务器基本信息
1、查看系统主机名称
2、查看系统内核版本
3、查看 RedHat 版本
4、查看 CentOS 版本
5、查看 CPU 信息
6、列出所有可用块设备
7、查看磁盘空间占用
8、查看内存占用
9、查看文件/目录空间占用
10、查看时间与时区
二、服务器网络
1、查看服务器内网 IP
2、查看服务器公网出口 IP
3、查看服务器防火墙状态
4、firewalld 防火墙添加规则/重载规则/查看开放的端口
5、DNS 与 hosts
6、ping 与 telnet
三、服务进程与连接
1、进程
2、连接
四、Docker
1、仓库 REGISTRY
2、镜像 IMAGE
3、容器 CONTAINER
4、docker run 命令
五、其他
1、scp
2、rz 与 sz
3、which 与 whereis
4、zip 与 unzip
5、history
6、回到命令行首与行尾
文件类
ls echo cat grep find wc cut head tail less chmod chown ln cp scp which mkdir pwd sed awk xargs
磁盘类
du df
网络
ifconfig netstat tcpdump ping
系统类
ps kill time date who su sudo free top ulimit export set unset nohup
压缩、解压缩类
zip unzip gzip tar
简单应用
查看系统版本
查看cpu个数和核数
清除缓存
显示所有监听端口
找出监听特定端口的程序
统计和特定ip端口建立的tcp连接数,或已经处于TIME_WAIT状态的连接数
显示特定程序cpu和内存占用
显示cpu或内存占用前几名程序,自定义输出序列
删除特定目录及子目录下30天之前的日志文件
1 2 3 4 5 6 7 8 9 10 |
mkdir /swap cd /swap # 创建4G分区文件 dd if=/dev/zero of=swapfile bs=1G count=4 # 修改权限 chmod 600 /swap/swapfile # 设置swap mkswap /swap/swapfile # 启用swap swapon /swap/swapfile |
1 2 3 4 |
[root@datagrad swap]# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 4194300 0 -2 /swap/swapfile file 4194300 0 -3 |
1 2 |
# 开机挂载 echo '/swap/swapfile swap swap defaults 0 0' >> /etc/fstab |
from:https://www.cnblogs.com/leoshi/p/12679962.html
View Detailsssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add。 来自: http://man.linuxde.net/ssh-add 语法: ssh-add [-cDdLlXx] [-t life] [file …] ssh-add -s pkcs11 ssh-add -e pkcs11 选项 -D:删除ssh-agent中的所有密钥. -d:从ssh-agent中的删除密钥 -e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。 -s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。 -L:显示ssh-agent中的公钥 -l:显示ssh-agent中的密钥 -t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥 -X:对ssh-agent进行解锁 -x:对ssh-agent进行加锁 from:https://blog.csdn.net/feifei3851/article/details/81113267
View DetailsShell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:
1 |
echo string |
您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符串:
1 |
echo "It is a test" |
这里的双引号完全可以省略,以下命令与上面实例效果一致:
1 |
echo It is a test |
2.显示转义字符
1 |
echo "\"It is a test\"" |
结果将是:
1 |
"It is a test" |
同样,双引号也可以省略 3.显示变量 read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量
1 2 3 |
#!/bin/sh read name echo "$name It is a test" |
以上代码保存为 test.sh,name 接收标准输入的变量,结果将是:
1 2 3 |
[root@www ~]# sh test.sh OK #标准输入 OK It is a test #输出 |
4.显示换行
1 2 |
echo -e "OK! \n" # -e 开启转义 echo "It is a test" |
输出结果:
1 2 3 |
OK! It is a test |
5.显示不换行
1 2 3 |
#!/bin/sh echo -e "OK! \c" # -e 开启转义 \c 不换行 echo "It is a test" |
输出结果:
1 |
OK! It is a test |
6.显示结果定向至文件
1 |
echo "It is a test" > myfile |
7.原样输出字符串,不进行转义或取变量(用单引号)
1 |
echo '$name\"' |
输出结果:
1 |
$name\" |
8.显示命令执行结果
1 |
echo `date` |
注意: 这里使用的是反引号 `, 而不是单引号 '。 结果将显示当前日期
1 |
Thu Jul 24 10:08:46 CST 2014 |
from:https://www.runoob.com/linux/linux-shell-echo.html
View DetailsLinux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。 ls -l 可以显示档案的时间记录。 语法
1 |
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…] |
参数说明: a 改变档案的读取时间记录。 m 改变档案的修改时间记录。 c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。 f 不使用,是为了与其他 unix 系统的相容性而保留。 r 使用参考档的时间记录,与 --file 的效果一样。 d 设定时间与日期,可以使用各种不同的格式。 t 设定档案的时间记录,格式与 date 指令相同。 --no-create 不会建立新档案。 --help 列出指令格式。 --version 列出版本讯息。 实例 使用指令"touch"修改文件"testfile"的时间属性为当前系统时间,输入如下命令:
1 |
$ touch testfile #修改文件的时间属性 |
首先,使用ls命令查看testfile文件的属性,如下所示:
1 2 3 |
$ ls -l testfile #查看文件的时间属性 #原来文件的修改时间为16:09 -rw-r--r-- 1 hdd hdd 55 2011-08-22 16:09 testfile |
执行指令"touch"修改文件属性以后,并再次查看该文件的时间属性,如下所示:
1 2 3 4 |
$ touch testfile #修改文件时间属性为当前系统时间 $ ls -l testfile #查看文件的时间属性 #修改后文件的时间属性为当前系统时间 -rw-r--r-- 1 hdd hdd 55 2011-08-22 19:53 testfile |
使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件"file",输入如下命令:
1 |
$ touch file #创建一个名为“file”的新的空白文件 |
from:https://www.runoob.com/linux/linux-comm-touch.html
View Details日前,Linus Torvalds 曾在 Linux Kernel 5.7-rc7 公告中透露,其已放弃 Intel,将其主 PC 升级为基于 AMD Threadripper 3970x 的快速处理器。而在与 ZDNet 的 Steven J. Vaughan-Nichols 的最新独家对话中,Linus 又进一步公开了他所有的 PC 硬件规格和 Linux desktop 信息。 Linus Torvalds PC 规格的完整列表如下: CPU — AMD RyzenThreadripper 3970X 主板 —技嘉 Aorus TRX40 Master Fan — Noctua NF-A14 PWM,高级静音风扇 CPU 散热片 — Noctua NH-U14S 和 Noctua NF-A15 Case — Be Quiet Dark Base 700 Extra Fan — Silent Wings 3 电源设备 — Seasonic Focus GX-850 Storage — 1TB SamsungEVO 970 Memory — 4x16GB DDR4-2666 Linux distro — Fedora 32 笔记本电脑 — Dell XPS 13 对于自己的笔记本电脑,Linus 称: “我通常不会透露具体的品牌名称,但 XPS 13 例外,只是因为我太喜欢它了,所以我最终在女儿上大学时还给女儿买了一个。“ 此外,Linus 还进一步透露,他最新的主机箱是由自己动手建造的。“如果你看完这个列表的感觉是:’Linus 的硬件太多了’,那么你是对的,一般来说,我的主机箱都是我自己做的。” 在价钱方面,综合算下来,这一系列设备的总成本约为 3500 美元。 光子:英文版:https://www.zdnet.com/article/look-whats-inside-linus-torvalds-latest-linux-development-pc/ from:https://www.oschina.net/news/116064/linus-torvalds-linux-development-pc
View Details1.删除原有的mariadb 不然安装报错
1 |
rpm -qa|grep mariadb |
1 |
rpm -e --nodeps mariadb-libs |
2. 下载RPM安装包 在https://dev.mysql.com/downloads/mysql/选择为Red Hat Enterprise Linux 7 / Oracle Linux 7 ,把os的版本选择为all。 直接下载mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar,所有的rpm包都在里面,然后rpm命令安装。
1 2 3 4 5 6 7 8 9 10 11 |
rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-devel-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm |
至此,mysql5.7所有文件安装完毕,接下来就是开启服务测试了 3. 启动mysql服务 查看mysql服务是否启动
1 |
service mysqld status |
启动服务:
1 |
systemctl start mysqld |
4. 重置root密码 MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 可以安全模式修改root登录密码或者用随机密码登录修改密码。下面用随机密码方式 MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:
1 |
grep 'temporary password' /var/log/mysqld.log |
5. 修改root用户密码 (MySQL的密码策略比较复杂,过于简单的密码会被拒绝)
1 2 3 4 |
1 mysql -u root -p 2 mysql> Enter password: (输入刚才查询到的随机密码) 3 mysql> SET PASSWORD FOR 'root'@'localhost'= "qaz-123"; 4 mysql> exit |
6. 用root新密码登录
1 |
mysql -u root -pqaz-123 |
如果上面的方式不能修改可以使用下面安全模式修改root: 关闭服务,修改mysql配置文件:
1 2 |
1 systemctl stop mysqld.service 2 vi /etc/my.cnf |
mysqld下面添加skip-grant-tables 保存退出启动服务。
1 |
systemctl start mysqld.service |
1 2 3 4 5 6 7 |
mysql -u root #不用密码直接回车 use mysql update user set authentication_string=password('qaz-123') where user='root' and host='localhost'; flush privileges; exit; vi /etc/my.cnf #把 skip-grant-tables 一句删除保存退出重启mysql服务 systemctl restart mysqld.service |
再次登录即可
1 |
mysql -uroot -pqaz123 |
如果进行操作出现下面的提示:
1 |
You must reset your password using ALTER USER statement before executing this statement. |
就重新设置密码(mysql默认密码策略比较复杂,如果设置简单密码,需修改默认安全策略,可以参考另外一篇文章:MYSQL57密码策略修改)
1 |
set password = password('qaz-123'); |
7.开放3306端口
1 2 3 |
1 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'qaz-123' WITH GRANT OPTION; 2 mysql>FLUSH PRIVILEGES; 3 mysql>exit; |
开启防火墙mysql 3306端口的外部访问:
1 2 |
1 firewall-cmd --zone=public --add-port=3306/tcp --permanent 2 firewall-cmd --reload |
from:https://www.cnblogs.com/mymelody/p/9253551.html
View Details服务器环境: centos7 x64 需要安装mysql5.7+ 一、卸载CentOS7系统自带mariadb
1 2 3 4 5 6 7 |
# 查看系统自带的Mariadb [root@CDH-141 ~]# rpm -qa|grep mariadb mariadb-libs-5.5.44-2.el7.centos.x86_64 # 卸载系统自带的Mariadb [root@CDH-141 ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64 # 删除etc目录下的my.cnf [root@CDH-141 ~]# rm /etc/my.cnf |
二、检查mysql是否存在
1 2 3 |
# 检查mysql是否存在 [root@CDH-141 ~]# rpm -qa | grep mysql [root@CDH-141 ~]# |
三、查看用户和组是否存在 1)检查mysql组合用户是否存在
1 2 3 |
# 检查mysql组和用户是否存在,如无则创建 [root@CDH-141 ~]# cat /etc/group | grep mysql [root@CDH-141 ~]# cat /etc/passwd | grep mysql |
# 查询全部用户(只是做记录,没必要执行)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[root@CDH-141 ~]# cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F ":" '{print $1 "|" $3 "1" $4}' | more root|010 sync|510 flume|9921989 hdfs|9911988 zookeeper|9891986 llama|9881985 httpfs|9871984 mapred|9861983 sqoop|9851982 yarn|9841981 kms|9831980 hive|9821979 oozie|9801977 hbase|9781975 impala|9761973 hue|9741971 wlaqzc2018|100111001 [root@CDH-141 mysql]# |
2)若不存在,则创建mysql组和用户
1 2 3 4 5 6 7 8 9 10 11 |
# 创建mysql用户组 [root@CDH-141 ~]# groupadd mysql # 创建一个用户名为mysql的用户,并加入mysql用户组 [root@CDH-141 ~]# useradd -g mysql mysql # 制定password 为111111 [root@CDH-141 ~]# passwd mysql Changing password for user mysql. New password: BAD PASSWORD: The password is a palindrome Retype new password: passwd: all authentication tokens updated successfully. |
四、下载mysql离线安装包tar文件 官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 版本选择,可以选择一下两种方式: 1)使用Red Hat Enterprise Linux Select Version:5.7.25 Select Operating System:Red Hat Enterprise Linux / Oracle Linux Select OS Version:Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit) 列表中下载: Compressed TAR Archive:(mysql-5.7.25-el7-x86_64.tar.gz) 2)使用Linux – Generic Select Version:5.7.25 Select Operating System:Linux – Generic Select OS Version:Linux – Generic (glibc 2.12) (x86, 64-bit) 列表中下载: Compressed TAR Archive:(mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz)【本文中使用的是这个版本】 注意:上边两种方式找mysql离线安装包的方式都可以。 五、上传第四步下载的mysql TAR包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# 进入/usr/local/文件夹 [root@CDH-141 ~]# cd /usr/local/ # 上传mysql TAR包 [root@CDH-141 local]# rz # 解压mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz [root@CDH-141 local]# ls bin full-path-to-mysql-VERSION-OS include lib64 mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz share etc games lib libexec sbin src [root@CDH-141 local]# tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz mysql-5.7.25-lin ... mysql-5.7.25-linux-glibc2.12-x86_64/share/install_rewriter.sql mysql-5.7.25-linux-glibc2.12-x86_64/share/uninstall_rewriter.sql mysql-5.7.25-linux-glibc2.12-x86_64/support-files/magic mysql-5.7.25-linux-glibc2.12-x86_64/support-files/mysql.server mysql-5.7.25-linux-glibc2.12-x86_64/docs/INFO_BIN mysql-5.7.25-linux-glibc2.12-x86_64/docs/INFO_SRC [root@CDH-141 local]# ls bin full-path-to-mysql-VERSION-OS include lib64 mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz share etc games lib libexec mysql-5.7.25-linux-glibc2.12-x86_64 sbin src # 进入/usr/local下,修改为mysql [root@CDH-141 local]# mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql [root@CDH-141 local]# ls bin etc full-path-to-mysql-VERSION-OS games include lib lib64 libexec mysql mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz sbin share src |
六、更改所属的组和用户
1 2 3 4 5 6 7 |
# 更改所属的组和用户 [root@CDH-141 ~]# cd /usr/local/ [root@CDH-141 local]# chown -R mysql mysql/ [root@CDH-141 local]# chgrp -R mysql mysql/ [root@CDH-141 local]# cd mysql/ [root@CDH-141 mysql]# mkdir data [root@CDH-141 mysql]# chown -R mysql:mysql data |
七、在/etc下创建my.cnf文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# 进入/usr/local/mysql文件夹下 [root@CDH-141 ~]# cd /usr/local/mysql # 创建my.cnf文件 [root@CDH-141 mysql]# touch my.cnf #或者cd ''>my.conf # 编辑my.cnf [root@CDH-141 mysql]# vi my.conf [mysql] socket=/var/lib/mysql/mysql.sock # set mysql client default chararter default-character-set=utf8 [mysqld] socket=/var/lib/mysql/mysql.sock # set mysql server port port = 3323 #默认是3306,这里发现3306已经被占用,因此防止这种情况发生,可以避免使用3306mysql默认端口 # set mysql install base dir basedir=/usr/local/mysql # set the data store dir datadir=/usr/local/mysql/data # set the number of allow max connnection max_connections=200 # set server charactre default encoding character-set-server=utf8 # the storage engine default-storage-engine=INNODB lower_case_table_names=1 max_allowed_packet=16M explicit_defaults_for_timestamp=true [mysql.server] user=mysql basedir=/usr/local/mysql [root@CDH-141 mysql]# |
八、进入mysql文件夹,并安装mysql
1 2 3 4 5 6 7 |
# 进入mysql [root@CDH-141 local]# cd /usr/local/mysql # 安装mysql [root@CDH-141 mysql]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 2019-03-08 18:11:07 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2019-03-08 18:11:24 [WARNING] The bootstrap log isn't empty: 2019-03-08 18:11:24 [WARNING] 2019-03-08T10:11:07.208602Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead |
设置文件及目录权限:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[root@CDH-141 mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld [root@CDH-141 mysql]# chown 777 my.cnf [root@CDH-141 mysql]# ls bin COPYING data docs include lib man my.cnf README share support-files [root@CDH-141 mysql]# ls -l total 60 drwxr-xr-x 2 root root 4096 Mar 8 15:56 bin -rw-r--r-- 1 7161 31415 17987 Dec 21 18:39 COPYING drwxr-x--- 5 mysql mysql 4096 Mar 8 16:21 data drwxr-xr-x 2 root root 4096 Mar 8 15:56 docs drwxr-xr-x 3 root root 4096 Mar 8 15:56 include drwxr-xr-x 5 root root 4096 Mar 8 15:56 lib drwxr-xr-x 4 root root 4096 Mar 8 15:56 man -rw-r--r-- 1 777 root 516 Mar 8 16:19 my.cnf -rw-r--r-- 1 7161 31415 2478 Dec 21 18:39 README drwxr-xr-x 28 root root 4096 Mar 8 15:56 share drwxr-xr-x 2 root root 4096 Mar 8 15:56 support-files [root@CDH-141 mysql]# chmod +x /etc/init.d/mysqld [root@CDH-141 mysql]# [root@CDH-141 mysql]# mkdir data [root@CDH-141 mysql]# [root@CDH-141 mysql]# chown -R mysql:mysql data [root@CDH-141 mysql]# |
九、启动mysql
1 2 3 4 5 6 |
# 启动mysql [root@CDH-141 mysql]# /etc/init.d/mysqld restart MySQL server PID file could not be found![FAILED] Starting MySQL.Logging to '/usr/local/mysql/data/CDH-141.err'. ..The server quit without updating PID file (/usr/local/mysql/data/CDH-141.pid).[FAILED] [root@CDH-141 mysql]# |
出现错误,解决方案如下: […]
View Details【修改显示日期格式】 vim /etc/bashrc alias ll=’ls -l --time-style="+%Y-%m-%d %H:%M:%S"' alias date=’date "+%Y-%m-%d %H:%M:%S"' source /etc/bashrc 【排序】 ll -ht 按时间排序 ll -hS 按大小排序 其中的参数h是human的代表,意思是已人类能识别形式显示,而不是默认的字节的形式。 【查看系统版本】 uname -a cat /etc/issue lsb_release -a [root@develop data]# uname -a Linux develop 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux [root@develop data]# cat /etc/issue Kernel \r on an \m [root@develop data]# cat /proc/version Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015 [root@develop data]# lsb_release -a 【查询系统语言】 [root@develop data]# […]
View Details