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

前言

本篇文章主要介绍的关于本人在使用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用户

普通用户使用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 并解除注释,更改端口

重启 ssh 输入: service sshd restart

重启之后就要重新登录了

10,获取文件权限

输入: chmod -R 777 文件名

11,查看磁盘空间

查看整个磁盘空间: df -h

查看当前文件夹磁盘使用情况: du --max-depth=1 -h

查看指定路径的大小:du -sh /root/sw

查看目录使用的磁盘空间: df -h 目录

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

查看磁盘对应的目录

mount

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 ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/2b9b0a1a631d1703d9aa9934119ef898.webp) ### 15,远程拷贝 将本地/etc目录中所有的文件和子目录拷贝到IP为"192.168.60.135"的远程Linux系统的root用户下的/opt目录中: > scp -r /etc [email protected]:/opt 这里的选项"r"与cp命令的"r"选项含义相同。 如果端口不是22,则用一下命令 > scp -r -P 8017 java/ [email protected]:/opt/ ### 16,主机名称更改 输入 > vim /etc/sysconfig/network 将localhost.localdomain修改为hserver1 CentOS7 hostnamectl set-hostname master ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/a804ab101542f61b7b837adaf1add681.webp) ### 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 /路径 查询文件夹占用显示该目录占用空间的总和 ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/b4b865345dc4ef6b5c7c74657666e3b7.webp) 参考: ### 19,查看系统版本命令 uname -a # 查看内核/操作系统/CPU信息 查看CPU信息(型号) > cat /proc/cpuinfo \| grep name \| cut -f2 -d: \| uniq -c lsb_release -a ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/4d0ed633af37d940a7e47cecfdcb5f12.webp) 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 ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/e05f4a94eae133a1cfa72def1779b5d6.webp) ### 23,查看IO > iotop > ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/87d62f57c3529083d2afb7a121d0138f.webp) 或者使用 > iostat -x 1 10 该命令表示 每一秒输出一次,总共输出10次 如果没有,使用 yum install sysstat 进行下载 查看磁盘写入速度 > time dd if=/dev/zero of=test.file bs=1G count=2 oflag=direct 参考: ### 24,搜索文件内容 > find . -name \* -type f -print \| xargs grep "abc123" 表示搜索在所有的文件中搜索包含 abc123 字符的文件。 ### 25,查看机器启动时间、用户数和负载等等情况 > uptime ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/a1a27788c07a4a9b14683301128c4c45.webp) 参数说明: 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 参考: ### 29,启动和查看后端挂起的命令 不挂断后台启动的命令: > nohup ./test \& 后端挂起的命令查看 jobs ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/336c21a4c24cfeb2a6afee55d63a746e.webp) ### 30,统计字符串在文件中出现的次数 grep -o "hello" demo.log \| wc -l -c 只显示有多少行匹配 ,而不具体显示匹配的行 -i 在字符串比较的时候忽略大小写 -n 在每一行前面打印该行在文件中的行数 ### 31,rpm安装离线包 rpm -ivh 包全名 ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/b9c17423da4834b3464d4c5e9919e269.webp) 此命令中各选项参数的含义为: -i:安装(install); -v:显示更详细的信息(verbose); -h:打印 #,显示安装进度(hash); 如果还有其他安装要求(比如强制安装某软件而不管它是否有依赖性),可以通过以下选项进行调整: -nodeps:不检测依赖性安装。软件安装时会检测依赖性,确定所需的底层软件是否安装,如果没有安装则会报错。如果不管依赖性,想强制安装,则可以使用这个选项。注意,这样不检测依赖性安装的软件基本上是不能使用的,所以不建议这样做。 -replacefiles:替换文件安装。如果要安装软件包,但是包中的部分文件已经存在,那么在正常安装时会报"某个文件已经存在"的错误,从而导致软件无法安装。使用这个选项可以忽略这个报错而覆盖安装。 -replacepkgs:替换软件包安装。如果软件包已经安装,那么此选项可以把软件包重复安装一遍。 -force:强制安装。不管是否已经安装,都重新安装。也就是 -replacefiles 和 -replacepkgs 的综合。 -test:测试安装。不会实际安装,只是检测一下依赖性。 -prefix:指定安装路径。为安装软件指定安装路径,而不使用默认安装路径。 参考: ### 32,下载离线包 找一个有网的linux服务器 输入: yum install yum-utils 然后输入: yumdownloader 包名 示例: 参考: ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/a163138465b0dbce063578cbb34131fa.webp) ### 33,Linux的权限命令 权限是Linux中的重要概念,每个文件/目录等都具有权限,通过ls -l命令我们可以 查看某个目录下的文件或目录的权限 示例:在随意某个目录下ls -l ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/4ed29039c3f5e6da3ec1692063505cc3.webp) 第一列的内容的信息解释如下: ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/8776e80f7196bc7a62b9b9cdeb27dc70.webp) 文件的类型: 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 ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/0b1e95dcae82554cfd197706d59fb95d.webp) 上述示例还可以使用数字表示: > 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 结束 ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/0d782e7bc5d6a36c5a32c21906cb0a37.webp) 参考: ### 100,linux命令大全 ## Linux系统使用 ### 安装部署 根据不同的场景可参考如下链接文档进行安装: > > > > > ### 2,网络配置 进入系统后,输入ifconfig 查看ip 发现只有lo 本机ip ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/170d29a7b2c848d805914a0d860d1abe.webp) 输入ping 127.0.0.1 可以连接 说明网卡存在 输入ifconfig -a ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/b11e2a39e636ef43815c2ec5ebb54c50.webp) 看到有4个网卡 找到对应网线插入的接口 并加载网卡 ifconfig em1 up 加载网卡(插入的是第一个) 然后配置网卡 输入 sudo vim /etc/network/interfaces ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/2bb107a96616c4a4c14ab432a3eedcd7.webp) 进入之后 先输入 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信息 参考: ### 2,开启SSH服务 参考: 先输入: 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说明安装成功了 ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/fc987a665f3650f0aa8b63b48ecdb993.webp) 如果没有启动成功:输入 sudo /etc/init.d/ssh start 或者 service ssh start ### 远程连接 本地通过xshell连接 ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/60501ef3de3ef1a9e55d99608532f231.webp) ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/ee403cb224db8fae1e50ea178839d764.webp) ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/a984c00c87d236841f47c9a1ea28547c.webp) 连接完成 点击xftp连接 出现 sftp子系统申请拒绝 解决办法 输入: > vim /etc/ssh/sshd_config 将Subsystem sftp /usr/lib/openssh/sftp-serverto 修改为 Subsystem sftp internal-sftp 没有的话就直接添加 添加成功后重启服务 service ssh restart ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/e3c0dfc8ff03b8c40b135b967bdf2195.webp) 然后就可以远程连接了 ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/946d9a421ef5c4684de429c0da429298.webp) ### 如何没有网络的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/ 4. 将所有RPM包拷贝到服务器上安装既可。如果安装过程中提示xxx已安装是否需要覆盖,全部选否。 拓展阅读 怎样在 CentOS 里下载 RPM 包及其所有依赖包: Ubuntu其实也有类似的命令apt-get install -d --reinstall 包名 ,这样既可只下载包,而不安装包了,然后拷贝到无网络的机器上安装既可。 apt一键下载所有依赖的包: 参考: ### nfs(共享文件使用) Centos7.3版本自带有,6.x版本需要安装 6.x版本安装 > yum -y install nfs-utils rpcbind 具体可以参考: 使用方法 1.首先查看是否安装了nfs 输入一下命令检查: rpm -qa |grep nfs rpm -qa | grep rpcbind ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/50035f2d7da64dca2b34ea58307f27b0.webp) 出现上述示例图表示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的权限 ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/f28427a93d320603167ba2ed355d99da.webp) 然后输入一下命令进行启动 service rpcbind start service nfs start 输入一下命令进行查看: exportfs showmount -e 客户端: 输入以下命令进行共享 mount 192.169.2.232:/opt/esdata /opt/esdata mount | grep nfs Windows和linux共同使用参考: 权限更改参考: Nfs配置文件参考: 一些命令: > cat\>\>/etc/exports\<\ showmount -e 192.168.9.42 > > mount \\192.168.9.32\\data 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\<\ > /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\<\ > /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.193\data x:\

mount \192.168.10.90\home\userfile\admin z:\

mount -t nfs \192.168.6.191\data x:\

showmount -e 192.168.10.90

mount -t nfs 192.168.10.90:/data /mnt

1)建立空连接:

net use \IP\ipc$ "" /user:"" (一定要注意:这一行命令中包含了3个空格)

2)建立非空连接:

net use \IP\ipc$ "密码" /user:"用户名" (同样有3个空格)

3)映射默认共享:

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

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

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

5)删除共享映射

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

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

net use x: /del

net use \IP\192.168.6.191 /del

\192.168.6.191\data

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下,在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

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

解决办法:

切换到root,输入 vi sudo

找到root ALL=(ALL) ALL位置,

在下面添加一行,将root改成你的用户名就可以了。然后退出保存就行。

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:\\Java\\jdk1.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.在电源选项中关闭快速启动 ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/ae8f82c1b124e364004e3dc4c8531d72.webp) ![在这里插入图片描述](https://file.jishuzhan.net/article/1720774567137382402/32e35810350f2bf1c92cd33e5dbad1ad.webp) ### 7.链接创建 mklink 命令 mklink /j C:\\Users\\Administrator\\Desktop\\eeeee5 X: mklink /d C:\\Users\\Administrator\\Desktop\\eeeee5 X:\\ ### 8.磁盘映射和远程链接 > net use \* /delete /y > > cat\>\>/etc/exports\<\ > NFS server share directories > > /data 192.168.9.32(rw,sync) > > EOF > > showmount -e 192.168.9.42 > > mount \\192.168.9.32\\data 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\<\ > /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\<\ > /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.193\data x:\

mount \192.168.10.90\home\userfile\admin z:\

mount -t nfs \192.168.6.191\data x:\

showmount -e 192.168.10.90

mount -t nfs 192.168.10.90:/data /mnt

1)建立空连接:

net use \IP\ipc$ "" /user:"" (一定要注意:这一行命令中包含了3个空格)

2)建立非空连接:

net use \IP\ipc$ "密码" /user:"用户名" (同样有3个空格)

3)映射默认共享:

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

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

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

5)删除共享映射

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

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

net use x: /del

net use \IP\192.168.6.191 /del

\192.168.6.191\data

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方法,大到一个技术点的理论和实战整合。这些中有不少已经被整理成博客了,但是更多的还没整理,后续有时间在一个个的抽出来写成博客吧~


手记系列

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

手记系列

一首很带感的动漫钢琴曲~

原创不易,如果感觉不错,希望给个推荐!您的支持是我写作的最大动力!

版权声明:

作者:虚无境

博客园出处:http://www.cnblogs.com/xuwujing

CSDN出处:http://blog.csdn.net/qazwsxpcm

个人博客出处:https://xuwujing.github.io/

相关推荐
cg501721 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影1 天前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain1 天前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon1 天前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu1 天前
ubuntu中使用安卓模拟器
android·linux·ubuntu
GalaxyPokemon1 天前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
自由鬼1 天前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve
瞌睡不来1 天前
(学习总结32)Linux 基础 IO
linux·学习·io
inquisiter1 天前
UEFI镜像结构布局
linux·spring