Linux 基础课程笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 基础课程笔记相关的知识,希望对你有一定的参考价值。

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
一般运维人员可以关闭这个功能

  1. 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 命令提示符由组成
  [\[email protected]\h \w]# u=用户变量,h=主机名,w=所在目录
  [[email protected] 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! 保存退出/不保退出

  1. 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

  1. 用户组权限
    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’

  1. 标准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 这个安装的进度

  1. 软件包卸载
    rpm -e pakage e代表卸载
    删除rpm包时,系统会自动帮你保存一份配置文件
    如果重新安装该文件后,将备份文件重定向到配置中文件中

  2. 重新安装rpm包
    rpm -ivh rpmfile --force

  3. 将软件包降级 --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

以上是关于Linux 基础课程笔记的主要内容,如果未能解决你的问题,请参考以下文章

Linux课程笔记 http基础

Linux入门基础笔记1(韩立刚课程)

Linux入门基础笔记1(韩立刚课程)

Linux课程笔记 Day06 课上内容总结

20155313 2017-2018-1 《信息安全系统设计基础》课程总结

Linux课程笔记 Day08 课上内容总结 Apache及Raid技术