系统编程--常用命令

这里写目录标题

  • 系统目录介绍
    • 内容
    • 补充
      • 上一级目录
      • 运行一个可执行文件(运行一个程序)
  • 常用命令
    • tab补齐
    • 获取历史命令
    • 快捷键
  • 目录常用命令(文件夹)
    • 相对路径和绝对路径
    • ls补充
      • 详细区分文件
      • 对自己自身列-l
      • 递归ls
    • which命令
    • 创建一个新文件
    • 删除文件
    • 拷贝文件
  • 文件常用命令(文件)
    • cat补充
    • more命令
    • head 和 tail命令
    • tree
    • 软链接、硬链接
      • 软链接
      • 硬链接
      • 总结
    • 用户和用户组以及权限
      • 权限修改
        • 文字修改
        • 数字修改
      • 修改用户和用户组
    • 总结
    • find命令
      • 总览
      • -type
      • -name
      • -maxdepth
      • -size
      • atime、mtime、ctime
      • -exec(将搜索到的文件执行某一命令)

系统目录介绍

内容

系统编程--常用命令_第1张图片
系统编程--常用命令_第2张图片
系统编程--常用命令_第3张图片

补充

上一级目录

cd … 是指到上一级目录
~代表家目录,每个用户都有自己的家目录

运行一个可执行文件(运行一个程序)

在这里插入图片描述
这两个都可以打开date可执行文件,相当于运行一个app
第一个要求 必须cd到bin里面,./ 相当于当前目录下的某某某
第二个没有要求,在任何目录里都可以执行

常用命令

tab补齐

系统编程--常用命令_第4张图片
使用tab键可以对命令进行补齐,或者对一些文件名,也可以进行补齐

如果按一次tab没反应,那么就是有多个补齐选项,我们可以再按一次tab,他会将所有的选项列出来

获取历史命令

系统编程--常用命令_第5张图片
直接按上键,就可以获取历史记录命令到命令行,按下键会获取历史上目前命令的下一条命令

快捷键

系统编程--常用命令_第6张图片
ctrl+p 可以认为是上键
ctrl+n 是下键
ctrl+d 删除光标后面的
ctrl+a 光标移动到最那面
ctrl+e 光标移动到最后面
ctrl+u 当前命令行清屏
ctrl+l 当前终端整个画面清屏

目录常用命令(文件夹)

相对路径和绝对路径

系统编程--常用命令_第7张图片
绝对位置是从根目录开始,前面总要加一个“/” 这个/与后面的/不同,这个表示根目录,其他的表示两个目录之间的间隔
/+根目录下的文件夹:这是绝对路径的标准起点

相对路径就是以当前目录为起点

cd -:表示切换到上一次所在的目录,区别cd …到上一级目录
系统编程--常用命令_第8张图片

小tips:
系统编程--常用命令_第9张图片
$或者#之前的,或者说】之前的,如上图
表示的是当前的工作目录 ,即 当前在哪个目录

ls补充

详细区分文件

系统编程--常用命令_第10张图片
这些文件表示符用于-l下 一行的首字母,表示文件类型

但是日常时,我们可以认为文件夹都是目录文件,因为里面可以放好多个文件或者文件夹,他只是充当一个路径的作用,所以叫做目录文件
而目录文件的尽头肯定有一个可执行文件,或者一些其他文件,这就是普通文件,是一些内容存放的地方

对自己自身列-l

系统编程--常用命令_第11张图片
我们知道在一个目录列ls -l 可以查看当前目录下所有文件或者文件夹的列表信息
但是,当我们想查看当前所在的目录文件自身的信息的时候,可以ls -dl

递归ls

系统编程--常用命令_第12张图片
将当前目录下的所有目录文件里的内容都列出来

which命令

系统编程--常用命令_第13张图片

创建一个新文件

系统编程--常用命令_第14张图片
touch多用于创建一个新文件

删除文件

系统编程--常用命令_第15张图片
删除文件夹时,要加一个-r选项,上图中加的是-rf,现在无需加f

拷贝文件

系统编程--常用命令_第16张图片
拷贝文件好理解

但是如果想要拷贝目录(文件夹),要加一个-r选项,但是一般不加-r,而是加-a(表示全部拷贝,所以文件上面显示的时间,拷贝过去还是不变的)

文件常用命令(文件)

cat补充

系统编程--常用命令_第17张图片
1、cat可以输出文件里的内容
2、cat可以当做缓冲区,进行标准输入输出,即cat+回车
你输入什么 他输出什么

3、tac命令:
系统编程--常用命令_第18张图片
倒着输出文件里的内容,适用于想要查看很长很长文件的尾部

more命令

系统编程--常用命令_第19张图片
查看大文件内容,分页查看,按一下空格翻一页

ctrl + c 或者 q终止

head 和 tail命令

系统编程--常用命令_第20张图片

$tail -5 file

一个是从文件前面开始显示第几行
一个是从文件末尾开始显示第几行

tree

需要安装tree命令:
su root
yum install tree
之后在某个目录下执行tree,就会将该目录下的内容以树状图的形式展开
系统编程--常用命令_第21张图片

软链接、硬链接

系统编程--常用命令_第22张图片
首先要注意,这些链接文件被创建出来之后,会存放在当前文件夹

软链接

在这里插入图片描述
语法如上:ln -s 源文件路径 软链接名称

软链接,相当于windows系统中的快捷方式,实际上存储的是一个路径,我们创建软链接的时候可以使用相对路径,但是由于他存储的是创建时的路径,所以一旦创建出来,路径就固定了
所以,为了保证在任何地方都可以访问这个软链接,那么源文件路径要用绝对路径,

创建完了软链接,当我们访问软链接的时候,会访问到源文件,
比如:
系统编程--常用命令_第23张图片

在这里插入图片描述
软链接的大小为6,表示他所存储的路径的大小,而前面的权限属于全开的状态,这里要注意,这里的全开并不是改变了源文件权限,而是这个软链接本身的权限,源文件权限不会改变

这里补充:剪切一个文件到某个地方:
mv 文件 目的地
在这里插入图片描述

硬链接


语法:ln 源文件 硬链接名称

硬链接会与源文件以及源文件的其他硬链接进行强关联,也就是实时同步内容,如果修改其中一个硬链接的内容,那么其他硬链接以及源文件的内容都会被改变
而如果多了一个硬链接,那么源文件以及硬链接们的硬链接计数会+1,如上图
如果删除的话,则是独立的删除关系,删除谁就是删除谁,并不会关联,删除会使硬链接计数-1

原理:硬链接们与源文件都是同一个Inode,这就是他们内容能够同步的原因,如下图:

总结

系统编程--常用命令_第24张图片

用户和用户组以及权限

权限修改

文字修改

系统编程--常用命令_第25张图片


使用命令chmod [u/g/o/a][+/-/=][r/w/x] 所修改的文件或者文件夹
例如 chmod u+r a.c 就是将用户一栏加上r权限(即第一组权限,如上图划出)

数字修改


r w x 分别是4 2 1
修改时一起修改 如上图

修改用户和用户组

系统编程--常用命令_第26张图片
系统编程--常用命令_第27张图片

总结

通过修改用户和用户组,或者修改三部分的权限,可以灵活控制指定用户对指定文件的指定权限

find命令

总览

系统编程--常用命令_第28张图片

-type

在这里插入图片描述
语法:find 哪个目录下搜索 -选项 参数

-name

在这里插入图片描述
搜索以jpg为结尾的文件

-maxdepth

在这里插入图片描述
注意:上面两种搜法都是递归搜索,就是如果下层有符合要求的文件,会一直深入搜下去
如果想要设置搜索层数,要用到maxdepth选项 后面跟层数
这个选项要在所有选项的最前面(但是仍然在指定目录的后面)

-size

在这里插入图片描述
表示搜索大小在20 到50之间的文件

单位:
系统编程--常用命令_第29张图片
补充:上图中的最小单位b,不是我们常说的字节,他是块
由于存储是在磁盘中存储,而磁盘存储的最小单元是一个扇形,他的大小就是一个块,用字节来表示就是512字节,由于他是最小的存储单元,所以,哪怕向磁盘存10byte的文件,也会占用磁盘512byte
系统编程--常用命令_第30张图片

atime、mtime、ctime

系统编程--常用命令_第31张图片
atime、mtime、ctime分别表示按访问时间搜索,更改时间搜索(修改文件属性的最新修改时间),改动时间搜索(修改文件内容的最新修改时间)

此命令需要用sudo来执行 后面的参数表示1天内

-exec(将搜索到的文件执行某一命令)

系统编程--常用命令_第32张图片
语法:常规find命令 -exec 想要执行的命令 {} ;

在这里插入图片描述
如果用此语法执行删除,对于受保护的文件会询问,不受保护的会直接进行删除,有点不妥

系统编程--常用命令_第33张图片
所以,对于删除命令,用-ok选项。会以交互式的方式询问你是否删除

你可能感兴趣的:(linux)