- 5 常用基本命令
- 5.1 帮助命令
- 5.2 文件目录类
- 5.2.1 pwd 显示当前工作目录的绝对路径
- 5.2.2 ls 列出目录的内容
- 5.2.3 cd 切换目录
- 5.2.4 mkdir 创建一个新的目录
- 5.2.5 rmdir 删除一个空的目录
- 5.2.6 touch 创建空文件
- 5.2.7 cp 复制文件或者目录
- 5.2.8 rm 删除文件或者目录
- 5.2.9 mv 移动文件与目录或重命名
- 5.2.10 cat 查看文件内容
- 5.2.11 more 文件内容分屏查看器
- 5.2.12 less 分屏显示文件内容
- 5.2.13 echo
- 5.2.14 head 显示文件头部内容
- 5.2.15 tail 显示文件尾部内容
- 5.2.16 > 输出重定向和 >> 追加
- 5.2.17 ln 软链接
- 5.2.18 history 查看已经执行过历史命令
- 5.3 时间日期类
5 常用基本命令
5.1 帮助命令
5.1.1 man 获取帮助信息
1)基本语法
man [命令或配置文件] # (功能描述: 获得帮助信息)
2)显示说明
信息 | 功能 |
---|---|
NAME | 命令的名称和单行描述 |
SYNOPSIS | 怎样使用命令 |
DESCRIPTION | 命令功能的深入讨论 |
EXAMPLES | 怎样使用命令的例子 |
SEE ALSO | 相关主题(通常是手册页) |
3)案例实操
(1)查看 ls 命令的帮助文档
~ man ls
5.1.2 help 获取 shell 内置命令的帮助信息
一部分基础功能的系统命令是直接内嵌在 shell 中的, 系统加载启动之后会随着 shell 一起加载, 常驻系统内存中。 这部分命令被称为“内置(built-in) 命令”; 相应的其它命令被称为“外部命令”。
1)基本语法
# 查看所有的内置命令
~ help
# 查看某个命令是内置命令和外部命令
~ type ls
help 命令 # (功能描述: 获得 shell 内置命令的帮助信息)
2)案例实操
(1)查看 cd 命令的帮助信息
~ cd --help
5.1.3 常用快捷键
常用快捷键 | 功能 |
---|---|
ctrl + c | 停止进程 |
ctrl + l | 清屏, 等同于 clear; 彻底清屏是: reset |
善于用 tab 键 | 提示(更重要的是可以防止敲错) |
上下键 | 查找执行过的命令 |
5.2 文件目录类
5.2.1 pwd 显示当前工作目录的绝对路径
pwd:print working directory 打印工作目录
1)基本语法
:::warning
pwd (功能描述:显示当前工作目录的绝对路径)
选项说明:
-P :显示当前工作目录的物理路径(实际路径)
:::
2)案例实操
(1)显示当前工作目录的绝对路径
➜ ~ pwd
/root
(2)打印物理目录,不带任何符号链接
➜ ~ ls -l /sbin
lrwxrwxrwx. 1 root root 8 Oct 30 2020 /sbin -> usr/sbin
➜ ~ cd /sbin
➜ /sbin pwd -P
/usr/sbin
5.2.2 ls 列出目录的内容
ls:list 列出目录内容
1)基本语法
:::warning
ls [选项] [目录或是文件]
:::
2)选项说明
选项 | 功能 |
---|---|
-a | 全部的文件, 连同隐藏档( 开头为 . 的文件) 一起列出来(常用) |
-l | 长数据串列出, 包含文件的属性与权限等等数据; (常用)等价于“ll” |
-F | 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/“ |
-t | 将文件依建立时间之先后次序列出 |
-R | 若目录下有文件,则以下之文件亦皆依序列出 |
-r | 将文件以相反次序显示(原定依英文字母次序) |
3)显示说明
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字
4)案例实操
(1)查看当前目录的所有内容信息
➜ ~ ls -al
total 144
dr-xr-x---. 8 root root 4096 May 23 22:17 .
dr-xr-xr-x. 18 root root 256 May 17 10:35 ..
5.2.3 cd 切换目录
cd: Change Directory 切换路径
1)基本语法
:::warning
cd [参数]
:::
2)参数说明
参数 | 功能 |
---|---|
cd 绝对路径 | 切换路径 |
cd 相对路径 | 切换路径 |
cd ~或者 cd | 回到自己的家目录 |
cd - | 回到上一次所在目录 |
cd .. | 回到当前目录的上一级目录 |
cd -P | 跳转到实际物理路径, 而非快捷方式路径 |
3)案例实操
(1) 使用绝对路径切换到 root 目录
cd /root/
(2) 使用相对路径切换到“公共的” 目录
cd 公共的/
(3) 表示回到自己的家目录, 亦即是 /root 这个目录
cd ~
(4) cd - 回到上一次所在目录
cd -
(5) 表示回到当前目录的上一级目录, 亦即是 “/root/公共的” 的上一级目录的意思;
cd ../
5.2.4 mkdir 创建一个新的目录
mkdir:Make directory 创建新的目录
1)基本语法
:::warning
mkdir [选项] 要创建的目录名
:::
2)选项说明
选项 | 功能 |
---|---|
-p | 创建多层目录(确保目录名称存在,不存在的就建一个。) |
-v | 为每个创建的目录打印一条消息 |
3)案例实操
(1)创建一个目录
➜ ~ mkdir dir
➜ ~ mkdir dir/subdir
(2)创建一个多级目录
➜ ~ mkdir -p dir/subdir
5.2.5 rmdir 删除一个空的目录
rmdir:Remove directory
1)基本语法
:::warning
rmdir 要删除的空目录
:::
2)案例操作
(1)删除一个空的文件夹
➜ ~ rmdir dir/subdir
5.2.6 touch 创建空文件
Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
:::warning
ls -l 可以显示档案的时间记录。
:::
1)基本语法
:::warning
touch 文件名称
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][—help][—version][文件或目录…]
:::
2)选项说明
- a 改变档案的读取时间记录。
- m 改变档案的修改时间记录。
- c 假如目的档案不存在,不会建立新的档案。与 —no-create 的效果一样。
- f 不使用,是为了与其他 unix 系统的相容性而保留。
- r 使用参考档的时间记录,与 —file 的效果一样。
- d 设定时间与日期,可以使用各种不同的格式。
- t 设定档案的时间记录,格式与 date 指令相同。
- —no-create 不会建立新档案。
- —help 列出指令格式。
- —version 列出版本讯息。
3)案例实操
touch dir/root.txt
5.2.7 cp 复制文件或者目录
Linux cp(英文全拼:copy file)命令主要用于复制文件或目录。
1)基本语法
:::warning
cp [选项] source dest
cp [options] source… directory
:::
2)选项说明
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- -l:不复制文件,只是生成链接文件。
3)参数说明
参数 | 功能 |
---|---|
source | 源文件 |
dest | 目标文件 |
4)经验技巧
强制覆盖不提示的方法: \cp
5)案例操作
(1)复制文件
➜ ~ cp /etc/fstab dir/
(2)递归复制整个文件夹
➜ ~ cp -av /etc dir/
5.2.8 rm 删除文件或者目录
Linux rm(英文全拼:remove)命令用于删除一个文件或者目录。
1)基本语法
:::warning
rm [选项] deleteFIle (功能描述:递归删除目录中的所有内容)
:::
2)选项说明
选项 | 功能 |
---|---|
-r | 递归删除目录中所有内容 |
-f | 强制执行删除操作, 而不提示用于进行确认。 |
-v | 显示指令的详细执行过程 |
-i | 删除前逐一询问确认 |
3)案例操作
(1)删除目录中的内容
➜ ~ rm -f dir/root.txt
(2)递归删除目录中所有内容
➜ ~ rm -f dir/etc
rm: cannot remove ‘dir/etc’: Is a directory
➜ ~ rm -rfv dir/etc
5.2.9 mv 移动文件与目录或重命名
Linux mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。
1)基本语法
:::warning
(1)mv oldNameFile newNameFIle (功能描述:重命名)
(2)mv /temp/movefile /targetFolder (功能描述:移动文件)
:::
2)参数说明
- -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
- -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
- -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
- -n: 不要覆盖任何已存在的文件或目录。
- -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
mv 参数设置与运行结果
命令格式 | 运行结果 |
---|---|
mv source_file(文件) dest_file(文件) | 将源文件名 source_file 改为目标文件名 dest_file |
mv source_file(文件) dest_directory(目录) | 将文件 source_file 移动到目标目录 dest_directory 中 |
mv source_directory(目录) dest_directory(目录) | 目录名 dest_directory 已存在,将 source_directory 移动到目录名 dest_directory 中;目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory |
mv source_directory(目录) dest_file(文件) | 出错 |
3)案例实操
(1)重命名
➜ ~ mv fstab fstab.bak
➜ ~ ls -l fstab fstab.bak
ls: cannot access fstab: No such file or directory
-rw-r--r-- 1 root root 382 May 23 22:52 fstab.bak
(2)移动文件
➜ ~ mv fstab.bak dir
➜ ~ ls -l dir/fstab.bak
-rw-r--r-- 1 root root 382 May 23 22:52 dir/fstab.bak
5.2.10 cat 查看文件内容
查看文件内容,从第一行开始显示
cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。
1)基本语法
:::info
cat [选项] 要查看的文件
cat [-AbeEnstTuv] [—help] [—version] fileName
:::
2)选项说明
- -n 或 —number:由 1 开始对所有输出的行数编号。
- -b 或 —number-nonblank:和 -n 相似,只不过对于空白行不编号。
- -s 或 —squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
- -v 或 —show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
- -E 或 —show-ends : 在每行结束处显示 $。
- -T 或 —show-tabs: 将 TAB 字符显示为 ^I。
- -A, —show-all:等价于 -vET。
- -e:等价于”-vE”选项;
- -t:等价于”-vT”选项;
3)经验技巧
一般查看比较小的文件,一屏幕能显示全部的
4)案例实操
(1)查看文件内容并显示行号
➜ ~ cat -n /etc/fstab
5.2.11 more 文件内容分屏查看器
more 指令是一个基于 VI 编辑器的文本过滤,它以全屏幕的方式按页显示文本文件的内容。 more 指令中内置了若干快捷键, 详见操作说明。
1)基本语法
more 要查看的文件
2)操作说明
操作 | 功能说明 |
---|---|
空白键(space) | 代表向下翻一页 |
Enter | 代表向下翻【一行】 |
q | 代表立刻离开more,不再显示该文件内容 |
Ctrl + F | 向下滚动一屏 |
Ctrl + B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
3)案例实操
(1)采用 more 查看文件
➜ ~ more /etc/passwd
5.2.12 less 分屏显示文件内容
less 指令用来分屏查看文件内容, 它的功能与 more 指令类似, 但是比 more 指令更加强大, 支持各种显示终端。 less 指令在显示文件内容时, 并不是一次将整个文件加载之后才显示, 而是根据显示需要加载内容, 对于显示大型文件具有较高的效率。
1)基本语法
:::info
less 要查看的文件
less [参数] 文件
:::
2)操作说明
操作 | 功能说明 |
---|---|
空白键 | 向下翻动一页 |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页 |
/字符串 | 向下搜索【字符串】的功能;n:向下查找,N:向上查找 |
?字符串 | 向上搜索【字符串】的功能;n:向上查找,N:向下查找 |
q | 离开 less 这个程序 |
= | 输出当前行的行号 |
- -b <缓冲区大小> 设置缓冲区的大小
- -e 当文件显示结束后,自动离开
- -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
- -g 只标志最后搜索的关键词
- -i 忽略搜索时的大小写
- -m 显示类似more命令的百分比
- -N 显示每行的行号
- -o <文件名> 将less 输出的内容在指定文件中保存起来
- -Q 不使用警告音
- -s 显示连续空行为一行
- -S 行过长时间将超出部分舍弃
- -x <数字> 将”tab”键显示为规定的数字空格
- /字符串:向下搜索”字符串”的功能
- ?字符串:向上搜索”字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- b 向上翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一页
- 回车键 滚动一行
- [pagedown]: 向下翻动一页
- [pageup]: 向上翻动一页
3)经验技巧
用SecureCRT时[pagedown]和[pageup]可能会出现无法识别的问题。
4)案例实操
(1)采用 less 查看文件
➜ ~ less /etc/profile
5.2.13 echo
echo 输出内容到控制台
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。
1)基本语法
:::info
echo [选项] [输出内容]
:::
选项:
-e:支持反斜线控制的字符转换
控制字符 | 作用 |
---|---|
\\ | 输出 \ 本身 |
\n | 换行符 |
\t | 制表符,也就是 Tab 键 |
\a | 发出警告音 |
\c | 结尾不加换行符 |
2)案例实操
# echo "hello\tworld"
hello\tworld
# echo -e "hello\tworld"
hello world
5.2.14 head 显示文件头部内容
head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前面10行的内容
1)基本语法
:::info
head 文件 (功能描述:查看文件头 10 行内容)
head -n 5 文件 (功能描述:查看文件头 5 行,5可以是任意行数)
:::
2)选项说明
选项 | 功能说明 |
---|---|
-n <行数> | 指定显示头部内容的行数 |
3)案例实操
(1)查看文件的头 2 行
➜ ~ head -n 2 /etc/passwd
5.2.15 tail 显示文件尾部内容
tail 用于显示文件的尾部部分内容,默认情况下 tail 指令显示文件的后面10行的内容
1)基本语法
:::info
(1)tail 文件 (功能描述:查看文件尾部10行的内容)
(2)tail -n 5 文件 (功能描述:查看文件尾部 5行内容,5可以是任意的行数)
(3)tail -f 文件 (功能描述:实施追踪该文档的所有更新)
:::
2)选项说明
选项 | 功能说明 |
---|---|
-n <行数> | 输出文件尾部 n 行内容 |
-f | 显示文件最新追加的内容, 监视文件变化 |
3)案例实操
(1)查看文件尾1行内容
➜ ~ tail -n 1 /etc/passwd
(2)实时追踪该档的所有更新
➜ ~ tail -f /etc/passwd # 一般为日志文件
5.2.16 > 输出重定向和 >> 追加
1)基本语法
:::info
(1)ls -l > 文件(功能描述:列表的内容写入到文件 a.txt 中(覆盖写))
(2)ls -al >> 文件(功能描述:列表的内容追加到文件 a.txt 的末尾)
(3)cat 文件1 > 文件2(功能描述:将文件1的内容覆盖到文件2)
(4)echo “内容” >> 文件(功能描述:将 echo 的内容追加到 a.txt 文件末尾,没有该文件则创建后追加内容)
:::
2)案例实操
(1)将 ls 查看信息写入到文件中
➜ ~ ls -l /etc > a.txt
(2)将 ls 查看信息追加到文件中
➜ ~ ls -l /boot >> a.txt
(3)采用 echo 将 hello 单词追加到文件中
➜ ~ echo "hello" >> a.txt
5.2.17 ln 软链接
软链接也称为符号链接, 类似于 windows 里的快捷方式, 有自己的数据块, 主要存放了链接其他文件的路径。
Linux ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
1)基本语法
:::info
ln -s [原文件或者目录] [软链接名] (功能描述:给原文件创建一个软链接)
:::
2)经验技巧
删除软链接: rm -rf 软链接名, 而不是 rm -rf 软链接名/
如果使用 rm -rf 软链接名/ 删除, 会把软链接对应的真实目录下内容删掉
查询: 通过 ll 就可以查看, 列表属性第 1 位是 l, 尾部会有位置指向。
:::warning
(1)硬链接相当于直接连接元数据,与原本的文件名平等;(复制文件)
(2)软链接相当于保存对应文件的地址,没有直接连接文件的元数据;(快捷方式)
:::
3)案例实操
(1)创建软链接
➜ ~ ln -sv ../etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-eth0
➜ ~ ls -l ifcfg-eth0
lrwxrwxrwx 1 root root 43 May 24 17:54 ifcfg-eth0 -> ../etc/sysconfig/network-scripts/ifcfg-eth0
(2)输出软链接(注意不要写最后的/)
➜ ~ rm -rf ifcfg-eth0
(3)进入软链接实际物理路径
➜ ~ ls -ld /bin /usr/bin
lrwxrwxrwx. 1 root root 7 Oct 30 2020 /bin -> usr/bin
dr-xr-xr-x. 2 root root 28672 May 22 22:11 /usr/bin
➜ ~ cd -P /bin
➜ bin pwd
/usr/bin
5.2.18 history 查看已经执行过历史命令
1)基本语法
:::info
history (功能描述:查看已经执行过的历史命令)
:::
2)案例实操
(1)查看已经执行过的历史命令
➜ ~ history
# 执行历史命令的编号的指令
➜ ~ !150
5.3 时间日期类
1)基本语法 :::info date [OPTION]… [+FORMAT] ::: 2)选项说明
选项 | 功能 |
---|---|
-d<时间字符串> | 显示指定的“时间字符串” 表示的时间, 而非当前时间 |
-s<日期时间> | 设置系统日期时间 |
3)参数说明
参数 | 功能 |
---|---|
<+日期时间格式> | 指定显示时使用的日期时间格式 |
5.3.1 date 显示当前时间
1)基本语法 :::info
- date (功能描述:显示当前时间)
- date +%Y (功能描述:显示当前年份)
- date +%m (功能描述:显示当前月份)
- date +%d (功能描述:显示当前是哪一天)
- date +”%F %T”(date +”%Y-%m-%d %H:%M:%S”)(功能描述:显示年月日时分秒)
:::
2)案例实操
(1)显示当前时间信息
(2)显示当前时间的年月日➜ ~ date
(3)显示当前时间的时分秒➜ ~ date +%Y-%m-%d ➜ ~ date +%F
➜ ~ date +%H:%M:%S ➜ ~ date +%T
5.3.2 date 显示非当前时间
1)基本语法 :::info (1)date -d ‘-1 days’ (功能描述:显示前一天的时间)
(2)date -d ‘+1 days’ (功能描述:显示明天的时间) ::: 2)案例实操
(1)显示前一天
(2)显示明天时间➜ ~ date -d '-1 days'
➜ ~ date -d '+1 days'
5.3.3 date 设置系统时间
1)基本语法 :::info date -s 字符串时间 ::: 2)案例实操
(1)设置系统当前时间➜ ~ date -s "2017-06-19 20:52:18"
5.3.4 cal 查看日历
1)基本语法 :::info cal [选项] (功能描述:不加选项,显示本月日历) ::: 2)选项说明
选项 | 功能 |
---|---|
具体某一年 | 显示这一年的日历 |
3)案例实操
(1)显示当前月的日历
➜ ~ cal
(2)显示2017年的日历
➜ ~ cal 2017