手记系列之七 —– 分享Linux使用经验

  • 手记系列之七 —– 分享Linux使用经验已关闭评论
  • 284 次浏览
  • A+
所属分类:linux技术
摘要

本篇文章主要介绍的关于本人在使用Linux记录笔记的一些使用方法和经验,温馨提示,本文有点长,约1.7w字,几十张图片,建议收藏查看。


前言

本篇文章主要介绍的关于本人在使用Linux记录笔记的一些使用方法和经验,温馨提示,本文有点长,约1.7w字,几十张图片,建议收藏查看。

一、Linux基础使用

1,服务器查看及时日志

tail -500f catalina.out

2,如何退出logs日志

ctrl+c 或kill -9 pid

3,设置快捷键

临时快捷键设置: 执行XShell,输入 : alias 'aa=cd /etc/sysconfig' , aa: 快捷键名称
永久快捷键设置: 首先输入你想要设置的别名 看这个别名是否存在;或者 输入alias查看设置了那些别名。
输入 gedit .bashrc 或者 vim ~/.bashrc 打开 .bashrc 进入编辑 在#some more ls aliases 路径下输入你要设置的别名 例如:alias 'aa=cd /etc/sysconfig' 然后保存退出. 然后输入 source ~/.bashrc 使其生效就可以使用定义的别名进入这个快捷键了。

4,解压压缩文件命令

1, 本目录解压:
执行命令:

tar mysql-5.6.17-linux-glibc2.5-i686.tar.gz

文件后缀为.tar.gz 

2,解压到其他目录
命令格式:tar -zxvf 【压缩包文件名.tar.gz】 -C 【路径】/
例如:

tar -zxvf jdk-7u55-linux-x64.tar.gz -C /usr/local/installed/java

命令格式:tar -jxvf 【压缩包文件名.tar.bz2】 -C 【路径】/
例如:

tar -jxvf japan.tar.bz2 -C /tmp/

3,压缩到其他目录
压缩.tar.gz格式到指定目录下
命令格式:tar -zcvf 【目录】/ 【压缩包文件名.tar.gz】【源文件】
例如:

tar -zcvf /tmp/test.tar.gz japan/

5,服务器如何设置快捷启动和快捷停止

  启动:  CATALINA_BASE=$aaadir     export CATALINA_BASE     cd $CATALINA_BASE/bin     ./startup &       停止:CATALINA_BASE=$aaadir     export CATALINA_BASE     cd $CATALINA_BASE/bin     ./shutdown & 

aaa设置永久快捷键路径名 路径在tomcat bin目录下

6,查看文件内容的命令

cat     由第一行开始显示内容,并将所有内容输出 tac     从最后一行倒序显示内容,并将所有内容输出 more    根据窗口大小,一页一页的现实文件内容 less    和more类似,但其优点可以往前翻页,而且进行可以搜索字符 head    只显示头几行 tail    只显示最后几行 nl      类似于cat -n,显示时输出行号 tailf   类似于tail -f  

less 加文件名 进行搜索文件,可以使用 shitf+G 到达文件底部,再通过?+关键字的方式来根据关键来搜索信息。

7,设置成为root权限

输入:

sudo passwd root

设置完root 密码之后
输入:

su root

然后输入 设置的root密码
成为root用户
手记系列之七 ----- 分享Linux使用经验

普通用户使用root 权限
输入:

sudo su root

8,测试连接服务器命令

ping 命令用的是icmp协议,现在大多路由器为了避免广播泛滥,都禁用了icmp协议,所以ping不通了~
tracert命令,路由跟踪,格式tracert ip地址

centos、ubuntu安装telnet命令的方法.
yum list telnet* 列出telnet相关的安装包
yum install telnet-server 安装telnet服务
yum install telnet.* 安装telnet客户端

telnet ip 端口

9,更改linux ssh 端口

输入:

vim /etc/ssh/sshd_config

找到port 并解除注释,更改端口
手记系列之七 ----- 分享Linux使用经验

重启 ssh 输入: service sshd restart
重启之后就要重新登录了

10,获取文件权限

输入: chmod -R 777 文件名

11,查看磁盘空间

查看整个磁盘空间: df -h
查看当前文件夹磁盘使用情况: du --max-depth=1 -h
查看指定路径的大小:du -sh /root/sw
查看目录使用的磁盘空间: df -h 目录
手记系列之七 ----- 分享Linux使用经验

free -m : 查看内存使用量和交换区使用量

查看磁盘对应的目录
mount
手记系列之七 ----- 分享Linux使用经验

12,服务器重启

立刻重启:reboot
立刻重启:shutdown -r now
过10分钟自动重启:shutdown -r 10
在时间为12:00时候重启:shutdown -r 12:00
取消重启: shutdown -c

13,防火墙关闭

CentOS 6
查询防火墙状态:
[root@localhost ~]# service iptables status
停止防火墙:
[root@localhost ~]# service iptables stop
启动防火墙:
[root@localhost ~]# service iptables start
重启防火墙:
[root@localhost ~]# service iptables restart
永久关闭防火墙:
[root@localhost ~]# chkconfig iptables off
永久关闭后启用:
[root@localhost ~]# chkconfig iptables on

CentOS 7
关闭防火墙
systemctl stop firewalld.service

14,时间设置

date命令将日期设置为2014年6月18日
---- date -s 06/18/14
将时间设置为14点20分50秒
---- date -s 14:20:50
将时间设置为2014年6月18日14点16分30秒(MMDDhhmmYYYY.ss)
----date 0618141614.30

执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->然后输入1。
需重启

不用重启
设置时区

sudo timedatectl set-timezone 'Asia/Shanghai'

date -R

date -s "2020-8-6 18:08:30"

hwclock -w

手记系列之七 ----- 分享Linux使用经验

15,远程拷贝

将本地/etc目录中所有的文件和子目录拷贝到IP为“192.168.60.135”的远程Linux系统的root用户下的/opt目录中:

scp -r /etc root@192.168.60.135:/opt

这里的选项“r”与cp命令的“r”选项含义相同。

如果端口不是22,则用一下命令

scp -r -P 8017 java/ root@192.169.2.206:/opt/

16,主机名称更改

输入

vim /etc/sysconfig/network

将localhost.localdomain修改为hserver1

CentOS7
hostnamectl set-hostname master
手记系列之七 ----- 分享Linux使用经验

17,更改服务器ip

编辑ifcfg-eth0 文件

vim /etc/sysconfig/network-scripts/ifcfg-eth0

修改如下内容:

BOOTPROTO="static" #dhcp改为static    ONBOOT="yes" #开机启用本配置   IPADDR=192.168.7.106 #静态IP   GATEWAY=192.168.7.1 #默认网关   NETMASK=255.255.255.0 #子网掩码   DNS1=192.168.7.1 #DNS 配置   

如果子网掩码是255.255.248.0
PREFIX需要改成21
PREFIX=21

重启网络服务:

service network restart

18,查看文件大小

查找大于200M的文件

find / -size +200M -exec ls -lh {} ;

使用

du -h --max-depth=1

/路径 查询文件夹占用显示该目录占用空间的总和
手记系列之七 ----- 分享Linux使用经验

参考:
https://blog.csdn.net/qq_16885135/article/details/52224997

19,查看系统版本命令

uname -a # 查看内核/操作系统/CPU信息

查看CPU信息(型号)

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c lsb_release -a

手记系列之七 ----- 分享Linux使用经验

top 查看使用情况

cat /proc/meminfo

若出现该异常: -bash: lsb_release: command not found

则需要安装:

yum install redhat-lsb -y

20,查看端口使用情况

netstat -ntlp 查看当前所有tcp端口

netstat -ntlp | grep 8080 查看指定的端口信息

netstat -apn | grep 80 查看包含80端口使用情况,包括进程id

lsof -i:8321 查看该端口是否使用

firewall-cmd --zone=public --add-port=5672/tcp --permanent   # 开放5672端口 firewall-cmd --zone=public --remove-port=5672/tcp --permanent  #关闭5672端口 firewall-cmd --reload   # 配置立即生效 

21,查看进程详细情况

ps -ef | grep ‘进程名称’ ps -aux | grep ‘进程名称’  ps -ef | grep ‘进程id’ ps -aux | grep ‘进程id’  pgrep java | xargs ps -u --pid  可以查看关于 Java的相关信息 

22,释放缓存

命令

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

手记系列之七 ----- 分享Linux使用经验

23,查看IO

iotop
手记系列之七 ----- 分享Linux使用经验

或者使用

iostat -x 1 10

该命令表示 每一秒输出一次,总共输出10次
如果没有,使用 yum install sysstat 进行下载

查看磁盘写入速度

time dd if=/dev/zero of=test.file bs=1G count=2 oflag=direct

参考: https://www.cnblogs.com/mauricewei/p/10502539.html

24,搜索文件内容

find . -name * -type f -print | xargs grep "abc123"

表示搜索在所有的文件中搜索包含 abc123 字符的文件。

25,查看机器启动时间、用户数和负载等等情况

uptime

手记系列之七 ----- 分享Linux使用经验

参数说明:

  1. 当前时间
  2. 系统已运行时间
  3. 用户数
  4. 最近1分钟、5分钟、15分钟的负载

这个负载数越小越好,如果有3个cpu,那么最后一个小于9的话,就说明正常。大于10就说明负载很严重。

26,查看某个程序打开文件的句柄

lsof -p 20308 | less

查看pid 20308 的使用

lsof -i:8080

查看8080端口的使用情况

27,查看CPU的详细情况

pidstat -urd -进程号

28,查看TCP连接数

一、查看哪些IP连接本机

netstat -an

二、查看TCP连接数

1)统计80端口连接数

netstat -nat|grep -i "80"|wc -l

2)统计httpd协议连接数

ps -ef|grep httpd|wc -l

3)、统计已连接上的,状态为“established

netstat -na|grep ESTABLISHED|wc -l

4)、查出哪个IP地址连接最多,将其封了.

netstat -na|grep ESTABLISHED|awk {print $5}|awk -F: {print
$1}|sort|uniq -c|sort -r +0n

netstat -na|grep SYN|awk {print $5}|awk -F: {print $1}|sort|uniq
-c|sort -r +0n

参考: https://blog.csdn.net/he_jian1/article/details/40787269

29,启动和查看后端挂起的命令

不挂断后台启动的命令:

nohup ./test &

后端挂起的命令查看

jobs  

手记系列之七 ----- 分享Linux使用经验

30,统计字符串在文件中出现的次数

grep -o "hello" demo.log | wc -l

-c 只显示有多少行匹配 ,而不具体显示匹配的行
-i 在字符串比较的时候忽略大小写
-n 在每一行前面打印该行在文件中的行数

31,rpm安装离线包

rpm -ivh 包全名
手记系列之七 ----- 分享Linux使用经验

此命令中各选项参数的含义为:

-i:安装(install); -v:显示更详细的信息(verbose); -h:打印 #,显示安装进度(hash); 

如果还有其他安装要求(比如强制安装某软件而不管它是否有依赖性),可以通过以下选项进行调整:

-nodeps:不检测依赖性安装。软件安装时会检测依赖性,确定所需的底层软件是否安装,如果没有安装则会报错。如果不管依赖性,想强制安装,则可以使用这个选项。注意,这样不检测依赖性安装的软件基本上是不能使用的,所以不建议这样做。 -replacefiles:替换文件安装。如果要安装软件包,但是包中的部分文件已经存在,那么在正常安装时会报"某个文件已经存在"的错误,从而导致软件无法安装。使用这个选项可以忽略这个报错而覆盖安装。 -replacepkgs:替换软件包安装。如果软件包已经安装,那么此选项可以把软件包重复安装一遍。 -force:强制安装。不管是否已经安装,都重新安装。也就是 -replacefiles 和 -replacepkgs 的综合。 -test:测试安装。不会实际安装,只是检测一下依赖性。 -prefix:指定安装路径。为安装软件指定安装路径,而不使用默认安装路径。 

参考:http://c.biancheng.net/view/2872.html

32,下载离线包

找一个有网的linux服务器
输入:
yum install yum-utils
然后输入:
yumdownloader 包名

示例:

参考:https://cloud.tencent.com/developer/article/1425567

手记系列之七 ----- 分享Linux使用经验

33,Linux的权限命令

权限是Linux中的重要概念,每个文件/目录等都具有权限,通过ls -l命令我们可以 查看某个目录下的文件或目录的权限
示例:在随意某个目录下ls -l

手记系列之七 ----- 分享Linux使用经验

第一列的内容的信息解释如下:
手记系列之七 ----- 分享Linux使用经验

文件的类型:

d:代表目录 -:代表文件 l:代表链接(可以认为是window中的快捷方式) 后面的9位分为3组,每3位置一组,分别代表属主的权限,与当前用户同组的    用户的权限,其他用户的权限 r:代表权限是可读,r也可以用数字4表示 w:代表权限是可写,w也可以用数字2表示 x:代表权限是可执行,x也可以用数字1表示 
属主(user)    属组(group)    其他用户 r    w    x    r    w    x    r    w    x 4    2    1    4    2    1    4    2    1 

修改文件/目录的权限的命令:chmod
示例:修改/test下的aaa.txt的权限为属主有全部权限,属主所在的组有读写权限,
其他用户只有读的权限

chmod u=rwx,g=rw,o=r aaa.txt

手记系列之七 ----- 分享Linux使用经验

上述示例还可以使用数字表示:

chmod 764 aaa.txt

34,linux定时任务执行

at命令用于在指定时间执行命令。at允许使用一套相当复杂的指定时间的方法。它能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。当然也能够使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的 词语来指定时间。用户还能够采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。 也能够指定命令执行的具体日期,指定格式为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。指定的日期必须跟在指定时间的后面。 

上面介绍的都是绝对计时法,其实还能够使用相对计时法,这对于安排不久就要执行的命令是很有好处的。指定格式为:now + count time-units,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,究竟是几天,还是几小时,等等。 更有一种计时方法就是直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。
设置定时任务
at
查看定时任务命令
atq
删除定时任务命令
atrm
ctrl+D 结束

手记系列之七 ----- 分享Linux使用经验

参考: https://www.cnblogs.com/kaituorensheng/p/4494321.html

100,linux命令大全

https://man.linuxde.net

Linux系统使用

安装部署

根据不同的场景可参考如下链接文档进行安装:

https://www.cnblogs.com/xuwujing/p/8044620.html

https://www.cnblogs.com/xuwujing/p/7536720.html

https://www.cnblogs.com/xuwujing/p/7536730.html

2,网络配置

进入系统后,输入ifconfig 查看ip
发现只有lo 本机ip

手记系列之七 ----- 分享Linux使用经验

输入ping 127.0.0.1 可以连接 说明网卡存在
输入ifconfig -a

手记系列之七 ----- 分享Linux使用经验

看到有4个网卡 找到对应网线插入的接口 并加载网卡
ifconfig em1 up 加载网卡(插入的是第一个)
然后配置网卡 输入 sudo vim /etc/network/interfaces
手记系列之七 ----- 分享Linux使用经验

进入之后 先输入 i 编辑 ,编辑完成后 按ESC 退出编辑 然后输入 : 退出命令
输入 wq 保存文档
输入cat /etc/network/interfaces 可查看编辑文档
完成后再输入 ping www.baidu.com
就可以ping通了
sudo dhclient em1 释放ip
问题: 开机每次都要释放ip才能上网
原因:设置成静态ip后,需要设置DNS
解决办法:在/etc/network/interfaces 添加 dns-nameservers 8.8.8.8 DNS信息

参考:http://blog.csdn.net/meic51/article/details/17321241

2,开启SSH服务

参考:http://www.cnblogs.com/yhyjy/p/3760500.html
先输入: ssh localhost
如果出现 ssh: connect to host localhost port 22: Connection refused
说明没有安装成功
先输入:sudo apt-get install openssh-server 安装命令
如果提示:Package openssh-server is not available 错误
那就先更新下: 命令: sudo apt-get update
更新完后再来安装 输入:sudo apt-get install openssh-server
卸载命令: sudo apt-get remove openssh-server
安装完后 输入: ps -e|grep ssh
出现sshd说明安装成功了

手记系列之七 ----- 分享Linux使用经验

如果没有启动成功:输入 sudo /etc/init.d/ssh start 或者 service ssh start

远程连接

本地通过xshell连接
手记系列之七 ----- 分享Linux使用经验
手记系列之七 ----- 分享Linux使用经验
手记系列之七 ----- 分享Linux使用经验

连接完成
点击xftp连接 出现 sftp子系统申请拒绝
解决办法
输入:

vim /etc/ssh/sshd_config

将Subsystem sftp /usr/lib/openssh/sftp-serverto
修改为 Subsystem sftp internal-sftp
没有的话就直接添加
添加成功后重启服务 service ssh restart

手记系列之七 ----- 分享Linux使用经验

然后就可以远程连接了

手记系列之七 ----- 分享Linux使用经验

如何没有网络的Linux机器上快速安装软件

方法一、使用RPM方式安装。

rpm -ivh fuse-2.8.3-5.el6.x86_64.rpm --force --nodeps

首先找到相关RPM安装包,然后使用rpm -ivh rpm包名 进行安装。

大部分RPM可在http://rpmfind.net/ 上找到。

方法二、使用另一台可以联网的机器使用RPM方式下载然后在进行传输。

使用 yum-plugin-downloadonly 命令进行下载

1.准备1台和服务器最简安装了同版本Linux的机器,记为机器B,机器B需要能联网。(可以使用虚拟机或者Docker容器)。

2.连接上机器B并使用如下命令:

安装yum-plugin-downloadonly插件

yum install -y yum-plugin-downloadonly

把vsftpd换成你想要的包名

yum install --downloadonly

3.下载的软件在这个路径

/var/cache/yum/x86_64/7/base/packages/

  1. 将所有RPM包拷贝到服务器上安装既可。如果安装过程中提示xxx已安装是否需要覆盖,全部选否。

拓展阅读
怎样在 CentOS 里下载 RPM 包及其所有依赖包:https://blog.csdn.net/linuxnews/article/details/53244315

Ubuntu其实也有类似的命令apt-get install -d --reinstall 包名 ,这样既可只下载包,而不安装包了,然后拷贝到无网络的机器上安装既可。

apt一键下载所有依赖的包:https://blog.csdn.net/junbujianwpl/article/details/52811153

参考: http://www.itmuch.com/work/install-software-without-network-in-linux/

nfs(共享文件使用)

Centos7.3版本自带有,6.x版本需要安装
6.x版本安装

yum -y install nfs-utils rpcbind

具体可以参考: https://www.cnblogs.com/liuyisai/p/5992511.html

使用方法
1.首先查看是否安装了nfs
输入一下命令检查:

rpm -qa |grep nfs rpm -qa | grep rpcbind 

手记系列之七 ----- 分享Linux使用经验

出现上述示例图表示ok

首先创建一个公共的共享文件夹,然后给该文件夹授权

mkdir esdata chmod -R 777 esdata esdata2 

如果是非root用户使用的话还需赋权

chown -R elastic:elastic esdata esdata2

服务端:
命令参考

vim /etc/exports

添加如下配置:

/opt/esdata *(rw,sync,no_root_squash,no_all_squash)

配置说明:

/opt/esdata :          本地路径,没有必须要先创建 *:                          权限控制,可以配置成可访问的IP地址或IP地址段 rw:                      权限,可以读写 sync:                      同步模式 root_squash:              如果client端以root等级,只能获取到nobody的权限 

手记系列之七 ----- 分享Linux使用经验

然后输入一下命令进行启动

service rpcbind start  service nfs start 

输入一下命令进行查看:

exportfs  showmount -e 

客户端:

输入以下命令进行共享

mount 192.169.2.232:/opt/esdata /opt/esdata   mount | grep nfs 

Windows和linux共同使用参考:
https://blog.51cto.com/u_14375810/2427482

权限更改参考:
https://blog.csdn.net/weixin_30610431/article/details/116609222

Nfs配置文件参考:
https://www.cnblogs.com/computer1-2-3/p/5210961.html

一些命令:

cat>>/etc/exports<<EOF

NFS server share directories

/data 192.168.9.32(rw,sync)
EOF

showmount -e 192.168.9.42

mount 192.168.9.32data x:

mount -t nfs 192.168.9.32:/data /opt

mount -t nfs 192.168.9.32:/data /home/t1/
mount -t nfs 192.168.9.42:/nfs /home/t1/

mount -t nfs4 -o intr,nolock 192.168.1.101:/mnt/nfs/leon /mnt/nfs

showmount -e 192.168.9.32

mount -t nfs 192.168.9.32:/data /mnt
echo "mount -t nfs 192.168.9.32:/data /mnt">>/etc/rc.local

cat>>/etc/exports<<EOF
/data/test2 192.168.9.32/24(rw,sync)
EOF

删除链接

net use z: /del

删除链接直接通过

net use z /delete /y

mkdir /data
chown -R root.root /data
ls -ld /data

cat>>/etc/exports<<EOF
/data 192.168.6.187/24(insecure,rw,sync)
EOF

exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount目录
-v :在export的时候,将详细的信息输出到屏幕上。
具体例子:

exportfs -au 卸载所有共享目录

exportfs -rv 重新共享所有目录并输出详细信息

NFS服务端搭建步骤
yum install nfs-utils rpcbind -y

systemctl start rpcbind
systemctl start nfs
ps -ef|grep rpc
ps -ef|grep nfs
lsof -i:111
rpcinfo -p localhost

systemctl enable rpcbind
systemctl enable nfs
systemctl list-unit-files --type=service|grep "enabled"|egrep "rpcbind|nfs"

mkdir /data
chown -R nfsnobody.nfsnobody /data

设置读写权限

chmod -R o+w /data
ls -ld /data

配置共享目录

cat>>/etc/exports<<EOF
/data 192.168.10.90(insecure,rw,sync)
EOF

检查服务

cat /etc/exports

Windows远程链接

mount 192.168.6.193data x:

mount 192.168.10.90homeuserfileadmin z:

mount -t nfs 192.168.6.191data x:

showmount -e 192.168.10.90

mount -t nfs 192.168.10.90:/data /mnt

1)建立空连接:
net use IPipc$ "" /user:"" (一定要注意:这一行命令中包含了3个空格)

2)建立非空连接:
net use IPipc$ "密码" /user:"用户名" (同样有3个空格)

3)映射默认共享:
net use z: IPc$ "密码" /user:"用户名" (即可将对方的c盘映射为自己的z盘,其他盘类推)

如果已经和目标建立了ipc访问,具体命令 net use z: IPc$

4)删除一个ipc(连接 net use IPipc) /del

5)删除共享映射
net use c: /del 删除映射的c盘,其他盘类推
net use * /del 删除全部,会有提示要求按y确认
net use x: /del

net use IP192.168.6.191 /del

192.168.6.191data

cat>>/etc/exports<<EOF
/home/guacamole/video 192.168.10.91/24(insecure,rw,sync,all_squash)
EOF

mount -t nfs 192.168.10.91:/home/guacamole/video /data/guacamole/video

永久挂载

vim /etc/rc.local
touch /var/lock/subsys/local
/bin/mount -t nfs 192.168.10.91:/home/guacamole/video /data/guacamole/video

Linux错误解决办法

1,bash:vi:command not find

export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 这样可以保证命令行命令暂时可以使用。命令执行完之后先不要关闭终端。

然后输入 vi /etc/profile 检查是否设置了Path属性 然后正确的更改path 属性 。
输入source /etc/profile 使配置生效 就ok了。

2,-bash: mysql: command not found

原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
ln -s /usr/local/mysql/bin/mysql /usr/bin

手记系列之七 ----- 分享Linux使用经验

linux下,在mysql正常运行的情况下,输入mysql提示:
mysql command not found
遇上-bash: mysql: command not found的情况别着急,这个是因为/usr/local/bin目录下缺失mysql导致,只需要一下方法建立软链接,即可以解决:
把mysql安装目录,比如MYSQLPATH/bin/mysql,映射到/usr/local/bin目录下:

cd /usr/local/bin

ln -fs /MYSQLPATH/bin/mysql mysql

还有其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决。
注:其中MYSQLPATH是mysql的实际安装路径

3,Temporary failure in name resolution 错误解决方法

可以修改/etc/resolv.conf,
找到nameserver项修改成下面的,没有的话添加下面的
nameserver 8.8.8.8
nameserver 8.8.4.4
使用的Google的name server。
后面别忘记了重启网络,service network restart 命令。
如何没有这个文件,就自己vim写个进入

4,Can't connect to local MySQL server through socket '/tmp/mysql.sock'

解决办法: 1.检查mysql是否启动 输入 service mysql status

5,xxx is not in the sudoers file. This incident will be reported

手记系列之七 ----- 分享Linux使用经验

原因:该用户没有加入到sudo的配置文件里

解决办法:
切换到root,输入 vi sudo
找到root ALL=(ALL) ALL位置,
在下面添加一行,将root改成你的用户名就可以了。然后退出保存就行。

手记系列之七 ----- 分享Linux使用经验

6,在linux输入命令提示:You have new mail in /var/spool/mail/root

原因:LINUX的邮年提示功能。

解决办法:
输入:
echo "unset MAILCHECK">> /etc/profile
去掉这个提示就可以了。

7,重启网卡出现 /org/freedesktop/NetworkManager/ActiveConnection/7

[root@cloud network-scripts]# service network restart

正在关闭接口 eth0: 设备状态:3 (断开连接)                                                            [确定] 关闭环回接口:                                             [确定] 弹出环回接口:                                             [确定] 弹出界面 eth0: 活跃连接状态:激活的 活跃连接路径:/org/freedesktop/NetworkManager/ActiveConnection/7 [确定] 

解决办法:

service NetworkManager stop chkconfig NetworkManager off service network restart 

8, WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED

使用该命令即可:
mv /root/.ssh/known_hosts /tmp

9,rpm 出现,Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

更改rpm格式为 rpm -ivh fuse-2.8.3-5.el6.x86_64.rpm --force --nodeps

Windows常用

1. 设置jdk切换的bat文件

新建一个文件,输入:

setx -m JAVA_HOME "D:Javajdk1.8.0_31" &pause

保存,并更改文件后缀名为 .bat。

2.设置自动关机的bat文件

自动关机
新建一个文件,输入:

shutdown -s -t 180

保存,并更改文件后缀名为 .bat。

取消自动关机
新建一个文件,输入:

shutdown -a

保存,并更改文件后缀名为 .bat。

3.Windows 查看端口

查看端口
netstat -aon|findstr "8080"

根据进程PID 找到是哪个程序占用
tasklist|findstr "2448"

查看所有的进程
netstat -noab

4.Windows的常用命令

Wind + R常用命令

  1. appwiz.cpl:程序和功能
  2. explorer:打开资源管理器,后面可以接路径
  3. cleanmgr: 打开磁盘清理工具,dfrgui:优化驱动器
  4. cmd:CMD命令提示符
  5. regedit:打开注册表
  6. compmgmt.msc:计算机管理
  7. control:控制面版
  8. devmgmt.msc:设备管理器
  9. dfrgui:优化驱动器
  10. diskmgmt.msc:磁盘管理
  11. hdwwiz.cpl:设备管理器
  12. inetcpl.cpl:Internet属性
  13. logoff:注销命令
  14. 自动关机命令shoutdown -s:关机 -r:重启 -a:取消
    shutdown -s -t 600:表示600秒后自动关机
    shutdown -a :可取消定时关机
    shutdown -r -t 600:表示600秒后自动重启

5.Windows TPC 缓冲自适应

netsh int tcp set global autotuninglevel=normal

6.Windows10内存占用高问题

1.在 服务中关闭 sysmain
2.在电源选项中关闭快速启动

手记系列之七 ----- 分享Linux使用经验

手记系列之七 ----- 分享Linux使用经验

7.链接创建

mklink 命令
mklink /j C:UsersAdministratorDesktopeeeee5 X:
mklink /d C:UsersAdministratorDesktopeeeee5 X:

8.磁盘映射和远程链接

net use * /delete /y

cat>>/etc/exports<<EOF
NFS server share directories
/data 192.168.9.32(rw,sync)
EOF

showmount -e 192.168.9.42

mount 192.168.9.32data x:

mount -t nfs 192.168.9.32:/data /opt

mount -t nfs 192.168.9.32:/data /home/t1/
mount -t nfs 192.168.9.42:/nfs /home/t1/

mount -t nfs4 -o intr,nolock 192.168.1.101:/mnt/nfs/leon /mnt/nfs

showmount -e 192.168.9.32

mount -t nfs 192.168.9.32:/data /mnt
echo "mount -t nfs 192.168.9.32:/data /mnt">>/etc/rc.local

cat>>/etc/exports<<EOF
/data/test2 192.168.9.32/24(rw,sync)
EOF

删除链接

net use z: /del

删除链接直接通过

net use z /delete /y

mkdir /data
chown -R root.root /data
ls -ld /data

cat>>/etc/exports<<EOF
/data 192.168.6.187/24(insecure,rw,sync)
EOF

exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount目录
-v :在export的时候,将详细的信息输出到屏幕上。
具体例子:

exportfs -au 卸载所有共享目录

exportfs -rv 重新共享所有目录并输出详细信息

NFS服务端搭建步骤
yum install nfs-utils rpcbind -y

systemctl start rpcbind
systemctl start nfs
ps -ef|grep rpc
ps -ef|grep nfs
lsof -i:111
rpcinfo -p localhost

systemctl enable rpcbind
systemctl enable nfs
systemctl list-unit-files --type=service|grep "enabled"|egrep "rpcbind|nfs"

mkdir /data
chown -R nfsnobody.nfsnobody /data

设置读写权限

chmod -R o+w /data
ls -ld /data

配置共享目录

cat>>/etc/exports<<EOF
/data 192.168.10.90(insecure,rw,sync)
EOF

检查服务

cat /etc/exports

Windows远程链接

mount 192.168.6.193data x:

mount 192.168.10.90homeuserfileadmin z:

mount -t nfs 192.168.6.191data x:

showmount -e 192.168.10.90

mount -t nfs 192.168.10.90:/data /mnt

1)建立空连接:
net use IPipc$ "" /user:"" (一定要注意:这一行命令中包含了3个空格)

2)建立非空连接:
net use IPipc$ "密码" /user:"用户名" (同样有3个空格)

3)映射默认共享:
net use z: IPc$ "密码" /user:"用户名" (即可将对方的c盘映射为自己的z盘,其他盘类推)

如果已经和目标建立了ipc访问,具体命令 net use z: IPc$

4)删除一个ipc(连接 net use IPipc) /del

5)删除共享映射
net use c: /del 删除映射的c盘,其他盘类推

net use * /del 删除全部,会有提示要求按y确认

net use x: /del

net use IP192.168.6.191 /del

192.168.6.191data

9.Java服务后台启动

后台启动

@echo off
start javaw -jar file-client.jar
exit

以管理员方式后台启动

@echo off
setlocal EnableDelayedExpansion
color 3e

PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas
start javaw -jar link-client.jar
exit

10.查看TCP连接数

查看总共有的连接数:

netstat -an -p tcp | find "ESTABLISHED" /c

查看该IP的连接数:

netstat -an -p tcp | find "X.X.X.X" | find "ESTABLISHED" /c

查看该IP这个端口的连接数:

netstat -an -p tcp | find "X.X.X.X:PORT" | find "ESTABLISHED" /c

其他

不出意外的话,这应该是手记系列的最后一篇了,这个系列也算完结了,本以为整理一下笔记发出来不会花费太多时间,没想到整理加排版都往三个小时往上走了。
看着自己的笔记,从刚开始工作记录在txt文本,然后增加图片到word文档,从最开始的几十kb到现在接近40MB,记录了太多太多了,这里面包含各种各样的知识,小到一个Java方法,大到一个技术点的理论和实战整合。这些中有不少已经被整理成博客了,但是更多的还没整理,后续有时间在一个个的抽出来写成博客吧~

手记系列之七 ----- 分享Linux使用经验
手记系列之七 ----- 分享Linux使用经验

手记系列

记载个人从刚开始工作到现在各种杂谈笔记、问题汇总、经验累积的系列。

手记系列