目录
结构
Linux的目录结构为树状结构,最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。
/bin/ | 存放系统二进制命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行 |
/boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ | 设备文件保存位置 |
/etc/ | 配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等 |
/home/ | 普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在 /home/ 下建立一个和用户名相同的目录。如用户 liming 的主目录就是 /home/liming |
/lib/ | 系统调用的函数库保存位置 |
/mnt/ | 挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区 |
/opt/ | 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。不过笔者还是习惯把软件放到 /usr/local/ 目录中,也就是说,/usr/local/ 目录也可以用来安装软件 |
/sbin/ | 保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看 |
/var/ | 日志 |
/proc/ | 放正在运行的程序 【进程】 |
/net/ | 网络配置 |
/root/ | root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下 |
常用目录命令
- ls(英文全拼:list files): 列出目录及文件名
- cd(英文全拼:change directory):切换目录
- pwd(英文全拼:print work directory):显示目前的目录
- mkdir(英文全拼:make directory):创建一个新的目录
- rmdir(英文全拼:remove directory):删除一个空的目录
- cp(英文全拼:copy file): 复制文件或目录
- rm(英文全拼:remove): 删除文件或目录
- mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
Linux系统中使用以下命令来查看文件的内容:
- cat 由第一行开始显示文件内容
- tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
- nl 显示的时候,顺道输出行号!
- more 一页一页的显示文件内容
- less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
- head 只看头几行
- tail 只看尾巴几行
cat
选项与参数:
- -A :相当于 -vET 的整合选项,可列出一些特殊隐藏字符而不是空白而已;
- -b :跳过空行编号,列出行号,仅针对非空白行做行号显示,空白行不标行号!
- -E :将结尾的断行字节 $ 显示出来;
- -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
- -T :将 [tab] 按键以 ^I 显示出来;
- -v :列出一些看不出来的特殊字符
- -s : 压缩空行
将两个文件合并成一个文件
1、cat 1.txt 2.txt > 3.txt
2、paste 1.txt 2.txt > 3.txt
head
取出文件前面几行
格式:head 选项 数字
选项与参数:
- -n :后面接数字,代表显示几行的意思(不加数字,默认开头十行)
tail
取出文件后面几行
格式:tail 选项 具体数字 文件名
选项与参数:
- -n :后面接数字,代表显示几行的意思(不加数字,默认结尾十行)
- -f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测(实时查看后10行)
wc
统计列数,wc本身就是参数 world
格式:wc 选项 目标文件
选项与参数
- -l : 统计行数
- -w:统计单词个数
- -c :统计字节数
grep
查找文件
格式:grep 选项 查找条件 目标文件
-
-i:查找时忽略大小写
-
-v:反向查找,输出与查找条件不相符的行
-
-o 只显示匹配项
-
-f 对比两个文件的相同行
-
-c 匹配的行数(grep -c root passwd 2)
-
-R 递归过滤软连接
-
-r 递归 快速过滤 不过滤软连接
-
-w 把字符串看成单词
- “^……”表示以……开头,“……$”表示以……结尾
- “^$”表示空行
grep需要配合正则表达式
管道符丨
- 标准输入:输入进系统的命令
标准输出:命令执行结果正确后反馈的结果
错误输出:不是要的结果
重定向:改变标准输出的方向,输出到文件中,输入到其他的远程连接
举例: 我现在有一个文件夹里有很多文件,请快速过滤出这个文件夹下所有含有root的字符串的文件?
grep -r ‘root’ 文件夹
paste
合并文件
-d 指定分隔符
sort
排序
- -r 执行反方向(由上至下)整理
- -R 随机排序
- -n 执行按数字大小整理
- -h 人类可读排序,如: 2K 1G
- -f 选项忽略(fold)字符串中的字符大小写
- -u 选项(独特,unique),合并重复项,即去重
- -t 指定分隔符
- -k 指定列
uniq
去重
- -c:显示每行重复出现的次数
- -d:仅显示不曾重复的行
uniq常和sort一块配合使用
tar
归档文件
格式:tar 选项 自定义名字 要归档的文件
选项与参数
-c 建立归档
-v 显示详细过程
-f 代表使用归档,tar 一定有f
-z 代表使用gz压缩
-j 代表使用bzip2压缩
-C 解压时指定解压目录
-x 解压归档
-p 打包时保留文件及目录的权限
-t 列表查看包内的文件(要和f一起使用)
注意
1、tar 一定要加f 选项
2、加了 – f 选项在最后 不加无所谓
3、解压的时可以不考虑 gz 还是 bzip 2
4、加了-f只能在后面
举例
tar –czf jpg.tar.gz *.jpg
将目录里所有jpg文件打包成 jpg.tar 后,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,命名为 jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成 jpg.tar 后,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,命名为jpg.tar.bz2
tar -xf all.tar
解压all.tar中所有的文件
系统先去读取/etc/profile 再去读取./bashrc
vim
文本编辑器
格式:vim 文件
1、命令模式 移动光标,基本操作,剪切/粘贴文本
2、输入模式 命令模式下 按i o 会切换到 输入模式 用于修改文本
3、末行模式 命令模式下 按英文冒号 会切换到 末行模式 保存、退出等搜索替代
输入和 末行之间无法 相互转换 必须退回命令模式
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
- ZZ:保存退出
- ZQ:不保存退出
- w:下一个单词的词首
- e:当前或下一单词的词尾
- b:当前或前一个单词的词首
- ^:跳转至行首的第一个非空白字符
- 0:跳转至行首
- $:跳转至行尾
- G:最后一行
- d:删除命令,可结合光标跳转字符,实现范围删除
- d$:删除到行尾
- d^:删除到非空行首
- d0:那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
- dw:下一个单词的词首
- de:当前或下一个单词的词尾
- db:当前或上一个单词的词首
- dd:剪切光标所在的行
- dd:剪切光标所在的行
- d1G:删除光标所在到第一行的所有数据
- dG:删除光标所在到最后一行的所有数据
- yy:复制行
- Y:复制整行
- p 缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
- P 缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
- 字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式,切换到命令模式
末行模式
在命令模式下按下:(英文冒号)就进入了末行模式。
末行模式可以输入单个或多个字符的命令,可用的命令非常多。
在末行模式中,基本的命令有(已经省略了冒号):
- q:退出程序
- q!:若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
- w:保存文件
- w!:若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
- wq:保存后离开,若为 :wq! 则为强制储存后离开
按ESC键可随时退出末行模式。
查找内容然后替换
范围 s/要找的内容/替换的内容/修饰符
范围 :
. | 当前行 |
1,10 | 1-10行 |
$ | 最后一行 |
% | 全文 |
1 | 第一行 |
$-1 | 倒数第二行 |
s 名字 search 找
/// 固定格式
要找的内容:可以使用正则表达式
替换内容 一定要明确
修饰符:
g 整行修改
i 忽略大小写
c 询问是否要修改
%s/^/#/g
给全文开头加上#号
%s/^#//
全文开头的#号去掉