GNU是一个自由软件操作系统—就是说,它尊重其使用者的自由。GNU操作系统包括GNU软件包(专门由GNU工程发布的程序)和由第三方发布的自由软件。GNU的开发使你能够使用电脑而无需安装可能会侵害你自由的软件。
我们很熟悉的Linux就是采用了GPL.GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样.GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售.这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了.
GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用 GPL协议,既必须也是开源和免费.这就是所谓的“传染性”.GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势.
由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础.
最常见的开源协议,使用它作为授权协议的有大名鼎鼎的 Linux .GPL最显著的两个特点就是网上称为的“病毒性传播”和“不允许闭源的商业发布”.
修改网卡
1.修改配置文件名称
/etc/sysconfig/network-scripts/
名称为:ifcfg-xxx
2.修改配置文件内的 device 和name
3.修改内核参数
vi /etc/sysconfig/grub
quiet 前加入 net.ifnames=0 biosdevname =0
4.更新参数
grub2-mkconfig -o /boot/grub2/grub.cfg
5.重启
shutdown -r now
```
# 远程连接出现异常的排查思路
01. 确保网络链路是否通畅
ping IP地址信息
解决问题:
a. 虚拟网络设置是否正确
b. 虚拟主机网卡设置
c. 虚拟主机系统中网络地址配置
d. 在系统的服务中(window+r->services.msc vmware nat services 是否开启)
e. 确认物理主机上有和虚拟主机相同虚拟网卡信息(地址配置正确)
02. 有你的女朋友阻止你
解决问题:
a. 网络安全服务进行了阻止(iptables firewalld 防火墙服务)
03. telnet 地址信息 服务端口号
解决问题:
a. 确认远程连接服务是否开启
b. 确认服务端口号信息是否发生了变化
关机
shutdown halt关闭不切电源慎用
poweroff 切电源 init 0
shutdown -h 3 3分钟后关机
后面加-c可以终止命令
shutdown -r 重启
shutdown -r now
帮助命令 man mannual 帮助手册信息
man 命令信息shutdown
命令帮助信息中, 语法中的中括号信息可有可无
补充说明:有些命令是不能通过man手册获取帮助信息
[root@oldboysh03-znb ~]# man shutdown
SHUTDOWN(8) shutdown SHUTDOWN(8)
NAME 第一个部分:简单说明命令的作用
shutdown - Halt, power-off or reboot the machine
暂停; 断电 or 重启服务器
SYNOPSIS 第二个部分:命令使用规范(命令语法)
shutdown [OPTIONS...][TIME] [WALL...]
DESCRIPTION 第三个部分:命令的详细描述说明
shutdown may be used to halt, power-off or reboot the machine.
OPTIONS 第四个部分:命令的参数说明
The following options are understood:
--help
Print a short help text and exit.
-H, --halt
Halt the machine.
快捷键
ctrl + l 清屏
ctrl+ s 锁屏
ctrl +q 退出锁屏
CTRL+ a 光标移到最前方
ctrl+e 光标移到最后方
ctrl+u 光标到行首剪切
CTRL+k 光标到行尾剪切
ctrl+ c 中断命令执行
ctrl +y 粘贴
ctrl+ 方向左右 按照英文单词移动光标
tab 补全
pwd
显示当前路径
cd ..上一级
cd ~家目录
cd / 根目录
ls 查看不隐藏的文件
ls -a 查看所有
按照时间反向排序,显示最新创建的数据信息
ls -ltr
创建文件夹
mkdir 路径
路径开头不存在的话 mkdir -p 路径
创建文件
touch 路径或文件
touch {st1,st2}
4)在空文件中生成据
信息
echo 将信息进行输出
强调:在linux系统中,尽量不要输入中文符号信息(命令行)
[root@oldboysh03-znb oldboy]# echo "hello world“
> ^C
[root@oldboysh03-znb oldboy]# ”“”“’‘’‘’》《【】¥¥¥¥()
[root@oldboysh03-znb oldboy]# echo hello world
hello world
# 希望将指定的信息输出到指定文件中
[root@oldboysh03-znb oldboy]# echo hello world > /oldboy/oldboy.txt
[root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt
hello world
[root@oldboysh03-znb oldboy]# echo oldboyedu.com > /oldboy/oldboy.txt
[root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt
oldboyedu.com
[root@oldboysh03-znb oldboy]# echo oldboyedu02.com >> /oldboy/oldboy.txt
[root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt
oldboyedu.com
oldboyedu02.com
3)如何查看文件信息
cat 查看文件信息命令
[root@oldboysh03-znb oldboy]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
利用cat命令和整合多个文件信息到一个文件中
[root@oldboysh03-znb oldboy]# cat oldgirl.txt
hello world
[root@oldboysh03-znb oldboy]# cat oldboy.txt oldgirl.txt
oldboyedu.com
oldboyedu02.com
hello world
[root@oldboysh03-znb oldboy]# cat oldboy.txt oldgirl.txt >olddog.txt
[root@oldboysh03-znb oldboy]# cat olddog.txt
oldboyedu.com
oldboyedu02.com
hello world
5)对文件或目录数据信息进行拷贝(复制)
copy --- cp
语法格式 cp 参数信息 要进行复制的信息 复制到什么位置
# 将/etc/hosts文件复制到/oldboy目录中
常见问题:
在复制文件时,不要再文件名称后面加上/ 一般只有目录后面有/
[root@oldboysh03-znb oldboy]# cp /etc/hosts /oldboy
[root@oldboysh03-znb oldboy]# ll /oldboy/
total 16
drwxr-xr-x. 3 root root 18 Dec 5 09:33 hedanchun
-rw-r--r--. 1 root root 158 Dec 5 10:53 hosts
-rw-r--r--. 1 root root 30 Dec 5 10:17 oldboy.txt
-rw-r--r--. 1 root root 42 Dec 5 10:41 olddog.txt
drwxr-xr-x. 2 root root 6 Dec 5 09:31 oldgirl
-rw-r--r--. 1 root root 12 Dec 5 10:40 oldgirl.txt
[root@oldboysh03-znb oldboy]# cp /etc/hosts /oldboy01
[root@oldboysh03-znb oldboy]# ll /oldboy01
-rw-r--r--. 1 root root 158 Dec 5 10:53 /oldboy01
正确复制文件方法
[root@oldboysh03-znb oldboy]# cp /etc/hosts /oldboy/
cp: overwrite ‘/oldboy/hosts’? y
说明:文件没有存在会直接复制, 如果已经存在会提示是否覆盖
如何正确复制目录信息
[root@oldboysh03-znb oldboy]# cp /etc/sysconfig/ /oldboy/oldgirl/
cp: omitting directory ‘/etc/sysconfig/’
[root@oldboysh03-znb oldboy]# cp -r /etc/sysconfig/ /oldboy/oldgirl/
[root@oldboysh03-znb oldboy]# ll /oldboy/oldgirl
total 4
drwxr-xr-x. 6 root root 4096 Dec 5 11:03 sysconfig
[root@oldboysh03-znb oldboy]# cp -a /etc/ /oldboy/oldgirl/
[root@oldboysh03-znb oldboy]# ls /oldboy/oldgirl
etc sysconfig
# 对文件或目录数据信息进行剪切(移动)
move -- mv
mv 参数 要移动数据信息 移动到什么位置
移动/etc/selinux/config 到 /oldboy/shanghai/
[root@oldboysh03-znb oldboy]# ls /oldboy/shanghai
ls: cannot access /oldboy/shanghai: No such file or directory
[root@oldboysh03-znb oldboy]# mkdir /oldboy/shanghai
[root@oldboysh03-znb oldboy]# mv /etc/selinux/config /oldboy/shanghai/
[root@oldboysh03-znb oldboy]# ls /oldboy/shanghai/
config
[root@oldboysh03-znb oldboy]# mv /etc/selinux/config /oldboy/shanghai/
mv: cannot stat ‘/etc/selinux/config’: No such file or directory
[root@oldboysh03-znb oldboy]# mv /oldboy/shanghai/config /etc/selinux/
[root@oldboysh03-znb oldboy]# ls /etc/selinux/
config final semanage.conf targeted tmp
可以对文件信息进行重命名操作
[root@oldboysh03-znb oldboy]# ls
hedanchun hosts oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
[root@oldboysh03-znb oldboy]# mv hosts hosts01
[root@oldboysh03-znb oldboy]# ls
hedanchun hosts01 oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
7)数据的删除命令
remove -- rm
rm 参数 要删除的数据信息
# 删除oldboy目录中的hosts01文件
[root@oldboysh03-znb oldboy]# ls
hedanchun hosts01 oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
[root@oldboysh03-znb oldboy]# rm hosts01
rm: remove regular file ‘hosts01’? y
[root@oldboysh03-znb oldboy]# ls
hedanchun oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
# 删除目录操作
[root@oldboysh03-znb oldboy]# ls
hedanchun oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
[root@oldboysh03-znb oldboy]# rm shanghai/
rm: cannot remove ‘shanghai/’: Is a directory
[root@oldboysh03-znb oldboy]# rm -r shanghai/
rm: remove directory ‘shanghai/’? y
# 如何强制删除数据信息
[root@oldboysh03-znb oldboy]# rm -f olddog.txt
[root@oldboysh03-znb oldboy]# ls olddog.txt
ls: cannot access olddog.txt: No such file or directory
[root@oldboysh03-znb oldboy]# rm -fr hedanchun
[root@oldboysh03-znb oldboy]# ls hedanchun -d
ls: cannot access hedanchun: No such file or directory
[root@oldboysh03-znb oldboy]# rm -fr / oldboy/oldboy.txt
rm: it is dangerous to operate recursively on ‘/’
rm: use --no-preserve-root to override this failsafe
[root@oldboysh03-znb oldboy]# rm -fr / --no-preserve-root
说明:默认从centos6.7 开始就有/目录自我保护机制
# 文本编辑命令说明
vi == nodepad++
vi 你要编辑的文件信息
# 编辑文件的操作步骤
第一个里程:利用vi命令打开文件
vi oldboy.txt
第二个里程:进入到编辑模式,开始编辑文件
按键盘上 小写字母 i == insert
第三个里程:进行编辑
第四个里程:退出编辑模式
按 esc 进行退出
第五个里程:关闭打开的文件
:wq w-write q-quit 保存退出
:q 不保存进行退出
less+文件名 ##分页浏览,按q退出
head -n 1 文件名 ##显示文件的前1行
tail -n 1 文件名 ##显示文件的后1行
sed -n '5,5p' 文件名 显示文件第5行
wc -l 文件名 ##查看文件行数
wc -w 文件名 ##查看文件字数
wc -c 文件名 ##查看文件字节数
su - username ##超户切换到普通用户不用密码,普通用户切换到超户用密码
mkdir -p +目录名 ##递规创建(同时创建文件夹)
rm -f ##强行删除不提示
rm -r ##删除目录,有提示
ls -d directory ##列出目录本身
ls -R ##递规显示目录中的内容
cp -r directory directory1 ##复制目录
bash特性
一、Tab补全
二、查看命令的执行情况
bash通过状态返回值来输出次结果
三、命令行历史
命令历史一般记录在.bash_history文件中,默认记录1000条
四、命令行展开
~:当前用户的家目录
~USERNAME: 给定用户的家目录 比如cd ~ cd ~ nick
{}:可写一个以逗号分割的列表,将其展开为多个路径
/tmp/{x/{a,b},y,z} = /tmp/x/a/,/tmp/x,b , /tmp/y/,/tmp/z/
五、快捷键
六、别名
在type一个命令的时候有时候出现像这样的
[root@localhost ~]# type ls
ls is aliased to `ls –color=auto’
ls是 ls–color的别名;
我们可以用alias查看现有的别名信息
我们也可以定义别名
alias x=‘xx’
给xx命令取别名x(只在当前有效)
以后就可以按x来替代xx
[root@localhost ~]# alias k=’cat -n’
[root@localhost ~]# k /tmp/fstab
1
2 #
3 # /etc/fstab
4 # Created by anaconda on Sat Mar 31 17:44:44 2018
5 #
6 # Accessible filesystems, by reference, are maintained under ‘/dev/disk’
7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
8 #
9 UUID=8c871ca3-ae83-463b-b8af-f282002eae08 / xfs defaults 0 0
10 UUID=f3445f8b-4d91-48b1-9586-d3f991e5f8cf /boot xfs defaults 0 0
11 UUID=3f5344d8-cf5a-4596-9acc-2ecd76cb2bec swap swap defaults 0 0
12 /dev/sr0 /media iso9660 defaults 0 0
13
我们也可以取消别名
用unalias +别名就可以
[root@localhost ~]# unalias k
七、通配
(1) * 任意数量的字符 : 0+
a*b a-b之间可以任意数量的字符,可以没有,也可以很多个
(2)? 任意单个字符 : 1
a?b a-b之间有且一个字符
(3)[ ] 匹配指定范围内的任意单个字符 : 指定范围 1
[0-9] : 0-9之间任意单个字符
[a-z]:不区分字符大小写
(4) [^] 匹配指定范围之外的任意单个字符 : 指定范围之外 1
[^0-9] 0-9之外的字符
[^a-z] 非大写和小写字母字符
专用字符集合:(使用的时候需要外加 '[ ]')就像[[:digit:]]
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母
[:upper:]: 任意大写字母
[:alpha:]: 任意大小写字母
[:alnum:]:任意数字或字母
[:punct:]:标点符号