暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Shell指令学习总结

原创 数巨小码人 2024-12-20
51

1.概述

本文Shell常用命令进行了知识整理和实践验证,可供参考,如有问题可以一起讨论,共同进步。

2.Shell学习记录

1)ls:显示当前目录中的文件和文件夹

2)cd:切换工作目录,cd a切换到a文件夹中

3)mkdir:创建新目录
Touch:创建文件,如touch a.c,创建一个.c文件

4)rm:删除文件或目录
rm –f filename,强制删除内容且不提示确认,rm –f file*,删除以file开头的文件(此处使用通配符)
rm –r 目录名,删除文件目录
rm –rf 文件名,强制清空所有内容
rm –rf /*,强制清空服务器内所有文件,很危险

5)mv:移动或重命名文件或目录
mv a file,移动a到文件file中
mv –f a file,移动a到file中,同名询问是否覆盖,出现提示时输入y覆盖,n不覆盖
mv /dir1 /dir2,移动dir1文件目录到dir2中
mv /dir1/.,移动dir1到当前目录下,不要带*很危险

6)cp:复制文件或目录
cp a b,复制a到b中
cp –r /home/test /root/,复制整个目录,包括子文件夹

7)pwd:显示当前工作目录

8)cat:显示文件内容,cat a,显示a文件内容
cat –n a,显示文件内容,并对每一行编号,包括空白行
cat –b a,同-n,但是不对空白行编号
cat –s a,遇到连续两行及以上空白行,转换为一行空白行
cat –e a,输出内容每一行前面加上$符号,包括空白行

9)less:分页显示文件内容
less a.txt,显示文件内容,出现END时按q退出
less –N a.sh,显示a的内容,并显示行号
less –s a,连续空行只显示为一行
ps –ef | less,ps查看进程并通过less分页显示
history | less,分页显示命令历史记录
less a.txt b.txt,浏览多个文件

10)grep:文本搜索工具,在文件中搜索字符串
grep match_pattern file_name,在文件中搜索单词“match_pattern
grep “match_pattern”file1 file2 …,多个文件中搜索该单词
grep –v “match_pattern” file_name,除开该单词所在行都显示
grep “a” file1 –color=auto,标记匹配颜色
grep –E “[1-9]+”或者egrep “[1-9]+” file1,正则表达式
grep –c “text” file1,输出包含指定字符串的行数
grep “text” –n file1,输出包含匹配字符串的行
cat file1 | grep “text” –n,同上
grep “text” . –r –n,在当前目录(.)中进行递归搜索
grep –q “tset” file1,静默输出,成功返回0,失败返回非0值
grep指令功能太丰富了,按需使用指令

11)find:查找指令,搜索文件或目录
find . –name aa,查找当前路径下文件名为aa的文件,区分大小写
find . –iname aa,查找当前路径下文件名为aa的文件,不区分大小写
find . –user test,查找当前路径所属用户为test的所有文件
find . –group test,查找当前路径所属组为test的所有文件
find . –type f,查找当前路径的文件,d目录,c字符设备文件,b块设备文件,l连接文件,p管道文件
find . –size -1000c,查找当前目录下小于1000字节的文件
find . –size +1000c,查找当前目录下大于1000字节的文件
find . mtime -5 –name ‘.conf’,5天内修改且以conf结尾的文件
find . mmin -5 –name ‘
.conf’,5分钟内修改且以conf结尾的文件

12)sort:对文件内容进行排序
sort a.txt,将a.txt中每一行安装ASCII码排列,升序输出
sort –u a.txt,去掉重复行
sort –r a.txt,将a.txt中每一行安装ASCII码排列,降序输出
sort –r a.txt –o a.txt,重定向,排序后重新写入原文件
sort –n –k 2 –t : a.txt,将第2列按升序排,整体跟随第二列,如图2-3
sort –f a.txt,忽略大小写来进行排序
sort –c a.txt,检查文件是否已排好序,如果乱序输出第一个乱序行,最后返回1,无乱序直接下一个命令行

13)chmod:修改文件或目录权限

在这里插入图片描述

第1个字符为文件类型,第2个字符到第10个字符为文件的访问权限,并且3个字符为一组,分为三组,每一个位置对应的指定的权限,其顺序为读、写、执行。
第一个组为所有者权限,第二个组为组用户权限,第三个为其他用户权限。
三位八进制表示权限,允许操作为1(r、w和x),不允许为0(-),例如第一个文件所有组权限为rwx,即为2进制111,八进制7
chmod a=rw 1.c,给1.c所有访问者读写权限
chmod 742 1.c,给1.c重新定义权限
chmod +x 1.c,增加执行权限,+增加,-取消
chmod –v 1.c,显示权限变更详细信息
sudo chown test 1.c,修改所有者
sudo chown :test 1.c,修改组
sudo chown test:test 1.c,同时修改用户和组
sudo chgrp test 1.c,修改文件的组所有权
PS:chown和chgrp指令需要root权限

14)exit:退出当前shell进程
退出shell,并返回给定值,在shell脚本中可以终止当前脚本执行。执行exit可使shell以指定的状态值退出。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论