linux一些常见的命令

1. ls :显示path下的文件及目录

ls /root 查看/root目录下的所有文件或者文件夹等。
使用ls -a /root可以显示隐藏文件
ls -l /root可以显示出文件的详细信息
更多ls的-l、-a等命令可用man ls查看,类似于python中的help命令。按q可以退出
当yum install tree时,tree path和ls相似
在这里插入图片描述

2. cat(more/less/head/tail):查看文档

  • cat Lucy,该方法直接将内容显示在屏幕上,如果文件比较长,则屏幕就会沾满,因此适合查看比较小的文件
  • more Lucy首先显示一部分内容,然后按回车再显示一行,再按回车再显示一行,如果一行行切换比较麻烦,则按空格键,每次翻一页。该种模式下只能往后看,不能返回去看前面的内容。退出时可按q或者ctrl+c
  • less Lucy,该命令和more有点类似,但是less可以向前看,ctrl+p向前看一行,ctrl+b向前翻页,,ctrl+n向后一行,ctrl+f向后翻页,more没有快捷键
  • head -5 Lucy,查看前五行,-5不写默认是前十行
  • tail Lucy查看后十行,加参数-n可以指定n行

3. which:搜索命令所在目录

查看命令所在目录
在这里插入图片描述

4. cd:更改路径

切换目录
cd …/data
cd /root/project

5. pwd:当前路径

查看当前路径

6. mkdir创建目录

  • 创建目录mkdir /home/yh/test在/home/yh下面创建一个test的目录(如果test本身存在,则不可以创建)
  • 创建复合目录mkdir exam1/test1 -pmkdir -p exam1/test1由于在创建test1时发现exam1也不存在,因此直接写mkdir exam1/test1会报错,此时需要加上-p

7.touch创建文件

  • 创建文件:touch Lucy,文件可以没有后缀,也可以有后缀。touch有两个功能,如果文件不存在则创建文件,如果存在则修改文件的时间

8. rm/rmdir:删除文件或目录

  • 删除空目录:rmdir exam
  • 删除非空目录rm exam -r或者rm -r exam。r是递归的意思,此操作下exam所有的文件(包括目录,普通文件、可执行文件等)都会被删除。只要用rm删除目录(无论是否非空)必须加-r参数。此外,-ri和-r效果一样,会递归遍历所有文件,并逐个询问是否删除文件
  • 删除非空目录并不提示rm exam -rf或者rm -rf exam
  • 删除文件rm -i Lucy此时仍用rm命令,但不需要加-r参数,有没有-i效果一样,都会询问你是否要删除
  • 删除文件并不提示rm -f Lucy

9. mv:重命名或剪切

Linux mv 命令用来为文件或目录改名、或将文件或目录移入其它位置。

  • mv 文件名 文件名:将源文件名改为目标文件名
  • mv 文件名 目录名:将文件移动到目标目录
  • mv 目录名 目录名:目标目录已经存在,将原目录移动到目标目录,目标目录不存在则更改目录名
  • mv 目录名 文件名:出错

参数说明(参数不指定默认为i):

  • -i:若指定目录已有同名文件,则先询问是否覆盖旧文件
  • -f:在mv操作要覆盖已有的目标文件时不给任何提示

10. cp:复制文件或目录

cp命令主要用于复制文件或目录
命令说明:
cp 源文件或目录 目标目录;用户使用该指令复制目录时,必须使用参数"-r"或者"-R"。
参数说明:

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件。

11. find:在指定目录下查找文件

Linux find命令用来在指定目录下查找文件。
语法:find path -option
如果使用该命令时,不设置任何参数(不设置-option),则find命令将在path下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
在这里插入图片描述
find中 -option(参数):

  • -mount,或者 -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
    在这里插入图片描述-amin n : 在过去 n 分钟内被读取过
    在这里插入图片描述
    -anewer file : 比文件 file 更晚被读取过的文件
    在这里插入图片描述
    -atime n : 在过去n天内被读取过的文件
    -cmin n : 在过去 n 分钟内被修改过
    -cnewer file :比文件 file 更新的文件
    -ctime n : 在过去n天内被修改过的文件
    -ipath p,或者 -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
    -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
    在这里插入图片描述
    -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。

12. grep

grep string path:在路径path下查找文件中含有string的文件,并打印出string所在的行(path可以是目录,也可以是文件,当为目录时,必须指定参数-r或者-d),另外一种用法为:从管道数据流中筛选匹配的数据。管道是什么见13
在这里插入图片描述
其中test1下的prac.txt内容如下:
在这里插入图片描述
使用 grep -r like /root/exam查找(其中-r是参数,递归的意思,具体可见博客:https://www.runoob.com/linux/linux-comm-grep.html)在这里插入图片描述
一些常用的参数:

  • -d 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
  • -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
  • -i 或 --ignore-case : 忽略字符大小写的差别。
  • -e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。(常配合正则使用)
  • -v 或 --revert-match : 显示不包含匹配文本的所有行。
  • -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。

13. 管道命令|

管道是一种通信机制,通常用于进程间的通信(也可通过socket进行网络通信),它表现出来的形式将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin),linux常用|做为管道。当搭配grep使用时如下:
ls /usr/bin|grep pip在这里插入图片描述
ls /usr/bin得到一个数据流(/usr/bin下的文件及目录),通过|管道将ls的结果传给grep,类似于grep pip ls /usr/bin因此grep除了12中提及的在path中查找string,并显示行的内容,还可以搭配管道使用,显示管道前(|前的结果)数据流中含有目标的数据。

发布了111 篇原创文章 · 获赞 113 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43178406/article/details/103526844