1、系统的安装及分区
安装系统的条件:
Windows64位操作系统
内存最少2G
关闭电脑上的360以及安全管家
进入BIOS开启电脑的虚拟化功能
安装的过程中分区的大小:
/根分区:尽量大于20G
/boot引导分区:不小于200M
swap交换分区:根据实际情况给定
不同的分区的作用:
/分区:用于存储系统文件
swap:作为Linux的虚拟内存
/boot:包含了操作系统的内核和启动系统过程中所用到的文件
2、文件系统结构
FHS定义了两层规范:
第一层:是/下面的各个目录应该要放什么文件数据;
第二层:是针对/usr及/var这两个目录的子目录来定义;
linux里面有哪些目录:
/ 根目录,通常不在这里存储文件
/bin 可执行文件,ls,cd
/sbin 可执行文件
/boot 开机启动的文件,包括linux内核以及开机菜单与开机所需配置文件等
/dev 设备文件,任何设备与接口设备都是以文件形式存在于这个目录的
/root root用户的主目录
/home 普通用户的主目录
/mnt 挂载点目录
光盘必须和/下的某个目录节点建立联系才能使用。
把光盘和指定的挂载点目录建立联系的过程叫做挂载。
mount /dev/sr0 /mnt
/media 媒体目录,也是挂载点目录
/opt 可选目录。存放第三方软件包和数据文件
/var 可变目录,用以存放经常变化的文件,如日志文件
/etc 配置文件
/lib 系统的函数库
/proc 该目录是一个虚拟文件系统,它放置的数据都在内存当中
/run 系统运行时所需文件
/usr 放置的数据为可分享的与不可变动的,unix操作系统软件资源所放置的目录,而不是用户数据
/srv service的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录
/tmp 让一般用户或者是正在执行的程序暂时放置文件的地方
/sys 这个目录其实跟/proc非常类似,也是一个虚拟的文件系统,主要是记录与内核相关的信息
添加指定命令别名:alias
临时生效 alias 目标命令名称=‘需要执行的命令’alias hh=ls
删除指定的命令别名:unalias
永久有效 vim ~/.bashrc 别名的配置文件里面设置
source .bashrc 使其生效
3、Linux常用的命令
系统维护类
命令格式:主命令 选项 参数(操作对象)
列出目录下的内容(list):ls
ls -l 以长列表方式列出 =ll
ls -r 逆序列出
ls -d 查看当前目录.
ls -ld 长列表列出当前目录的详细信息
ls -lh 显示目录或文件大小
ls -a 列出隐藏文件,包括.和..
ls -A 列出隐藏文件,不包括.和..
ls -i 显示文件索引节点号(inode)。一个索引节点代表一个文件,在linux中保存在磁盘分区中的文件都给它分配一个编号,称为索引节点号inode。
man ls 查看ls的使用手册
enter键可以一行一行的翻,空格键可以一页一页的翻
按q键退出
linux的文件类型:
- 普通文件,类似于Windows的记事本
d 目录文件,类似于文件夹
c 字符设备文件,串行端口设备,顺序读写,键盘
b 块设备文件,可供存储的接口设备,随机读写,硬盘
p 管道文件,用于进程间的通信
s 套接字文件,通常用于网络上的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行数据通信
l link,链接文件
在linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号inode。
(1)符号链接又叫软链接,和原文件不是一个文件。例如Windows的快捷方式,如果原始文件被删除,所有指向它的符号链接也就都被破坏了。符号链接记录的是目标的path。符号链接可以跨越文件系统,也可以为目录建立。软链接有自己的node,是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径。
创建链接文件:ln -s 原文件 链接文件
(2)硬链接,只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为inode)。当移动或者删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接记录的是目标的inode
创建硬链接: ln 原文件 新文件
与时间有关的命令:
输出和更改日期时间:date(软件、系统时间)
更改日期的格式 月日时分年.秒
date -s “” ‘’
date -s 只有root才能设置,其它只能查看
date -s 20160813 日期为20160813,时间为00:00:00
date -s 01:01:01 设置具体时间,不会对日期做更改
date -s “01:01:01 2016-08-13″ 设置全部时间
查看硬件时间:clock
查看硬件时间:hwclock
-w 系统时间给硬件时间
-s 硬件时间给系统时间
将输入接到标准输出(从键盘输入,从显示器输出):echo
password—修改密码
语法格式—passwd 用户名
参数:
-n----指定密码的最短使用期限
-x----指定密码的最长使用期限
-w----设置密码过期警告时间
-l----锁定用户账号密码
-u----解锁用户账号
-d----删除用户密码,在redhat中,空密码用户禁止登陆
echo 密码 | passwd --stdin 用户名
man手册命令帮助
用法:man command
NAME 命令名称及功能简要说明
SYNOPSIS 格式说明,用法说明,包括可用的选项DESCRIPTION 命令功能的详尽说明,可能包括每一个选项的意义
OPTIONs 选项,说明每一个选项的意义
EXAMPLE 示例,举例说明
FILES 此命令相关的配置文件
AUTHOR 作者
REPORTING BUGS bug反馈
COPYRIGHT 版权
SEE ALSO 参见
文件管理
touch命令创建普通文件
两种作用:
如果文件已存在,更新文件的三个时间,stat可以查看文件的详细信息
atime-----access time 看了一下内容 cat
mtime-----modify time 文件内容被改变了,ctime也会发生改变
ctime------change time 元数据被改变,重命名
如果文件不存在,则表示创建文件
文件命名规则:
(1)不能使用/来当文件名,/是用来做根的,也是用来做路径分隔符的
(2)文件名不能超过255个字符
(3)区分大小写file File FILE fIle
(4)目录也是文件,在同一路径下,两个文件不能同名
创建多个普通文件:
方法1:touch 文件名1 文件名2 文件名3
方法2:touch {文件名1,文件名2,文件名3}
touch {1,2}{3,4}
touch abc{1..100}
cd命令切换目录
绝对路径(以/开始的路径):cd /home/redhat
相对路径(不是以/开始的路径):cd /;cd home;cd redhat
直接回到当前用户的主目录:cd ~
回到当前目录的上一级目录:cd …
回到当前目录:cd .
切换到之前的目录:cd -
创建目录文件:mkdir 目录名
-p parents 父目录
-v verbose 详细信息
删除普通文件和目录文件:rm(命令别名默认带-i,该选项用来提示用户进行交互)
删除当前目录下的所有文件(*代表所有):rm -rf *
复制文件:
复制普通文件:cp
复制目录文件:cp -r
移动文件:mv,等同Windows里面的剪切,移动之后原文件消失
who /var/log/wtmp
find查找
- 第一部分:根据文件名查找
1、在当前目录查找名称为test的所有文件:find test
2、在主目录下查找名称为test的所有文件:find /home –name test
3、在主目录下查找test的所有文件,且不分区大小写:find /home -iname test
4、查找名称为test的所有目录:find / -type d -name test
5、当前目录查找名为test.php的所有php文件:find -type f -name test.php
6、查找当前目录中所有php文件:find -type f -name '*.php'
- 第二部分:根据权限查找
7、查找权限为777的所有文件:find -type f -perm 0777 -print
8、查找没有777权限的文件:find -type f ! -perm 777
9、查找有特殊权限2755的SGID文件:find -perm 2755
10、查找有特殊权限1551的所有SBIT的文件:find –prem 1551
11、查找有特殊权限SUID的所有文件:find / -perm /u=s
12、查找有特殊权限SGID的所有文件:find / -perm /g=s
13、查找所有只读文件:find / -perm /u=r
14、查找所有可执行文件:find / -perm /a=x
15、查找所有777权限的文件,并使用chmod将其设置为644:find -type f -perm 0777 -print -exec chmod 644 {} \;
16、查找并删除单个文件:find -type f -name 'test.php' -exec rm -f {} \;
17、查找并删除多个文件:find -type f -name '*.php' -exec rm -f {} \;
18、查找所有空文件:find / -type f -empty19、查找所有空目录:find / -type d -empty
20、查找所有隐藏文件:find / -type f -name '.*'
- 第三部分:根据所有者和组查找
21、查找所有者为root的所有aaa文件:find / -user root -name 'aaa'
22、查找属于root组的所有文件:find / -group root
- 第四部分:根据日期和时间查找
23、查找30天前修改的所有文件:find / -type f -mtime +30
24、查找最后10-20天修改的所有文件:find / -mtime +10 -mtime -20
25、查找最近1小时内修改的所有文件:find / -mmin -60
26、查找30天前访问的所有文件:find / -type f -atime +30
27、查找最近30天访问的所有文件:find / -type f -atime 30
28、查找最近1小时内访问的所有文件:find / -type f -amin -60
- 第五部分:根据大小查找
29、查找大小为50MB的所有文件:find / -size 50M
30、查找大于50M且小于100M的所有文件:find / -size +50M -size -100M
31、查找大于50M的所有文件并删除:find / -size +50M -exec rm -rf {} \;
32、查找大于10M的所有.mp3文件并删除:find / -type f -name '*.mp3' -size +10M -exec rm -rf {} \;
文件的压缩与解压缩:常见的压缩文件扩展名:
*.gz | gzip程序压缩的文件 |
*.bz2 | bzip2程序压缩的文件 |
*.tar | tar程序打包的数据,并没有经过压缩 |
*.tar.gz | tar程序打包的文件,其中经过gzip的压缩 |
*.tar.bz2 | tar程序打包的文件,其中经过bzip2的压缩 |
linux上常见的压缩命令就是gzip与bzip2
压缩文件gzip: gzip 文件名(原文件不存在)
gzip -c 文件名1 >文件名1.gz (保留原文件)
-C表示将压缩过程产生的数据输入屏幕上
Zcat 查看压缩过后的属性
解压文件: gzip -d 文件名.gz(不保留)
gunzip 文件名.gz
gzip -cd 文件名2.gz >文件名2(保留原文件)
查看压缩过的文本文件内容:zcat 文件名.gz
压缩文件bzip2(用法同gzip):bzip2 文件名
bzip2 -c 文件名1 >文件名1.bz2(保留原文件)
解压文件: bzip2 -d 文件名.bz2(不保留原文件)
bunzip2 文件名.bz2
bzip -cd 文件名2.bz2 > 文件名2(保留原文件)
查看压缩过的文件内容:bzcat 文件名.bz2
文件的归档即打包文件:tar [主选项+辅选项] 文件或目录
主选项:只能出现一个主选项
c--- create 创建一个新归档文件
x--- 从归档文件中提取文件出来
t--- 列出归档文件的内容,查看已经打包了哪些文件,重点在查看文件名
辅选项
z---通过gzip的支持进行压缩/解压缩,一般格式为*.tar.gz
j--- 通过bzip2的支持进行压缩/解压缩,一般格式为*.tar.bz2
v--- 归档或解包过程中显示被打包的文件
C---这个参数用在解压缩时,若要在特定目录解压缩,可以使用这个参数
f--- 输出结果到文件,必须写该选项
--exclude FILE:在打包的过程中,不要将 FILE 打包! --排除某个文件打包
两种压缩方式:jcvf zcvf
打包、压缩文件1和2并重命名:tar zcvf 新文件名 文件名1 文件名2 文件名3 文件名4
解压:tar xvf 文件名 该命令会自动判断归档文件的压缩格式,自动调用相关程序进行解压缩
解压到指定路径:tar xvf 文件名 -C 目标路径
tar -xjv -f filename.tar.bz2 -C 欲解压缩的目录
查看已压缩文件:tar tf 文件名
磁盘管理:
一块磁盘默认可被分为四个分区,这四个分区分别为主分区或者扩展分区,在扩展分区上可创建逻辑分区。
boot loader 开机管理程序:初始化硬件程序
df -h 查看磁盘分区情况
fdisk -l 查看分区列表
fdisk /dev/sda
partprobe 将分区信息加载到内核
mkfs.ext4 /dev/sda5 添加文件系统,即格式化磁盘
临时挂载:mount /dev/sda5 挂载点目录
mount 查看所有挂载的信息
mount -a 更新挂载信息
卸载:umount /dev/sda5 或 umount 挂载点目录
用户管理
useradd 用户名=adduser 用户名
添加用户并添加选项:useradd 用户名 -u uid号 -g gid号/组名 -G 附加组/组名 -c 备注 -s 指定shell -d 指定家目录
id 查看用户的uid、gid以及组
删除用户:userdel -r 用户名
组管理的配置文件
-rw-r--r--. 1 root root 998 Aug 25 10:30 /etc/group
组名:组密码:组id:用户列表
组:
私有组:当组里只有它一个成员时,它的基本组也叫做私有组
基本组:用户的默认组(班级)
附加组:默认组以外的组(学生会)
添加组:groupadd -g gid 组名
修改组密码:gpasswd
-a 添加用户到组
-d 将指定用户移出本组
-M设置组成员列表
-A 指定组管理员为哪个用户
-r 删除组密码
newgrp 登陆一个新组
使用exit退出新组
为一个组更改名字:groupmod -n 新组名 -g gid 原组名
删除组(只能删除groupadd添加的组,无法删除用户的私有组):groupdel 组名
usermod:
-c 改变用户的全名或者说描述名称
-d 改变用户的家目录
-e 设置用户账号的过期时间
-g 改变用户的gid
-G 将用户添加入一个新组
-s 改变用户的默认shell
-l 改变用户用户名
-u 改变用户的uid
-L 锁住密码,使账号不能用
-U 为用户密码解锁
给用户追加附加组:usermod -a -G 组名 用户名
给用户修改密码:
passwd 用户名
-n 指定密码的最短使用期限
-x 指定密码的最长使用期限
-w 设置过期警告时间
-l 锁定用户账号密码
-u 解锁用户账号
-d 删除用户密码,在redhat中,空密码用户禁止登陆
echo 密码 | passwd --stdin 用户名
修改配置文件添加用户:
修改配置: /etc/passwd
/etc/shadow
/etc/group
添加家目录 /home/用户名
su - 用户名
软件安装:
1.安装文件,例如qq.exe rpm安装
2.yum
3.源码安装
rpm:redhat package manager红帽软件包管理工具
1.挂载:mount /dev/sr0 /mnt
2.ls /mnt/Packages 查看软件包名
3.先切换到/mnt/Packages再安装rpm -ivh yp-tools-
i安装v详细信息h安装时列出标记“#”
4.删除软件:rpm -e tree(包名)
5.查询所有安装的软件包rpm -qa | grep tree
6.查看软件包释放的文件详细位置rpm -ql 包名
7.查看某个文件是哪个软件包释放的rpm -qf 文件名
rpm -Uvh 升级软件包--Update;
yum:Yellow dog Updater,Modified黄狗管理器,更新管理器
是一个在Fedora和RedHat以及CentOS中的shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
定义配置文件:vim /etc/yum.repos.d/base.repo
yum.repos.d目录下只认识.repo结尾的配置文件
本地源配置文件:
[base]源标识
name=base源名称
baseurl=file:///mnt/ 软件包的位置file本地文件://协议 enable=1,启用这个仓库或者源,一个源可以有多个仓库
gpgcheck=0校验是否为官方的
gpgcheck=1 是否gpg签名检查,1为检查,0为不检查
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 如果上面gpg签名为不检查,那么这里就省略,如果是检查,需要配置。
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,
更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all全部清除
查看源标识、源名称、状态:yum repolist
安装软件:yum install
删除软件:yum remove
本地rpm软件包:localinstall