Filesystem Hierarchy Standard(文件系统层次化标准)
-/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)
-/dev: 设备文件
-/etc:配置文件
-/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
-/root:管理员的家目录;
-/lib:库文件
-/media:挂载点目录,移动设备
-/mnt:挂载点目录,额外的临时文件系统
-/opt:可选目录,第三方程序的安装目录
-/proc:伪文件系统,内核映射文件
-/sys:伪文件系统,跟硬件设备相关的属性映射文件
-/tmp:临时文件, /var/tmp
-/var:可变化的文件
-/bin: 可执行文件, 用户命令
-/sbin:管理命令
系统操作命令:
type:显示命令类型
-t:输出“file”、“alias”或者“builtin”,分别表示给定的指令为“外部指令”、“命令别名”或者“内部指令”;
-p:如果给出的指令为外部指令,则显示其绝对路径;
-a:在环境变量“PATH”指定的路径中,显示给定指令的信息,包括命令别名
练习:
help 命令:用于显示内部命令的帮助信息
-s:输出短格式的帮助信息。仅包括命令格式。
练习:展示cd 后面可接的选项
man:帮助手册manual,显示外部命令的帮助手册,功能等同help
-a:在所有的man帮助手册中搜索;
-f:等价于whatis指令,显示给定关键字的简短描述信息;
-P:指定内容时使用分页程序;
-M:指定man手册搜索的路径
若没有此命令,安装:yum install man man-pages -y
练习:
whereis : 定位命令位置
file:文件类型
echo:打印到标准输出
举例:echo "hello world"
$PATH: 输出环境变量:路径
cat /etc/profile :输出此文件
》 这个文件是一些人机交互的配置,不要乱动 ,(bash启动(交互方式))
ps :显示当前进程列表
-ef:显示所有进程列表
echo $$ :当前shell的PID
hash -r :清除缓存
shell文件:是一个bash(程序)
/etc/profile:是bash(程序)的配置文件
source a.sh :执行这个bash(程序),在当前bash环境下读取并执行FileName中的命令
练习:
df:显示磁盘使用情况,默认显示单位为KB
选项:
-h :以可读性较高的方式来显示信息,格式化
du:du会显示指定的目录或文件所占用的磁盘空间。
: du -sh :显示当前目录总的大小
: du -a :显示当前目录下所有文件的大小
stat 文件名:输出文件的元数据(属性:大小,修改时间等属性)
练习:
touch 文件名 :触摸文件
对于已经存在的文件,会修改文件的元数据(修改时间等属性)
对于未存在的文件,会创建文件
文件操作命令
cat : 输出文件内容,打印到屏幕上,并退出。
缺点:内容比较多时展示不全
more 文件A : 输出内容,分屏展示,空格键切一屏,回车下一行
less 文件A : 道理同上
head -10 文件A :显示前10行
tail -10 文件A : 显示后10行
| :管道,左右都为命令,原理为先执行左边的,然后在左边的基础上执行右边的
练习:显示文件的第八行内容,先输出前8行,再在此基础上输出最后一行。
vim 文件A: 打开文件A,进入编辑模式
按i : 进入输入模式
按Esc: 进入编辑模式
shift+: : 进入末行模式
vim +3 文件A : 打开文件A,并把光标定位到第三行
vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首
ZZ: 编辑模式,保存并退出 不需要冒号,
编辑模式下:
i : 在当前光标字符的前面转成输入模式
a : 在当前光标字符的后面转成输入模式
o : 在当前光标所在行的下方,新建一行,并转为输入模式
O :大写的o,在当前光标所在行的上方,新建一行,并转为输入模式
编辑模式下:
移动光标:
h: 左;j: 下;k: 上;l: 右
单词
w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
行内
0: 绝对行首
^: 行首的第一个非空白字符
$: 绝对行尾
行间
G:文章末尾
3G:第3行
gg:文章开头
翻屏
ctrl:f,b
删除&替换单个字符
x:删除光标位置字符
3x:删除光标开始3个字符
r:替换光标位置字符
删除命令(相当于剪切) : d
dw:删除一个单词
dd:删除一行
复制粘贴:
yw :复制一个单词
yy :复制一行
p : 粘贴
编辑模式下:
撤销&重做
u : 撤销上一个操作
ctrl+r : 重新执行上一个已撤销的操作
. : 再次执行上个操作
末行模式下:快捷键: shift+:
set nu : 显示行号
set nonu : 不显示行号
set readonly : 设置只读
末行模式下:
查找某字符的位置 : /
/abc : 查找abc的位置 按n 查看上一个 按N查看下一个
末行模式下:
替换:
s/abc/123/gi : 将当前光标行abc全部替换成123
g : 替换当前行全部
i :不区分大小写
正则表达式
grep:强大的文本搜索工具,显示匹配行
v:反显示
e:使用扩展正则表达式,指定字符串作为查找文件内容的范本样式
匹配操作符
\ :转义字符
. :匹配任意单个字符
[1249a],[^12],[a-k] :字符序列单字符占位
^ :行首
$ : 行尾
\<,\> :单词首尾边界
| : 连接操作符
(,) :选择操作符
\n :反向引用
重复操作符:
? 匹配0到1次。
* 匹配0到多次。
+ 匹配1到多次。
{n} 匹配n次。
{n,} 匹配n到多次。
{n,m} 匹配n到m次。
举例
51 grep "a" test
52 grep "a\{3\}" test
53 grep "\<aaa" test
54 grep "\<aaa\>" test
55 grep "b" test
56 grep "b\{2,3\}" test
57 clear
58 cat test
59 grep "god" test
60 grep "godgood" test
61 grep "god*good" test
62 grep "god.*good" test
63 grep "god.*good.*god.*good" test
64 grep "god.*good+" test
65 grep "\(god.*good\)+" test
66 grep "\(god\).*good.*\1" test
67 grep "\(god\).*\(good\).*\1.*\2" test
68 vi test
69 grep "\(god\).*\(good\).*\1.*\2" test
70 grep "\(god\).*\(good\).*\2.*\1" test
高级命令
sed :查找、替换
cut :用来显示行中的指定部分,删除文件中指定字段,连接两个或多个文件
sort: 给文件内容排序输出
wc :用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
awk: 重要 ,必须掌握