linux安装详解
分区分为MBR ,GPT两种类型
MBR分区类型:
主分区:一块硬盘最多四个主分区,不能分小区,可以用来启动操作系统(也就是作为系统分区),可以直接创建文件系统,存放数据。
PS:系统分区(启动OS的分区,也就是启动系统的分区)系统分区肯定是主分区
启动分区:安装OS,系统文件的分区
活动分区:一个硬盘可以多个主分区,但只有一个活动分区
扩展分区:一块硬盘最多一个扩展分区,加主分区最多四个分区。不能创建文件系统NTFS,FAT,就是一个容器。可以在划分为更小的分区(即逻辑分区)。
逻辑驱动器(或者是逻辑分区): 可以创建文件系统,也可以存放数据。

系统分区建议
/ 50g
/boot 1G
/data 30g
swap 一般是内存的两倍 2G,(看情况)

硬盘 分区表示法:
分好区后会在/dev文件下显示分区信息,
/dev/sda1
/dev/sdb2
/dev/sdc3
/dev/sda4

swap分区时可能忘记内存大小,那么ctrl+shift+f2 进入后 cat /proc/meminfo 查看
shift+Pgup进行翻页查看

查看分区
ls /dev/sda* 查看有哪些磁盘分区
lsblk 查看块设备的情况
fdisk -l 查看磁盘分区

linux 基础操作

1.每次登陆系统无需重复输入用户名和密码就直接可以登陆界面:
cd /etc/gdm 切换到gdm
gedit custom.conf gedit文本编辑器,在图形界面使用,字符界面不能使用 和vi类似
然后修改[daemon]选项
AutomaticLoginEnable=true
AutomaticLogin=root
2.配置网卡选项
gedit /etc/sysconfig/network-scripts/ifcfg-ens33
ONBOOT=yes onboot选项设置为yes,网卡开机就自动启动

用户:
超级用户不是单纯指root,而是指id为0的用户名,并不是你叫root你就是超级用户。
一个用户在系统中都会有一个id。
id -u 查看当前用户的id
id -u root 查看指定用户的id

终端:
一个物理机可以打开多个终端,ctrl+alt+F2,3,4,5,6 来打开各个终端
除了快捷键之外还可以用命令 chvt 1 ,chvt 2 等来进行终端的切换。
tty 命令查看当前终端是哪个
查看当前是哪个终端时,显示为tty 一般都会本地登陆的终端
显示为pts/0,则是远程终端登陆的,并不是本机登陆过的
who 查看通过全部登陆过的终端
whoanmi 显示当前用户的身份
who am I 可以显示哪个终端上面的用户登陆的
w 查看哪些终端登陆过,并可查看最近这个终端干了什么,显示的信息最全
who -b 查看用户启动系统的时间
who -r 查看用户上次是哪个模式登陆,和现在的登陆模式

模式切换
init 0关机 ,init 3字符模式 init 5图形模式
init 用来切换显示的模式
runlevel 查看当前模式,并且还可以查看上次的模式。

startx 切换成图形,但不是切换了模式,并没有把图形模式的服务启动,所以runlevel查看时会发现现在并不是显示5.模式没有改变,只是现在的图形界面发生了变化。
图形在linux里面相当于一个软件,并不是必须的,和windows相反。

交互式接口:
在登陆终端后,在终端设备附加一个交互式应用程序
GUI:图形界面

CLI:
shell是linux系统的用户界面,提供了用户与内核进行互相操作的一种接口。他接受用户输入的命令并把它送入内核去执行。
shell 程序:bash,sh等。shell程序也分好多种
echo $SHELL 命令输出当前shell程序里面启用的是哪种shell
最常用的就是bash shell。
显示当前系统的所有shell:cat/etc/shells

命令提示符:
在生产环境或者测试环境中,最好把命令提示符修改成明显的提示,避免进行误操作。

1.[root@zjq~]#
#代表当前是超级管理员用户。$代表普通用户
2.hostname 查看主机名全称
3.命令提示符也是有格式的,可以进行修改格式,修改提示符显示的字符。
echo $PS1 命令查看提示符的格式
修改提示符:PS1=“ ”
临时修改可以直接PS1=进行修改,但是退出时就失效了,所以想一直有效,就得在文件中修改。
nano /ect/profile.d/env.sh 在pfofile.d下建一个后缀为.sh的文件夹,输入修改的提示符就好了。

执行命令

1.shell执行命令的时候会分为两种执行
一种是内部命令,一种是外部命令。
2.内部命令,是.shellbash 程序自带的,直接存入系统内存中,集成在/bin/bash文件中
enable 查看内部命令的列表,
enable -n name 禁用某个内部命令
enable -n 禁用所有内部命令
enable name启用内部命令
help 可以查看所有内部命令的列表。内部命令前面带*表示禁用
内部命令查找速度比外部快
type name 查看命令的类型
3.外部命令 是存放在磁盘中的各个文件夹中的。
那么可以用echo $ PATH 输出变量,查看外部命令的各个文件夹
4.所有命令在第一次查找时会按照文件夹的顺序从前往后找,那么找到后,下面文件夹就不找了,但如果我们调用命令之后把命令放入到了其他文件夹中,那么我们在用这个命令时,还是会用我们以前文件夹中的命令。
因为外部命令只要我们调用过就会存入一个缓存中,hash中。系统就记录下了我们第一次查找这个命令的文件夹。所以系统在次调用时,会先查看hash的列表,如果没有,才会再去PATH中找。那么要想让系统改变查找的文件夹,我们可以清除缓存。
hash 显示缓存
hash – d name 指定命令清除缓存
hash -r 清除所有缓存
exit 退出后缓存也会消失
which name 查看外部命令所在路径
whereis who 查看外部命令所在路径,并且帮助文档的路径也可以查看到
which –skip-alias ls

命令别名

别名,内部命令,外部命令也有优先级的问题,同样命令,先用别名,在内部,最后外部
如果我们就要用命令的原始命令,不考虑别名等问题,可以
例:‘ls’ 加单引号
\ls 加斜杠
\bin/ls 输入路径 ,有路径当然是指的外部命令
command ls
3 别名就会给命令加一个快捷方式,编码繁琐的敲命令
alias name=‘value‘’添加一个别名
unalias name 删除别名
unalias -a 取消所有别名

alias ifconfig="hostname" 一个命令定义为了别名,肯定是输出别名的内容,
\ifconfig 前面加斜杠 这两种格式可以输出原来命令的内容
'ifconfig' 加单引号

  1. 如果设置的别名想永久有效,就需要配置在文件夹中了,只对当前用户有效
    ls -a 查看所有文件,需要修改的文件是一个隐藏文件
    nano .bashrc 在此文件夹配置
    source .bashrc 修改后必须加载此文件夹才会立即生效

时间显示
在 系统中分为软件时间和硬件时间
1.date 显示软件时间
date -s “20190306 17:21:20” 直接设置时间
date +%s 当前系统时间到1970年之间有多少秒。70年uinux算为诞生日
date “+%F” 显示年月日
date “+%F %T” 显示年月日,小时,分,秒
date 022413152019.10 以月日,小时,分,年份,秒 直接修改时间
date -d 显示字符串所指的日期与时间,字符串前后必须加上双引号
date -d “-2 day” 两天前的时间,
date +%F" "%T -d "-2 day" 显示两天前的时间,显示的格式是简单格式

2.clock 显示硬件时间
clock -s 系统时间和硬件的时间同步
clock -w 硬件时间和系统时间同步

3.ntpdate ip地址 将现在系统的时间改为互联网上的时间。

  1. /ect/localtime 记录时区的文件

  2. 在centos7系统中 timedatectl status 查看时区的一些信息
  3. 在centos7系统中 timedatectl list-timezones 列出所有的时区
  4. 在centos7系统中 timedatectl set -timezone America/Guyana 直接更换时区
  5. 在centos6系统中 tzselect 选择时区

9.cal 当月日历
cal -y 全年日历
cal 8 2018 某年某月日历

关机命令
关机:half,poweroff 关闭电源关机
重启:reboot
shutdown -h now 关掉系统服务之后立即关机
shutdown -h +5 5分钟后关机
shutdown -h 9:00 九点关机
shutdown -c 取消关机

screen命令
两个主机链接相同的服务器和登陆相同的账号,建立一个screen会话,可以实现桌面共享。

创建新screen会话
screen –S [SESSION]
加入screen会话
screen –x [SESSION]
退出并关闭screen会话
exit
剥离当前screen会话
Ctrl+a,d
显示所有已经打开的screen会话
screen -ls
恢复某screen会话
screen -r [SESSION]

echo 符号输出
echo echo $PS1
echo 'echo $PS1'
echo "echo $PS1"
echo echo $PS1
echo $(echo $PS1) 和上一个相等

echo

命令行拓展,被括起来的集合

1号,双引号,反向单引号输出的效果

2个命令要调用被调用命令的输出信息的时候要用反向单引号括起来。

{} 花括号实现的效果
我们可以利用花括号组合输出的功能创建多个文件。

Tab键的用法,可以补全命令

命令的历史记录

1.history 查看输入过的命令,默认是最近的1000条记录,修改数量可以在cat /etc/profile
文件中修改。
2.可以直接 !67 调用命令,不用直接在次输入
3.我们输入命令后,首先会存入到内存中,当我们正常退出系统的时候,非正常关机可能就会丢失数据,内存中的命令会写入磁盘。可以在家目录的文件夹查看历史命令。
cat .bash_history
history -c 清除内存的记录
history -d 102 删除第几条命令
history -a 马上将内存的记录写入的磁盘中,/etc/.bash_history
history -r 将文件保存的历史放入到历史记录中查看
history -p · id who 输出的命令不写入历史记录中

  1. 调出历史命令可以做的快捷操作
    ctrl -r 在命令历史中搜索命令
    crtl+g从历史搜索模式中退出
    ll – zjq 查看这个文件
    cat !$ 调用上次的参数,不用再打
    cat (esc键)+ . 调用上次的参数,不用再打
    cat alt +. 调用上次的参数,不用再打

命令帮助
man 在/usr/share/man 中
1.whatis rm 查看命令的简要说明 ,还可以看命令在哪个文档里面
系统刚装好时,whatis数据库不会马上装上,我们可以手动装上。
centos7里面:mandb
centos6里面:makewhatis

man rm 显示用法