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
一般运维人员可以关闭这个功能
-
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! 保存退出/不保退出
-
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
以上是关于Linux 基础课程笔记的主要内容,如果未能解决你的问题,请参考以下文章