初学Linux之文件的管理及通配符

 Linux所有目录都处于系统根"/"目录之下,为层级结构,可以看为一个倒树型结构,先来认识以下Linux系统结构,对以后的学习也是很重要的。

1 Linux系统结构

  Linux中根目录为一级目录,二级目录所下:
  /bin  #二进制可执行文件,系统常规命令
  /boot  #启动目录,存放系统自动启动文件,内核,初始化程序
  /dev  #系统设备管理文件
  /etc  #大多数系统配置文件存放路径
  /home/子目录  #普通用户家目录
  /lib      #函数库
  /lib64/    #64位函数库
  /media   #临时挂载点
  /mnt    #临时挂载点
  /run    #自动临时设备挂载点
  /opt    #第三方软件安装路径
  /proc   #系统硬件信息和系统进程信息
  /root    #超级用户家目录
  /sbin    #系统管理命令,通常只有root可以执行
  /srv     #系统数据目录
  /var    #系统数据目录
  /sys    #内核相关数据
  /tmp    #临时文件产生目录
  /usr/    #用户相关信息数据

2文件管理命令

2.1 文件建立
touch filename 不但可以建立文件也可以修改文件的时间戳
时间戳分为:
atime:文件内容被访问的时间标识,只要查看了文件,该时间戳就会增加
mtime:文件内容被修改的时间标识,只有文件里的内容被修改时,才会改变
ctime:文件属性或文件内容被修改的时间标识,属性和内容其中任意一个被修改都会改变

[kiosk@foundation72 Desktop]$ touch file
[kiosk@foundation72 Desktop]$ stat file
  File: ‘file’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 135477735   Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/   kiosk)   Gid: ( 1000/   kiosk)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2019-04-02 17:46:53.527193104 +0800
Modify: 2019-04-02 17:46:53.527193104 +0800
Change: 2019-04-02 17:46:53.527193104 +0800
 Birth: -

建立文件之后,stat file可以看到该文件的三个时间戳
2.2 目录建立
mkdir directory
mkdir -p dir1/dir2/dir3 -p建立递归目录时,当上层目录不存在自动建立

[kiosk@foundation72 Desktop]$ mkdir ly     #建立目录ly
[kiosk@foundation72 Desktop]$ mkdir zf/westos    #建立目录zf/westos
mkdir: cannot create directory ‘zf/westos’: No such file or directory    #上级目录zf不存在时会报错
[kiosk@foundation72 Desktop]$ mkdir -p zf/westos    #参数-p,上级目录不存在时自动建立
[kiosk@foundation72 Desktop]$ 
;

在这里插入图片描述
2.3 文件与目录的删除删除
2.3.1文件删除: rm file
rm -f file -f=force 表示强制删除不提示
2.3.2 目录删除
rm -r directory -r标示递归删除,也就是删除目录本身和里面的所有内容
rm -r -f dir=rm -fr dir 删除目录不提示
注:在命令参数使用过程中,-a -b -c =-abc =-bac ,顺序是不需要注意的。
2.4 编辑文件
2.4.1 gedit
gedit file 打开gedit编辑文件,必须有图形才可以使用

2.4.2 vim
vim file -->按[i]进入insert模式–>书写内容–>按[esc]退出insert模式–>:wq退出保存
当vim异常退出时会生成.file.swp文件,再次打开此文件时会出现以下情况:

E325: ATTENTION
Found a swap file by the name ".file.swp"
          owned by: kiosk   dated: Tue Apr  2 18:13:36 2019
         file name: ~kiosk/file
          modified: YES
         user name: kiosk   host name: foundation72.ilt.example.com
        process ID: 4679
While opening file "file"

(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r file"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".file.swp"
    to avoid this message.

Swap file ".file.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
## 只读打开	      继续编辑         恢复数据     删除swap文件   退出     退出

无论按[O] [E][R] [Q] [A] 任何一个都不会删除.swp文件,那么再次打开file文件是还会出现以上界面直到按(D),.swp文件被删除,vim恢复正常工作
2.5 文件与目录的复制
cp 源文件 目的地文件
cp -r 源文目录 目的地目录
cp 源文件1 源文件2 目的地目录 ##目的地目录必须存在
cp -r 源目录1 源目录2 目的地目录 ##目的地目录必须存在

2.6 文件与目录移动
mv 源文件 目的地文件 #将源文件重命名为目的地文件,目的地文件被删除
mv 源目录 目的地目录 #将源目录移动到目的地目录
mv dir/* . ##把dir中的所以文件移动到当前目录中"."代表当前目录
注:相同磁盘的文件移动只是一个重明名过程,不同磁盘的文件移动是复制删除过程

[kiosk@foundation72 Desktop]$ touch file1 file2    #建立文件1和2
[kiosk@foundation72 Desktop]$ vim file1         #文件写入1
[kiosk@foundation72 Desktop]$ vim file2         #文件写入2
[kiosk@foundation72 Desktop]$ mv file1 file2    #移动文件1到文件2,file1重命名为file2,file2被删除
[kiosk@foundation72 Desktop]$ vim file2         #可以看到file2内容为1

2.7 文件与目录的查看
2.7.1 文件的查看:

cat file #查看文件的全部内容
cat -b file #-b显示行号不包含空行
cat -n file #-n显示行号包含空行
ls -l file #文件属性
ls -s file #查看文件大小
head file #查看文件前10行
head -n 3 file #查看文件前3行
tail file #查看文件后10行
tail -n 3 file #查看文件后3行
tail -f file #监控文件后10行内容的变化
less file #分页浏览
注:less用法:(1)上|下 #逐行移动
(2)pageup|pagedown #逐页移动
(3) /关键字 #高亮显示关键字,n向下匹配,N向上匹配
(4)按v键,进入vim模式,在vim模式中按:wq 退回到less模式
(5)退出:q 键退出

2.7.2 目录的查看
ls dir #目录中包含的内容
ls -d dir #目录本身
ls -a dir #所有文件包含隐藏的
ls -S dir #查看并且按照大小排序
ls -s dir #查看文件大小

[kiosk@foundation72 Desktop]$ ls -l file2
-rw-rw-r--. 1 kiosk kiosk 2 Apr  2 18:28 file2
[kiosk@foundation72 Desktop]$ ls -s file2
4 file2

2.8 文件大小统计
wc file #显示文件的行数,单词数,字符数,字节数
wc -l file#行数
wc -w file #单词数
wc -m fie #字符数
wc -c file #字节数

[kiosk@foundation72 Desktop]$ wc file2    #file2中内容为中文数字1
1 1 2 file2
[kiosk@foundation72 Desktop]$ wc -l file2     #统计行数
1 file2              
[kiosk@foundation72 Desktop]$ wc -w file2    #统计单词数,已空格区分
1 file2
[kiosk@foundation72 Desktop]$ wc -m file2   #统计字符数,1和后面的空格总共2个字符
2 file2
[kiosk@foundation72 Desktop]$ wc -c file2    #统计字节,1为2个字节
2 file2
[kiosk@foundation72 Desktop]$ 

3 系统中历史命令的调用

history #查看历史
history -c #清空当前环境中的历史
!数字 #调用此行历史比如"!5"时执行历史中地5条命令
!test #执行以test关键字开头的最近一条历史
ctrl +r +关键字 #调用历史中最近一条含有此关键字的历史
上键|下键 ##逐条调用历史
示例:

 118  cat file2
  119  ls -l file2
  120  ls -s file2
  121  wc file2
  122  wc -l file2
  123  wc -w file2
  124  wc -m file2
  125  wc -c file2
  126  history
[kiosk@foundation72 Desktop]$ !119
ls -l file2
-rw-rw-r--. 1 kiosk kiosk 2 Apr  2 18:28 file2
(reverse-i-search)`ls': ls -l file2    #ctrl+r+ls会调用最近一条命令中含有ls字符的历史


4 系统中获得命令的帮助

4.1 查看命令用途
whatis 命令 #查看命令的用途

4.2 查看命令的用法
命令 --help #查看命令的基本用法,适用于多数命令
[ ] #表示选项可以加也可以不加
… #表示选项加入的个数任意
< > #表示选项是必须要加入的
Userage: #表示命令用法
Opetions: #对参数的作用做说明

4.3 man查看命令或文件的说说明手册
man 命令
man 5 文件
man -k 字符串 #查看当前字符串在系统中拥有的man的级别
man的级别
1 #命令
2 #系统调用接口
3 #函数库调用接口
4 #特殊设备文件
5 #系统配置文件
6 #游戏规则说明
7 #包说明
8 #系统管理命令
9 #内核调用规则

注1:man的基本用法:(1)上|下,逐行查看 (2) pgup|pgdn,分页查看 (3)/关键字,高亮显示关键字,n向下匹配,N上向匹配 (4):q,退出
注2:/usr/share/doc #系统中所有安装过的软件的帮助文档

5 系统中的通用配置符号

5.1 通用配置符号

*  匹配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…3}     匹配3个,1 2 3
{1,4,7}     匹配3个1,4,7这三个数
注:[ ]为模糊匹配,存在匹配文件就执行,不存在就不执行
{ }为精确匹配,若不存在匹配项则会提示匹配不到的文件

~ #当前用户家目录
~username #指定用户的家目录
~+ #当前目录.
~- #进入当前目录之前所在目录
注:cd - 中的"-"只能在cd命令中使用,其他命令中要使用~-
5.2 示例1:

 [kiosk@foundation72 Desktop]$ touch fi6le fi@le fiAle fiale "fi le"
[kiosk@foundation72 Desktop]$ rm -fr fi[[:digit:]]le    #删除fi6le
[kiosk@foundation72 Desktop]$ touch fi6le fi@le fiAle fiale "fi le"
[kiosk@foundation72 Desktop]$ rm -fr fi[[:punct:]]le   #删除fi@le
[kiosk@foundation72 Desktop]$ touch fi6le fi@le fiAle fiale "fi le"
[kiosk@foundation72 Desktop]$ rm -fr fi[[:upper:]]le  #删除fiAle
[kiosk@foundation72 Desktop]$ touch fi6le fi@le fiAle fiale "fi le"
[kiosk@foundation72 Desktop]$ rm -fr fi[[:lower:]]le   #删除fiale
[kiosk@foundation72 Desktop]$ touch fi6le fi@le fiAle fiale "fi le"
[kiosk@foundation72 Desktop]$ rm -fr fi[[:space:]]le  #删除"fi le"
[kiosk@foundation72 Desktop]$ touch fi6le fi@le fiAle fiale "fi le"
[kiosk@foundation72 Desktop]$ rm -fr fi[[:alpha:]]le   #删除fiAle fiale
[kiosk@foundation72 Desktop]$ touch fi6le fi@le fiAle fiale "fi le"
[kiosk@foundation72 Desktop]$ rm -fr fi[1-6]le     #删除fi6le

其他通配符使用类似上例。
示例2:将/bin目录下的所有文件名中间部分为数字并且以.conf结尾的文件拷贝到桌面
在这里插入图片描述
目的地目录也可以为绝对路径:/root/Desktop
**示例3:**显示/etc/passwd文件的第15行到18行
在这里插入图片描述
其中"|"为管道符,下篇博文会详细说明。

End

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值