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 [选项] 源文件或目录 目标文件或目录
功能:
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
- 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,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
[root@listen ~]# date +"%Y-%m-%d %H:%M:%S"
2020-07-26 09:29:45
[root@listen ~]# date +%F
2020-07-26
[root@listen ~]# date +%s
1595727017
[root@listen ~]# date -d@1595727017
Sun Jul 26 09:30:17 CST 2020
[root@listen ~]#