/tmp 放临时数据的目录
/proc 虚假目录,映射内存数据。将内存映射成文件,linux一切皆文件
/etc 存放注册信息
/boot 只存放引导数据
以上等目录与分区没有直接关系
/dev 存储设备
sda sdb sdc ...
分区类型
GPT:只支持主分区
MBR:
主分区 一块硬盘最多4个,安装操作系统使用,只有一个是激活状态主分区 1-4
扩展分区 一块硬盘最多一个,不可以直接存数据,划分更小的分区 1-4
注:主分区和扩展分区加起来最多不超过4个
逻辑分区 在扩展分区内的更小分区单位 逻辑分区自动分,不能像上面分区一样人为规定,编号规则:5->...
将设备名称与创建的文件关联 叫做挂载(mount)
目标文件夹叫做挂载点 类似于 C、D盘
例如老师举的例子 ,将windows盘中 E盘这个盘符删除,里面数据并没有丢失,只是不能访问而已
/ 必须有一个分区分配给/ 目录 ,没有指定的挂载的 就放在/下面
将内存中不用的一些程序放在硬盘中,进而避免内存奔溃的情况
windows实现方式 ,使用虚拟内存实现
右键 此电脑->属性->界面右边”更改设置“->"高级“->“性能”->"设置"->"高级”->"更改",
大约有3G,成为pagefile。
linux中也有类似的思维 swap分区 内存和硬盘交换,模拟内存
/dev/sda 200G
/dev/sda1 mount /boot 1G
/dev/sda2 mount / 100G
/dev/sda3 mount /data 50G
/dev/sda4 extend 50G
/dev/sda5 逻辑分区 swap 40G
ctrl+alt+enter
ctrl+alt+f2 命令行形式
ctrl_alt_f6 安装向导
查看系统内存 cat /proc/meminfo
linux中向上翻页 shift+pageup
查看分区情况 cat /proc/partitions
kdump 系统奔溃以后内核分析,先不关注
=====================================================
查看当前用户的id id -u
查看某个用户的id id -u ttyang
tty 显示终端的设备名
pts 伪终端
echo $SHELL 显示当前使用的shell
/bin/bash 目前主流的shell
cat /etc/shells 目前支持的shell类型
hostname 查看主机名
prompt 命令提示符
~ 该用户的家目录
$ 普通用户
#管理员账号
修改提示符格式
暂时性的(内存中)
PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
1 颜色加重
5 闪烁
41 背景颜色 41-47
33 字体颜色 31-37
永久性(磁盘中)
PS1="\[\e[1;33m\][\u@\h \W]\\$\[\e[0m\]"
cd /etc/profile.d/
以.sh 结尾的就行 gedit /etc/profile.d/denv.sh 要在虚拟机本机操作
nano 文本编辑工具
nano /etc/profile.d/denv.sh
我们所执行的命令,实际上是bash,在执行命令的同时就会在后台加载,被bash集成的命令称为内部命令。
相对的称为外部命令,外部命令在磁盘,相对内部命令较慢。
内部命令和外部命令的本质区别是 是否集成在shell里!
type cd /cat 查看命令的类型
type -a echo
help 当前内部命令的所有帮助
enable cmd 启用内部命令
enable –n cmd 禁用内部命令
enable –n 查看所有禁用的内部命令
which cat(command) 专门查看外部命令的路径
whereis cat 查看外部命令,且可以显示帮助文档,如下:
[root@centos7 ~]#whereis cat
cat: /usr/bin/cat /usr/share/man/man1/cat.1.gz /usr/share/man/man1p/cat.1p.gz
linux中做二进制计算
[root@centos7 ~]#which bc
/usr/bin/bc
十进制转换为二进制
1. obase=2
2.敲入 十进制任意一个数,即可得到一个二进制
3.退出 quit
二进制转换为十进制
1.ibase=2
2.敲入二进制一个数,即可得到一个十进制
3.推出quit
Hash 缓存表
在linux中,一些文件存放位置有特定约束
1.在执行一个命令时,系统首先会判断是否是内部命令,如果不是就会搜索PATH里面各个文件夹
2.在PATH中找到就会缓存在内存里,我们称为hash,下次执行时候就会从上次执行的路径下找到
PATH环境路径
hash 显示hash缓存
hash -d hostname(commond)清理缓存
hash -r 全部清理
hash –l 显示hash缓存,可作为输入使用
hash -p /usr/bin/hostname sh
相当于给命令的全路径起个别名
[root@centos7 ~]#hash -p /usr/bin/hostname sh
[root@centos7 ~]#sh
centos7.localdomain
alias 列出所有别名
alias cdnet='cd /etc/sysconfig/network-scripts/'
删除别名 unalias cdnet
取消所有别名 unalias -a
1.当一个字符串既是内部命令还是外部命令,又是别名。那么别名优先级别>内部命令>(hash表>$PATH)外部命令
2.当别名和内部命令或者外部命令冲突时候,可以禁用别名 。前面加入反斜杠,例如: \echo,或者'echo'
例如 alias echo=hostname
[root@centos7 network-scripts]#echo
centos7.localdomain
环境变量
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
使得环境生效: source .bashrc 或者 . .bashrc
linux中 .开头的文件为隐藏文件
多个命令放在一行,可以用分号隔开
linux中两种时钟
系统时间:内核通过CPU的工作频率进行的 date
硬件时钟:主板 clock
clock -s 操作系统时间不正确,修改成和硬件时间一致
clock -w 硬件时间修改成和操作系统时间一致
ntpdate ip 使得远程机器和当前主机系统(date)时间一致
whatis 解释命令简短含义
lshw 列出硬件信息
刚刚装好的系统,没有whatis命令,得过一会才有,实际它是一个whatis数据库,在centos7中mandb 可以生成whatis数据库
=====================================================
hexdump 查看二进制文件
man bash 列出所有内部命令的帮助
date +%y 20
date +%y%m%d 200703
date +%Y%m%d 20200703
date +%F 2020-07-03
date "+%F %T" 2020-07-03 23:50:00 完整时间
date -d tomorrow
date -d yesterday
date -d "-2 day" 前两天
date -d "2 day" 后两天
+%F 显示时间按照年-月-日
man手册
man passwd 默认查看的是章节比较小的那一节
man 5 passwd 查看第五节的手册
whatis查看某个命令在第几章
使用whatis可以查看passwd手册的第几章
[root@centos7 ~]#whatis passwd
passwd (5) - password file
passwd (1) - update user's authentication tokens
sslpasswd (1ssl) - compute password hashes
man -a keyword 列出所有关键字的帮助
man -k keyword 列出所有匹配的关键字页面
man -f keywword 相当于whatis
man -w keyword 打印man帮助文件的路径
ctrl+alt +F2/F3/F4可以临时将图形化转化为命令行形式
/etc/issue 用户提示登录信息
uname -m cpu 架构
操作系统语言 locale
修改为中文 localectl set-locale LANG=zh_CN.UTF-8
修改为英文 localectl set-locale LANG=en_US.utf8
安装中文 rpm -ivh man-pages-zh-CN-1.5.2-4.el7.noarch.rpm
GUN工具info适用于适合通用文档参考
info 页面的结构就像一个网站
/usr/share/doc 多数安装了的软件包的子目录,包括了这些软件的相关原理说明
在windows和linux中换行本质不一样,内部二进制不一样;
linux中换行、回车是一个动作
windows中是换行和回车是动作分开
验证方法:
1.将linux和windows可以相互传输,通过hexdump -C 文件名 查看查看文件的二进制
windows 00000000 41 42 43 0d 0a 61 62 63 0d 代表换行
linux 00000000 41 42 43 0a 61 62 63 0a
2. xxd 文件名 也可以查看二进制文件
/etc/localtime 时区的文件
cal 显示日历 ,敲cal,默认显示当月
cal -y 显示整年日历
cal 9 2020 显示2020年9月的日历
cal 9 1752
shutdown -h +3 3分钟关机
shutdown -c 取消关机
而在windows中 ;
shutdown /s /t 3600 表示60分钟关机
shutdown /a 取消关机,且可以远程关机
who当前登录主机的用户
ps aux 查看当前运行的所有程序
screen
screen -ls 查看执行的状态
screen -r 恢复之前的界面
screen -S xiaohong 开始一个界面,类似于套接字
screen -x xiohong 加入到小红窗口,实现同步,相当于QQ的远程协助
crtl+a d 临时剥离会话
exit 会话全部退出
注:1.必须是3台机器;2.必须在同一用户
=========================================================
echo 返回显示
echo -e "\a" 命令结束提示
换行将以多行显示
[root@centos7 ~]#echo -e 'abc\n123'
abc
123
可以按照特定格式输出
[root@centos7 ~]#echo {000..20..2}
000 002 004 006 008 010 012 014 016 018 020
echo 'echo $PATH' 不识别命令和变量
echo `echo $PATH` 识别命令和单引号
echo "echo $PATH" 不识别命令,识别变量
学过的东西忘记了,再次记录下!!!!
[root@centos7 ~]#help echo
echo: echo [-neE] [arg ...]
Write arguments to the standard output.
Display the ARGs on the standard output followed by a newline.
Options:
-n do not append a newline
-e enable interpretation of the following backslash escapes 启用以下反斜杠转义的解释
-E explicitly suppress interpretation of backslash escapes
`echo' interprets the following backslash-escaped characters:
\a alert (bell)
\b backspace
\c suppress further output 压缩输出
\e escape character
\f form feed
\n new line
\r carriage return
\t horizontal tab
\v vertical tab
\\ backslash
\0nnn the character whose ASCII code is NNN (octal). NNN can be
0 to 3 octal digits
\xHH the eight-bit character whose value is HH (hexadecimal). HH
can be one or two hex digits
Exit Status:
Returns success unless a write error occurs.
$() 与 ` `等价
history 查看执行命令 ,在屏幕上会显示出来行号对应执行的那一条命令 !行号,非常方便
且每个用户的家目录下都有一个历史文件 .bash_history
几个小技巧:
1.重复前一个命令, 按 !! 并回车执行
2. !cat 表示以cat 开头的命令,将从后往前数
3.!?pro表示包含pro命令的,将从后往前检索
4. ^ls^ll 表示将上一条命令的ls 替换为ll,此用法只能替换第一个串ls,如果都替代使用下面那个方法
5 .!:gs/string1/string2 将上一条命令中所有的string1都替换为 string2
ctrl+r 搜索命令 ctrl+g 取消搜索
2个常用小技巧:
!$ 前一个命令的最后一个字符串
ESC . (点击Esc键后松开,然后点击 . 键)
history -c 清除内存中的命令
history -d offset: 删除历史中指定的第offset个命令
history -w /data/file.txt 将历史另存在一个文件里,相当于另存为
history -p: 展开历史参数成多行,但不存在历史列表中
history 记录地条数地变量,
echo $HISTSIZE
1000
/etc/profile中$HISISIZE可以修改
HISTTIMEFORMAT=“%F %T “ 显示时间
vim /etc/profile.d/env.sh可以添加上面地历史格式,永久生效
隐藏部分命令:
HISTIGNORE=“str1:str2*:… “ 忽略str1命令,str2开头的历史
隐藏部分秘密文件:
ignorespace 忽略所有以空白开头的命令
连着重复命令:
ignoredups 默认,忽略重复的命令,连续且相同为“重复”
ignoreboth 相当于ignoredups, ignorespace的组合
bash命令,非常实用的快捷键:
ctrl + l 清屏,相当于clear命令
ctrl + o 执行当前命令,并重新显示本命令
ctrl + s 阻止屏幕输出,锁定
ctrl + q 允许屏幕输出 ,解锁
ctrl + c 终止命令
ctrl + z 挂起命令
ctrl + u 从光标处删除至命令行首
ctrl + k 从光标处删除至命令行尾
alt + r 删除当前整行
ctrl + a 光标移到命令行首,相当于Home
ctrl + e 光标移到命令行尾,相当于End
alt+N 提示输入指定字符后,重复显示该字符N次,可以将某个字符快速重复指定次数