当前位置: 首页 > news >正文

CSA总结复习2——文件管理

目录

三.文件管理(-【普通文本文件】、d【目录】、l【软链接文件】)

3.1目录文件管理

3.1.1创建    mkdir[创建目录]   +目录名   +-p  /-v

命名规则:

3.1.2查看      ls  :列出目录内容

储存单位   tree :树状形式列出目录内容    可+ -L  +数字    表示目录树的最大显示深度

3.1.3  别名

3.1.5 删除 ——rm

3.2 普通文件管理

3.2.1创建

文件命名的规则:

3.2.2 文件信息的查看

3.2.3编辑  (echo  vim   重定向)

3.2.4  删除

3.2.5  历史 ——history

3.3软硬链接文件管理

3.4文件内容处理

3.4.1  grep命令

3.4.2 sort命令

3.4.3 uniq 命令

3.4.4 cut命令

3.4.5 wc 命令

3.5文件的复制和移动

3.5.1  cp命令

3.6查看文件(笔试面试)

3.6.1find 命令

3.6.2 whereis 命令

3.6.3 which命令


三.文件管理(-【普通文本文件】、d【目录】、l【软链接文件】)

三要素:1.文件名   2.文件位置  3.文件类型

3.1目录文件管理

3.1.1创建    mkdir[创建目录]   +目录名   +-p  /-v

注:-p:快速创建出目录结构中指定的每个目录,对于已经存在的目录不会覆盖,没有报错

       -v:显示创建目录的详细过程

如果需要创建多个父子关系的目录,需要在后面+  -p

查看是否创建成功用:

[root@ghl ~]# echo $?                          #打印上条命令执行后的返回码,如果是0,代表执行成功,是其他数字就是不成功
0

命名规则:

不能使用/当文件名,/是用来做根目录的,也是用来做路径分隔符

文件名不超过255个字符

区分大小写file File FILE fIle root Root ROOT rOOt ROOT
目录也是文件,在同一路径下,两个不同类型文件不能同名
3.1.2查看      ls  :列出目录内容

常用选项:

[root@ghl ~]# ls /             #查看/目录内容
[root@ghl ~]# ls /root         #查看/目录下的root目录内容
[root@ghl ~]# ls / /root       #查看/目录以及/目录下的root目录内容
[root@ghl ~]# ls -l            #查看当前目录下的文件以及它们的属性信息
[root@ghl ~]# ls -l /root/111/ #查看/目录下的root目录下的111目录下的内容,以及它们的属性信息
[root@ghl ~]# ls 111 -d        #查看当前目录下111目录本身,而不是111目录下的内容
[root@ghl ~]# ls -dl 111       #查看当前目录下111目录本身,以及111目录本身的属性信息
[root@ghl ~]# ls -l 111        #查看当前目录下111目录下的内容,以及改目录下内容的属性信息
[root@ghl ~]# ls -lh /         #查看属性的时候,大小单位转换为K、M、G的形式,-h选项和-l选项连用
[root@ghl ~]# ls 111 -R        #查看当前目录下的111目录下文件内容,并且查看111目录下的子目录的文件内容

储存单位   tree :树状形式列出目录内容    可+ -L  +数字    表示目录树的最大显示深度

3.1.3  别名

alias : 设置查看别名
unalias : 取消别名
[root@ghl ~]# alias ping1='ping -c 3'         #设置ping -c 3的别名为ping1。临时设置,终端关闭就失效了#永久设置别名
[root@ghl ~]# echo "alias ping1='ping -c 3'" >> .bashrc        #.bashrc是在root用户家目录下的文件,所以只对root用户生效#取消别名
[root@ghl ~]# unalias ping1 #取消别名ping1
普通文件(touchecho >),软链接文件……

3.1.5 删除 ——rm

-r:递归的删除目录及其文件

-f:强制删除,没有提示

rm  -rf 删除文件且不提示

3.2 普通文件管理

3.2.1创建

touch(创建普通文件)

mkdir(创建目录文件)

文件命名的规则:
  • 不能用/当文件名,/是用来做根的,也是用路径分隔符
  • 文件名不能超过255字符
  • 区分大小写
  • 目录也是文件,在同一路径下,两个不同类型文件不能同名
less : 分页查看文件内容
head   -n:输出文件的前部分。默认输出前10
cat  -n :   对所有输出行进行编号
cat  -b : 对所有飞空输入行进行标号
tail —输出文件末尾部分,默认输出后10行
tail  -n:打印后n行而不是后10行 
tail  -f:在文件末尾监视内容的变化

3.2.2 文件信息的查看

file:查看文件类型

stat:显示文件属性信息

3.2.3编辑  (echo  vim   重定向)

echo:显示一行文本

 重定向:

1.输出重定向

>  覆盖      >>追加    

1  标准输出        2  标准错误输出

[root@xsq ~]# echo this is root > 1.txt         #把this is root内容保存到1.txt文件中,以覆盖的形式保存
[root@xsq ~]# cat 1.txt
this is root
[root@xsq ~]# echo this is rootroot > 1.txt     #把this is rootroot内容保存到1.txt文件中,以覆盖的形式保存
[root@xsq ~]# cat 1.txt
this is rootroot
[root@xsq ~]# echo this is root >> 1.txt        #把this is root内容保存到1.txt文件中,以追加的形式保存
[root@xsq ~]# cat 1.txt
this is rootroot
this is root
[root@xsq ~]# echo 444 > 2.txt #2.txt文件原本不存在,通过echo > 会被创建出来

总结:
#如果要把正常的输出保存到文件中,1> 文件名 或者 1>> 文件名 或者 > 文件名 或者 >> 文件名
#如果要把错误的输出保存到文件中, 2> 文件名 或者 2>> 文件名
#如果不想把正常输出显示到屏幕上也不想保存到文件中,>/dev/null
#如果不想把错误输出显示到屏幕上也不想保存到文件中,2>/dev/null
#如果不想把正常输出和错误输出显示到屏幕上也不想保存到文件中,&>/dev/null

2.输入重定向

<: 输入重定向,从文件读取数据,不是从键盘读取

<<:自定义结束符,<< end  (意思是以end作为结束符号)

[root@xsq ~]# cat << eof #直接cat,输入啥,显示啥,结束输入eof
> 123
> 345
> 456
> eof
123
345
456
[root@xsq ~]# cat > 6.txt << end #直接cat,输入啥,啥就保存到6.txt文件中,结束输入end。保存的形式是覆盖。
> 456
> 789
> end
[root@xsq ~]# cat 6.txt
456
789
[root@xsq ~]# cat >> 7.txt << end #直接cat,输入啥,啥就保存到6.txt文件中,结束输入end。保存的形式是追加。
> ooo
> ppp
> end
[root@xsq ~]# cat >> 7.txt << end #直接cat,输入啥,啥就保存到6.txt文件中,结束输入end。保存的形式是追加。
> aaa
> bbb
> end

vim —vi的改进版,一款程序员的文本编辑器

命令模式:
G 跳转到文档末行的行首
ngg 跳转到文档某首行的行首(n是数字,1gg就是跳转到第一行行首)
^或者home 光标跳转到行首
$end 光标跳转到行尾
/关键字 快速匹配关键字
yy 复制光标所在行
p 粘贴在光标所在行的下一行
cc 剪切光标所在行
u 撤销
插入模式:
a 光标右移一个字符之后在光标前插入内容。
A 光标移动到行尾之后在光标前插入内容。
i 光标不变,在光标前插入内容
I 光标移动到行首,在光标前插入内容
s 删除光标所在字符,在光标前插入内容
S 删除光标所在行,在光标前插入内容(S是大写)
o 光标跳转到下一行,在光标前插入内容
O 光标跳转到上一行,在光标前插入内容(O是大写)
末行模式:
! 强制
:w 保存
:q 退出
:x 保存退出
:q! 强制退出
:wq! 强制保存退出
:set nu 显示行号
:set nonu 取消行号
:%s/root/ooo 匹配所有行中第一出现root关键字,替换为ooo
:%s/root/ooo/g 匹配所有行中出现的所有root关键字,替换为ooo
:12,18 co 40 12行到18行的内容复制到40行后
:1,5d 删除15
:1,$d 删除1到最后一行
:1d 删除第一行
vim 的配置文件:/etc/vimrc
[root@xsq ~]# vim /etc/vimrc #进入/etc/vimrc配置文件之后在最后一行添加 set tabstop=2
可以修改tab键为两个字符

vim的异常处理

[root@xsq ~]# vim 1.txt #随便输入什么内容之后保存退出
[root@xsq ~]# vim 1.txt #打开之后是命令模式,在这里按ctrl+z模拟异常退出
#输入Rr)然后回车是对源文件内容(最开始的文件内容)进行编辑
#输入Ee)是对该文件上一次的内容进行编辑
#然后正常编辑文件,正常保存退出
#通过ls -a 命令查看同名的隐藏文件(上述的隐藏文件是.1.txt.swp),通过rm命令将其删除。

3.2.4  删除

rm :删除文件

[root@xsq ~]# rm -f *.txt #删除.txt结尾的文件3.2.5

3.2.5  历史 ——history

3.3软硬链接文件管理

软硬链接文件对比:命令,特点,目录创建,inode,删除源文件
===============================硬链接=====================
[root@xsq ~]# echo aaa > a.txt
[root@xsq~]# ls
a.txt 
[root@xsq ~]# cat a.txt
aaa
[root@xsq~]# ll a.txt
-rw-r--r--. 1 root root 4 Jan 11 11:12 a.txt
[root@xsq~]# ls -i a.txt                                         #查看a.txt文件的inode号
35987683 a.txt
[root@xsq~]# ln /root/a.txt /root/a_hard.txt          #给/目录下的root目录下的a.txt文件创建
软链接文件,取名为a_hard.txt
[root@xsq~]# ls -i a_hard.txt                               #查看a_hard.txt文件的inode
35987683 a_hard.txt
[root@xsq~]# cat a_hard.txt
aaa
[root@xsq~]# echo bbb >> a.txt
[root@xsq ~]# cat a.txt
aaa
bbb
[root@xsq ~]# cat a_hard.txt
aaa
bbb
[root@xsq~]# echo ccc >> a_hard.txt
[root@xsq ~]# cat a.txt
aaa
bbb
ccc
[root@xsq~]# cat a_hard.txt
aaa
bbb
ccc
[root@xsq~]# rm -rf a.txt #删除
[root@xsq  ~]# cat a.txt
cat: a.txt: No such file or directory
[root@xsq~]# cat a_hard.txt
aaa
bbb
ccc
[root@xsq~]# ln /root/666 /root/666_hard                 #不能给目录创建硬链接
ln: /root/666: hard link not allowed for directory
=================================软链接===========================
[root@xsq~]# mkdir aaa/bbb/ccc/ddd/eee/fff/ggg -p
[root@xsq~]# echo kkk > aaa/bbb/ccc/ddd/eee/fff/ggg/k.txt
[root@xsq~]# cat aaa/bbb/ccc/ddd/eee/fff/ggg/k.txt
kkk
[root@xsq~]# cd aaa/bbb/ccc/ddd/eee/fff/ggg/
[root@xsq ggg]# pwd
/root/aaa/bbb/ccc/ddd/eee/fff/ggg
[root@xsq ggg]# ls
k.txt
[root@xsq ggg]# cat k.txt
kkk
[root@xsqggg]# ln -s /root/aaa/bbb/ccc/ddd/eee/fff/ggg/k.txt /root/k_soft.txt         #创建软链接
[root@xsq ggg]# cd
[root@xsq ~]# pwd
/root
[root@xsq~]# cat k_soft.txt
kkk
[root@xsq ~]# ls -i /root/aaa/bbb/ccc/ddd/eee/fff/ggg/k.txt                         #查看inode
18760124 /root/aaa/bbb/ccc/ddd/eee/fff/ggg/k.txt
[root@xsq~]# ls -i /root/k_soft.txt
35987685 /root/k_soft.txt
[root@xsq~]# echo k89 >> /root/aaa/bbb/ccc/ddd/eee/fff/ggg/k.txt
[root@xsq~]# cat /root/aaa/bbb/ccc/ddd/eee/fff/ggg/k.txt
kkk
k89
[root@xsq~]# cat k_soft.txt
kkk
k89
[root@xsq~]# echo k90 >> k_soft.txt
[root@xsq~]# cat /root/aaa/bbb/ccc/ddd/eee/fff/ggg/k.txt
kkk
k89
k90
[root@xsq~]# cat k_soft.txt
kkk
k89
k90
[root@xsq~]# rm -rf /root/aaa/bbb/ccc/ddd/eee/fff/ggg/k.txt                 #删除源文件
[root@xsq~]# cat /root/aaa/bbb/ccc/ddd/eee/fff/ggg/k.txt
cat: /root/aaa/bbb/ccc/ddd/eee/fff/ggg/k.txt: No such file or directory
[root@xsq~]# cat k_soft.txt                                                                 #删除源文件之后,软链接文件也不能使用了
cat: k_soft.txt: No such file or directory
[root@xsq~]# ls
111  444  666  anaconda-ks.cfg  dir2  dir5  dir8  Downloads  file1  file3  file6  file9  k_soft.txt Public  2.txt  444.txt  aaa  Desktop  dir3  dir6  dir9  file  file10  file4  file7  file.txt  Music Templates 333  555  a_hard.txt   dir1  dir4  dir7  Documents  File  file2  file5  file8  ip.log Pictures Videos
[root@xsq ~]# ln /root/666 /root/666_hard
ln: /root/666: hard link not allowed for directory
[root@xsq~]# ln -s /root/666 /root/666_soft                                        #可以给目录创建软链接
#创建软硬链接的时候用完整路径(绝对路径)创建。

软硬链接对比

硬链接软链接
命令ln源文件  硬链接文件ln -s源文件  软链接文件
inode源文件与硬链接文件的inode一样源文件与软链接文件的inode不一样
删除源文件硬链接文件还能使用不可用
目录用户不能创建硬链接可以
特点硬链接是源文件的备份类似wimdos的桌面快捷方式

3.4文件内容处理

3.4.1  grep命令

grep:打印符合模式的行

常用选项:

选项

作用

-i忽略大小写
-n显示匹配到的内容的行号
-v显示未匹配到的内容
-w完全匹配 

使用特殊符号匹配:

匹配模式

说明

grep h 文件名
查看文件里有字符h的行
grep [q] 文件名
匹配[]中的字符的行
grep ^[q] 文件名
匹配一q开始的行
grep ^[qf] 文件名
匹配一q或者f开始的行
grep ^[ ^qf ] 文件名
不匹配一q或者f开始的行
grep ^[0-9] 文件名
匹配以数字开头的行
grep q$ 文件名
匹配以q结束的行
grep ^$
过滤空白行

3.4.2 sort命令

sort :按文本的行进行排序,默认是ASCll码升序(从小到大)排序

常用选项:

选项功能
-n数字大小排序
-r降序排序
-t指定单个字符分隔符
-k选择指定字段

3.4.3 uniq 命令

uniq :去除文本中连续的重复行

uniq  -c  : 统计出现的次数

[root@xsq ~]# cat 222.txt
this is 111
this is 111
this is 111
this is 222
this is 333
this is 222
[root@xsq ~]# uniq 222.txt
this is 111
this is 222
this is 333
this is 222
[root@xsq ~]# uniq 222.txt -c  #分隔开的一样的不算
3 this is 111
1 this is 222
1 this is 333
1 this is 222

3.4.4 cut命令

cut : 处理一字段(列)为单位的文本数据

常用选项

选项

功能
-d指定分隔符
-f选择指定字段
[root@xsq~]# cat ip.log
2022/12/01 12:00 10.0.0.1 Chrome
2022/12/11 12:00 192.168.1.2 Chrome
2022/12/12 12:00 10.0.0.2 Chrome
2023/01/01 13:00 192.168.1.2 firefox
2023/06/06 15:01 10.0.0.2 firefox
2023/08/01 13:00 192.168.1.2 firefox
[root@xsq ~]# cut -d " " -f 3 ip.log                #以空格为分隔符,取出第三部分
10.0.0.1
192.168.1.2
10.0.0.2
192.168.1.2
10.0.0.2
192.168.1.2
[root@xsq ~]# cut -d " " -f 3 ip.log | sort         #以空格为分隔符,取出第三部分,用sort命令进 行排序
10.0.0.1
10.0.0.2
10.0.0.2
192.168.1.2
192.168.1.2
192.168.1.2
[root@xsq ~]# cut -d " " -f 3 ip.log | sort | uniq -c         #以空格为分隔符,取出第三部分,
sort命令进行排序,用uniq统计
1 10.0.0.1
2 10.0.0.2
3 192.168.1.2
[root@xsq ~]# cut -d " " -f 3 ip.log | sort | uniq -c | tail -1         #取出最后一个
3 192.168.1.2

3.4.5 wc 命令

wc:统计指定文件的行数、字符或者字节数

常用选项:

选项作业

-l

只显示行数
-w只显示单词数
-m只显示字符
-c只显示字节数

3.5文件的复制和移动

3.5.1  cp命令

cp:复制文件或者目录

常用选项

选项功能
-r递归复制目录
-p

复制源文件的内容

还能修改时间和访问权限也复制到新文件中

#格式:cp 选项 源文件 目标文件
[root@xsq~]# cp 222.txt dir1/                    #将当前目录下的222.txt文件复制到dir1目录下
[root@xsq~]# cp 444.txt 111.txt dir1/         #将当前目录下的444.txt文件和111.txt文件复制到
dir1目录下
[root@xsq~]# cp 111.txt dir1/                     #如果dir1目录下有111.txt文件,这时候再复制一个,就会提示是否要覆盖
cp: overwrite 'dir1/111.txt'? n
[root@xsq~]# cp 222.txt dir1/222_1.txt     #将当前目录下的222.txt文件复制到dir1目录下并且
重命名为222_1.txt
[root@xsq~]# tree dir1/
dir1/
|-- 111.txt
|-- 222.txt
|-- 222_1.txt
`-- 444.txt
0 directories, 4 files
[root@xsq~]# cp 111 dir1/                        #将当前目录下的111目录复制到dir1目录下,需要加上-r选项
cp: -r not specified; omitting directory '111'
[root@xsq~]# cp 111 dir1/ -r                     #将当前目录下的111目录复制到dir1目录下
[root@xsq~]# tree dir1
dir1
|-- 111
|-- 111.txt
|-- 222.txt
|-- 222_1.txt
`-- 444.txt
1 directory, 4 files

3.5.2mv 命令

mv :移动/重命名文件

#格式:mv 选项 源文件 目标文件
[root@xsq ~]# mv 222.txt dir2                           # 将当前路径下的222.txt文件移动到dir2目录中
[root@xsq~]# tree dir2
dir2
`-- 222.txt
0 directories, 1 file
[root@ghl ~]# mv 111.txt 2.txt 444.txt dir2         #将当前路径下的222.txt2.txt444.txt
件移动到dir2目录中
[root@xsq~]# tree dir2
dir2
|-- 111.txt
|-- 2.txt
|-- 222.txt
`-- 444.txt
0 directories, 4 files
[root@xsq ~]# mv a_hard.txt aa.txt                 #对a_hard.txt文件重命名为aa.txt

3.6查看文件(笔试面试)

3.6.1find 命令

find:在目录层面结构中搜索文件

选项功能
-name
根据文件的名字进行查找
-size
按照文件大小匹配,单位:c/k/M/G,其中c   k 是小写
-maxdepth  levels
-mindepth   levels
最多查找多少层目录;最少查找多少层目录
-type    b/d/c/p/l/f
匹配文件类型  (块设备、目录、字符设备、管道、链接、文本、文本文件)
-exec …… {}\;
后面可跟用于进一步处理搜索结果的命令
-user
匹配所有者
-group
匹配所有组
-perm
根据权限匹配
[root@xsq ~]# find ./ -iname "file*" #在当前目录下查找名为file开头的文件且忽略大小写

[root@xsq~]# ll /etc/virc -h #/目录下的etc目录下的virc文件的大小为1.2k
-rw-r--r--. 1 root root 1.2K Aug 5 23:45 /etc/virc
[root@xsq~]# find /etc -size 1.2k #不支持小数点查找。1.2k被当成2k

[注意:]  删除5天以前的日志文件应该怎么做?

[root@localhost ~]# find /var/log -type f -mtime +5 -exec rm -rf {} \;

3.6.2 whereis 命令

whereis:搜索系统命令的可执行文件路径和说明文档

3.6.3 which命令

which :搜索系统命令的可执行文件

http://www.dtcms.com/a/467733.html

相关文章:

  • 用js做网站登录wordpress 邮箱配置
  • 个人网站如果做wordpress edd
  • 网站悬浮窗广告pc主页网站建设
  • 自己做网站 发布视频教程怎么说服企业做网站
  • 所谓做网站就这么几步企业所得税什么时候交
  • iis6.0新发布网站访问速度慢品质培训网站建设
  • 做网站图片太多怎么办南宁网页制作培训
  • AssetStudio下载和安装教程(附安装包)
  • 济南网站建设制作公司推荐石家庄模板建站平台
  • 有关建设网站的问题佛山网站优化好
  • 佛山做网站优化大沥九江网站制作
  • 南皮网站建设公司so域名网站
  • 项目四网站建设内容seo搜索优化公司排名
  • 软件界面设计要求seo免费优化
  • 长沙品牌网站制作服务报价公司网站备案号
  • 服务器怎么放网站吗f福州网站建设公司
  • 成品网站w在线观看vi视觉识别设计公司
  • 衡水做wap网站网络公司网站开发
  • 做彩票网站怎么样石家庄网站建设诚荐优度网络
  • 网站规划的注意事项wordpress和discuz织梦
  • AbilitySystemComponent_Abilities源码解析(一)
  • 中国建设银行网站在哪上市沛县互助网站开发
  • 代理ip注册网站都通不过公司做网页去哪找
  • 网站建设课程设计实验报告网站制作 搜索
  • 公司里面有人员增减要去哪个网站做登记做做网站入口
  • 万网手机网站客户管理系统的需求分析
  • 网站被黑了多久恢复云开发和普通开发区别
  • 江阴建设局官方网站WordPress设置API
  • 网站上如何做相关推荐tomcat加jsp做网站
  • 东莞建设网站的公司简介网站做一个要多少钱