博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux_文件/目录基本操作
阅读量:3941 次
发布时间:2019-05-24

本文共 3229 字,大约阅读时间需要 10 分钟。

文章目录

ls 指令

语法: ls [选项] [目录或文件]

功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

常用选项

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -l 列出文件的详细信息。
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -R 列出所有子目录下的文件。(递归)

pwd命令

语法: pwd 功能:显示用户当前所在的目录

cd 指令

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

语法: cd 目录名

功能: 改变工作目录。将当前工作目录改变到指定的目录下。

举例

cd .. : 返回上级目录cd ~:进入用户家目cd -:返回最近访问目录

touch指令

语法: touch [选项]… 文件…

功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

mkdir指令

语法:mkdir [选项] dirname…

功能:在当前目录下创建一个名为 “dirname”的目录

常用选项:-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录

mkdir –p test/test1 : 递归建立多个目录

rm 指令

语法:rm [-f-i-r-v] [dirName/dir]

功能:删除文件或目录

常用选项

  • -f 即使文件属性为只读(即写保护),亦直接删除
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件

重要注意事项:千万不要运行 rm -rf /(会删除当前目录下所有资源) , 尤其是在公司的生产服务器上!!!

理解递归删除的过程

先手动创建如下目录结构:

test
├── a
│ ├── a1
│ │ ├── 1.txt
│ │ └── 2.txt
│ └── a2
├── b
│ ├── b1`
│ │ ├── 1.txt
│ │ └── 2.txt
│ └── b2
└── c

rm -r test

cp指令

语法:cp [选项] 源文件或目录 目标文件或目录

功能: 复制文件或目录

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

常用选项

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

mv指令

语法: mv [选项] 源文件或目录 目标文件或目录

功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的
    目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将
    所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

cat指令

语法:cat [选项] [文件]

功能: 查看目标文件的内容

常用选项

  • -n 对输出的所有行编号

man指令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。

语法: man [选项] 命令

常用选项

  • -k 根据关键字搜索联机帮助
  • num 只在第num章节找
  • man man 能够看到 man 手册中的若干个章节及其含义.

less指令

语法: less [参数] 文件

功能: 查看文件内容. 不会立刻把所有文件内容加载到内存中. 也能进行查找.

选项

  • j k / 方向键: 向上向下滚动屏幕.
  • -N 显示每行的行号
  • /字符串:向下搜索“字符串”的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • q: 退出

head指令

语法: head [参数]… [文件]…

功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

选项

  • -n<行数> 显示的行数

tail指令

语法: tail [必要参数] [选择参数] [文件]

功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

选项

  • -f 循环读取
  • -n<行数> 显示行数

举例:有一个文件共有100行内容,请取出第50行内容

# 方法1head -n50 test > tmp # 将前50行装入临时文件 tmptail -n1 tmp # 得到中间行# 方法2head -n50 test | tail -n1

关于重定向

Linux 的很多指令, 如 cat head tail 等都是默认输出到 “标准输出” 中, 也就是显示器上的. 可以通过 > 这样的符号把本来要输出到标准输出上的内容写到特定文件中. 这样的操作称为 “重定向”.

重定向有三种方式:

1.标准输入重定向(<)

# 先构造一个文件, 里面添加一些内容.cat < test.txt

2.标准输出重定向 (>)

cat test.txt > test2.txt

3.标准错误重定向 (2>), 注意 2 和 > 之间不能有空格.

# 尝试删除一个不存在的文件rm aaa > test.txt# 输出结果, 这个提示并没有被重定向到 test.txt 文件中.rm: cannot remove ‘aaa’: No such file or directory# 正确做法rm aaa 2> test.txt

标准输入, 标准输出, 标准错误是三个特殊的文件, 每个进程在启动的时候都会默认打开. 分别对应到键盘, 显示器, 显示器这样的设备.在 Java 中, 分别对应到 System.in , System.out , System.err

关于管道

管道是一种古老的 “进程间通信” 方式. 在 Linux 指令中可以使用 | 作为管道标记.意思是将前一个指令标准输出的内容,作为第二个指令的标准输入内容.

date 命令

date 指定格式显示时间: date +%Y:%m:%d

date 用法:date [OPTION]… [+FORMAT]

1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记

  • %H : 小时(00…23)
  • %M : 分钟(00…59)
  • %S : 秒(00…61)
  • %X : 相当于 %H:%M:%S
  • %d : 日 (01…31)
  • %m : 月份 (01…12)
  • %Y : 完整年份 (0000…9999)
  • %F : 相当于 %Y-%m-%d

2.时间戳

  • 时间->时间戳:date +%s
  • 时间戳->时间:date -d@1508749502
  • Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

转载地址:http://eejwi.baihongyu.com/

你可能感兴趣的文章
Vue入门
查看>>
非starter方式实现springboot与shiro集成
查看>>
Starter方式实现Springboot与Shiro集成
查看>>
移动端多页面应用(MPA)的开发(一)
查看>>
移动端多页面应用(MPA)的开发(二)
查看>>
移动端多页面应用(MPA)的开发(三)
查看>>
移动端多页面APP(MPA)开发体验
查看>>
基于深度学习知识追踪研究进展(综述)数据集模型方法
查看>>
linux常见命令与FileZilla
查看>>
PostgreSQL和ElasticSearch学习笔记
查看>>
java反射
查看>>
paint 和 paintcomponent的区别
查看>>
JSP字节码的存放路径问题
查看>>
对RMQ的理解
查看>>
LCA的离线算法
查看>>
spark学习与资料
查看>>
Java_SSM问题
查看>>
sql-数据库操作
查看>>
推荐CTR预估-几个基础模型FM \FFM\GBDT+LR
查看>>
推荐系统基础
查看>>