首页 > 其他分享 >目录和文件管理

目录和文件管理

时间:2023-10-29 21:04:31浏览次数:26  
标签:文件 查看 管理 cat test root 目录 localhost

目录


目录和文件管理

对目录和文件的操作

查看

linux目录结构

常见的子目录

/root

/bin

/sin

/boot

cat

作用

查看文件的内容

支持标准输入


选项

-n  显示行号(number),包括空行
-A  显示隐藏字符
-b  跳过空行(空行有回车,其他不可见特殊字符不会跳过)
-s  将多个空行压缩成一个空行(回车产生空行,空格是有东西)

语法格式

cat [选项]..[选项] 文件名..文件名

用法

# 查看文件中隐藏字符,查看文件中不可见字符 

# $  回车   
# ^I  制表符,tab键     
# 空格还是空格,看不见

[root@localhost test]# cat -A t2    # cat -A  输出时,显示不可见字符
grsgdggt$
$
12314$
    $
5787h$
^I^I$
gtg$
[root@localhost test]# 

# 查看时,显示行号

[root@localhost test]# cat -n t1       # cat -n   输出时,显示行号
     1	abarse
     2	1542567654
     3	adft
     4	vdhy
     5	2343
[root@localhost test]# 

# 只需要查看有效行有多少行

[root@localhost test]# cat -Ab t3     # cat -b  输出时跳过空行,对其他行编号
     1	grgdtth$
$
$
     2	24452$
     3	      $
     4	^I^I^I$
     5	gthyjjft$
[root@localhost test]# 

# 查看时,将连续多行空格合并成一行

[root@localhost test]# cat -n t4
     1	gthyhgt
     2	
     3	
     4	245433546
     5	
     6	gthy
     7	
     8	
     9	
    10	
    11	gtg66
[root@localhost test]# 
[root@localhost test]# cat -s t4    # cat -s  输出时,将多行空行压缩成一行
gthyhgt

245433546

gthy

gtg66
[root@localhost test]# 

# 将a1和a2两个文件进行上下合并
a1文件
aaa
bbb

a2文件
111
222

[root@localhost test]# ls
a1  a2  passwd  t1  t2  t3  t4
[root@localhost test]# cat a1 a2 > a3    # 使用cat命令+重定向“>” 可以完成上下合并两个文件,放到一个新文件中
[root@localhost test]# cat a3
aaa
bbb
111
222
[root@localhost test]# 

# 作为标准输入

[root@localhost test]# cat     # 直接输入cat 回车,cat会变成标准输入;从键盘输入什么,cat显示什么
wuyao
wuyao
111
111
^C
[root@localhost test]# 

用途

正常查看一个文件的内容 cat 文件名

查看时,显示行号 cat -n

在写脚本时,可以查看隐藏字符,检查脚本是否有错误 cat -A

查看时,将连续多行压缩成一行 cat -s

完成文件的上下合并 cat >


注意事项

cat的局限性:只能查看一屏幕的内容

支持标准输入

cat支持多个选项,支持同时显示多个文件



tac

作用

反方向查看,跟cat相反查看文件内容


语法格式

tac 文件名

用法

# 从下往上查看文件内容

[root@localhost test]# cat a1       # 从上往下看
aaa
bbb
[root@localhost test]# tac a1       # 从下往上看
bbb
aaa
[root@localhost test]# 


用途

从下往上查看文件内容 tac 文件名



rev

作用

将同一行文件内容倒过来看


语法格式

rev 文件名

用法

[root@localhost test]# echo {1..10} | rev         # 同一行的内容倒过来显示
01 9 8 7 6 5 4 3 2 1
[root@localhost test]# 


[root@localhost test]# cat a4
abcd
1234
[root@localhost test]# rev a4                  # 将每一行的内容倒过来显示
dcba
4321
[root@localhost test]# 

用途

将每一行的内容倒过来显示 rev 文件名



hexdump

含义

查看非文本文件,比如十六进制文件


选项

-C  转换成十六进制的ASCII码
-n  输出前n个字节

语法格式

hexdump [选项] 文件路径 

用法

hexdump -c -n 128 /dev/sda    # 选项-n不加,它会全部输出/dev/sda的内容

用途

查看硬盘的内容 hexdump



more

作用

查看文件内容


语法

more 文件名

用法

# 分页查看文件内容

[root@localhost test]# more passwd

more的基本操作

按“回车” 一行一行查看

按“空格” 一页一页查看


注意事项

只能查看,不能进行其他操作

看完立刻退出,或者按“q”立刻退出



less

作用

多功能查看文件内容


语法

less 文件名

用法

less passwd

less的基本操作

按“回车” 一行一行查看

按“空格” 一页一页查看

按“上下左右” 查看文件内容

不仅可以查看内容,还可以进行搜索,按“/”进入搜索模式,再输入要搜索的关键词

搜索成功,按“n”,向下查看搜索到的内容;按“N”,向上查看搜索到的内容;

看完需要用户手动按“q”退出,或者按“q”立刻退出



含义

默认查看文件内容的前10行


选项

-n N   查看指定行数
-c N   取前几个字符
+  N   查看前N行,和-n联用
-  N   尾部N行不看,和-n联用

语法格式

head [选项] 文件名

用法

# 查看文件内容

[root@localhost test]# head t1     # 查看文件内容,默认查看前10行
12345
abcd
g5y6
gthy
fgth
fg6h
456
h77u6
jut
u76u
[root@localhost test]# 

# 指定查看前2行内容

[root@localhost test]# head -n 2 t1     # head -n 2  指定查看前2行内容
12345
abcd
[root@localhost test]# 


# head -n +

[root@localhost test]# head -n +2 t1     # head -n + == head -n 2  查看前2行内容
12345
abcd
[root@localhost test]# 

# 我不想看最后10行

[root@localhost test]# cat -n t1
     1	12345
     2	abcd
     3	g5y6
     4	gthy
     5	fgth
     6	fg6h
     7	456
     8	h77u6
     9	jut
    10	u76u
    11	y7u
    12	5555
    13	44444
[root@localhost test]# head -n -10 t1     # 一共13行,不看前10行,等于看前3行
12345
abcd
g5y6
[root@localhost test]# 

# 我只想取前3个字符

[root@localhost test]# head -n 2 t1
12345
abcd
[root@localhost test]# head -c 3 t1         # head -c 3   取前3个字符
123[root@localhost test]# 


# 一个中文汉字占3个字符
[root@localhost test]# echo "你好呀" | head -c 3     # 一个中文汉字占3个字符
你[root@localhost test]# 

[root@localhost test]# echo "你好呀" | head -c 6     # 取6个字符等于中文2个字
你好[root@localhost test]# 

# 随机生成密码

[root@localhost test]# cat /dev/urandom | tr -cd "[:alnum:]" | head -c 10    # 
IOTCebnHdo[root@localhost test]# 


用途

查看前3行内容 head -n 3 t1

随机生成密码(取字符) head -c 3 t1

我不想看最后5行内容 head -n -5 t1



tail

含义

默认查看文件内容的后10行


选项

-f    实时跟踪,实时查看,动态查看常用于日志监控
-n    查看倒数指定行
- N   查看倒数2行,和-n联用
+ N   从第N行开始看,和-n联用

语法格式

tail [选项] 文件名

用法

# 从尾部开始查看,默认看10行,查看倒数10行

[root@localhost test]# tail t1
gthy
fgth
fg6h
456
h77u6
jut
u76u
y7u
5555
44444
[root@localhost test]# 


# tail -n -

# tail -n

[root@localhost test]# tail -n 2 t1   # 查看倒数两行内容
5555
44444
[root@localhost test]# 


# tail -n -

[root@localhost test]# tail -n -2 t1    # tail -n -2 == tail -n2  查看倒数2行内容
5555
44444
[root@localhost test]# 

# 查看日志文件

tail -f /var/log/messages

tailf /var/log/messages

# +号用法

[root@localhost test]# tail -n +10 t1    # 从第10行开始看
u76u
y7u
5555
44444
[root@localhost test]# 

用途

查看日志文件 tail -f /var/log/messages

查看倒数5行内容 tail -n 5 t1

从第5行开始看 tail -n +5 t1



tr

含义

本意是替换,用的最多的是压缩


选项

-d
-s

语法格式

tr [选项] 

用法

# 将我标准输入的字符s替换成a

[root@localhost test]# tr s a      # 只要遇到s,就把s替换成a   tr s a == tr -t s a  都是替换
sdsdsds
adadada
^C
[root@localhost test]#
# 将我标准输入的连续a压缩成一个a

[root@localhost test]# tr -s a       # tr -s     压缩,将连续的指定字符压缩成一个字符
ffffaaaaaf
ffffaf
^C
[root@localhost test]#
# 将标准输入的指定字符删除

[root@localhost test]# tr -d  a      #  del   tr -d  删除标准输入中指定的字符
ababaab
bbb
^C
[root@localhost test]#

wc

含义

统计文件内容


选项

-l  统计行数(line)

-w  统计单词个数(单词不是真正的单词,只要用空格隔开,系统就认为是一个单词)(word)

-c  统计字节数



grep

含义

过滤文本内容


选项

-n  显示行号

-i  不区分大小写

-v  反向查看

-o  只显示匹配的内容

-f  查找file1,file2中相同的内容

-c  匹配的行数,匹配成功多少行

-r  递归过滤,支持过滤文件夹,不查找软连接

-R  递归过滤,支持过滤文件夹,查找软连接

-e  逻辑或,支持多个选项之间的或关系

语法格式

grep [选项] 正则表达式 文件或标准输出

用法

# 匹配指定关键词 

[root@localhost test]# grep "root" passwd            #  grep 正则表达式 文件名 从passwd文件中匹配关键词root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost test]# 

# 显示匹配关键词所在的行号

[root@localhost test]# grep -n "root" passwd          # grep -n  显示匹配到关键词root所在的行号
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost test]# 
# 不区分大小过滤文件内容

[root@localhost test]# grep -i "Root" ./passwd      # grep -i  过滤时,不区分大小写
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost test]# 
# 只想要匹配的内容

[root@localhost test]# grep -n -o "root" ./passwd    # grep -o  只显示匹配到的内容
1:root
1:root
1:root
10:root
[root@localhost test]# 
# 查看成功匹配了几行

[root@localhost test]# grep -c "root" passwd     # grep -c  显示匹配成功了几行
2
[root@localhost test]# 	
# 想要查找多个文件中包含root的文件

[root@localhost test]# grep -r "root" .                       # 查看文件夹(多个文件)中,包含root的文件
./passwd:root:x:0:0:root:/root:/bin/bash                      # grep默认只能过滤单个文件的内容
./passwd:operator:x:11:0:operator:/root:/sbin/nologin
./t1:root
[root@localhost test]# 
# 过滤出两个文件中相同的内容

[root@localhost test]# grep -f t2 t1            # t1 和 t2 位置不一样没关系
12345
root
[root@localhost test]# 

[root@localhost test]# grep -f t1 t2 
12345
root
[root@localhost test]# 
# 过滤多个关键字

[root@localhost test]# grep -e "root" -e "12345" t1    # grep -e  实现多个选项键的或
12345
root
[root@localhost test]#

用途

问法1. 一个文件夹中有大量文件,我怎么快速从这些文件中,找到包含root字符的文件?

问法2. 在大量文件中找到某些含有特定字符串的文件

grep -r root 文件夹


注意事项

正则表达式:只针对文本内容

通配符:只针对文件名

标准输入:键盘输入

标准输出:输出到屏幕上

“>”:导入符,将执行结果导入到指定地方

如何合并两个文件:cat a test > c

标准输入 标注输出 重定向



重定向

重定向符:> <



正则表达式


元字符 .  1. 表示任意一个字符
         2. 表示次数,前面的字符出现多少次
         3. 表示位置

*    前一个字符连续出现0次或多次

.*  任意字符
         
^    开头符

$    结尾符

^$   表示空行

+    多个

[]   每次查找一个字符

[^]   取反,非



paste

含义

左右合并


用法

paste -d$ t1 t2   # 输出到屏幕中


split

含义

分割文件


用法

split -b 200M bigfile  # 将bingfile文件按200M分割



gzip

用法



bzip2

bzip2 -9 xaa

bzip2 -d



归档命令 tar

含义

压缩

解压


选项

-f        使用tar归档,只要使用tar,必须用f,如果用“-”,f必须在最后“-cf”,如果不用“-”,f位置无所谓

-c        建立归档

-x        解开归档

-v        显示过程

-z        使用gzip压缩

-j        使用bzip2压缩

-C(大C)  指定解压目录

-t        不解开归档文件,查看归档文件中的内容,-tf一起使用

-p        打包时,保留文件或目录的权限

-P        打包时,保留文件或目录的绝对路径

语法格式

tar 选项  自定义的名字.tar  要打包的文件

gzip压缩  自定义的名字.gz.tar

bzip2压缩  自定义的名字.bz2.tar

用法

tar -tf all.tar  # 不解开归档文件,查看压缩包中的内容


tar -zcvf vm.tar t1 t2 t3
tar -jcvf vm.tar t1 t2 t3
tar -cf vm.tar t1 t2 t3

tar -zxvf vm.tar -C /opt/test
tar -jxvf vm.tar -C /opt/test
tar -xf vm.tar -C /opt/test

注意事项

小文件不需要压缩,如1k文件



vi编辑器

作用

可读可写文件

有vi、vim两种编辑器

llinux一定有vi,可能没有vim编辑器

linux中还有nano、gedit两种文本编辑器


用法

vim +10 /opt/test/t1    #打开t1文件,并将光标移到第十行

!vim   # 打开上一次的文件

vim +/^b   # 光标移到b开头的行


vim的四种模式

① 命令行模式,默认模式

命令行模式
作用:实现光标的移动,复制粘贴等操作

yy  复制一行
p   粘贴

dd  剪切(删除)一行
x   删除一个字符
dw  删除一个单词

u   撤销
ctrl+r  撤销的撤销

跳到最后一行  G
跳到某行   某G  某gg
跳到第一行  gg 1G

w  下一个单词的词首
e  当前或下一个单词的词尾
b  当前或上一个单词的词首


当前页跳转
H  页首
M  页中间
L  页底


行首行尾跳转
^      跳转到行首的第一个非空白字符
0      跳转至行首
end $  跳转至行尾

大小写转换  ~
xp  

J  两行变一行
r  替换单个字符

di"   删除双引号中的内容
yi(   复制圆括号中的内容



② 编辑模式

编辑模式
作用:编辑内容

默认模式 -----> 输入模式
i  当前光标处前插入
o  下一行插入

“esc”键  退回到默认模式



③ 末行模式

默认模式 -----> 末行模式
(英文):
“esc” / "回车"  退回到默认模式

vim怎么退出
esc : w保存 q退出 !强制

显示行号      set nu    
不显示行号    set nonu  
另存为        w /opt/test/t1
打开新的文件   e 文件路径
将新文件写入到当前文件  r 新文件路径
在编辑器中使用命令行  !命令
将命令的执行结果写入文件   r! 命令
删除第n行         n d
取消高亮          nohl
和上一行对齐     set ai
取消对齐        set noai
set key=123
set key=
set tabstop=4
.!date

查找,替换
作用
查找文本中的文件并替换

格式
范围 s/查找的内容/替换的内容/修饰符  g

范围
不写范围  只处理光标处
%  全文
n,#  n行到#行  1,3  1-3行
$  最后一行
$-1  倒数第二行
.  当前行
#,+#   2,+3


修饰符
g(global,当前行所有)
c(修改时询问)

分隔符
/
@
#


/home/.bashrc 只对当前用户生效

/etc/profile 对全局生效


④ 可视化模式

v       选中一个字符
V       一行一行选
ctrl+v  一块一块选


sz

rz

标签:文件,查看,管理,cat,test,root,目录,localhost
From: https://www.cnblogs.com/wuyao-bk/p/17796430.html

相关文章

  • [EFI]asus strix b760-i 13900F电脑 Hackintosh 黑苹果efi引导文件
    硬件型号驱动情况主板asusstrixb760-i处理器I913900F已驱动内存crucialddr5-520064gb(32gb*2)(overclock5600)已驱动硬盘WDblacksn850500g*2已驱动显卡rx570已驱动声卡RealtekALCS1220A已驱动网卡IntelI225-V2.5GigabitEthernet已驱动无线网卡+蓝牙FeviT919BCM9436......
  • Linux用户管理
    1用户/组概览Linux系统是多用户、多任务的分时操作系统,系统上每一个进程都有一个特定的文件,每个文件都被一个特定的用户所拥有。如果需要使用系统资源,首先必须向系统超级用户申请成为普通用户,然后以普通用户的身份进入系统。超级用户可以对普通用户进行跟踪,并设置他们的访问权限,......
  • 基于Vue2+elementUI的二手书管理系统-计算机毕业设计源码+LW文档
    摘 要本设计完成了基于Vue2+elementUI的二手书管理系统的设计与实现。现代移动化网络发展下,不同于以往的短信、邮件、收音机传递信息,网页是向用户传输信息的主要媒介之一。书籍也是向人们传递信息和知识的媒介,如今书籍印刷和出版的快速发展,以及社会文化水平的进步,越来越多的读书......
  • 读取一个cvs文件,一行一行输出出来
    importcsvfile='D:\\1.csv'withopen(file,encoding="UTF8")asf: reader=csv.reader(f)#创建读取器 header_row=next(reader)#获取表的第一行(一般是列名) print(header_row)#打印 first_row=next(reader)......
  • Linux - 用户及文件权限管理
    本篇内容介绍Linux中创建用户,及用户组等操作Linux中的文件权限设置本篇内容知识点总结Linux用户管理Linux权限管理......
  • Linux文件及目录权限
    例如ls-l中显示的内容如下:-rwxrw-r--lrootroot1213Feb209:39abc10个字符确定不同用户能对文件干什么第一个字符代表文件类型-lbcd其余字符每三个一组(rwx)读(r)写(w)执行(x)第一组rwx:文件拥有者的权限是读,写和执行第二组rw-:与文件拥有者同一组的用户的权限是读,......
  • Python 实现 xls 文件转 xlsx 的若干方法
    在Python中,可以采用pandas、pyexcel、win32com和xls2xlsx这四个模块,实现xls转xlsx格式。以Excel示例文件test_Excel.xls为例,具体内容如下图所示:  pandas 安装命令pipinstallpandas-ihttps://mirrors.aliyun.com/pypi/simple具体使用方法importpa......
  • 信息系统项目管理(高项)考试大纲分析
    大纲以及分值想要高效的学习,首先要先分析考试大纲。下面是信息系统项目管理(高项)新大纲No科目分值考点分布1新一代信息技术4分商业智能,物联网,大数据,互联网+,区块链,云计算,人工智能2信息化与信息系统5分信息技术发展,两化融合,信息系统阶段,大型信息系统,系统规划BSP,信息系统规划工具,信息......
  • 如何使用scp从远程复制文件夹到本地?
    内容来自DOChttps://q.houxu6.top/?s=HowdoIcopyafolderfromremotetolocalusingscp?如何使用scp从远程复制文件夹到本地主机?我使用ssh登录到我的服务器。然后,我想要将远程文件夹foo复制到本地/home/user/Desktop。我该如何实现这一点?[email protected]......
  • Jenkins忘记管理员密码
    一、删除Jenkins配置文件config.xml的如下内容重启Jenkins后发现不用密码可以直接登录二、启用安全域系统管理全局安全配置选择Jenkins专有用户数据库并保存三、设置admin密码系统管理→管理用户设置新的密码并保存退出后就可以用新密码登录了—————————......