一、  Linux

1.  Linux 简介

1. Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统
2. Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议,它支持 32 位和 64 位硬件
3. Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统
4. Linux 内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的
5. Linux 的发行版简单点说就是将 Linux 内核与应用软件做一个打包,目前市面上较知名的发行版有:
1)RedHat,收费,目前全球最大的 Linux 发行厂商
2)Ubuntu,免费,界面比较好
3)CentOS,免费,由 RedHat 分支

6. 目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。相对于 Windows,Linux 具有以下特点:
1)开源免费
2)稳定性好
3)安全性高

7. CentOS6.4 下载地址:
   1)网易镜像:http://mirrors.163.com/centos/6/isos/
2)搜狐镜像:http://mirrors.sohu.com/centos/6/isos/

8. Linux 一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的 Linux 服务器,这时我们就需要远程登录到 Linux 服务器来管理维护系统
1)Linux 系统中是通过 ssh 服务实现的远程登录功能,默认 ssh 服务端口号为 22
2)CentOS 系统默认安装了 openssh ,如果没有安装可以使用命令进行安装:yum install openssh-server -y
3)Window 的 Linux 远程登录客户端有 SecureCRT, Putty, SSH Secure Shell,Xshell等
4)Xshell 下载地址:https://www.netsarang.com/zh/xshell/

9. FileZiila,基于 FTP 协议的客户端工具,我们可以使用它快速完成系统之间的文件传输
FileZiila 下载地址:https://www.filezilla.cn/download

2.  Linux 系统目录结构

1. ~ 表示 /root
2. / 表示根目录
3. 登录系统后,在当前命令窗口下输入命令:ls / ,你会看到如下图所示

4. 树状目录结构如下图所示
1)/root  系统管理员的用户主目录
2)/bin   存放着经常使用的命令,bin 是 Binary 的缩写
3)/sbin  存放系统管理员使用的系统管理程序,s 是 Super User 的意思
4)/dev   存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的,dev 是 Device(设备) 的缩写
5)/etc   存放所有的系统管理所需要的配置文件和子目录
6)/home  在 Linux 中,除了 root 以外所有用户默认在 home 下都有一个自己的目录,该目录名是以用户的账号命名的。也就是说用户 xxx 对 /home/xxx 具有完全操作权限
7)/usr 所有用户的应用程序和文件都放在这个目录下
8)/lib 存放着系统最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库
9)/tmp 存放一些临时文件
10)/boot 存放启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件
......

3.  Linux 关机与重启命令

1. 关机命令
1)halt 立刻关机
2)poweroff 立刻关机
3)shutdown -h now 立刻关机(root用户使用),最安全的关机命令
4)shutdown -h 10 10 分钟后自动关机(root用户使用),可以用 shutdown -c 命令取消

2. 重启命令
1)reboot 立即重启
2)shutdown -r now 立刻重启(root用户使用)
3)shutdown -r 10 10 分钟后自动重启(root用户使用)
4)shutdown -r 20:35 在时间为 20:35 时候重启(root用户使用),可以用 shutdown -c 命令取消

4.  Linux 用户与用户组管理

1. 添加新的用户账号,格式:useradd 选项 用户名
   1)选项
      -c 指定一段注释性描述
      -d 指定用户主目录,如果此目录不存在,则同时使用 -m 选项,可以创建主目录
      -g 指定用户所属的用户组
      -G 指定用户所属的附加组,多个附加组用逗号隔开
      -s 指定用户的登录 Shell
2)增加用户账号就是在 /etc/passwd 文件中为新用户增加一条记录,同时更新其他系统文件如 /etc/group 等 3)实例:# useradd -s /bin/sh -g group –G adm,root hello
此命令新建了一个用户 hello,该用户的登录 Shell 是 /bin/sh,它属于 group 用户组,同时又属于 adm 和 root 用户组,其中 group 用户组是其主组

2. 管理用户口令,格式:passwd 选项 用户名
1)选项
-l 禁用账号(lock)
-u 口令解锁
-d 使账号无口令
-f 强迫用户下次登录时修改口令

2)用户账号刚创建时没有口令,被系统锁定,无法使用,必须为其指定口令或指定空口令后才可以使用
3)超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令
4)实例:# passwd -d hello
此命令将用户 hello 的口令删除,这样用户 hello 下一次登录时,系统就不再询问口令

3. 删除已有的用户账号,格式:userdel 选项 用户名
1)选项
-r 将用户的主目录一起删除

2)删除用户账号就是要将 /etc/passwd 等系统文件中的该用户记录删除,必要时还删除用户的主目录
3)实例:# userdel -r hello
此命令删除用户 hello 在系统文件中的记录,同时删除用户的主目录

4. 修改用户账号的属性,格式:usermod 选项 用户名
1)修改用户账号就是根据实际情况更改用户的有关属性,如用户号(-l)、主目录(-d)、用户组(-g/-G)、登录 Shell(-s)等

5. 增加一个新的用户组,格式:groupadd 选项 用户组
1)选项
-g 指定新用户组的组标识号(GID)

2)用户组的增加、删除和修改实际上就是对 /etc/group 文件的更新
3)实例:# groupadd group1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加 1

6. 删除一个已有的用户组,格式:groupdel 用户组

7. 修改用户组的属性,格式:groupmod 选项 用户组
1)选项
-g 修改组标识号
-n 修改用户组的名字

2)实例:# groupmod –g 10000 -n group2 group1
此命令将组 group1 的标识号改为10000,组名修改为group2

8. 如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限,如:$ newgrp root,这条命令将当前用户切换到 root 用户组,前提条件是 root 用户组确实是该用户的主组或附加组

9. root 用户命令窗口效果如图所示
10. 普通用户命令窗口效果如图所示

5.  Linux 常用命令

1. pwd 打印工作目录,当前所在文件夹的全路径
2. clear 清屏

3. ifconfig 打印网卡信息
4. ctrl】+【c】 中断

5. cd 切换目录
cd .. 向上跳一级文件夹
cd ~
切换到 /root 6. mkdir 新建空文件夹,-m 直接配置文件的权限喔 7. ls 列出目录,-a 全部的文件,-d 仅列出目录,-l 长数据串列出,包含文件的属性与权限等等数据
8. ll 详细列表
9. touch 创建空文件 10. cat 查看文件全部内容
11. cp [-r] 文件名 路径 复制文件,-r 复制文件夹
12. mv 文件名 路径 移动文件,具备重命名功能 13. rm [-rf] 文件名 删除文件,-r 删除目录,-f 强制删除,不需要确认("n":"否","y":"是")
14. head [-n] 文件名 查看文件前 n 行,默认前 10 行,如:# head -n 20 /etc/man.config
15. tail [-n] 文件名 查看文件后 n 行,默认后 10 行
16. tailf 动态显示文件内容,常用在显示 Tomcat 日志文件功能,如:# ./startup.sh & tailf /usr/local/tomcat/logs/catalina.out
17. echo 内容 >> 文件名 向指定文件里追加内容
echo 内容 > 文件名 覆盖指定文件内容
18. tar zxvf x.tar 解压 x.tar 文件 19. unzip x.zip –d filename 把 x.zip 解压到 filename 文件夹 20. zip –r x.zip filename 把 filename 文件添加到压缩包 x.zip

21. vi/vim 文本编辑,如果文件不存在,则有创建文件的功能
1)vi 普通编辑,vim 高级编辑(带有颜色)
2)刚启动 vi/vim 时,进入命令模式,点击 "i" 或 "Insert" 进入输入模式
3)编辑完成后点击 "Esc" 退出输入模式,切换到命令模式,在命令模式的情况下输入冒号进入底线命令模式 :
wq
保存并退出;
:q 不保存退出(适用于没有编辑时);
:q! 强制退出
4)命令模式下常用的命令:
gg 移动到这个档案的第一行;
G 移动到这个档案的最后一行;
nG 移动到这个档案的第 n 行
dd 删除光标所在的那一行
ndd 删除光标所在的向下 n 行
yy 复制光标所在的那一行
nyy 复制光标所在的向下 n 列
小写p 将已复制的数据粘贴到光标下一行
大写P 将已复制的数据粘贴到光标上一行
/word 向光标之下寻找一个名称为 word 的字符串
?word 向光标之上寻找一个名称为 word 的字符串
:n1,n2s/word1/word2/g 在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2
:1,$s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2
:1,$s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2,且在取代前显示提示字符给用户确认 (confirm) 是否需要取代

22
. chmod 更改文件 9 个属性
1)Linux 文件的基本权限就有九个,分别是 owner
/group/others 三种身份各有自己的 read/write/execute 权限
2)文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的
a. 第一个字符代表这个文件是目录(d)、文件(-)或链接文件(/)等等
b. 147 位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限
c. 第 258 位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限
d. 第 369 位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限

3)我们可以使用数字来代表各个权限,各权限的分数对照表如下
r(可读): 4
    w(可写): 2
    x(可执行): 1
4)每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 文件分数则是:
owner = rwx = 4+2+1 = 7
    group = rwx = 4+2+1 = 7
    others= --- = 0+0+0 = 0
故该文件的权限数字就是 770
5)chmod [-R] 770 文件或目录 变更文件或目录的权限,-R 连同此目录下的所有文件都会变更

6)还有一个改变权限的方法,由 u, g, o 来代表 user,group,others 三种身份,此外,a 则代表 all 亦即全部的身份!每种身份和三个权限(r/w/x)用符号进行组合:
+(加入)
-(除去)
=(设定)
例如:# chmod a+x .start

23. chgrp [-R] 属组名 文件名 更改文件属组,在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改
24. chown [–R] 属主名 文件名 更改文件属主,也可以同时更改文件属组
chown [-R] 属主名:属组名 文件名
25. 关闭防火墙
Selinux # service iptables stop # chkconfig iptables off # vim /etc/selinux/config :SELINUX=disabled

26. 放行端口号
# vim /etc/sysconfig/iptables
# service iptables restart

27. 配置环境变量
# vim /etc/profile
# source /etc/profile
01-03 01:34