Linux~眼过百遍不如手敲一遍的 文件/目录基本操作指令

ls 指令

语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

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

[root@listen /]# ls
bin   dev  home  lib64       media  opt   root  sbin  sys  usr
boot  etc  lib   lost+found  mnt    proc  run   srv   tmp  var
[root@listen /]# ll
total 60
lrwxrwxrwx.  1 root root     7 Jul 11  2019 bin -> usr/bin
dr-xr-xr-x.  5 root root  4096 Jul 11  2019 boot
drwxr-xr-x  19 root root  2980 Jul 16 15:13 dev
drwxr-xr-x. 77 root root  4096 Jul 20 19:25 etc
drwxr-xr-x.  2 root root  4096 Apr 11  2018 home
lrwxrwxrwx.  1 root root     7 Jul 11  2019 lib -> usr/lib
lrwxrwxrwx.  1 root root     9 Jul 11  2019 lib64 -> usr/lib64
drwx------.  2 root root 16384 Jul 11  2019 lost+found
drwxr-xr-x.  2 root root  4096 Apr 11  2018 media
drwxr-xr-x.  2 root root  4096 Apr 11  2018 mnt
drwxr-xr-x.  2 root root  4096 Apr 11  2018 opt
dr-xr-xr-x  86 root root     0 Jul 16 15:11 proc
dr-xr-x---.  7 root root  4096 Jul 21 23:27 root
drwxr-xr-x  23 root root   640 Jul 20 19:38 run
lrwxrwxrwx.  1 root root     8 Jul 11  2019 sbin -> usr/sbin
drwxr-xr-x.  2 root root  4096 Apr 11  2018 srv
dr-xr-xr-x  13 root root     0 Jul 21 22:11 sys
drwxrwxrwt.  9 root root  4096 Jul 22 03:25 tmp
drwxr-xr-x. 13 root root  4096 Jul 11  2019 usr
drwxr-xr-x. 19 root root  4096 Jul 11  2019 var

pwd命令

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

[root@listen /]# pwd
/
[root@listen /]# cd root
[root@listen ~]# pwd
/root
[root@listen ~]# 

cd 指令

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

cd .. : 返回上级目录
cd ~:进入用户家目录
cd -:返回最近访问目录
[root@listen ~]# cd /
[root@listen /]# cd ~
[root@listen ~]# cd ..
[root@listen /]# 

touch指令

语法: touch [选项]… 文件… (如.txt文件)
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新
建一个不存在的文件。

[root@listen home]# touch test.txt
[root@listen home]# tree
.
└── test.txt

0 directories, 1 file

  • 上面的tree命令是安装的一个程序 在你linux系统联网的情况下输入 yum install -y tree
  • 如果touch的是一个已经存在的文件 就会修改其创建的时间 不会改变其内容
[root@listen home]# ll
total 0
-rw-r--r-- 1 root root 0 Jul 22 14:28 test.txt
[root@listen home]# touch test.txt
[root@listen home]# ll
total 0
-rw-r--r-- 1 root root 0 Jul 22 14:30 test.txt

echo指令

语法:echo [内容]
功能: echo本来的功能是将标准输入显示到显示器上 但是通过重定向 > 操作就可以完成文件的写入操作

[root@listen home]# echo hello
hello
[root@listen home]# echo hello > test.txt 
[root@listen home]# 

cat指令

语法:cat [选项] [文件]
功能: 查看目标文件的内容

-n 对输出的所有行编号

[root@listen home]# cat test.txt 
hello
[root@listen home]# 

  • cat 和 echo 这俩个指令使用在小文件上方便 但是如果文件很大的话就不会很方便

mkdir 指令

语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录

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

[root@listen home]# mkdir aaa
[root@listen home]# tree
.
├── aaa
└── test.txt

1 directory, 1 file
[root@listen home]# mkdir aaa/bbb/ccc
mkdir: cannot create directory ‘aaa/bbb/ccc’: No such file or directory
[root@listen home]# mkdir -p aaa/bb/ccc
[root@listen home]# tree
.
├── aaa
│   └── bb
│       └── ccc
└── test.txt

3 directories, 1 file
[root@listen home]# 

rm 指令

语法:rm [-f-i-r-v] [dirName/dir]
功能:删除文件或目录

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

[root@listen home]# rm test.txt 
rm: remove regular file ‘test.txt’? y
[root@listen home]# rm aaa
rm: cannot remove ‘aaa’: Is a directory
[root@listen home]# rm -r aaa
rm: descend into directory ‘aaa’? y
rm: descend into directory ‘aaa/bb’? n
[root@listen home]# tree
.
└── aaa
    └── bb
        └── ccc

3 directories, 0 files
[root@listen home]# rm -rf aaa
[root@listen home]# tree
.

0 directories, 0 files

千万不要运行 rm -rf / 很危险

cp指令

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

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

[root@listen home]# tree
.
├── aaa
│   └── bbb
│       └── ccc
└── htllo.txt

3 directories, 1 file
[root@listen home]# cp htllo.txt aaa/bbb
[root@listen home]# tree
.
├── aaa
│   └── bbb
│       ├── ccc
│       └── htllo.txt
└── htllo.txt

3 directories, 2 files
[root@listen home]# cp -r aaa/bbb bbb
[root@listen home]# tree
.
├── aaa
│   └── bbb
│       ├── ccc
│       └── htllo.txt
├── bbb
│   ├── ccc
│   └── htllo.txt
└── htllo.txt

5 directories, 3 files
[root@listen home]# 

mv指令

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

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

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

  • mv指令的效率是很高的即使是几十G的文件也只是O(1)复杂度
[root@listen home]# tree
.
└── aaa
    ├── bbb
    │   └── ccc
    └── test.txt

3 directories, 1 file
[root@listen home]# mv aaa/test.txt test.txt
[root@listen home]# tree
.
├── aaa
│   └── bbb
│       └── ccc
└── test.txt

3 directories, 1 file
[root@listen home]# 

  • mv指令还可以用来重命名文件
[root@listen home]# tree
.
├── aaa
│   └── bbb
│       └── ccc
└── test.txt

3 directories, 1 file
[root@listen home]# mv test.txt htllo.txt
[root@listen home]# tree
.
├── aaa
│   └── bbb
│       └── ccc
└── htllo.txt

3 directories, 1 file

man指令

语法: man [选项] 命令
功能: 查看手册获取帮助。q退出 上下箭头翻页

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

[root@listen home]# man ls

less指令

语法: less [参数] 文件
功能: 查看文件内容. 不会立刻把所有文件内容加载到内存中. 也能进行查找

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

  • less是cat的进阶版本 cat是一股脑全显示在显示器上而less是懒加载 用到多少加载多少 速度很快
[root@listen /]# cd etc
[root@listen etc]# less services 

head指令

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

n<行数> 显示的行数

[root@listen etc]# head -5 services 
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2013-04-10

tail指令

语法: tail [必要参数] [选择参数] [文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件

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

[root@listen etc]# tail -5 services 
com-bardac-dw   48556/tcp               # com-bardac-dw
com-bardac-dw   48556/udp               # com-bardac-dw
iqobject        48619/tcp               # iqobject
iqobject        48619/udp               # iqobject
matahari        49000/tcp               # Matahari Broker

  • 管道技术的运用 将前一个命令的输出作为下一个命令的输入
  • 输出前50个的倒数3个
[root@listen etc]# head -50 services | tail -3
telnet          23/tcp
telnet          23/udp
# 24 - private mail system

date 命令

指定格式显示时间: date +%Y:%m:%d
用法:date [OPTION]… [+FORMAT]

在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记
%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
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502

猜你喜欢

转载自blog.csdn.net/Shangxingya/article/details/107476894