Linux系统基本命令

命令:

scp nginx.sh @47.99.666.23:/home/-----把nginx.sh传输到主机47.99.666.23的home目录下

ssh 47.99.666.23   ----登陆主机

ln -s 目标目录  快捷方式目录

mkdir /aa/bb/cc -pv若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录

yum install tree   tree -L 2  ---只查看当前第二级的目录和文件

dd if=/dev/zero of=sun.txt bs=1M count=10------来测试内存操作速度

------------------------------------------------------------

free -m   查看内存使用情况

手动释放缓存:

1.cat /proc/sys/vm/drop_caches 默认为0

2.sync  sync命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件

3.echo 3 > /proc/sys/vm/drop_caches

说明:

echo 1 > /proc/sys/vm/drop_caches;----->To free pagecache, use
echo 2 > /proc/sys/vm/drop_caches;----->to free dentries and inodes, use

echo 3 >/proc/sys/vm/drop_caches;------>to free pagecache, dentries and inodes, use

--------------------------------------------------------

用nc测试端口,nc在centos7上的安装和简单使用

yum install nmap-ncat.x86_64

 nc 112.7x.xx.184 22  ----相当于window下的telnet xxxx 端口

--------------------------------------------------------

正在用xshell编辑文件nginx.conf,网线断了。

重连,重新vi nginx.conf,提示xxx目录下有一个.nginx.conf.swp文件。

通过这个文件,可以恢复程序。

恢复方法如下:

vi  -r  nginx.conf
然后保存即可,之后删除.nginx.conf.swp文件


-----------------------------------------------------------

kill -9 $(pidof java)

Linux系统基本命令

------------------------------------------------

lower_case_table_names参数详解:
 •0:区分大小写
 •1:不区分大小写

mysql -uroot -p
> show variables like "%case%" ;
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF  |
| lower_case_table_names | 1    |
+------------------------+-------+

在此文件加/etc/my.cnd如下:

lower_case_table_names=1


-------------------------------------------------

用命令行执行导入操作是最可靠的如下:
mysql -uroot -proot;回车
use xxxdb;回车
source d:\aa\bb\cc.sql;回车







 linux下使用ab进行压力测试:
ab命令放在apache目录bin目录下面,使用方法如下
./ab -n 3000 -c 3000 http://www.test.com/
其中-n代表每次并发量,-c代表总共发送的数量



一.Centos7系统的安装


二.putty、secureCRT、Xshell客户端的使用,7个运行级别,shutdown

Linux系统基本命令

Linux系统基本命令


三.通配符、文件类型、文件与目录操作命令ls cd mkdir 、文件操作命令cp mv rm 、文件查看命令cat more less head tail

Linux系统基本命令

Linux系统基本命令


四.tab键命令补全、 查看使用历史命令history、 !!的使用!num的使用


五.1.输入输出重定向到一个文件:>  或>> 或2>  或&>    2.管道(查找xxx)grep xxx


六.文件权限及设置命令chmod   rwxr--r--  421  777、chown更改文件拥有者、特殊权限位如tmp目录


七.系统查找:

    1.which在环境 变量中指定的目录查可执行文件 

    2.whereis查可执行程序和对应的安装文件 

    3.locate相当于模糊查

    4.1.find -mtime  -user  -name -type -size


八.文本编辑器VI操作

    1.ctrl+f  ctrl+b上下页  

    2.^$行首尾 

    3.w后 b前一个单词 

    4.:set nu、set nonu、gg跳到第1行、shift+g跳到结尾

    5.进入编辑:i当前进入、a下一个字母进入、 A行尾进入 、o下一行进入 、O上一行进入

    6.删除dd ndd、复制粘贴yy nyy p  、剪切先dd 再p

    7.退u、进ctrl+r、查找/ n前找 N后找、替换:%s/a/B/g-----把a替换为B 、

Linux系统基本命令

    8.文件切换

Linux系统基本命令



九.系统进程管理

    1. ps -ef | grep crond         ps -aux    | grep crond

    2.killsall - u apache--删除uid为apache的所有进程 、kill 线程号  

    3.用sleep 10000 和Ctrl+z暂停,测试前后台进程切换 、jobs看交互进程、fg 进程号(调到前台)、bg 进程号(调到后台)

    4.系统守护进程的操作:service crond stop start reload restart

    5.pstree 

    6.定制开机启用服务ntsysv   定制服务在哪种模式下启动chkconfig --help


   

十.shell脚本编程

    1.shell是命令解释器,也是编程语言 

    2.可以实现自动化操作(管理 监控 日志处理  数据备份) 

    3.由注释+命令+流程控制组成

    4.Hello World :

    #!/bin/bash
    #propram:
    #This program shows "Hello Shell!".
    echo -e "Hello Shell!\a\n"
    exit 0

    5.执行方式

Linux系统基本命令

6.变量、加减运算 (用双小括号)、变量的表达式:从哪里截取,截取多长

#!/bin/bash
#propram:
#This program shows "Hello Shell!".
echo -e "Hello Shell!\a\n"
a=10
b=20
echo $a
echo $b
echo $(($a+$b))
exit 0


Linux系统基本命令

例子:

Linux系统基本命令

7.if test +条件 等效于 if [条件]  、多分支判断elif  或 case in、while循环 和 until循环(不成立时才执行)、for循环

例子1:用test结合"&& "和"||"作判断,其中"&& "和"||"等效于if else,

目录aa目录是否存在b.info文件,是否目录,是否有rwx权限:

#!/bin/bash
#propram:
#This program shows "Hello Shell!".
fileisexist=/aa/b.info

test -f $fileisexist && echo 'exist' || echo 'not exist'

test -d $fileisexist && echo 'exist' || echo 'not exist'

test -r $fileisexist && echo 'exist' || echo 'not exist'

test -w $fileisexist && echo 'exist' || echo 'not exist'

test -x $fileisexist && echo 'exist' || echo 'not exist'

exit 0

用if else代替&& ||

Linux系统基本命令



例子2:用[]作判断要注意空格

Linux系统基本命令

Linux系统基本命令


例子3:用if [];then fi

Linux系统基本命令

Linux系统基本命令


例子4:多分支判断elif

Linux系统基本命令

a=10
b=20
if [ $a == $b ]
then
   echo "a 等于 b"
elif [ $a -gt $b ]
then
   echo "a 大于 b"
elif [ $a -lt $b ]
then
   echo "a 小于 b"
else
   echo "没有符合的条件"
fi

例子5:case in

echo '输入 1 到 4 之间的数字:'
echo '你输入的数字为:'
read aNum
case $aNum in
    1)  echo '你选择了 1'
    ;;
    2)  echo '你选择了 2'
    ;;
    3)  echo '你选择了 3'
    ;;
    4)  echo '你选择了 4'
    ;;
    *)  echo '你没有输入 1 到 4 之间的数字'
    ;;
esac


例子6.while

#!/bin/sh
int=1
while [ $int -lt 10 ];do
    echo $int;
    ((int++));
done


例子7.until


例子8:for

#!/bin/bash
echo '输入一下数字';
read number;
for((i=0;i<=$number;i++));do
echo $i;
done;







8. function函数、

demoFun(){
    echo "这是我的第一个 shell 函数!"
}
echo "-----函数开始执行-----"
demoFun

echo "-----函数执行完毕-----"

9.执行shell文件时可以传参执行

function print(){
    echo "your input is $1";
}
case $1 in
    "one")  print 1
    ;;
    "two")  print 2
    ;;
    "three")  print 3
    ;;
    "four")  print 4
    ;;
    "other")  echo '你没有输入 1 到 4 之间的数字'
    ;;

esac

Linux系统基本命令


十一.yum安装软件,rpm安装软件,源程序代码安装

关于用yum安装

yum search httpd

yum install httpd

yum update httpd

yum remove httpd

yum clean all

yum makecache

yum repolist

yum localinstall mysql80-community-release-el7-1.noarch.rpm

......

Linux系统基本命令

Linux系统基本命令

更改yum的远程仓库:

1.备份/etc/yum.repos.d下的CentOS-Base.repo

2.用wget下载CentOS7-Base-163.repo放到/etc/yum.repos.d下

3.清缓存并创建163库存列表的缓存(同步),作了同步以后用yum 进行update或install会更快

Linux系统基本命令


注意点:

1.yum tab 补全失效

执行  yum install bash-completion  , 重启终端,则可 tab 补全

2.yum-config-manager: command not found------如安装mysql5.7时要把用这个命令把mysql8.0设置为disable

因为系统默认没有安装这个命令,可以通过命令yum -y install yum-utils安装


关于用rpm安装:
rpm -ivh xxx安装包
rpm -Uvh xxx升级包
rpm -e xxx卸载包

rpm -qa | grep mysql

rpm -qa | grep mysq*

Linux系统基本命令


关于用源程序代码安装:

Linux系统基本命令

Linux系统基本命令

在程序源代码目录中./configure  或 ./configure --prefix=/xx/xx/xxx  --xxx=xx/xx/xx  --yyy=yy/yy/yy

Linux系统基本命令

./configure(检测的作用)执行完告诉你相关目录的位置如下:

Linux系统基本命令

在程序源代码目录中执行make   再执行make install

Linux系统基本命令


十二.用户管理,密码管理及用户切换


Linux系统基本命令


存放用户:etc/passwd:

Linux系统基本命令


存放用户密码:etc/shadow:没有设置密码用:分开

Linux系统基本命令


存放用户组:etc/group:

Linux系统基本命令

存放用户组密码:etc/gshadow:没有设置密码用:分开

Linux系统基本命令


useradd liuqh1

useradd -G share liuqh1   创建liuqh1,并加入到标准组share中

usermod -l liuqh1 liuqh2  改为liuqh2

usermod -L liuqh2            锁定liuqh2,liuqh2将不能登陆

usermod -U liuqh2           解锁liuqh2,liuqh2可以登陆

userdel liuqh2                   删除用户liuqh2

userdel -r liuqh2               删除用户liuqh2并把此用户所拥有的相应文件夹删除


groupadd share ----创建标准组share

groupmod -n liuqhgroup share  ---改名为liuqhgroup

groupdel liuqhgroup ---删除组

Linux系统基本命令


Linux系统基本命令

passwd

passwd user1

passwd -d user1----删除user1的密码

passwd -l user1----锁定user1的密码----user1不能登陆了

passwd -u user1----解锁user1的密码

密码过期设置:/etc/login.defs的内容

PASS_MAX_DAYS   99999

PASS_MIN_DAYS   0

PASS_MIN_LEN    5

PASS_WARN_AGE   7

查看用户密码设置:chage -l user1

Linux系统基本命令

chage -m 2 -M 30 -W 5 user1------user1这个用户在2天内不可以改密码,密码30天过期,到期前5天warning(提示)

配置用户的sudo权限:visudo回车,sudo是普通用户借用管理员的权限

Linux系统基本命令


id回车  和  groups回车

Linux系统基本命令


newgrp  组名------改默认组

Linux系统基本命令


十三.网络基本配置:

Linux系统基本命令xshell中执行(执行完就连接不上了,要虚拟机本机登陆改为ifconfig eth0 up才行):

Linux系统基本命令

要虚拟机中:

Linux系统基本命令


Linux系统基本命令

hostname查看主机名

hostname aaa把主机名为aaa,重开客户端和生效    ----临时改,重启失效

Linux系统基本命令


在/etc/sysconfig中改HOSTNAME是永久性的如图:

Linux系统基本命令


配置:etc/sysconfig/network-scripts/ifcfg-eth0文件

Linux系统基本命令

Linux系统基本命令

配置DNS,在etc/resolv.conf配置

Linux系统基本命令


十四. Linux系统网络测试和测试工具

1.ping  

2.nslookup   dns解释,把域名解释出对应的IP

3.traceroute  :经过多少个路由

4.netstat   网络服务端口查询

5.ifconfig  查看ip  网关等信息,可配置临时网络如增加 修改等,但服务器重启后无效

6.nmtui  配置持久网络

Linux系统基本命令

7.service network restart   或  systemctl restart network  重启网络



十五. Linux系统时间同步 

1.date 

2.hwclock      --systohc        从当前系统时间设置硬件时钟

                       --hctosys        从硬件时钟设置系统时间

3.time 

4.安装ntpd时间同步程序并设置开机启动(作为守护进程自动同步时间,etc下有ntp.conf配置有时间同步服务器的网址)


十六.Linux系统周期性计划任务

1.crond   service crond status  (stop/start/restart/reload)

2.crontab   -l查看现有任务

                  -e编辑任务   分 时 日 月 周   */1 * * * * echo "Weclome to java!" >> /crondtab.info

                  -r删除任务 

Linux系统基本命令

3.service crond restart

4.、etc/cron.deny指定不让某些用户使用crontab


十七.iptables防火墙基本设置

Linux系统基本命令

centos 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙

centos下/etc/sysconfig/下找不到iptables文件(原因:在新安装的Linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存在/etc/sysconfig/iptables文件。)

1.先停止并禁用firewalld

systemctl stop firewalld.service #停止firewall-----或service firewalld stop  用service firewalld status--查看是否已停止

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd --state #查看默认防火墙状态(关闭后显示not running,开启后显示running)

2.安装yum install iptables-services.x86_64

3.service iptables save----/etc/sysconfig/产生iptables文件    iptables-save   service iptables restart 

4.重启reboot

5.查看iptables -L -n --line-number

Linux系统基本命令

Linux系统基本命令



Linux系统基本命令


Linux系统基本命令

Linux系统基本命令

Linux系统基本命令

1、常用命令列表:  常用命令(-A追加规则、-D删除规则、-R修改规则、-I插入规则、-L查看规则)

命令 -A, --append

范例 iptables -A INPUT ...

说明 新增规则(追加方式)到某个规则链(这里是INPUT规则链)中,该规则将会成为规则链中的最后一条规则。

命令 -D, --delete

范例 iptables -D INPUT --dport 80 -j DROP

      iptables -D INPUT 1

说明 从某个规则链中删除一条规则,可以输入完整规则,或直接指定规则编号加以删除。

命令 -R, --replace

范例 iptables -R INPUT 1 -s 192.168.0.1 -j DROP

说明 取代现行规则,规则被取代后并不会改变顺序。(1是位置)

命令 -I, --insert

范例1 iptables -I INPUT 1 --dport 80 -j ACCEPT

范例2 iptables -I INPUT -s 123.45.6.7 -j DROP       #屏蔽单个IP的命令

说明 插入一条规则,原本该位置(这里是位置1)上的规则将会往后移动一个顺位。

命令 -L, --list

范例 iptables -L INPUT

说明 列出某规则链中的所有规则。

命令 -F, --flush

范例 iptables -F INPUT

说明 删除某规则链(这里是INPUT规则链)中的所有规则。


命令 -P,修改默认的规则 --policy

范例 iptables -P INPUT DROP


十八.selinux防火墙

setenforce是Linux的selinux防火墙配置命令 执行setenforce 0 表示关闭selinux防火墙。

setenforce命令是单词set(设置)和enforce(执行)连写,另一个命令getenforce可查看selinux的状态

十九.tar rar jar(java的命令)

tar -cvf test.tar *.txt  当前目录下所有txt为后缀的文件,打包为test.tar中

tar -czvf test.tar.gz *.txt 当前目录下所有txt为后缀的文件,打包为test.tar.gz中

---------------------------------------------------------------------

tar -xvf test.tar 解压test.tar到当前目录

tar -xvf test.tar -C /test  解压test.tar到根目录下的test目录

tar -xzvf test.tar.gz 解压test.tar.gz到当前目录

tar -xzvf test.tar.gz  -C /test 解压test.tar.gz到根目录下的test目录

----------------------------------------------------------------------

rar a test.rar *.txt  当前目录下所有txt为后缀的文件,打包为test.rar

unrar e test.rar //解压rar

-----------------------------------------------------------------------

zip jpg.zip *.jpg //zip格式的压缩

unzip file.zip //解压zip

-----------------------------------------------------------------------

jar -cvf project.war /project ---把系统目录下的project文件夹打成project.war

jar -cvf project.jar /project ---把系统目录下的project文件夹打成project.jar

jar -xvf project.war ----解压project.war到当前目录

jar -xvf project.jar----解压project.jar到当前目录


说明:

-c 创建war包

-v 显示过程信息

-f 指定 JAR 文件名,通常这个参数是必须的

-M 不产生所有项的清单(MANIFEST〕文件,此参数会忽略 -m 参数

-0 这个是阿拉伯数字,只打包不压缩的意思

 

  



二十. 安装配置apache

1.Linux系统Apache服务器概述及安装

1-1.安装:https://blog.csdn.net/qq692042122/article/details/80633801

1-2配置虚拟目录:https://blog.csdn.net/qq692042122/article/details/80637810

1-3配置用户认证:https://blog.csdn.net/qq692042122/article/details/80646358

1-4配置基于IP的虚拟主机:https://blog.csdn.net/qq692042122/article/details/80646550

1-5配置虚拟主机,一个IP多个域名:https://blog.csdn.net/qq692042122/article/details/80649619


二十一.安装配置mysql5.7

https://blog.csdn.net/qq692042122/article/details/80661951


二十二.配置mysql5.7主从复制









更改yum的远程仓库:

1.备份/etc/yum.repos.d下的CentOS-Base.repo

2.用wget下载CentOS7-Base-163.repo放到/etc/yum.repos.d下

3.清缓存并创建163库存列表的缓存(同步),作了同步以后用yum 进行update或install会更快

Linux系统基本命令