Linux基本命令之文件管理

1 创建目录mkdir

参数-p可递归创建目录。
eg:mkdir -p a/b/c 
ps:不能和已有目录同名,并且目录创建者必须对当前目录具有写权限。

1.1 创建文件 touch

eg: touch demo.txt

2 删除文件:rm

-i 以进行交互式方式执行
-f 强制删除,忽略不存在的文件,无需提示
-r 递归地删除目录下的内容,删除文件夹时必须加此参数
eg:rm -ri 目录名/文件名   交互删除目录中每一个文件
ps:rmdir 删除目录 
eg:rmdir 目录
使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,
不然提示删除失败。

3 查看或者合并文件内容:cat

eg:cat  demo.txt 查看demo.txt的内容
	cat demo.txt > demo2.txt   覆盖写,将demo的内容以覆盖形式写在demo2中
	cat demo.txt >> demo2.txt  追加写,将demo的内容以追加形式写在demo2的后面

3.1 分屏显示:more

查看内容时【cat】,在信息过长无法在一屏上显示时,会出现快速滚屏,
使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,
按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。
eg: more demo.txt

3.2 分页显示工具 less

- b 向后翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一页
- 回车键 滚动一行

3.3 文本搜索:grep

grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行
格式:grep [-选项] ‘搜索内容串’文件名
选项:
-v 显示不包含匹配文本的所有行(相当于求反)
-n 显示匹配行及行号
-i 忽略大小写

参数:
^a 行首,搜寻以 m 开头的行;
eg:grep -n '^a' 1.txt

ke$ 行尾,搜寻以 ke 结束的行;
eg:grep -n 'ke$' 1.txt

[Ss]igna[Ll]匹配 [] 里中一系列字符中的一个;
搜寻匹配单词signal、signaL、Signal、SignaL的行;
eg:grep -n '[Ss]igna[Ll]' 1.txt

.(点) 匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,
可以匹配 eee,eae,eve,但是不匹配 ee,eaae;
eg:grep -n 'e.e' 1.txt

3.4 查找文件:find

查找当前目录下所有名为test.sh的文件 eg:find ./ -name test.sh
查找当前目录下所有后缀为.sh的文件 eg: find ./ -name '*.sh'
查找当前目录下所有以大写字母开头的文件 eg: find ./ -name "[A-Z]*"
查找在/tmp 目录下等于2M的文件 eg: find /tmp -size 2M
查找在/tmp 目录下大于2M的文件 eg: find /tmp -size +2M
查找在/tmp 目录下小于2M的文件 eg: find /tmp -size -2M
查找当前目录下大于4k,小于5M的文件 eg: find ./ -size +4k -size -5M
查找当前目录下权限为 777 的文件或目录 eg: find ./ -perm 0777

3.5 查看命令位置:which

eg; which ls  查看ls命令的位置

3.6查看当前路径:pwd

直接pwd 即可

3.7 查看帮助 man、–help

ps:  查看ls的帮助文档
ls --help
man ls
注意man以及--help的位置

3.8 查看目录结构:tree

返回目录结构

4 拷贝文件:cp

-a 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。
-f 已经存在的目标文件而不提示
-i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认
-r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。
-v 显示拷贝进度
eg: cp  -ivr   a/b/cc.txt    a/ceshi.txt

5 文件压缩以及解压

5.1 .tar.gz压缩解压 打包zcvf、解包zxvf

格式 gzip  [选项]  被压缩文件
-d 解压
-r 压缩所有子目录

#打包并压缩文件 eg: tar -zcvf test.tar.gz  *    ps: 打包是 zcvf
#解压到当前路径下 eg: tar -zxvf test.tar.gz   ps: 解包是 zxvf
#解压到执行目录下 eg: tar -zxvf test.tar.gz -C  a/     ps:别忘记-C

5.2 zip压缩解压 zip、unzip

格式:
压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
解压文件:unzip -d 解压后目录文件 压缩文件

#压缩文件至myzip中  eg:zip myzip *    ps:这里可以不带后缀名.zip
#解压文件myzip.zip到指定路径	 eg:unzip -d ./test  myzip.zip  

6 echo命令 – 输出字符串或提取Shell变量的值

相当于python中的print
1、输出一段字符串:
[root@ubuntu ~]#  echo "LinuxCool.com" 
LinuxCool.com 
2、输出变量提取后的值:	
[root@ubuntu ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
3、对内容进行转义,不让$符号的提取变量值功能生效:
[root@ubuntu ~]# echo \$PATH
$PATH
4、结合输出重定向符,将字符串信息导入文件中:
[root@ubuntu ~]# echo "It is a test" > linuxcool

猜你喜欢

转载自blog.csdn.net/hu827250322/article/details/94476565