文章目录
文件的建立与删除
建立文件
命令:
touch file... # 此处省略号表示可以一次建立多个文件
注意:
-
touch除了可以建立文件还可以修改文件的时间戳。
用法一:touch filename
作用:修改文件的时间戳到当前系统时间
用法二:touch -t 22222222 filename #第三段命令的字符个数必须为10
作用:修改文件的时间戳到指定的时间
查看文件的时间戳:stat 文件名
-
时间戳的定义:是指一个能表示一份数据在某个特定时间之前已经存在的、 完整的、 可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。
-
时间戳的分类:
名称 | 作用 |
---|---|
atime | 访问文件内容的时间 |
mtime | 修改文件内容的时间 |
ctime | 修改文件属性和内容的时间 |
建立目录
命令:
mkdir dir
mkdir -p dir1/dir2/dir3 #-p建立递归目录时,上层目录不存在时自动建立
##删除文件
命令:
rm file
rm -f fire #f=force 表示强制删除不询问
##删除目录
命令:
rm -r dir #-r表示递归删除,即删除目录本身和目录里面的所有内容
rm -r -f dir #强制删除不询问
rm -r -f dir ==rm -fr dir #在linux命令参数中 -a -b -c =-abc=-acb=bac=bca 顺序不需要注意
文件的编辑
两种编辑方法
- vim
适用环境:任何环境
用法:vim filename -->按键【i】进入insert模式–>键入内容-,直至输完->按键【esc】–>键入:wq 退出保存
- gedit
适用环境:图形模式
用法:gedit file
vim退出异常
- 原因:当使用vim编辑文件时,系统会自动生成一个.swp文件以防不测,当用户正常退出时,系统会自动删除.swp文件,当用户异常退出时.swp文件会被保存
- 图示:
vim异常退出时会生成.file.swp文件,当再次进入时会出现以下信息:
此时,按键【O】 【E】【R】【Q】 【A】中任意一个都不会删除.swp文件
解决方法:
- 输入命令vim 文件名 按键【R】键入:wq退出保存
- 输入命令vim 文件名 按键【D】键入:wq退出保存 即可删除.swp文件
- 输入命令vim 命令名即可重新编辑
文件的查看
cat命令
cat file #正向查看文件的所有内容
tac file #倒叙显示文件内容
cat -b file #查看文件的内容时,显示行号不包括空行(b和n时固定参数)
cat -n file #查看文件的内容时,显示行号包括空行
图示:
less命令
less file #分页浏览
用法:
- 上下键 #逐行移动
- pgup|pgdn #逐页移动
- 按键【v】 #进入vim,在vim下键入:wq退回至less中(对文件进行编辑)
/keyword
#显示关键字,按键【N】向上匹配【n】向下匹配
head和tail命令
head file #查看文件前10行内容
head -n file #查看文件前n行内容
tail file #查看文件后10行内容
tail -n file #查看文件后n行内容
文件的复制和移动
文件的复制
cp 源文件 目的文件
cp -r 源目录 目的目录
cp 源文件1 源文件2 目的目录
cp -r 源文件1 源文件2 目的目录
文件的移动
mv 源文件 目的文件
mv 源目录 目的目录
mv dir/* . #把dir下的所有文件移动至当前目录中
注意:
- 符号的含义
. 代表当前目录
… 代表上一级目录
* 代表所有
- 重命名与复制删除
磁盘情况 | 过程 | 节点号码 |
---|---|---|
相同 | 重命名 | 不改变 |
不同 | 复制删除 | 改变 |
文件的统计
file命令
作用:查看文件的真实类型是什么 (linux中文件名称的后缀不能代表文件的类型,此命令通过查看文件的内容确定文件的类型)
命令:file 文件名
图示:
当在vim输入一段c程序代码并且保存后,在命令行里输入file 文件名时,结果如图。
结果显示该文件是一个c程序源文件
wc命令
作用:统计文件的字数、字符数、行数
命令:
wc file #统计文件的行数 字符数 字数
wc -l file #统计文件行数
wc -w file #统计文件字数
wc -c file #统计文件字节数
wc -m file #统计文件字符数
图示:
当在vim下建立如下txt文件时
运行该命令结果如图:
=注意:=
- 在文件内容全是英文情况下,文件字节数和字符数个数相等,有中文情况下不等。一个中文字符占3个字节。
- 统计行数时,空白行统计在内。
- 每个单词后都有一个空格,也要统计在内
Linux的层级结构
Linux系统结构
-
FHS:
Filesystem Hierarchy Standard(文件系统层次化标准),FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录。 -
Linux是一个倒树型结构,最大的目录名称为"/" (根目录)
Linux系统中的二级目录
目录名 | 作用 |
---|---|
/bin | 二进制可执行文件,系统常规命令 |
/boot | #启动目录,存放系统自动启动文件、内核、初始化程序 |
/dev | #系统设备管理文件 |
/etc | 大多数系统配置文件存放路径。密码文件、设置网卡信息、环境变量的设置 |
/home/子目录 | 普通用户家目录 |
/lib | 函数库 |
/lib64 | 64位函数库 |
/media | 临时挂载点,u盘等 |
/mnt | 通常包括系统引导后被挂载的文件系统的挂载点。如挂载Windows下的某个分区。 |
/run | 自动临时设备挂载点 |
/opt | 第三方软件安装路径 |
/root | 超级用户家目录 |
/sbin | 系统管理命令,通常只有root才可以运行 |
/srv | 系统数据目录 |
/var | 系统数据命令 |
/sys | 内核相关数据 |
/tmp | 临时文件产生目录 |
/usr/ | unix system resource(系统资源目录) |
文件的寻址
文件地址的分类
- 绝对路径
含义:文件在系统中的真实存储位置
注意: 此命令必须是以"/"开头
此命令在命执行时系统不会考虑现在所在位置的信息
- 相对路径
含义:相对于当前系统所在目录的位置
内涵:相对于当前系统所在目录的一个文件名称的简写
注意:
- -此命令不以"/"开头
- 此命令省略了系统当前所在目录的名称
- 此命令在命令执行时会自动在操作对象前加入"pwd"所显示的值
关于文件路径的命令
1 显示路径
pwd #显示路径
2 切换路径
cd 目录名称 #进入到指定目录下
cd - #当前目录和当前目录之前所在目录之间的切换
cd ~ #进入当前用户家目录
cd ~user #进入user家目录 不是所有用户都有家目录 能登录系统的一般有
cd .. #进入当前目录的上级目
3 查看
ls #默认操作当前对象
ls -l file #查看文件属性,以长列表形式是显示
ls dir #查看目录中包含的内容
ls -d dir #查看目录本身
ls -a dir # 查看所有文件,包含隐藏文件
ls -s dir #查看文件的size(大小)
ls -S dir #查看并且按照文件大小排序 大的在前 排序时出现的 ~文件为备份文件
文件批处理
系统中的通用配置符号
* | 匹配0到任意字符 |
---|---|
? | 匹配某个单个字符 |
[[:alpha:]] | 单个字符 |
[[:digit:]] | 单个数字 |
[:punct:]] | 单子符号 |
[[:space:]] | 单个空格 |
[[:alnum:]] | 单个字母或者数字 |
[[:lower:]] | 单个小写字母 |
[[:upper:]] | 单个大写字母 |
[[:punct:][:upper:]] | 单个符号或者单个大写字母 |
模糊匹配与精准匹配
[1-n] | 匹配1位数,即1-n的任意数字 |
---|---|
[a-z] | 匹配1位数,a-z的任意字母 |
![3-5] | 匹配1位数,不是3-5的任意字母 |
^ [3-5] | 同上 |
{1…n} | 匹配n个数,1 2 3 …n 不可以反选 |
{1,4,5} | 匹配1,4,5这三个数 |
例题解释
题目:
解答:
linux下的一些基础操作
系统历史的调用
history #查看历史
history -c #清空当前环境中的历史(谨慎操作)
!数字 #调用此行历史比如"!299"时执行历史中第299条命令
!keyword #执行以某keyword(关键字)开头的最近一条历史命令
ctrl +r [键入关键字] #调用历史中最近一条含有此关键字的历史命令
注意
linux系统中有重定向的概念,在这里,只研究history的输出重定向 。
history > 文件名(westos) 输出重定向 所有历史操作重新输入到一个文件中
示例:
在系统中获得帮助
1. - -help
含义:查看命令的基本用法,适用于多数命令
用法: 命令名字 - -help
参数:
-
[] 表示选项可以加也可以不加
-
… 表示选项加入的个数任意
-
<> 表示选项是必须要加入的
-
Userage: 表示命令用法
-
Opetions: 说明参数的作用
2 man (manual)
含义:查看命令或文件的说明手册
用法:
- man 命令 man 5 文件(命令格式)
- 上|下 逐行查看
- pgup|pgdn 分页查看
- /关键字 突出关键字 n向下匹配,N上向匹配
- q 退出
- /usr/share/doc 系统中所有安装过的软件的帮助文档
- man -k 字符串 查看当前字符串在系统中拥有的man的级别
man的级别:
1 | 命令 |
---|---|
2 | 系统调用接口 |
3 | 函数库调用接口 |
4 | 特殊设备文件 |
5 | 系统配置文件 |
6 | 游戏规则说明 |
7 | 包说明 |
8 | 系统管理命令 |
9 | 内核调用规则 |
注意: 其中,1 3 5 8 较为重要,需要记忆。
3 whatis
含义: 查看命令的用途
用法:whatis 命令名称
注意:在查看过程中如果提示noting… 执行mandb可以解决(更新系统的操作数据库)
~ 的一些用法
~ | 当前用户家目录 |
---|---|
~username | 指定用户家目录 |
~+ | 当前用户 |
~- | 进入当前目录之前所在的目录 |
补充:(linux中shell kernel等的概念及关系)
kernel是什么?
- 硬件和软件之间的管理器,程序调度器; 内核和os类型应匹配。
- Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。
- linux是一款内核的名称
注意:
- Linux是一款内核的名称
- linuxos =Linux内核+GUN组织的软件+厂商开发出来的软件
shell是什么?
- shell其实是一个命令解释器,它的作用是解释用户输入的命令和程序,命令和程序可以理解成我们图中的应用程序,我们linux系统中的那些命令其实也都是一个个的小程序,只不过完成的是系统的应用功能。我们在系统的终端中输入一条命令,可以立马看到一条或者几条系统回复我们的信息,其实就是shell在帮我们回复,所以shell可以称之为命令解释器。这种从键盘一输入命令,就可以立马得到相应的回复信息,叫作交互的方式,相当于我们在和电脑交流。Shell存在于系统的最外层,所以算作操作系统的外壳,它之外的应用程序就不能算作操作系统了。我们从输入系统的账户密码开始,到登录系统以后的所有操作都是shell在帮我们解释执行的。
- 如果我们的命令或者应用程序不在命令行直接执行,而是通过一个程序文件来执行时,这个程序就被称之为shell脚本。Shell脚本里面通常内置了多条命令,有的还包含控制语句,比如if和else的条件控制语句,for和select的循环控制语句等。这些内置在一个shell脚本中的命令通常是一次性执行完成,不会不停的返回信息给用户,这种通过文件执行脚本的方式称之为非交互方式。Shell脚本类似于windows下的批处理,但是它比批处理要强大一些,现在windows下有一个叫做power shell的功能可以和linux下的shell功能媲美。
两者之间的关系
( 图片来源于网络)