本帖最后由 Erik.Xue 于 2020-10-27 14:11 编辑
Linux:
大家都知道Linux的目录结构:只有一个根目录。Linux由于是Open Source的操作系统,所以他的程序码可以修改成适合在各种机器上面运行的,也就是说,Linux是具有“可移植性”,这是一个很重要的功能。
Linux的目录结构如下图所示:
运行环境:我使用的是Centos7系统,配合VMware虚拟机运行。附上如何在VMware中设置Centos7的网络配置方法:https://www.linuxidc.com/Linux/2017-07/145845.htm
注意:本人亲测,在Centos7中已经不适用ifconfig查询网络地址这一命令了,使用的是ip addr命令。同时网卡名称有eno改为了eno167777363。 目录的相关操作:cd(change directory):变换目录
cd. :代表此层目录
cd.. :代表上一层目录
cd- :代表前一个工作目录
cd~ :代表“目前使用者”所在的主文件夹
cd/ :代表返回根目录
cd~account:代表account这个使用者的主文件夹(account为账号名称)
pwd:显示当前目录
-p:显示完整路径
mkdir:创建一个新的目录
-p:父目录不存在的情况下先生成父目录
-v:显示命令执行过程中的详细信息
rmdir:删除一个空的目录
-p:可连续删除上一层目录 查看文件与目录:ls:常用ll
-a:全部的文件,连同隐藏文件(开头为.的文件)一起列出来
-d:仅列出目录本身,而不是列出目录内的文件数据
-l:列出长数据串,包含文件的属性与权限等数据
-r:将排序结果反向输出
-s:以文件容量大小排序,而不是用文件名排序
-t:按时间排序 复制、删除和移动:cp(复制文件或目录)
-i:若目标文件已经存在时,在覆盖前会先询问动作的进行
-p:连同文件的属性(权限、用户、时间)一起复制过去,而非使用默认属性
-r:递归持续复制,用于目录的复制行为
-s:复制成为符号链接文件,软连接即快捷方式 rm(移除文件或目录)
-f:force的意思,忽略不存在的文件,不会出现警告信息
-i:在删除前会询问
-r:递归删除,慎用!!! mv(移动文件与目录,或更名)
-f:force的意思,忽略不存在的文件,不会出现警告信息
-i:在目标文件已经存在前会询问是否覆盖
如何将一个文件移动到上级目录?
mv 要移动的文件名 …/ 文件内容查阅cat(concatenate):由第一行开始显示文件内容
-n:显示行号
tac:从最后一行开始显示,倒着写的cat
nl:显示的时候,顺便输出行号
more:一页一页的显示文件内容
操作:
Enter:向下n行,需要定义。默认为1行
空格键:向下滚动一屏 或 Ctrl+F
B:返回上一屏 或 Ctrl+B
Q:退出more
less:与more相似,但是比more更好的是,可以往前翻页
-m:显示类似more命令的百分比
-n:显示每行的行号
操作:
空格键:前进一页 或 page down
B:后退一页 或 page up
D:前进半页
U:后退半页
回车键:前进一行 或 方向键向下
Y:后退一行 或 方向键向上
Q:退出
head:只看头几行
tail:只看尾巴几行
-f:循环读取
od:以二进制的方式读取文件内容 修改文件时间或创建新文件:三个重要的变动时间:
modification time(mtime):当该文件的“内容数据”变更时,就会更新这个时间。内容数据值得是文件的内容,而不是文件的属性或权限。
status time(ctime):当该文件的“状态”改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间。
access time(atime):当“该文件的内容被取用”时,就会更新这个读取时间。举例来说,我们使用cat去读取/etc/a.conf,就会更新该文件的atime。 touch最常使用的情况是: - 创建一个空的文件;
- 将某个文件日期修订为目前(mtime与atime)
查找命令:find:查找文件或目录
which:脚本文件名的查询
whereis:寻找特定文件名
-b:只找二进制格式的文件
-m:只找在manual路径下的文件
-s:只找source源文件
-u:查找不在上述三个选项当中的其他特殊文件
locate:根据关键字查找 vi与vim的使用:vi的使用:
1.使用vi进入一般模式:vi 文件名
2.按下i进入编辑模式(i,o,a都可以)
3.按下Esc回到一般模式
4.在一般模式中输入“:wq”保存后离开vi
常用命令:插入:(从一般模式进入到插入模式)
命令 | 描述 | i | 在光标前插入 | shift + i | 在光标当前行开始插入 | a | 在光标后插入 | shift + a | 在光标当前行末尾插入 | o | 在光标当前行的下一行插入新行 | shift + o | 在光标当前行的上一行插入新行 |
复制或粘贴:(在插入模式下)
yy | 单行复制,将光标移动到将要复制的行处 | nyy | 多行复制,将光标移动到将要复制的首行处 | p | 粘贴,将光标移动到将要粘贴的行处 |
定位
gg | 到文本的第一行 | shift + g | 到文本的最后一行 |
删除
退出
:q | 退出vi(没有做任何修改时) | :q! | 强制退出不保存 | :w | 保存不退出 | :wq | 保存后退出 |
压缩与打包文件:在Linux环境中,压缩文件扩展名大多是*.tar,*tar.gz,*.tgz,*.gz,*.z,*.bz2 gzip,zcat:gizp可以说是应用最广泛的压缩命令。*.gz
gzip -d 来解压缩,zcat可以读取压缩为文本文件内容。
bzip2,bzat:比giz好。*.bz2
压缩:bzip2 -z 文件名;解压缩:bzip2 -d 文件名 .bz2。 tar命令-c :新建打包文件,可搭配-v来查看过程中被打包的文件名。
-t:查看打包文件的内容含有哪些文件名
-x:解打包或解压缩的功能,可以搭配-C(大写)在特定目录解开
-c,-t,-x不可同时出现在一串命令中
-j:通过bzip2的支持进行压缩/解压缩,此时文件名最好为*.tar.bz2
-z:通过gzip的支持进行压缩/解压缩,此时文件名最好为*.tar.gz*
-v:在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename:-f后面要接被处理的文件名。建议-f单独写一个参数
-C 目录:这个参数用在解压缩时,若要在特定目录解压缩。 -P:保留备份数据的原本权限与属性,常用于备份重要的配置文件
-p:保留绝对路径,即允许备份数据中含有根目录存在之意
-exclude = FIFE:在压缩过程中,不要讲FIFE打包 bashshell:只要能够操作应用程序的接口都能够成为shell。
bash主要的优点: - 命令记忆能力
- 命令与文件补全功能(Tab)
- 命令别名设置功能(alias)
- 作业控制、前台、后台控制
- 程序脚本(Shell Script)
- 通配符(wildcard)
bash shell的内置命令:type
通过type命令可以知道每个命令是否为bash的内置命令。
什么是变量?变量就是以一组文字或符号等,来代替一些设置或者是一串保留的数据。 变量的显示与设置:echo、unset
显示变量:echo $变量名
例:
echo $HOME
取消变量:unset 变量名
其他命令:管道 |
Linux提供管道符号“|”。作用是“命令1”的输出内容,将作为“命令2”的输入内容。一般与grep命令一起使用。
格式:命令1 | 命令2
grep命令
表示全局正则表达式版本
功能:用于过滤/搜索的特定字符。可使用正则表达式与多种命令配合使用。
ps命令
功能:Process Status的缩写。ps命令提供对进程的一次性查看,即执行ps命令的那个时刻的进程信息。
-e:显示所有程序
-f:显示UID,PPIP与STIME栏位 kill命令
功能:删除执行中的程序或工作。
常用:kill -9 pid file命令
功能:查看文件类型 env命令
功能:查看所有环境变量
HOME:代表用户的主文件夹
SHELL:告知目前此环境使用的SHELL是哪个程序
HISTORY:历史命令
MAIL:邮件命令
PATH:执行文件查找的路径
LANG:语系数据
RANDOM:随机数变量 0~32767
set命令
功能:查看所有变量(包括环境变量或自定义变量)
echo $?
功能:返回上一条命令所回传的值,成功为0,可以找错
ulimit -a
功能:列出你目前身份的所有限制数据数值
alias和unalias
功能:别名设置
chmod命令:功能:变更文件或目录的权限
-R或-recursive:递归处理,将指定目录下的所有文件夹及子目录一并处理
权限范围的表示法如下:
u:User,即文件或目录的拥有者
g:Group,即文件或目录的所属群组
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围
a:All,即全部的用户,包含拥有者,所属群组以及其他用户
符号:
+:添加权限
-:取消权限
有关权限代号的部分,列表如下: 代号 | 权限 | 数字代号 | r | 读取权限 | 4 | w | 写入权限 | 2 | x | 执行权限或切换权限 | 1 | - | 不具有任何权限 | 0 |
Linux权限格式
|