Linux文件和目录管理

一、Linux目录结构

登录系统后,输入如下命令

ls  /

结果如下图所示:

树状目录结构:

常见的子目录及其作用:

/root管理员的宿主(家)目录
/home  除root用户之外的普通用户的家目录
 /bin存放二进制文件,所有用户可执行,实际上是个软链接,链接到/usr/bin
/sbin存放二进制文件,只有管理员可执行,实际上是个软链接,链接到/usr/sbin
/boot系统内核、启动文件目录
/dev存放设备文件(光驱、硬盘等)
/etc 存放系统程序和大部分应用程序的配置文件
/var存放可以变化的文件,包括各种日志文件
 /usr存放系统用户工具和程序
 /opt第三方应用程序安装所存放的目录
/proc包含虚幻的文件,他们实际上并不存在于磁盘上,也不占用任何空间(虽然用 ls -l 可以显示它们的大小)当查看这些文件时,实际上是在访问存在内存中的信息,这些信息用于访间系统。

二、查看文件内容 

cat命令

作用:直接显示出整个文件的内容

格式:cat 【选项】文件名

常用选项:

-n(对每一行的内容进行行号标记)

-b(只对非空行做行号标记,对空行内容不做行号标记)

-s(多个空行压缩成一个空行)

示例:

[root@localhost ~]# cd /opt/
[root@localhost opt]# ls
rh
[root@localhost opt]# echo abc > abc.txt                        //创建abc.txt文件并写入内容为abc
[root@localhost opt]# echo 123 > 123.txt                       //创建123.txt文件并写入内容为123
[root@localhost opt]# ls
123.txt  abc.txt  rh
[root@localhost opt]# cat 123.txt                                    //查看123.txt文件的全部内容
123
[root@localhost opt]# cat abc.txt                                    //查看abc.txt文件的全部内容
abc
[root@localhost opt]# cat 123.txt abc.txt                        //同时查看两个文件的全部内容
123
abc
[root@localhost opt]# cat 123.txt abc.txt > abc123.txt  //将两个文件的全部内容合并且写入新文件中
[root@localhost opt]# cat abc123.txt
123
abc

 more命令

作用:全屏方式分页显示文件内容

格式:more 【选项】文件名

交互操作方法:

  • 按Enter键向下逐行滚动
  • 按空格键向下翻一屏
  • 按b键向上翻一屏
  • 按q键退出
  • 下翻到最后一页自动退出
  • 结合管道操作,格式为:cat 文件 | more(无法向上翻页)

 less命令

作用:与more命令相同,但扩展功能更多

交互操作方法:

  • Page Up 向上翻页,Page Down 向下翻页
  • 按“/”键查找内容,“n”下一个内容,“N”上一个内容
  • 通过方向键可以实现上下逐行滚动
  • 其他功能与more 命令基本类似
  • 下翻到最后一页不会自动退出
  • 结合管道操作使用时可以向上翻页

head、tail命令

作用:head用于查看文件开头一部分内容(默认十行)

          tail用于查看文件结尾的一部分内容(默认十行)

格式:head -n 文件名     (n为行数)

           tail -n 文件名        (n为行数)

           tail  -f  文件名       //跟踪文件尾部内容的动态跟新

 head与tail的用法:

 head -n k 与head -n +k 表示显示前k行内容;head -n -k 表示显示除末尾向上的k行内容以外的所有内容。

tail -n k 与tail -n -k 表示显示末尾k行内容;tail -n +k 表示显示从第k行开始的所有内容。

示例:

[root@localhost /]# vi text.txt
[root@localhost /]# head -3 text.txt          //输出前三行
1
2
3
[root@localhost /]# tail -3 text.txt             //输出后三行
8
9
10
[root@localhost /]# head -n -7 text.txt      //输出除末尾七行之外的所有行
1
2
3
[root@localhost /]# tail -n +7 text.txt      //输出从第七行开始的所有行内容
7
8
9
10

三、统计文件内容wc命令

作用:统计文件中单词数量等信息

格式:命令字 【选项】...【目标文件】...

常用命令选项:

-l:统计行数
-w:统计单词个数
-c:统计字节数

注:不带任何选项的wc命令,默认同时使用-lwc三个选项

示例:

[root@localhost /]# cat text1.txt
abc de
fg h
i g k
lm
[root@localhost /]# wc -l text1.txt              //统计行数
4 text1.txt
[root@localhost /]# wc -w text1.txt           //统计单词个数
8 text1.txt
[root@localhost /]# vi text2.txt
[root@localhost /]# cat text2.txt                
woshinidie
[root@localhost /]# wc -c text2.txt           //统计字节数(一个英文字符为一个字节)
11 text2.txt                                              //在内容末尾有个隐藏的换行符,所以字节数不是10而是11   
[root@localhost /]# echo -n woshinidie > text3.txt     //不换行写入
[root@localhost /]# wc -c text3.txt
10 text3.txt                                                     //字节数为10,没有换行符

四、检索和过滤文件内容grep命令

作用:在文件中查找并显示包含指定字符串的行

格式:grep [选项]... 查找条件 目标文件

常用选项:

  • -i:查找时不区分大小写
  • -v:显示不包含匹配文本的所有行(反向查询,反向匹配)
  • -c:只输出匹配到的总行数(不是匹配到的次数)
  • -n:显示匹配行及行号
  • -e:实现多个查找条件的匹配,逻辑or关系
  • -E:支持使用扩展正则表达式,相当于使用egrep命令
  • -o:精确匹配,即“仅匹配”之意。
  • -A n:显示匹配行和它后面的n行。
  • -B n:显示匹配行和它前面的n行。
  • -C n:匹配行和它前后各n行。
  • -l:列出文件内容符合指定的样式的文件名称
  • -w:只显示全字符合的列。

查找条件设置: "^...." 表示以...开头

                          "....$" 表示以....结尾

                           "^$" 表示空行

                          "[....]"表示任意字符

示例:

直接过滤查询:

不区分大小写过滤查询:

不区分大小写且反向查询:

显示匹配行数,效果与grep -i centos CentOS-Base.repo | wc -l 一样

显示匹配行号:

实现多个查找条件的匹配,-e 充当或的作用:

精确匹配,即“仅匹配”之意:

显示匹配行以及后5行的内容,用-A n的形式,如图:

显示匹配行以及前5行的内容,用-B n的形式,如图:

显示匹配行和它前后各5行。,用-C n的形式,如图:

五、压缩文件命令

gzip、bzip2

制作压缩文件:

gzip [-9] 文件名...
bzip2 [-9] 文件名...

解开压缩文件:
gzip -d gz格式的压缩文件
bzip2 -d .bz2格式的压缩文件

注:

       gzip 制作的压缩文件默认的扩展名为“.gz”,原始文件不再保留
       bzip2 制作的压缩文件默认的扩展名为“.bz2”,原始文件不再保留

格式:

压缩:
gzip [-9] 文件....          压缩比可以是 -1(压缩速度最快,性能消耗最小,压缩比最低) 到 -9(压缩速度最慢,性能消耗最大,压缩比最高) 
bzip2 [-9] 文件....
zip XXX.zip  被压缩的文件/目录....
tar -zcvf  XXX.tar.gz  被压缩的文件/目录....        z(gzip) j(bzip2) J(xz)
     
解压缩:
gzip -d  XXX.gz        gunzip XXX.gz 
bzip2 -d XXX.bz2       bunzip2 XXX.bz2
unzip XXX.zip [-d 目录]
tar xf XXX.tar.gz [-C 目录]      -C指定目录解压缩

tar tf XXX.tar.gz                     查看压缩包文件内容

示例:

[root@localhost opt]# ls
123.txt  abc123.txt  abc.txt  rh
[root@localhost opt]# gzip *.txt        //压缩所有以.txt结尾的文件
[root@localhost opt]# ls
123.txt.gz  abc123.txt.gz  abc.txt.gz  rh
[root@localhost opt]# gzip -d *.gz         //解压缩
[root@localhost opt]# ls
123.txt  abc123.txt  abc.txt  rh
 

gunzip、bunzip2

gunzip 等价于gzip -d

bzip2和bunzip2命令的用法与gzip、gunzip命令基本相同

示例:

对以repo结尾的文件进行压缩和解压缩,如下图所示:

文件归档

制作归档文件:
tar [选项]  归档文件名  源文件或目录
释放归档文件:
tar [选项]  归档文件名  [-C 目标目录]

tar的常用选项:

  • -c:创建.tar 格式的包文件。
  • -x:解开.tar 格式的包文件。
  • -C:解压时指定释放的目标文件夹。
  • -f:表示使用归档文件。(使用tar命令必须使用该选项)
  • -p:打包时保留文件及目录的权限。
  • -P:打包时保留文件及目录的绝对路径。
  • -t:列表查看包内的文件。
  • -v:输出详细信息(Verbose)。
  • -j:调用 bzip2 程序进行压缩或解压。
  • -z:调用 gzip 程序进行压缩或解压。
     

 示例:

[root@localhost opt]# tar -czvf txt.tar.gz *.txt  //创建tar格式文件且用gzip程序进行压缩并显示详细信息,将以.txt结尾的文件进行压缩
123.txt
abc123.txt
abc.txt
[root@localhost opt]# ls
123.txt  abc123.txt  abc.txt  rh  txt.tar.gz      //通过tar压缩文件时,会保留源文件
[root@localhost opt]# tar tf txt.tar.gz           //查看压缩包内的文件
123.txt
abc123.txt
abc.txt

[root@localhost opt]# mv txt.tar.gz /root/                                  //将压缩文件移动到/root/
[root@localhost opt]# ls
123.txt  abc123.txt  abc.txt  rh
[root@localhost opt]# cd /root/
[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  txt.tar.gz
[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  txt.tar.gz
[root@localhost ~]# tar zxvf txt.tar.gz                                       //将文件解压缩
123.txt
abc123.txt
abc.txt
[root@localhost ~]# ls
123.txt  abc123.txt  abc.txt  anaconda-ks.cfg  initial-setup-ks.cfg  txt.tar.gz    //解压缩后并不会删除压缩包


[root@localhost ~]# tar xf txt.tar.gz -C /tmp/     //将压缩包解压缩到/tmp/目录下(tar在解压缩时会自动识别压缩程序进行解压缩)
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# ls             
123.txt
abc123.txt
abc.txt
anaconda.log
 

 六、vi编辑器

三种工作模式:命令模式、输入模式、末行模式

命令模式常用操作:
G           切换到最后一行
1G gg    切换到第一行
#G         切换到第 # 行

dd                删除光标处所在的行
#dd             删除光标处开始的 # 行
#dd + p/P  剪切 + 粘贴,p在光标行下面粘贴,P在光标行上面粘贴

yy      复制光标处所在的行
#yy     复制光标处开始的 # 行
#yy + p/P   复制 + 粘贴

u            撤销上一步操作
ctrl + r键   恢复上一步撤销的操作
U            撤销光标处所在行的所有操作

x del键      删除光标处所在的字符

/字符串  ?字符串    查找字符串,n(/字符串 是从上往下找,?字符串 反之),N(/字符串是从下往上找,?字符串 反之)

末行模式常用操作:
:wq  :wq!  :x  ZZ  保存并退出
:q!                不保存退出

:set nu      显示行号
:set nonu    不显示行号

:s/OLD/NEW/g         将光标处所在行的所有OLD字符串替换成NEW字符串
:% s/OLD/NEW/g       将所有行的所有OLD字符串替换成NEW字符串
:N,M s/OLD/NEW/g     将第 N 行到第 M 行的所有OLD字符串替换成NEW字符串

:r 文件路径    在光标处所在行下面插入指定的文件内容

:N,M co #     将第 N 行到第 M 行的内容复制到第 # 行下面
:N,M m #      将第 N 行到第 M 行的内容剪切到第 # 行下面
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值