Linux文件和目录相关的命令

时间:2021-03-23 12:23:54
当前目录 .    
上一层目录 ..    
tab键 自动补全    
       
查看目录内容 ls

以.开头的都是隐藏文件需要用-a才能显示出来

ls通配符的使用

* 代表任意个数个字符

? 代表任意一个字符,至少一个

[] 表示可以匹配字符串的任意一个

[abc] 匹配abc中任意一个

[a-f]  匹配a到f中的任意一个

例如  ls *a.text  ls a*   ls  [abc]*

常见的参数:

-a 显示目录下所有子目录与文件,包括隐藏文件

-l 以列表方式显示文件详细信息

(文件类型第一个字母d或者-,其中d代表文件夹。)

-h 配合-l更加人性化显示文件大小(单独使用没效果)

切换目录 cd

cd .进入当前目录(没用,相当于没操作)

cd ..进入上一层目录

绝对目录与相对目录

相对目录:相对当前目录所在文件目录

绝对目录:表示从根目录(/)开始的具体目录

cd ~进入当前账号家目录(/home/用户目录)

cd / 进入根目录

创建和删除操作      
  touch 创建或者修改文件时间

如果文件不存在,可创建一个空白文件

如果文件存在,修改文件末次修改时间

  rm 删除文件或者目录(不可恢复)

参数

-r 强制删除,忽略不存在的文件,无需显示

-r 递归删除目录下内容,删除文件夹是必须用到此参数

rm –rf * 是删除目录下所有,切记不要乱用

  mkdir 创建一个新的目录

参数

-p 可递归创建目录(当前目录下不能重名)

mkdir –p a/b/c (一层层递归创建文件夹)

拷贝和移动文件

tree

命令可以以树状图列出文件目录结果

tree[目录名]

参数:

-d 只会显示目录,不显示文件

  cp

cp 源文件 目标文件

复制文件或者目录

cp 源文件 . :复制到当前目录

cp 源文件  ./123.txt  :复制到当前目录下并且改名为123.txt

参数:

-i :覆盖文件前提示   cp –i 源文件 目标文件

-r:若给出源文件是目录文件,则cp将递归复制该目录下所有子目录和文件,目标文件必须为一个目录名

  mv

mv 源文件 目标文件

移动文件/目录或者目录重命名(剪切)

移动文件和目录都不需要参数

参数

-i 覆盖提示(重命名用)

查看文件内容   前两个是在终端中显示文件内容  
  cat cat 文件名

显示文件的完整内容

-b 空行不会显示行号

-n 空行也算行号

cat –n ./123.txt

  more more 文件名 分屏显示文件(快捷键同man)
  grep

搜索某一个文件中是否有指定文本内容

grep [参数] 搜索内容 被搜索的文件

例子:

grep –n as 123.txt

含义:搜索as在123.txt中的行号位置

如果被搜索的内容为字符串则要加双引号“”

grep –n “hello python 123.txt

参数

-n 显示匹配行及行号

-v 显示不包括文本的所有行

-i 忽略大小写

两种模式查找(正则表达式)

^a 行首,搜寻以a开头的行

ke$ 行尾,搜索以ke结束的行

其他      
  echo 会在终端中显示参数指定的文字,通常和重定向联合使用

echo hello

终端显示:hello

  重定向 >和>>

Linux允许将命令执行的结果重定向到一个文件

将本应显示在终端上的内容输出/追加到指定文件中

其中

> 表示输出,会覆盖原有内容

>>表示追加,会将内容追加到已有文件的末尾

echo hello python  >>a

ls >>a

tree>>a

 

  管道 | Linux允许将一个命令的输入可以通过管道作为另一个命令的输入

常用的管道命令:

more:分屏显示内容

grep:在命令执行结果的基础上查询指定文本

例如

ls –alh ~ | more   将ls显示的的内容分屏显示

ls –alh ~ | grep vi 将ls显示的的内容包括vi的显示出来,其他不显示