Linux centos 常用命令 【持续更新】

一、查看文件信息

indoe和目录项

# df命令查看每个硬盘分区的inode总数和已经使用的数量
df -i# 查看inode的大学
xfs_growfs /dev/sda1|grep "isize"# 查看文件的indoe号码
ls -i

在这里插入图片描述

stat查看文件信息

# 文件的详细信息
stat anaconda-ks.cfg # -t参数是在一行内输出显示
stat anaconda-ks.cfg -t# %F输出文件类型
stat anaconda-ks.cfg -c %F# %i输出文件的inode号码
stat anaconda-ks.cfg -c %i# %G输出文件的所属组名
stat anaconda-ks.cfg -c %G# -f显示文件所在文件系统在的状态信息
stat anaconda-ks.cfg -f

在这里插入图片描述

ls查看文件信息

# 查看文件的详细信息
ls# -l以较长的格式查看文件信息
ls -l# -i查看inode号码
ls -i 文件名# -s查看文件占用磁盘空间的大小
ls -s 文件名

在这里插入图片描述

二、查看文件路径

treepwd

在这里插入图片描述

三、通配符

*:将匹配0个(即空白)或者多个字符
?:将匹配任何一个字符且只能是一个字符
[a-z]:将匹配a~z范围内的所有字符
[^a-z]:将匹配除a~z范围外的其他字符
[xyz]:将匹配方括号中的容易一个字符
[^xyz]:将匹配不包括方括号中的字符的其他字符

四、shell中特殊符号

在这里插入图片描述

五、文件和目录管理

pwd显示当前用户所处工作目录

在这里插入图片描述

cd命令改变工作目录

在这里插入图片描述

ls命令列出目录和文件信息

在这里插入图片描述

touch命令创建空文件

在这里插入图片描述

mkdir命令创建目录

在这里插入图片描述

rmdir命令删除空目录

在这里插入图片描述

cp命令复制文件和目录

在这里插入图片描述
在这里插入图片描述

mv命令移动文件和目录

在这里插入图片描述

rm删除文件和目录

在这里插入图片描述

file命令查询文件类型

在这里插入图片描述

六、软硬链接

软硬链接的区别

  • 硬链接记录的是目标文件的inode,软链接记录的是目标文件的路径
  • 软链接类似于快捷方式,硬链接则类似于备份
  • 软连接可以跨分区(文件系统)创建链接,而硬链接只能在本分区(文件系统)内创建链接

硬链接使用

在这里插入图片描述

软链接的使用

在这里插入图片描述

七、内容显示

cat命令显示文本

在这里插入图片描述

head命令显示文件内容

在这里插入图片描述
在这里插入图片描述

nl命令显示文件内容

在这里插入图片描述
在这里插入图片描述

wc命令统计文件内容

在这里插入图片描述
5是字节数
18是行数
91是字数

通过管道可以统计目录中的文件

八、输入/输出和应用

find命令使用

# 查看当前目录下有哪些文件
[root@localhost ~]# find .

在这里插入图片描述

# -name参数指定文件名称    -o指定多个-name参数
find -name "*.txt" -o -name "*.bak"

在这里插入图片描述

# -type f查找普通文件
# -size +500k 限制文件大于500KB
[root@localhost etc]# find -type f -size +500k

在这里插入图片描述

# -delete参数把找到的文件进行删除
[root@localhost ~]# find *.txt -delete

在这里插入图片描述

grep命令使用

grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来

# -n参数显示行号
[root@localhost etc]# grep -n "root" /etc/passwd

在这里插入图片描述

# 查找当前目录中以"conf"结尾的且包含network字符串的文件,
# 并将这些文件以列表形式显示出来
[root@localhost etc]# grep -l 'network' *.conf

在这里插入图片描述
链式查找
在这里插入图片描述

# -v输出/etc/passwd文件内容中不包括nologin字符串的行,并输出该行号
[root@localhost etc]# grep -n -v "nologin" /etc/passwd

在这里插入图片描述

tr命令使用

tr命令在于用于删除文件中的控制字符串或进行字符转换,可以对来自标准输入的字符进行行替换,压缩和删除等,将一组字符变成另外一组字符
在这里插入图片描述
删除所有重复出现的字符,只保留第1个字符

[root@localhost ~]# echo "Hellooo        Pythonnnn"|tr -s "[ on]"
Hello Pytho

删除中间出现的所有空格

[root@localhost ~]# echo "    hello    Python    "|tr -d "[ \t]"
helloPython

将字母大小写进行相互转换

[root@localhost ~]# echo "HELLO world"|tr '[A-Za-z]' '[a-zA-Z]'
hello WORLD

cut命令使用

cut命令用于文件内容查看,显示行中指定部分,删除文件中指定字段等

# -d参数表示字符串以空格进行分隔
cut -f2,3 -d " " test1.txt

在这里插入图片描述

# -c对文件内容中的字符进行了处理
# -c1-2表示只显示第1个和第2个字符
cut -c1-2 test1.txt# -c3-表示显示从第3个字符开始到结尾的所有字符
cut -c3- test1.txt

在这里插入图片描述

paste命令使用

paste命令主要用来合并多个文件的内容,注意需要文件内容的行数一样,另外默认是空格分隔,如果要指定分隔方式,可以使用-d参数

在这里插入图片描述

sort命令使用

sort命令用于排序,它会将文件的每一行作为一个单位进行相互比较。
-r是降序排列 -o是写入文件
-t’ ’ 表示比较字符串以空格为分隔符
-k按第几列的数据进行排序
在这里插入图片描述

diff命令的使用

在这里插入图片描述

sed命令的使用

sed是一种流编辑器,能完美配合正则表达式使用,功能强大。
在这里插入图片描述

awk命令的使用

awk是一种处理文本文件的命令,也是一个强大的文本分析工具
在这里插入图片描述
在这里插入图片描述

unmae命令查看系统信息

在这里插入图片描述

hostname命令显示或修改主机名称

在这里插入图片描述

cal命令显示日历

在这里插入图片描述

date命令显示或者设置日期时间

在这里插入图片描述

history命令查看历史命令

在这里插入图片描述
-c参数清除历史记录
在这里插入图片描述

九、用户/用户组/权限管理

# 新建一个名称为develop的用户组,GID为9999
[root@Manba77-centos7 ~]# groupadd develop -g 9999# 新建一个名称为lihua的用户,UID为1500,并将develop设置为其附加组
[root@Manba77-centos7 ~]# useradd lihua -u 1500 -G develop# 新建一个名称为xiaoming的用户,UID为2000,并将/usr/xiaoming设置为主目录
[root@Manba77-centos7 ~]# useradd xiaoming -u 2000 -d /usr/xiaoming -m# 新建一个wangwu的用户,UID为2500,并将其shell设置为不可登录(/sbin/nologin)
[root@Manba77-centos7 ~]# useradd wangwu -u 2500 -s /sbin/nologin# 以上3个新建用户的密码均设置为123456
[root@Manba77-centos7 ~]# echo 123456|passwd --stdin lihua
更改用户 lihua 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@Manba77-centos7 ~]# echo 123456|passwd --stdin xiaoming
更改用户 xiaoming 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@Manba77-centos7 ~]# echo 123456|passwd --stdin wangwu
更改用户 wangwu 的密码 。
passwd:所有的身份验证令牌已经成功更新。# root家目录新建task11目录,并且切换到该目录
[root@Manba77-centos7 ~]# mkdir task11
[root@Manba77-centos7 ~]# cd task11# 将新建的3个用户的密码信息保存到exam1文件中
[root@Manba77-centos7 task11]# tail -3 /etc/passwd > exam1# 新建一个名称为exam2的文件夹
[root@Manba77-centos7 task11]# mkdir exam2# 将exam1文件的所有者改为xiaoming
[root@Manba77-centos7 task11]# chown xiaoming: exam1# 将exam2文件夹的所属组改为develop
[root@Manba77-centos7 task11]# chown :develop exam2# 设置exam1文件的所属用户对exam1文件有全部权限,其他人只有只读取权限。
# exam2文件夹下所创建的文件的所属组自动被设置为develop
# 方法一:使用字母来表达用户权限的命令
[root@Manba77-centos7 task11]# chmod u=rwx exam2
[root@Manba77-centos7 task11]# chmod g=r exam2
[root@Manba77-centos7 task11]# chmod o=r exam2
[root@Manba77-centos7 task11]# chmod g+s exam2# 方法二:使用数字来表达用户权限的命令
[root@Manba77-centos7 task11]# chmod 2744 exam2# 设置wangwu对exam1文件没有任何权限,develop用户组只有读取得到权限
[root@Manba77-centos7 task11]# setfacl -m u:wangwu:--- exam1
[root@Manba77-centos7 task11]# setfacl -m g:develop:r-- exam1# 查看exam1文件的所有权限
[root@Manba77-centos7 task11]# getfacl *# 设置lihua可以调用root用户权限修改exam1文件的内容
# 并在exam1文件的最后一行增加文本“success”
[root@Manba77-centos7 task11]# visudo# 在最后一行写入内容
lihua ALL=(root) NOPASSWD:/bin/vim exam1# 切换lihua
su lihua# 编辑exam1文件
sudo vim exam1#设置develop用户组可以调用root用户权限在根目录/下新建目录
[root@Manba77-centos7 task11]# visudo# 在最后一行插入
%develop ALL=(ALL) NOPASSWD:/bin/mkdir

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/57387.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文学会git常用命令和使用指南

文章目录 0. 前言1.分支分类和管理1. 分支分类规范:2. 最佳实践3. 分支命名规范示例:4. 分支管理方法: 2. commit 注释规范1. 提交注释结构:2. 提交注释的准则: 3. git 常用命令1. git pull 核心用法2. git push 命令1…

【100天精通python】Day29:文件与IO操作_JSON文件处理

目录 专栏导读 一、XML文件概述 1. 标签和元素 2. 嵌套结构 3. 属性 4. 命名空间 5. CDATA节 6. 注释 7. 验证与验证语言 8. 扩展性 二、XML文件处理常见操作 1. 解析XML文件 2. 创建和编辑XML文件 3. 修改XML文件 4. 查询XML元素 5 遍历XML元素 6. 删除XML元…

Django进阶

1.模板 1.1 寻找html模板 TEMPLATES [{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [os.path.join(BASE_DIR, templates)],APP_DIRS: True,OPTIONS: {context_processors: [django.template.context_processors.debug,django.template.context_process…

【Java split】split() 函数分割空字符串后数组长度为1的原因以及规避措施(105)

问题现象: import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class test06 {public static void main(String[] args) {// Java split()函数 分割空字符串长度为1的解释;String s2 "";String[] arr2 s2.split(&quo…

git 版本管理工具 学习笔记

git 学习笔记 目录 一、git是什么 二、创建仓库 三、工作区域和文件状态 四、添加和提交文件 五、回退版本 (了解) 六、查看差异 七、删除文件 八、.gitignore文件(了解) 九、github ssh-key配置 十、本地仓库和远程仓库内…

【RabbitMQ】golang客户端教程3——发布订阅(使用fanout交换器)

发布订阅 在上一个教程中,我们创建了一个工作队列。工作队列背后的假设是每个任务只传递给一个工人。在这一部分中,我们将做一些完全不同的事情——我们将向多个消费者传递一个消息。这就是所谓的“订阅/发布模式”。 为了说明这种模式,我们…

【Hystrix技术指南】(4)故障切换的运作流程

[每日一句] 也许你度过了很糟糕的一天,但这并不代表你会因此度过糟糕的一生。 [背景介绍] 分布式系统的规模和复杂度不断增加,随着而来的是对分布式系统可用性的要求越来越高。在各种高可用设计模式中,【熔断、隔离、降级、限流】是经常被使…

嵌入式传感器的接口:轮询的ADC驱动器

嵌入式开发工程师如何在现代嵌入式应用程序中创建一个接口,该接口将低级驱动程序实现细节与应用程序代码分离。该接口提供了一种体系结构抽象,它通过减少对硬件的依赖来提高应用程序代码的可伸缩性和可移植性。 现在,我们将基于在3种微控制器…

更新页面无法回显

需求与问题: 在菜品管理开发中,我需要修改菜品,第一步是回显页面,但在我再三确认代码无误的情况下依旧无法回显内容 问题发现与解决: 经过排查,我发现我的DishDTO内容如下: Data public clas…

基于Dlib库+SVM+Tensorflow+PyQT5智能面相分析-机器学习算法应用(含全部工程源码)+训练及测试数据集

目录 前言总体设计系统整体结构图系统流程图模型流程 运行环境Python 环境TensorFlow环境界面编程环境 模块实现1. 数据预处理2. 模型构建1)定义模型结构2)交叉验证模型优化 3. 模型训练及保存4. 模型测试1)摄像头调用2)模型导入及…

CentOS虚拟机 NAT模式连网

1、查看本地VMnet8的网络信息 cmd ipconfig2、编辑VMware虚拟网络编辑器 (1)打开网络编辑器 (2)打开NET设置 (3)修改网络配置 修改子网ip和windows查到的ip的最后一位不一样就行和子网掩码照抄 3、在VMw…

一生一芯1——windows与Ubuntu双系统安装

UltraISO下载 下载链接:https://pan.baidu.com/s/18ukDs6yL64qU6thYyZEo-Q?pwdo8he 提取码:o8he 一路傻瓜安装,安装后点击继续试用 Ubuntu系统下载 这里我使用的是官网的22.04版本,由于大于4G,无法上传至百度网盘…