文件管理命令
新建文件
touch filename{…} (可以同时创建多个文件)
注意:touch不但可以建立文件也可以修改文件的时间戳。
stat filename可以查看文件的时间戳
单词 | 含义 |
---|---|
accesstime | 文件内容被访问的时间标识 |
modifytime | 文件内容被修改的时间标识 |
changetime | 文件属性或文件内容被修改的时间标识 |
下图为查看文件新建的时间,以及查看文件第一次被访问的时间。
当file文件存在时,我们再执行touch file的命令时,并不会创建已存在的同名文件,而是会改变已存在文件的所有时间戳。(对比上图)
新建目录
1.mkdir directory ##新建目录
2.mkdir -p dir1/dir2/dir3 ##新建递归目录
注意:-p表示新建递归目录,当上层目录不存在时自动建立。
文件删除
1.rm file (有提示)
2.rm -f file -f=force 表示强制删除,不提示。
目录删除
1.rm -fr dir
-f表示强制删除
-r表示递归删除,即删除此目录和此目录下的所有文件
注意:rm -fr *命令表示删除当前目录下的所有文件。
编辑文件
1.gedit
gedit file #必须有图形界面
2.vim
vim file ##按 i 进入insert添加内容模式,书写内容。
##按左上角ESC退出insert模式,按:wq 退出保存。
vim异常退出
当vim异常退出时(再次编辑文件后直接退出shell未保存时)会生成.file.swp文件。
当再次打开此文件时会出现以下情况:
- [O]pen Read-only 只读打开
- [E]dit anyway 继续编辑
- [R]ecover 恢复数据
- [D]delete it 删除swap文件
- [Q]uit 退出
- [A]bort 退出
无论[O] [E] [R] [Q] [A],任何一个都不会删除.swp文件,再次打开文件还是会出现以上界面,直到按[D],.swp文件被删除,vim恢复正常工作。
文件复制
-
cp 源文件 目的地文件
-
cp -r 源文件目录 目的地目录
-
cp 源文件1 源文件2 目的地目录
注意:目的地目录必须存在
-
cp -r 源目录1 源目录2 目的地目录
注意:目的地目录必须存在
文件移动
单一来源
- mv 源文件 目的地文件 ##相当于对文件重命名
- mv 源目录 目的地目录
- mv dir/* . ##把dir中的所有文件移动到当前目录中。其中,“.”代表当前目录。
多来源(最后一个参数一定得是目录)
- 移动文件
mv file1 file2 dir - 移动目录
mv dir1 dir2 dir3
注意:
1.单一来源移动中,如果file1和westos存在则为移动文件或目录,若不存在则是file1和westos分别改名为file2和westos1.
2.若file2存在,file1移动到file2会覆盖掉file2的所有内容。
文件查看
- cat file ##查看文件的全部内容
- cat -b file ## -b显示行号,但不包括空行
- cat -n file ##-n显示行号,包括空行
- less file ##分页浏览
当文件内容很长不能一次性全部显示出来时,我们可以用less file进行分页浏览。
用法:
1.上|下 ##逐行移动
2.pageup|pagedown ##逐页移动
3./关键字 ##高亮显示关键字,n向下匹配,N向上匹配。
4.v ##进入vim模式,在vim模式中按:wq返回到less模式
5.q ##退出
例如:查找关键字h
命令 | 作用 |
---|---|
head file | 查看文件前10行 |
head -n 3 file | 查看文件前3行 |
tail file | 查看文件后10行 |
tail -n 3 file | 查看文件后3行 |
操作同上,此处不再赘述。
文件统计
命令 | 作用 |
---|---|
wc -l | 行数 |
wc -w | 单词数 |
wc -m | 字符数 |
wc -c | 字节数 |
注意:
每8个比特组成一个字节,在UTF-8码中,一个字母占用1个字节,一个汉字占用3个字节。
文件寻址
1.文件的地址分为相对路径和绝对路径。
- 相对路径:是相对于当前系统所在目录的一个名称的简写。此名称省略了系统当前所在目录的名称,不以“/”开头。并且在命令执行时会自动在操作对象前加入“PWD”所显示的值。
- 绝对路径:是文件在系统中的真实位置。此命令是以“/”开头的,且在命令执行时不会考虑现在所在位置的信息。
关于路径的命令
1.显示路径 PWD
2.切换路径
cd 目录名称 ##进入到指定目录中
命令 | 说明 |
---|---|
cd - | 当前目录和当前目录之前所在的目录之间的切换。 |
cd ~ | 进入当前用户家目录(home) |
cd ~user | 进入user家目录 |
cd . . | 当前目录和当前目录之前所在的目录之间的切换。 |
cd~+ | 当前目录 |
cd~- | 进入当前目录之前所在的目录 |
例如:切换到当前目录和当前目录之前的目录。
切换到student用户的家目录。
切换到当前目录的上一级目录(/为根目录)。
3.查看
ls filename ##查看文件
命令 | 说明 |
---|---|
ls -l file | 文件属性 |
ls dir | 目录中保存的内容 |
ls -d dir | 目录本身 |
ls -a dir | 所有文件包含隐藏的 |
ls -S dir | 查看并且按照大小排序 |
ls -s filedir | 查看文件大小 |
例如:查看桌面文件file的属性
查看目录中保存的内容
查看当前桌面上的所有文件(包含隐藏文件)
查看桌面所有文件和目录并按照大小排序
系统中历史的调用
命令 | 说明 |
---|---|
history | 查看历史 |
history -c | 清空当前环境中的历史 |
!数字 | 调用此行历史比如“!5”时执行历史中第5条命令 |
!关键字 | 执行以关键字开头的最近一条历史 |
ctrl+r+关键字 | 调用历史中最近一条含有此关键字的历史 |
例如:清空当前shell中的全部历史
执行当前历史的第8条命令
执行以history关键字开头的最近一条命令
系统中通用配置符号
符号 | 含义 |
---|---|
* | 匹配0到任意字符 |
? | 匹配单个字符 |
[[:alpha:]] | 单个字母 |
[[:lower:]] | 单个小写字母 |
[[:upper:]] | 单个大写字母 |
[[:digit:]] | 单个数字 |
[[:punct:]] | 单个符号 |
[[:space:]] | 单个空格 |
[[:alnum:]] | 单个字母或数字 |
[[:punct:][:upper:]] | 单个符号或单个大写字母 |
{ } | 精确匹配 |
[ ] | 模糊匹配 |
注意:要创建一个中间有空格的文件,我们需要用“ ”(双引号)将他括起来。
另外:注意分辨模糊匹配和精确匹配。
[1-9] ##1位,模糊匹配,这是1-9的任意数字
[!3-5] ##1位,这是除3-5的任意数字
[^3-5] ##1位,这是除3-5的任意数字
[a-z] ##1位,a-z的任意字母
(1…5) ##3个,精确匹配,这是1,2,3,4,5
{1,3,8} ##3个,这是1,3,8这三个数
例如:*可以匹配0-任意字符,{ }表示精确匹配。
在系统中获得帮助
- 查看命令的用途
whatis 命令 ##查看命令的用途
- 查看命令的用法
命令 - -help ##查看命令的基本用法,适用于多数命令
其中:
[ ] ##表示选项可加可不加
… ##表示选项加入的个数任意
< > ##表示选项是必须加入的
usage ##表示命令用法
options ##对参数的作用做说明 - man查看命令或文件的说明手册
man 命令
man 5 文件
man 的级别:
1 ##命令
2 ##系统调用接口
3 ##函数库调用接口
4 ##特殊设备文件
5 ##系统配置文件
6 ##游戏规则说明
7 ##包说明
8 ##系统管理命令
9 ##内核调用规则
Linux系统中的二级目录
目录 | 作用 |
---|---|
/bin | 二进制可执行文件,系统常规命令存放在此文件中。 eg:touch,cat,rm |
/boot | 启动目录,存放系统自动启动文件,内核,初始化程序 |
/dev | 系统设备管理文件 |
/etc | 大多数系统配置文件存放路径 |
/home/子目录 | 普通用户的家目录 |
/lib | 函数库 |
/lib64 | 64位函数库 |
/media | 临时挂载点 |
/mnt | 临时挂载点 |
/run | 自动临时设备挂载点 |
/opt | 第三方软件安装路径 |
/proc | 系统硬件信息和系统进程信息 |
/root | 超级用户家目录 |
/sbin | 系统管理命令,通常只有root可以执行 |
/srv | 系统数据目录 |
/var | 系统数据目录 |
/sys | 内核相关数据 |
/tmp | 临时文件产生目录 |
/usr | 用户相关信息数据 |