Linux:基础命令学习

目录

一、ls命令

实例:-l以长格式显示文件和目录信息

实例:-F根据文件类型在列出的文件名称后加一符号

[实例: -R 递归显示目录中的所有文件和子目录。](#实例: -R 递归显示目录中的所有文件和子目录。)

[实例: 组合使用](#实例: 组合使用)

Home目录和工作目录

二、目录修改和查看命令

三、mkdir命令

实例:创建目录。

实例:-p创建多个层级目录,自动创建目标目录的父目录。

四、touch命令

五、文件查看命令

cat命令

more命令

六、复制、移动、删除文件命令

cp命令

mv命令

rm命令

七、查找文件命令

wihich命令

find命令

[实例: 查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:](#实例: 查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:)

八、文件内容匹配命令

grep命令

实例:文件中查找匹配项

实例:目录中查找匹配项

wc命令

实例:统计文本文件

[管道符 |](#管道符 |)

实例:使用管道符匹配

[九、反引号' ` '](#九、反引号' ` ')

案例:反引号的使用

[十、重定向符" > " 和 " >> "](#十、重定向符" > " 和 " >> ")

案例:使用>覆盖写入和使用>>追加写入

十一、tail命令

案例:使用-f持续追踪文件更新的内容。


Linux 命令基础格式

一、ls命令

ls [option] [linux路径]
[]:表示可选项

用于显示目录文件信息。

常用参数:

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -d 只列出目录(不递归列出目录内的文件)。
  • -l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等。
  • -r 倒序显示文件和目录。
  • -t 将按照修改时间排序,最新的文件在最前面。
  • -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
  • -F 根据文件类型在列出的文件名称后加一符号;例如可执行文件则加 "*", 目录则加 "/"
  • -R 递归显示目录中的所有文件和子目录。
  • -h 以更加易读的方式,显示文件的大小单位。

实例:-l以长格式显示文件和目录信息

一行从左到右的值分布为文件属性文件硬链接数、所有者、组、文件大小(以字节B表示)、最后修改时间、文件/目录名称

文件属性:一共十个字符。

第一个字符 :表示文件类型。

字母"-" :表示该文件是一个普通文件。

字母"d" :表示该文件是一个目录,字母"d",是dirtectory(目录)的缩写。

字母"l": 表示该文件是一个链接文件。字母"l"是link(链接)的缩写。

**字母"b":**表示块设备文件(block),一般置于/dev目录下,设备文件是普通文

件和程序访问硬件设备的入口,是很特殊的文件。没有文件大小,只有

一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设

备,如硬盘、光盘等。最小数据传输单位为一个数据块(通常一个数据块

的大小为512字节)

**字母为"c":**表示该文件是一个字符设备文件(character),一般置于/dev目录

下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,

传输数据的最小单位为一个字节。

字母"p": 表示该文件为命令管道文件,与shell编程有关的文件。

**字母"s":**表示该文件为sock文件,与shell编程有关的文件。

第1字符的后面9个字母表示该文件或目录的权限位!

其中前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。

r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)、-代表无权限。

硬链接数:这个字段说明有多少个硬链接指向这个文件。如果使用ln,做一个指向该文件的硬链接再查看该文件,该文件的第2字段就会加一。

软链接和硬链接的区别:

软链接:符号链接又叫软链接,和原文件不是一个文件,其内容记录的是目标文件的目录,相当于Windows的快捷方式。符号链接可以跨越文件系统,也可以为目录建立。软链接有自己的索引(inode),是linux特殊文件的一种。

创建软链接文件代码格式:ln -s 原文件 链接文件

硬链接:硬链接,只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为inode)。当移动或者删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在件结构中的位置。硬链接记录的是目标的inode。
创建硬链接代码格式: ln 原文件 新文件

实例:-F根据文件类型在列出的文件名称后加一符号

目录加"/",

可执行文件则加 "*",

符号链接加"@"

实例: -R 递归显示目录中的所有文件和子目录。

实例: 组合使用

ls -a -l

ls -al

ls -la

三种写法的作用相同。

Home目录和工作目录

一般打开终端的当前工作目录默认的是用户的HOME目录(/home/用户名),Home目录是每个用户的个人账户目录, 而当前的工作目录指的是终端打开的位置。

二、目录修改和查看命令

cd [linux路径]
pwd

cd命令用于切换路径,不带参数时,默认返回HOME目录。

pwd命令用于输出当前工作目录。

三、mkdir命令

用于创建目录。

实例:创建目录。

实例:-p创建多个层级目录,自动创建目标目录的父目录。

四、touch命令

用于创建文件,不带选项,可直接通过路径创建。

五、文件查看命令

cat命令

一次性全部显示文件内容。

more命令

支持翻页显示文件内容功能,适用于文件内容比较多的情况。

六、复制、移动、删除文件命令

cp命令

用于复制文件。

mv命令

用于移动文件。

rm命令

用于删除文件。

七、查找文件命令

wihich命令

which 命令

命令都是可执行的二进制文件,用于查看命令存放的位置。

find命令

find [路径] [匹配条件] [动作]

用于查找所需文件。

参数说明 :

路径 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。

匹配条件用于指定查找的条件,可以是文件名、文件类型、文件大小等等。

匹配条件 中可使用的选项有二三十个之多,以下列出最常用的部份:

  • -name :按文件名查找,支持使用通配符 *?(正则表达式)
  • -type :按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等。
  • -size [+-]size[cwbKMG]:按文件大小查找,支持使用 +- 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。
  • -mtime days:按修改时间查找,支持使用 +- 表示在指定天数前或指定天数内,days 是一个整数表示天数。
  • -user :按文件所有者查找。
  • -group :按文件所属组查找。

**动作:**可选的,用于对匹配到的文件执行操作,比如删除、复制等。

find 命令中用于时间的参数如下:

  • -amin n:查找在 n 分钟内被访问过的文件。
  • -atime n:查找在 n*24 小时内被访问过的文件。
  • -cmin n:查找在 n 分钟内状态发生变化的文件(例如权限)。
  • -ctime n:查找在 n*24 小时内状态发生变化的文件(例如权限)。
  • -mmin n:查找在 n 分钟内被修改过的文件。
  • -mtime n:查找在 n*24 小时内被修改过的文件。
  • -ok:执行某些命令,需要用户确认。
  • -exec:执行某些命令,没有用户交互。

在这些参数中,n 可以是一个正数、负数或零。正数表示在指定的时间内修改或访问过的文件,负数表示在指定的时间之前修改或访问过的文件,零表示在当前时间点上修改或访问过的文件。

正数应该表示时间之前,负数表示时间之内。

例如:-mtime 0 表示查找今天修改过的文件,-mtime -7 表示查找一周以前修改过的文件。

关于时间 n 参数的说明:

  • +n:查找比 n 天前更早的文件或目录。

  • -n:查找在 n 天内更改过属性的文件或目录。

  • n:查找在 n 天前(指定那一天)更改过属性的文件或目录。

实例: 查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:

find / -type f -size 0 -exec ls -l {} \;

-exec 选项允许你执行一个命令,{} 将会被匹配到的文件名替代,\; 表示命令结束。

八、文件内容匹配命令

grep命令

grep [options] pattern [files]

该命令用来查找文件内容是否包含模式匹配的字符串(过滤作用)。

常用选项options(可写可不写):

  • -i:忽略大小写进行匹配。
  • -v:反向查找,只打印不匹配的行。
  • -n:显示匹配行的行号。
  • -r:递归查找子目录中的文件。
  • -l:只打印匹配的文件名。
  • -c:只打印匹配的行数。
  • -d或-r:查找的是目录而非文件时候使用。

pattern:匹配模式(字符串或正则表达式)

files:需要匹配的目标文件或目录。

实例:文件中查找匹配项

grep hello file.txt

实例:目录中查找匹配项

grep -r  -n  d ./

wc命令

计算文件的Byte数、字数、或是列数。

实例:统计文本文件

参数分别为:行数 单词数 字节数

一个英文字符占一个字节,一个汉字占两个字节(ASCII码)!

管道符 |

作用将左边的结果用作右边的输入。

实例:使用管道符匹配

九、反引号' ` '

反引号括起来的内容会被当命令执行,配合echo使用,因为echo可以反弹用户输入的内容到控制台。

案例:反引号的使用

十、重定向符" > " 和 " >> "

> 作用:将符号左边的运行结果覆盖写入右边的文件中。

>>作用:将符号左边的运行结果追加写入右边的文件中。

案例:使用>覆盖写入和使用>>追加写入

十一、tail命令

用来查看尾部信息和持续追踪文件的更新内容!

常用选项:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容
  • --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, --quiet, --silent 从不输出给出文件名的首部
  • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

案例:使用-f持续追踪文件更新的内容。

此命令会持续运行,用户可以通过Crlt+C来结束该命令。

相关推荐
qq_4336184423 分钟前
shell 编程(五)
linux·运维·服务器
VVVVWeiYee1 小时前
项目2路由交换
运维·服务器·网络·网络协议·信息与通信
青春男大1 小时前
java栈--数据结构
java·开发语言·数据结构·学习·eclipse
lifeng43212 小时前
Jenkins集成部署(图文教程、超级详细)
运维·jenkins
mashagua2 小时前
RPA系列-uipath 学习笔记3
笔记·学习·rpa
白手小弟2 小时前
python wxauto库实现微信自动化发送信息、回复、添加好友等
运维·自动化
ii_best3 小时前
ios按键精灵自动化的脚本教程:自动点赞功能的实现
运维·ios·自动化
3DVisionary3 小时前
数字图像相关DIC技术用于机械臂自动化焊接全场变形测量
运维·数码相机·自动化·焊接变形实验·数字图像相关dic技术·自动化焊接全场变形测量·非接触高精度环境适应性全场测量
沐泽Mu3 小时前
嵌入式学习-QT-Day05
开发语言·c++·qt·学习
锦亦之22333 小时前
cesium入门学习二
学习·html