Jerry's Blog - 碎碎念

我想就这样牵着 你的手不放开


  • 首页

  • 归档18

  • 分类13

  • 标签5

  • 关于

  • 公益 404

  • 搜索

linux 常用命令

发表于 2016-02-28 | 更新于 2018-07-28 | 分类于 linux | | 阅读次数:
本文字数: 9k | 阅读时长 ≈ 8 分钟

开关机

1
2
shutdown -d now #立即关机
reboot #重启

开机模式切换

设置开机之后,进入到何种模式(图像界面、单用户、多用户等)

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
[root@linux1 ~]# vi /etc/inittab 
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode 单用户命令行模式
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode 完整的多用户命令行模式
# 4 - unused
# 5 - X11 图形界面
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:

从命令行模式切换到图形界面,需要在能够直接连接主机的地方(比如:VMware)

1
2
[root@linux1 ~]# startx
[root@linux1 ~]# init 5 #可能不起作用

在VMware虚拟主机模式下,从图形界面切换到命令行模式

1
2
3
windows系统快捷键:ctrl + alt + F1

[root@linux1 ~]# init 3 #可能不起作用
阅读全文 »
相关文章
  • linux mount/umount 挂载/卸载ISO镜像
  • linux 修改hostname
  • linux 网卡设置/虚拟机克隆后网卡启动失败
  • ssh-keygen 密钥
  • vim编辑器用法

linux 修改hostname

发表于 2016-02-28 | 更新于 2018-07-28 | 分类于 linux | | 阅读次数:
本文字数: 1.3k | 阅读时长 ≈ 1 分钟

立即生效,非永久保存

此种方式修改,会立即生效,但是在重启系统之后会被还原

1
2
3
[root@linux1 ~]# hostname linux2.jerry.com
[root@linux1 ~]# hostname
linux2.jerry.com

重启后生效,永久保存

此种方式修改,不会立即生效,但在重启之后会生效

1
2
3
4
[root@linux1 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=linux2.jerry.com
NTPSERVERARGS=iburst

以上两种方式结合,即能做到立即生效并永久保存

剖析hostname的设置

hostname是Linux系统下的一个内核参数,它保存在/proc/sys/kernel/hostname下,但是它的值是Linux启动时从rc.sysinit读取的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@linux1 ~]# vi /etc/rc.d/rc.sysinit 
#!/bin/bash
#
# /etc/rc.d/rc.sysinit - run once at boot time
#
# Taken in part from Miquel van Smoorenburg's bcheckrc.
#

HOSTNAME=$(/bin/hostname)

set -m

if [ -f /etc/sysconfig/network ]; then
. /etc/sysconfig/network
fi
if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
HOSTNAME=localhost
fi

结论:/etc/sysconfig/network确实是hostname的配置文件,hostname的值跟该配置文件中的HOSTNAME有一定的关联关系,但是没有必然关系,hostname的值来自内核参数/proc/sys/kernel/hostname,如果我通过命令sysctl kernel.hostname=Test修改了内核参数,那么hostname就变为了Test了

1
2
3
4
5
6
7
8
9
10
11
12
[root@linux1 ~]# cat /proc/sys/kernel/hostname
linux2.jerry.com
[root@linux1 ~]# sysctl kernel.hostname=Test #修改内核参数
kernel.hostname = Test
[root@linux1 ~]# hostname #hostname已经被修改了
Test
[root@linux1 ~]# cat /proc/sys/kernel/hostname #内核参数也变化了
Test
[root@linux1 ~]# cat /etc/sysconfig/network #hostname的配置文件没有变化
NETWORKING=yes
HOSTNAME=linux2.jerry.com
NTPSERVERARGS=iburst
相关文章
  • linux mount/umount 挂载/卸载ISO镜像
  • linux 常用命令
  • linux 网卡设置/虚拟机克隆后网卡启动失败
  • ssh-keygen 密钥
  • vim编辑器用法

linux 网卡设置/虚拟机克隆后网卡启动失败

发表于 2016-02-28 | 更新于 2018-07-28 | 分类于 linux , 网络设置 | | 阅读次数:
本文字数: 3.8k | 阅读时长 ≈ 3 分钟

静态IP设置

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
34
35
36
37
[root@linux1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
NAME="System eth0"
TYPE=Ethernet
UUID=9dc04a99-b654-4673-9b19-5100a2b03c51
NM_CONTROLLED=yes
ONBOOT=yes #开机自动启用此网卡设置
BOOTPROTO=static #启用静态IP地址
IPADDR=192.168.245.201 #设置IP地址
GATEWAY=192.168.245.2 #设置网关
NETMASK=255.255.255.0 #设置子网掩码
DNS1=114.114.114.114 #设置主DNS
HWADDR=00:0C:29:D1:9C:4D #网卡mac地址
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
LAST_CONNECT=1451228780

[root@linux1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME="System eth0"
TYPE=Ethernet
UUID=9dc04a99-b654-4673-9b19-5100a2b03c51
NM_CONTROLLED=yes
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.245.201
GATEWAY=192.168.245.2
NETMASK=255.255.255.0
DNS1=114.114.114.114
HWADDR=00:0C:29:D1:9C:4D
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
LAST_CONNECT=1451228780

虚拟机中克隆linux后网卡启动失败

克隆的linux主机在启动之后,mac地址发生了变化或者冲突了,重启网卡会出现以下错误

1
2
3
4
5
[root@linux1 rules.d]# service network restart
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: Error: No suitable device found: no device found for connection 'System eth0'.
[FAILED]

解决办法:我们需要修改mac地址
linux主机启动之后,会多出一个DHCP自动分配的网卡eth1(如果没有,通过图形界面配置一个自动获取IP的网卡),找到HWaddr 00:0C:29:D1:9C:4D这一串信息,我们要用到的是新的网卡mac地址:00:0C:29:D1:9C:4D

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@linux1 Desktop]# startx #进入linux图形界面
[root@linux1 Desktop]# ifconfig #查看所有网卡信息
eth1 Link encap:Ethernet HWaddr 00:0C:29:D1:9C:4D
inet6 addr: fe80::20c:29ff:fed1:9c4d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1574 errors:0 dropped:0 overruns:0 frame:0
TX packets:153 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:108954 (106.4 KiB) TX bytes:13586 (13.2 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:62 errors:0 dropped:0 overruns:0 frame:0
TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4212 (4.1 KiB) TX bytes:4212 (4.1 KiB)

修改网卡eth0配置中的HWADDR值(网卡mac地址),使用上面的新mac地址:00:0C:29:D1:9C:4D

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@linux1 Desktop]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
[root@linux1 Desktop]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=9dc04a99-b654-4673-9b19-5100a2b03c51
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.245.201
PREFIX=24
GATEWAY=192.168.245.2
DNS1=114.114.114.114
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:0C:29:D1:9C:4D
LAST_CONNECT=1451228780

修改/etc/udev/rules.d/70-persistent-net.rules配置中的mac地址,改成和上面的一致

1
2
3
4
5
6
7
8
9
10
[root@linux1 rules.d]# vi /etc/udev/rules.d/70-persistent-net.rules
[root@linux1 rules.d]# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0C:29:D1:9C:4D", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

删除掉网卡eth1(如果不需要的话),重启网卡就能生效了

1
2
3
[root@linux1 rules.d]# ifup eth0
Active connection state: activated
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/3
相关文章
  • linux mount/umount 挂载/卸载ISO镜像
  • linux 修改hostname
  • linux 常用命令
  • ssh-keygen 密钥
  • vim编辑器用法

linux mount/umount 挂载/卸载ISO镜像

发表于 2016-02-28 | 更新于 2018-07-28 | 分类于 linux , mount , yum | | 阅读次数:
本文字数: 3.6k | 阅读时长 ≈ 3 分钟

虚拟机加载ISO镜像

在VMWare中的Linux虚拟机设置ISO镜像文件的路径,先完成设置,接着连接

mount挂载

先在/media目录下创建cdrom文件夹,用于统一的挂载ISO镜像文件,这样便于日常操作

1
2
[root@linux1 /]# cd /media
[root@linux1 media]# mkdir cdrom

linux光驱加载的文件路径默认是在/dev/cdrom目录下,但不能操作也不能像文件夹那样直接操作,所以用mount命令挂载到物理路径

1
2
3
4
5
6
[root@linux1 cdrom]# mount /dev/cdrom /media/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@linux1 media]# ll cdrom/ #接下来就可以像普通文件夹一样操作ISO镜像中的文件夹了,但这只是只读的喔
l^H^H^H^H^H^H^H^H^H^Htotal 863
dr-xr-xr-x. 3 root root 2048 Sep 26 2014 EFI
-r--r--r--. 1 root root 8724 Nov 7 2012 EULA

配置简单的本地YUM源

baseurl:文件的路径;enabled:启用当前yum源;gpgcheck:gpg检查不启用

1
2
3
4
5
6
7
[root@linux1 ~]# cd /etc/yum.repos.d/
[root@linux1 yum.repos.d]# cat rhel6-iso.repo
[rhel-source]
name=Red Hat Enterprise Linux 6 ISO
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0

测试本地YUM源是否配置好了

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
34
35
36
37
38
[root@linux1 yum.repos.d]# yum clean all #清空缓存
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Cleaning repos: rhel-source
Cleaning up Everything
[root@linux1 yum.repos.d]# yum list vsftp* #查找软件
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel-source | 4.1 kB 00:00 ...
rhel-source/primary_db | 3.1 MB 00:00 ...
Available Packages
vsftpd.x86_64 2.2.2-12.el6_5.1 rhel-source
[root@linux1 yum.repos.d]# yum install vsftpd.x86_64 #安装软件
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:2.2.2-12.el6_5.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================================================================
Package Arch Version Repository Size
=======================================================================================================================================================================
Installing:
vsftpd x86_64 2.2.2-12.el6_5.1 rhel-source 151 k

Transaction Summary
=======================================================================================================================================================================
Install 1 Package(s)

Total download size: 151 k
Installed size: 331 k
Is this ok [y/N]: n #输入“n”取消安装
Exiting on user Command
[root@linux1 yum.repos.d]#

卸载ISO镜像【重要】

使用完了,记得一定要卸载掉喔~~~

1
2
3
[root@linux1 media]# umount /media/cdrom
[root@linux1 media]# ll cdrom/
total 0

如果要退出光驱,可以使用以下命令

1
[root@linux1 media]# eject /dev/cdrom
相关文章
  • linux 修改hostname
  • linux 常用命令
  • linux 网卡设置/虚拟机克隆后网卡启动失败
  • ssh-keygen 密钥
  • vim编辑器用法

MyBatis Plugin 学习使用

发表于 2016-02-19 | 更新于 2018-07-28 | 分类于 IntelliJ Idea | | 阅读次数:
本文字数: 3.2k | 阅读时长 ≈ 3 分钟

关于本教程

以下教程仅供学习使用,针对于IntelliJ Idea 15(目前已经支持IntelliJ Idea 2016)中的Mybatis Plugin插件(https://plugins.jetbrains.com/plugin/7293?pr=idea),后续作者会抽业余时间更新

如果你觉得本项目能帮助到你,那就Fork一下吧

项目地址:https://github.com/myoss/profile

下载插件

前提你已经在IntelliJ Idea中安装好了Mybatis Plugin,并且重启过了IntelliJ Idea。

下载profile项目(项目地址:https://github.com/myoss/profile)之后,找到目录:profile\idea\plugin\MybatisPlugin,并选择IntelliJ Idea中安装Mybatis Plugin的版本

1
git clone git@github.com:myoss/profile.git

windows系统

查找Idea插件配置目录

IntelliJ Idea安装Mybatis Plugin之后,默认保存的位置如下,前提你没有更改过IntelliJ Idea配置目录

1
C:\Users\你的账户目录\.IntelliJIdea15\config\plugins\mybatis_plus\lib

替换class文件

用WinRAR打开mybatis_plus.jar,将目录profile\idea\plugin\MybatisPlugin\对应的版本号\下的com文件夹拖进WinRAR,根据提示覆盖即可

重启IntelliJ Idea

就这样完成了,教程完毕

mac os系统

由于mac os中IntelliJ Idea的配置文件目录不一致,所以配置起来有些不一样。linux系统中应该类似,我没有验证,如果有兄弟验证过还请告诉我,感谢

查找Idea插件配置目录

使用find命令在你的用户目录下查找mybatis_plus.jar这个文件(前提你没有更改过IntelliJ Idea的配置目录,如果更改了从根目录下查找吧,花费的时间可能会多点)

1
2
3
4
5
$ find ~ -name "mybatis_plus.jar"
/Users/jerry-osx-m/Library/Application Support/IntelliJIdea15/mybatis_plus/lib/mybatis_plus.jar

$ find ~ -name "mybatis_plus.jar"
/Users/Jerry/Library/Application Support/IntelliJIdea2016.1/mybatis_plus/lib/mybatis_plus.jar

替换class文件

方法1,在windows系统中将mybatis_plus.jar包替换好,然后替换掉mac的mybatis_plus.jar即可。

方法2,在mac 终端中,使用以下命令进行替换

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
$ pwd
/Users/jerry/Library/Application Support/IntelliJIdea2016.3/mybatis_plus/lib
$ ls
mybatis-generator-core-1.3.2.jar mybatis_plus.jar ref.idea.common-1.0.jar

# 将要使用版本的 com 文件复制到当前目录中
$ cp -R ~/workspaces/github/profile/idea/plugin/MybatisPlugin/v2.7~v2.87/ .
$ ls
com mybatis_plus.jar
mybatis-generator-core-1.3.2.jar ref.idea.common-1.0.jar

# 使用 jar 命令进行替换,注意 com 文件夹一定要当前目录下面
$ jar uvf mybatis_plus.jar com
正在添加: com/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/seventh7/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/seventh7/mybatis/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/seventh7/mybatis/dom/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/seventh7/mybatis/dom/model/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/seventh7/mybatis/ref/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/seventh7/mybatis/ref/license/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/seventh7/mybatis/ref/license/ActivationDriver$1.class(输入 = 1926) (输出 = 797)(压缩了 58%)
正在添加: com/seventh7/mybatis/ref/license/ActivationDriver.class(输入 = 1398) (输出 = 656)(压缩了 53%)
正在添加: com/seventh7/mybatis/ref/RefProject$1.class(输入 = 2224) (输出 = 1092)(压缩了 50%)
正在添加: com/seventh7/mybatis/ref/RefProject.class(输入 = 1982) (输出 = 919)(压缩了 53%)
正在添加: com/seventh7/mybatis/service/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/seventh7/mybatis/service/JavaService$1.class(输入 = 1408) (输出 = 613)(压缩了 56%)
正在添加: com/seventh7/mybatis/service/JavaService$2.class(输入 = 1312) (输出 = 575)(压缩了 56%)
正在添加: com/seventh7/mybatis/service/JavaService.class(输入 = 10921) (输出 = 4166)(压缩了 61%)
正在添加: com/seventh7/mybatis/util/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/seventh7/mybatis/util/JavaUtils$SystemData.class(输入 = 3412) (输出 = 1602)(压缩了 53%)
正在添加: com/seventh7/mybatis/util/JavaUtils.class(输入 = 13339) (输出 = 4773)(压缩了 64%)
正在添加: com/seventh7/mybatis/dom/model/Completion.class(输入 = 1663) (输出 = 923)(压缩了 44%)

方法3,参考网友在mac中使用类似 WinRar 软件进行替换:点击我跳转

重启IntelliJ Idea

就这样完成了,教程完毕

相关文章
  • IntelliJ Idea 常用插件
  • IntelliJ Idea 设置中的Copyright和scopes关联起来
  • IntelliJ Idea 快捷键映射
  • IntelliJ Idea 配置同步
  • Mac开发环境搭建-v2
1234
Jerry

Jerry

好记性不如烂笔头

18 日志
13 分类
5 标签
RSS
GitHub 知乎 OSChina Sina Git操作 Mac开发环境
Links
  • myoss cloud
  • Git Guide
© 2016 – 2020 Jerry | 111k | 1:41
由 Hexo 强力驱动 v3.7.1
|
主题 – NexT.Gemini v6.4.0
0%