Linux系统安装 1.1磁盘分区 / 根分区
/boot 系统启动分区 ps:建议将/boot分区分出,有利于系统奔溃后的排错
swap 分区 将硬盘的空间模拟成内存空间,提供给计算机使用
ps:分区大小建议内存为4G,swap分区为2G
内存为4G-16G,swap分区为4G
内存为16G-64G,swap分区为16G
/home 分区
/var 分区 用于存放日志(如果有需要)
1.2 kdump (kernel dump) 主要功能是用于防止内核crash ,开启后内存会默认少128MB 一般运维人员可以关闭这个功能
-
Linux 使用基础 2.1 Linux系统登录 2.1.1 图形界面登录
如果登录方式为图形界面 Ctrl+Alt+F2-F6 切换到命令行中,Ctrl+Alt+F1 切回到图形界面init 3 纯字符界面,并未运行图形界面的应用程序 2.1.2 字符界面登录 startx ,开始启用图形界面程序
如果登录式为字符界面Ctrl+Alt+F7 图形界面,Ctrl+Alt+F1-F6 字符界面
2.2 home 目录 每一个用户都会在home目录下生成一个该用户用户名的文件夹,用于存放该用户文件 useradd user1 就会在生成/home/user1
2.3 添加新用户,添加密码,修改密码,删除用户 useradd admin 添加用户
passwd admin XXXX 用户添加密码
在本用户登录的状态下 passwd XXXX 修改该用户密码
userdel -r admin 删除用户
建议不要使用root用户登录,使用普通用户登录。
2.4 更改用户身份 2.4.1 命令提示符由组成 [\u@\h \w]# u=用户变量,h=主机名,w=所在目录 [root@localhost home]#
2.4.2 切换用户身份 su - user1 ps: su user1和 su - user1 不同
2.4.3 查看用户的信息 id
ps:用户的身份之间不要切来切去,如果要切的话建议
su - admin exit
su - root exit
su - user1 exit
2.5 使用Tab 键补齐命令 尽可能多的使用Tab键,来保证效率和准确性 2.6 查看历史记录,history命令 有一个.bash_history 用来记录历史记录,所以重启后用户依然可以看见历史记录
使用历史记录将参数补齐 Alt+.
vim文本编辑器
3.1 vi和vim的区别
vim是vi的升级版,具备vi所有功能
vi 字体是黑色的
vim 文件有颜色,支持语法检测。如果语法有问题,颜色会变成红色
3.2 vim 的三种种模式,命令模式,插入模式和末行模式
3.2.1命令模式
d,删除一个字符,按u还原一个字符
G 文件中跳到最后一行
dd 删除整行,使用u还原整行
ps:dd有两个作用如果你粘贴就是剪切,如果你不粘贴就是删除
p 粘贴到当前行的下面
P 粘贴到当前行的上面
y y进行复制,粘贴使用p/P
3.2.2 插入模式
i (insert模式) 要修改内容
3.2.3 末行模式 set nu 查看文本中行数
Esc 回到命令模式
:wq!/q! 保存退出/不保退出
-
man帮助 4.1命令的组成 SYNOPSIS ls [OPTION]... [FILE]... ls -l /etc/ ls为命令 -l为选项 /etc/ 参数
选项是带- 参数是不带-ls --help 代表后面是一个整体不可以拆分
ls -la ls -l -a 多个选项可以写在一起,也可以分开写
ls -l ; cp /etc/passwd /tmp 使用;将两个命令在一跳命令中实现
(cal 2007 ; cal 2008 )>cal.txt 输出重定向
4.2 语法规则 4.2.1 date: 用于显示时间和日期 date --help man date 4.2.2 date语法结构 date [OPTION]... [+FORMAT]
OPTION 后面有...代表可以跟多个选项 FORMAT 后面没有...,只有添加一个FORMAT
date +%Y-%m-%d%H:%M:%S
date +'%Y-%m-%d %H:%M%S'
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 修改date日期
4.2.3 cal 语法结构
cal [-smjy13] [[[day] month] year]
4.3 man 文档 q 退出 / -q 用于查找-q n 往下找 N 往上找
5 文件系统管理 5.1 文件系统的结构 windows中每一个分区是一棵独立的数,互相不会有影响 Linux 所有的一切都从根开始
文件系统结构
/ /root /home/username /bin ,/user/bin,/user/local/bin 用户可执行命令 /sbin,/usr/sbin,/usr/local/sbin 管理员可执行的命令 /media ,/mnt 挂载点 /etc 配置目录 /tmp 临时文件 PS:可以删除tmp下的所有文件但最好不要删除/tmp文件 /boot 启动目录和引导程序 /var, /srv 存放服务数据 /proc, /sys 系统启动过程中和内存有关 /dev 所有的设备都在/dev下 /dev/sda1 /dev/sda2 PS:s:scsi类型的设备 d:disk a:第几块硬盘 1/2 :分区
inux下面没有注册表,所以linux没有扩展名的概念 所有的文件名严格区分大小写 所有的命令严格区分大小写
5.2 文件系统管理
5.2.1 相对路径 绝对路径
绝对路径是一切从根开始
cp /etc/passwd /data/ 绝对路径的写法
相对路径是从当前的位置做为起点
cp ../etc/passwd . 相对路径的写法
.当前目录 ..上级目录
cd (Changing Directories) 进入目录 cd .. 回到上一层目录cd - 回到上一次的目录 cd /etc/yum 从根目录下/etc/yum目录 cd etc 从当前目录进入etc目录
ls 查看当前目录下的文件 cd 目录名
5.2.2 文件管理命令 pwd ls touch cp mv rm stat
pwd 查看当前的工作目录
ls 列出目录下的内容
ls -a 显示目录下的所有文件,所有隐藏文件都会被显示出来 PS: 删除文件时,隐藏文件不会被删除
ls -l 列出文件的详细信息 PS:蓝色代表文件夹,黑色代表普通文件,绿色代表可执行文件,淡蓝色代表快捷方式,红色×××代表具有特殊权限
touch 创建文件 touch text.txt
cp source destination 拷贝
cp /root/cal.txt /tmp/ 拷贝单个文件 cp /root/cal.txt /root/inital.setup-ks.cfg /tmp/ 拷贝多个文件
cp -r /etc/ /tmp/ 拷贝文件夹时,使用递归拷贝,目录下所有子文件一并拷贝过去
cp -p cal.txt /tmp/ 拷贝文件时不修改原文件用户权限
cp -rp cal.txt /tmp 拷贝文件夹又可以保留权限
mv 剪切文件还可以改名 mv /etc/ /data/
rm 删除文件 rm -rf etc/ 递归删除当前目录下,etc下的所有文件
stat 查看文件时间戳
5.2.3 目录管理命令 mkdir rmdir
mkdir 创建文件夹 mkdir redhat
rmdir 删除文件
5.2.4 看文本命令 cat、tac、more、less、head、tail
cat 连接并显示,将文本文件的内容完全显示出来 cat -n 显示时对每一行进行编号
tac 反过来显示文本文件
more、less 分屏显示命令
more 支持向后翻,不支持向前翻
less 支持向前翻,按q才会退出
head 查看文件的前n行(n默认为10) head -n 1 /etc/initab 查看前一行 head -n 2 /etc/initab 查看前两行
tail 查看文件的后n行 tail -n 5 /etc/initab
-
用户组权限 6.1 用户 用户:每创建一个用户就会为其创建一个唯一的user ID (UID) UID 0 为root UID RH7从1000开始分配 RH6从500开始分配 PID 进程号
#useradd -u 1003 zhangsan 指定用户的UID 系统只认识数字,而人是通过文件名或者系统名来识别的 系统识别一个用户是通过UID来识别,而人是通过用户名来识别
6.1.1 用户信息存放在 /etc/passwd
cat /etc/passwd |grep admin
admin:x:501:501::/home/admin:/bin/bash
admin 代表用户名
x 代表是否需要身份验证
501:501 UID GID
/home/admin 用户家目录
/bin/bash shell,解释语言
6.2 用户组 用户组: 将用户添加到组中,对组添加对应的权限 (GID)
6.2.1 用户组的信息存放 /etc/group cat /etc/group |grep users admin:x:501:user admin 代表组名 x 代表是否需要身份验证 501 代表GID user 组里面有哪些成员
6.3 创建用户和用户组 6.3.1 创建用户 useradd user1 创建过程 创建user1用户 2.创建user1的/home/user1 3.创建user1组 4.将user1用户加入user1组中
6.3.2 修改用户组 usermod -aG admin user1 将user1 加入到了admin这个组中,并且保留原来组
Id user 查看添加的组 6.3.3 创建用户组 groupadd user2 6.3.4 删除用户组 groupdel user2 6.3.5 修改用户组 groupmod -g 修改GID -n 修改用户组名 6.4 如何查看和设置文件权限 每一个文件应该拥有一个UID 和GID 每一个进程也应该拥有一个UID和GIDs
6.4.1 Linux 将访问文件的用户分为三类 文件属主(user) u 文件属组(group) g 其他用户(other) o
6.4.2 普通文件和目录文件权限 ls -l /etc/passwd -rw-r--r--. 1 root root 1463 Jul 10 17:10 /etc/passwd dr-xr-xr-x. 5 root root 1024 Jun 28 14:18 boot
- 代表普通文件 r :代表有读该文件内容 w:代表有修改该文件内容内容 x:可以执行该文件
d 代表目录文件 r:代表可以ls 列出目录中的内容 w:可以在该文件夹中创建和删除文件 x:执行权限,cd进入该目录 PS:对于目录文件来说r-x是在一起的,单独没有意义
6.4.3 改变文件属主 chown :change owner 修改文件的拥有人
chown [OPTION]... [OWNER][:[GROUP]] FILE... chown user1 group
chown user1 /data/ 只修改文件本身 chown -R user1 /data/ 递归修改
chown zhangsan:user2 /data 一并把拥有人和拥有组
6.4.4 改变文件属组 chgrp : change group 修改文件拥有组
chgrp [OPTION]... GROUP FILE... chgrp admin /data/
6.4.5 chmod 修改文件的读写执行权限 chmod: change mode 修改文件权限
6.4.5.1 修改某类用户某位或某些位权限 u,g,o,a chmod 用户类别+|- MODE file...
chmod u-w /data/ chmod ugo-w /data/ chmod ugo-rx /data/ chmod ugo+r /data/ chmod -R ugo-x /data/
6.5.5.2 修改某类用户或者某些类用户的权限 u,g,o,a chmod 用户类别=MODE file,...
chmod u=rwx /tmp/abc chmod g=rwx /tmp/abcbn chmod g=r,o=r /tmp/abc chmode go=wrx /tmp/abc
6.4.5.3 修改三类用户的权限 用数字来代表不同的权限 r:4 w:2 x:1
chmod MODE file,... -R chmod 755 /data/ 7:拥有人的权限 5:拥有组的权限 5:其他人的权限
alias 别名 alias ll=‘ls-l --color=auto’
- 标准I/O和管道 7.1 三种标准I/O 标准输入:默认键盘输入
标准输出:默认显示器输出
标准错误输出:默认显示器输出 7.2 输出重定向 当我们想将标准输出或者标准错误倒给另外一个文件 ,这时我们就需要输出重定向 命令格式:command operator filename 命令 操作符 文件名
:正确的输出重定向 find /etc/ -name passwd >find.out
2> :错误的输出重定向 find /etc/ -name passwd 2>find.err
&> :所有输出重定向 find /etc/ -name passwd &>find.all
find /etc/ -name passwd >find.out 2>find.err
echo hello echo hello > find.out 当我们进行输出重定向时,默认会将原文件覆盖 7.3 追加重定向
:追加 如果目标文件中已经有内容我们使用追加,将新内容添加到目标文件最后,原内容不变
2>>:错误追加
&>>:全部追加
7.4 管道符 我们希望将一个命令的结果输出给另一个命令,我们使用管道
command1 |command2:将command1 执行的结果作为command2的输入
7.5 grep 过滤
grep 'user1' /etc/passwd '关键字' cat /etc/passwed |grep user1
cat /etc/passwed |grep -w user1 完全匹配关键字
cat /etc/passwed |grep -i user1 忽略大小写
cat /etc/passwed |grep -v user1 反向选择
rpm -qa |grep ftp
软件包的安装、卸载、升级、查询
9.1 RPM包的格式和 mount /dev/cdrom /media/ 将光驱挂载到media目录下
RPM包的格式: zsh-4.3.11-4.el6.x86_64.rpm
rpm file /package version 版本 release 发行版 arch 操作系统内核版本,32/64 rpm 扩展名 uname -r 查看操作系统内核版本
1.软件包的安装 install /upgrade rpm -i | -U rpmfile rpm -i vsftpd-3.0.2-9.el7.x86_64.rpm i代表安装 rpm -ivh ivh 这个安装的进度
-
软件包卸载 rpm -e pakage e代表卸载 删除rpm包时,系统会自动帮你保存一份配置文件 如果重新安装该文件后,将备份文件重定向到配置中文件中
-
重新安装rpm包 rpm -ivh rpmfile --force
-
将软件包降级 --oldpackage
5.忽略软件包之间的冲突 --replacefile
6.忽略包的依赖性关系 --nodeps
7.软件包的查询 rpm -q vsftp/httpd -q 必须要知道软件包完整的名字,不可以模糊
rpm -qa 查询系统中所有的软件包 rpm -qa |vsft
查询软件包文件列表 rpm -ql vsftpd
查看软件包配置文件 rpm -qc vsftp
rpm -qf 5