网络安全学习:系统基础命令操作

[#####成功在于你坚持了别人坚持不了的东西####]

1.1 系统命令界面介绍

1.1.1 命令操作界面作用概述

Linux是一个主要通过命令行来进行管理的操作系统,和windows系统利用鼠标点击这类可视化管理大不相同。

Linux命令行管理,可以实现批量、自动化管理,智能化、以及可视化管理。是Linux技术人员必须掌握的技能

在这里插入图片描述

系统启动后,输入用户名和密码后,或者建立远程连接后,就意味着进入了命令行操作界面。

说明:命令行输入命令都是由bash/shell解释器执行的,bash解释器可以理解为是系统中的翻译官。

1.1.2 命令行提示符作用介绍

命令行出现提示符主要用于提示操作者可以输入相应命令

提示符种类介绍说明:

这是超级管理员root用户对应的命令行(所有权限都具备)

[root@Linux ~]# ff dd

这是普通用户xiaoQ对应的命令行(只具有部分操作能力)

[xiaoQ@Linux ~]$ pwd        

提示符信息组成部分:
网络安全学习:系统基础命令操作_第1张图片

提示符信息修改方法:
需要借助后面所学的环境变量知识概念,利用PS1变量概念进行修改调整。

[root@xiaoQ ~]# set|grep PS1
PS1='[\u@\h \W]\$ '

利用PS1环境变量的设置,构成了提示符信息的组成部分。(了解即可)

1.1.3 系统命令语法格式说明

Linux命令行中在进行命令输入过程中,需要遵循一定的语法结构:

网络安全学习:系统基础命令操作_第2张图片

命令语法格式说明:

中括号[]表示可选,即命令的参数及路径信息或具体文件数据信息。
参数选项表示使用一个命令的不同功能。
命令、参数选项、文件或路径两两之间至少要有一个空格。

操作示例演示说明:

创建一个test文件,然后查看创建结果,最后删除掉,再查看删除结果:

[root@xiaoQ ~]# touch test.txt
[root@xiaoQ ~]# ls
anaconda-ks.cfg  Image_001.png  test.txt
[root@xiaoQ ~]# rm -f test.txt
[root@xiaoQ ~]# ls
anaconda-ks.cfg  Image_001.png

1.1.4 系统命令行常用快捷键

在Linux系统中使用快捷键,可以有效提高命令行操作界面的执行效率。

序号 快捷键 解释说明
最有用快捷键
01 tab 命令或路径,以及文件等信息的补全键,Linux最常用快捷键
移动光标快捷键
01 Ctrl+A 光标回到命令行首
02 Ctrl+E 光标回到命令行尾
03 Ctrl+方向键右 光标向右以字符串为单位进行快速移动
04 Ctrl+方向键左 光标向左以字符串为单位进行快速移动
剪切、粘贴、清除快捷键
01 Ctrl+K 剪切(删除)光标处到行尾的字符
02 Ctrl+U 剪切(删除)光标处到行首的字符
03 Ctrl+W 剪切(删除)光标前的一个单词
04 Ctrl+Y 粘贴ctrl+U,crtl+k,ctrl+w删除的文本
系统管理控制快捷键
01 Ctrl+C 中断终端正在执行的任务或者取消整行命令输入
02 Ctrl+L 清除屏幕上的所有内容,并在屏幕上面开始一个新行,等同clear命令
03 Ctrl+D 退出当前shell命令行
04 Ctrl+Z 暂停执行在终端运行的任务(主要后面服务知识章节会使用)
05 Ctrl+S 锁定终端,使之无法输入内容(了解)
06 Ctrl+Q 解锁执行Ctrl+S的锁定状态(了解)
重复执行命令快捷键
01 Ctrl+R 搜索命令行使用过的历史命令记录
02 Esc+.(点) 获取上一条命令的最后的部分(空格分隔)

1.2 操作界面获取帮助

Linux运维学习过程中主要有三种自学的方法:

  • 利用网站搜索功能:收集各种技能知识,并进行总结

  • 利用官方网站介绍:针对服务程序,可以进行更深入的扩展学习

  • 利用帮助命令自学:利用常见的man help info命令获取更多的帮助说明信息

1.2.1 获取帮助信息方法-man

功能说明:

用于查看命令或部分文件帮助说明信息

使用方法:

man [参数选项] 命令/文件

具体操作:

[root@xiaoQ ~]# man cp
NAME (可以获取命令简单介绍信息)
       cp - copy files and directories
SYNOPSIS (具体命令语法结构信息)
       cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...
​
DESCRIPTION (具有此命令可以使用的参数选项信息)
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
       Mandatory arguments to long options are mandatory for short options too.
​
       -a, --archive
              same as -dR --preserve=all

说明:可以利用字母Q退出帮助信息查看页面;可以利用/具体内容实现对指定信息检索

也可以利用–help获取更精炼的man手册的帮助信息

[root@xiaoQ ~]# cp --help

1.2.2 获取帮助信息方法-help

功能说明:

可以用于查看系统内置的命令的帮助信息。

  • 内置命令:系统安装完毕,自身就有的命令(很多Linux版本都有的命令)

  • 外置命令:需要借助第三方程序,进行安装部署后才具有的命令

使用方法:

help 内置命令

具体操作:

[root@xiaoQ ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
    Change the shell working directory.
    
    Change the current directory to DIR.  The default DIR is the value of the
    HOME shell variable.

当前系统都有哪些内置命令

bash,  :,  ., [, alias, bg, bind, break, builtin, caller, cd, command, compgen, complete,
compopt, continue, declare, dirs, disown, echo, enable, eval, exec, exit, export,  false,
fc,  fg,  getopts,  hash,  help,  history, jobs, kill, let, local, logout, mapfile, popd,
printf, pushd, pwd, read, readonly, return, set, shift,  shopt,  source,  suspend,  test,
times,  trap,  true,  type,  typeset, ulimit, umask, unalias, unset, wait

1.2.3 获取帮助信息方法-info(了解)

功能说明:

可以用于作为man或help命令的帮助信息补充

使用方法:

info 命令

具体操作:

[root@xiaoQ ~]# info ls

1.3 系统运行相关命令

1.3.1 关机重启注销命令

重启或关机命令:shutdown
shutdown是一个用来安全关闭或重启Linux系统的命令,系统在关闭重启之前会通知所有的登录用户,系统即将关闭重启

此时所有的新用户都不可以登录

语法格式:

shutdown [OPTION]… TIME [MESSAGE]
shutdown [选项]     时间 消息

常用参数:

序号 参数选项 功能说明
01 -r 重启系统,而不是关机,这个参数在系统重启时常用
02 -h 关闭系统,这个参数在系统关机时常用
03 -c 取消正在执行的shutdown指令
实践操作:

实践操作-01:指定多久关闭/重启系统

关闭主机系统

[root@xiaoQ ~]# shutdown -h 10
Shutdown scheduled for Wed 2021-11-24 04:25:22 CST, use 'shutdown -c' to cancel.

– 即将执行一个关闭主机的计划,大概在什么时间进行执行,可以使用shutdown -c取消计划

Broadcast message from [email protected] (Wed 2021-11-24 04:15:22 CST):

– 利用广播方式通知给所有系统操作用户

The system is going down for power-off at Wed 2021-11-24 04:25:22 CST!

– 这个系统将在什么时间点进行关机处理

重启主机系统

[root@xiaoQ ~]# shutdown -r 10
Shutdown scheduled for Wed 2021-11-24 04:28:32 CST, use 'shutdown -c' to cancel.

– 即将执行一个关闭主机的计划,大概在什么时间进行执行,可以使用shutdown -c取消计划

Broadcast message from [email protected] (Wed 2021-11-24 04:18:33 CST):

– 利用广播方式通知给所有系统操作用户

The system is going down for reboot at Wed 2021-11-24 04:28:32 CST!

– 这个系统将在什么时间点进行重启处理

实践操作-02:指定时间关闭/重启系统

关闭主机系统

[root@xiaoQ ~]# shutdown -h 11:00
Shutdown scheduled for Wed 2021-11-24 11:00:00 CST, use 'shutdown -c' to cancel.

重启主机系统

[root@xiaoQ ~]# shutdown -r 11:00
Shutdown scheduled for Wed 2021-11-24 11:00:00 CST, use 'shutdown -c' to cancel.

实践操作-03:实现立即关闭/重启系统

关闭主机系统

[root@xiaoQ ~]# shutdown -h 0
[root@xiaoQ ~]# shutdown -h now

重启主机系统

[root@xiaoQ ~]# shutdown -r 0
[root@xiaoQ ~]# shutdown -r now

实践操作-04:取消关闭/重启系统计划

取消关闭主机计划/取消重启主机计划

[root@xiaoQ ~]# shutdown -c
Broadcast message from [email protected] (Wed 2021-11-24 04:18:37 CST):
The system shutdown has been cancelled at Wed 2021-11-24 04:19:37 CST!

说明:以上操作实践过程必须使用系统管理员用户(root)进行操作。

重启或关机命令:halt/poweroff/reboot/systemctl
halt/poweroff/reboot/systemctl这四个命令同样也具有相应关机或重启功能,可以进行了解。

语法格式:

halt [option]
poweroff [option]
reboot [option]
systemctl [option]

实践操作:

实践操作-01:使用halt命令关机

[root@xiaoQ ~]# halt

实践操作-02:使用poweroff命令关机

[root@xiaoQ ~]# poweroff

实践操作-03:使用reboot命令重启

[root@xiaoQ ~]# reboot

实践操作-04:使用systemctl命令重启/关闭主机

关闭主机系统

[root@xiaoQ ~]# systemctl poweroff

重启主机系统

[root@xiaoQ ~]# systemctl reboot

注销退出系统命令:Linux多用户管理的系统

注销退出当前用户窗口

[root@xiaoQ ~]# logout

注销退出当前用户窗口,等价于使用快捷键ctrl+d

[root@xiaoQ ~]# exit

1.4 系统目录相关命令

1.4.1 系统目录层级概念

Linxu目录层级结构和windows是有明显区别的,在Linux系统中没用磁盘分区盘符概念,所有数据都是存储在根目录中。

因此/ 根目录就是Linux目录层级的最顶端,从最顶端可以依次向下扩展更多不同层级目录。

网络安全学习:系统基础命令操作_第3张图片

目录绝对路径

是从 / 根 开始的路径,例如:/data、/mnt/xiaoQ

应用:使用绝对路径操作更加精准

目录相对路径

不是从 / 根 开始的路径,而是从当前目录或指定的目录开始的,例如,data/,./mnt/xiaoQ

应用:使用相对路径操作更加方便

目录层级结构查看-tree
以树形结构显示目录下的所有内容,包括所有文件、子目录及子目录里的目录和文件

语法格式:

tree [option] [directory]
tree   选项      目录

常用参数:

序号 参数选项 解释说明
01 -a 显示所有文件,包含隐藏文件
02 -d 只显示目录结构中的目录信息
03 -L 遍历目录的最大层数,level为大于0的正整数
04 -F 在执行文件、目录、socket、符号链接、管道名称等不同类型文件的结尾,各自加上相应符号
常见符号信息“*” “/” “=” “@” “|”
操作准备:

检查系统中是否安装了tree命令对应的软件程序包,如果采用的是最小化安装Linux系统的方式,tree命令功能默认没有安装的

需要在系统中进行安装部署:

查看确认tree软件程序是否存在

[root@xiaoQ ~]# rpm -qa tree
tree-1.6.0-10.el7.x86_64

进行tree软件程序安装过程

[root@xiaoQ ~]# yum install -y tree

说明:只有在系统中安装好tree软件程序包,系统中才能拥有tree命令,因此tree命令就是比较典型的外置命令

实践操作:

实践操作-01: 不带任何参数获取目录结构数据信息

[root@xiaoQ ~]# tree
.
├── anaconda-ks.cfg
└── Image_001.png
​
0 directories, 2 files

实践操作-02: 以树形结构显示目录下的所有内容(包含隐藏信息)

[root@xiaoQ ~]# tree -a
.
├── anaconda-ks.cfg
├── .bash_history
├── .bash_logout
├── .bash_profile
├── .bashrc
├── .cshrc
├── Image_001.png
├── .lesshst
└── .tcshrc
​
0 directories, 9 files

说明:在Linux系统中,名称以点开头的文件都是隐藏文件

实践操作-03: 只列出根目录下第一层的目录结构信息

[root@xiaoQ /]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
​
19 directories, 0 files

实践操作-04: 只显示目录结构信息中的所有目录信息

[root@xiaoQ /]# tree -d /boot
/boot
├── efi
│   └── EFI
│       └── centos
├── grub
└── grub2
    ├── fonts
    ├── i386-pc
    └── locale
​
8 directories

1.4.2 显示当前路径信息

功能说明:

pwd命令是"print working directory"中每个单词的首字母缩写,其功能是显示当前工作目录的绝对路径。

在实际工作中,在命令行操作命令时,经常会在各个目录路径间进行切换,此时可使用pwd命令快速查看当前所在的目录路径。

声明:pwd属于系统内置命令,想获取详细帮助信息请使用help命令

语法格式:

pwd [option]
pwd  选项

实践操作:

实践操作-01: 查看当前操作状态所在路径

登录系统后,默认所在的目录为系统用户家目录

[root@xiaoQ ~]# pwd
/root

切换目录信息,进行查看目录是否切换成功

[root@xiaoQ ~]# cd /etc/init.d
[root@xiaoQ init.d]# pwd
/etc/init.d
[root@xiaoQ init.d]# cd /etc/sysconfig/network-scripts/
[root@xiaoQ network-scripts]# pwd
/etc/sysconfig/network-scripts

1.4.3 切换目录路径信息

功能说明:

cd命令是“change directory”中每个单词的首字母缩写,其功能是从当前工作目录切换到指定的工作目录。

语法格式:

cd [option] [dir]
cd  [选项]  [目录]

常用参数:

序号 参数选项 解释说明
01 - 若只使用-选项,表示切换目录到当前用户的上一次所在的目录路径
02 ~ 若只使用~选项,表示切换目录到当前用户的家目录所在的目录路径(直接执行cd效果一致)
03 … 若值使用…选项,则将会从当前目录切换到目录的上一级目录所在的路径
实践操作:

实践操作-01:进入系统/usr/local目录

[root@xiaoQ ~]# pwd
/root
[root@xiaoQ ~]# cd /usr/local/      -- 利用绝对路径方式进行切换
[root@xiaoQ local]# pwd
/usr/local

实践操作-02:切换到当前目录的上一级目录

[root@xiaoQ local]# pwd
/usr/local
[root@xiaoQ local]# cd ..
[root@xiaoQ usr]# pwd
/usr
[root@xiaoQ usr]# cd local/         -- 利用相对路径方式进行切换
[root@xiaoQ local]# pwd
/usr/local

实践操作-03:进入当前目录的父目录的父目录中

[root@xiaoQ local]# cd /etc/sysconfig/network-scripts/
[root@xiaoQ network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@xiaoQ network-scripts]# cd ../../
[root@xiaoQ etc]# pwd
/etc

实践操作-04:返回当前用户上一次所在的目录

[root@xiaoQ etc]# cd /usr/local/
[root@xiaoQ local]# cd /etc/sysconfig/network-scripts/
[root@xiaoQ network-scripts]# cd /usr/local/
[root@xiaoQ local]# cd /etc/sysconfig/network-scripts/
[root@xiaoQ network-scripts]# cd -
/usr/local
[root@xiaoQ local]# cd -
/etc/sysconfig/network-scripts
[root@xiaoQ network-scripts]# cd -
/usr/local

实践操作-05:进入当前用户的家目录

[root@xiaoQ ~]# cd /usr/local/
[root@xiaoQ local]# cd ~
[root@xiaoQ ~]# cd /usr/local/
[root@xiaoQ local]# cd

1.4.4 进行目录创建操作

mkdir命令是由“make directories”中每个单词的粗体字母组合而成,其功能是创建目录。

默认情况下,如果要创建的目录已经存在,则会提示文件存在,而不会继续创建目录。

语法格式:

mkdir [option] [directory]
mkdir  选项      目录

说明:mkdir命令可以同时创建多个目录,格式为mkdir dir1 dir2…

常用参数:

序号 参数选项 解释说明
01 -p 01. 递归创建目录,递归的意思是父目录及子目录及子目录…一并创建
02. 即使要创建的目录事先已存在,也不会报错提示目录存在
02 -m 设置新创建目录的默认目录对应的权限(在权限章节说明)
03 -v 显示创建目录的过程
实践操作:

实践操作-01:不使用任何命令参数创建目录的用法示例

[root@xiaoQ ~]# cd ~
[root@xiaoQ ~]# tree -d
.
​
0 directories
[root@xiaoQ ~]# mkdir data
[root@xiaoQ ~]# tree -d
.
└── data
​
1 directory
[root@xiaoQ ~]# mkdir data
mkdir: cannot create directory ‘data’: File exists

— 创建的目录已经存在,默认会有错误提示信息

[root@xiaoQ ~]# mkdir -p data

— 可以利用-p忽略错误提示信息

实践操作-02:使用-p参数递归创建目录

[root@xiaoQ ~]# mkdir xiaoQ/xiaoQ01/xiaoQ02
mkdir: cannot create directory ‘xiaoQ/xiaoQ01/xiaoQ02’: No such file or directory
[root@xiaoQ ~]# mkdir -p xiaoQ/xiaoQ01/xiaoQ02
[root@xiaoQ ~]# tree -d
.
├── data
└── xiaoQ
    └── xiaoQ01
        └── xiaoQ02
​
4 directories

实践操作-03:加-v参数显示创建目录的过程

[root@xiaoQ ~]# mkdir xiaoQ02
[root@xiaoQ ~]# mkdir -v xiaoQ03
mkdir: created directory ‘xiaoQ03’
[root@xiaoQ ~]# tree -d
.
├── data
├── xiaoQ
│   └── xiaoQ01
│       └── xiaoQ02
├── xiaoQ02
└── xiaoQ03
​
6 directories

实践操作-04:批量创建目录需求

创建多个无规则的目录信息

[root@xiaoQ ~]# mkdir xiQ aoT iaZ 
[root@xiaoQ ~]# tree -d
.
├── aoT
├── iaZ
└── xiQ
​
3 directories

创建多个有规则的目录信息

[root@xiaoQ ~]# mkdir xiaoQ{01..03}
[root@xiaoQ ~]# tree -d
.
├── aoT
├── iaZ
├── xiaoQ01
├── xiaoQ02
├── xiaoQ03
└── xiQ
​
6 directories

1.4.5 进行目录删除操作

rm命令可以理解为英文单词remove的缩写,其功能是删除一个或多个文件或目录。

强调:这是Linux系统里最危险的命令之一,请慎重使用。

语法格式:

rm [option] [file]
rm  选项     文件或目录

常用参数:

序号 参数选项 解释说明
01 -f 强制删除,忽略不存在的文件,不提示确认
02 -i 在删除前需要确认
03 -I 在删除超过三个文件或者递归删除前要求确认
04 -r 递归删除目录及其内容(针对目录删除使用参数)
实践操作:

准备命令操作环境:

[root@xiaoQ ~]# mkdir -p data/{dir01,dir02,dir03}
[root@xiaoQ ~]# tree -d
.
└── data
    ├── dir01
    ├── dir02
    └── dir03
​
4 directories

实践操作-01:删除指定目录

[root@xiaoQ ~]# rm data/dir01/ 
rm: cannot remove ‘data/dir01/’: Is a directory
[root@xiaoQ ~]# rm -r data/dir01/ 
rm: remove directory ‘data/dir01/’? y
[root@xiaoQ ~]# tree -d
.
└── data
    ├── dir02
    └── dir03
​
3 directories

实践操作-02:强制删除指定目录

[root@xiaoQ ~]# rm -rf data/dir02
[root@xiaoQ ~]# tree -d
.
└── data
    └── dir03
​
2 directories

1.4.6 进行目录改名操作

mv命令可以理解为英文单词move的缩写,其功能是移动或重命名文件或目录信息。

语法格式:

mv [option] [source] [dest]
mv  选项     源文件   目标文件
​
mv [option] -t [dest] [source01] [source02] [source03]
mv  选项       目标文件 源文件

常用参数:

序号 参数选项 解释说明
01 -f 若目标文件已经存在,则不会询问而是直接覆盖
02 -i 若目标文件已经存在,则会询问是否覆盖(默认)
03 -n 不覆盖已经存在的文件(安全功能)
04 -t 指定mv的目标目录,适用于移动多个源文件到一个目录的情况
此时目标目录在前,源文件在后
05 -u 在源文件比目标文件新,或者目标文件不存在时才进行移动

实践操作:

准备命令操作环境:

[root@xiaoQ ~]# mkdir -p data01/{dir01,dir02,dir03}
[root@xiaoQ ~]# mkdir -p data02/{dir01,dir02,dir03}
[root@xiaoQ ~]# tree -d
.
├── data01
│   ├── dir01
│   ├── dir02
│   └── dir03
└── data02
    ├── dir01
    ├── dir02
    └── dir03
​
8 directories

实践操作-01:对目录名称信息进行改名

[root@xiaoQ ~]# mv data01/dir01/ data01/xiaoQ01
[root@xiaoQ ~]# tree -d
.
├── data01
│   ├── dir02
│   ├── dir03
│   └── xiaoQ01
└── data02
    ├── dir01
    ├── dir02
    └── dir03
​
8 directories

[root@xiaoQ ~]# mv data01/dir02 data01/xiaoQ01/
[root@xiaoQ ~]# tree -d
.
├── data01
│   ├── dir03
│   └── xiaoQ01
│       └── dir02
└── data02
    ├── dir01
    ├── dir02
    └── dir03
​
8 directories

说明:在重命名目录时,如果修改目录名称已经存在,会将源目录移动到指定名称目录中

实践操作-02:将单个目录进行剪切移动

将目录移动到其它目录中(其它目录中已经存在此名称目录)

[root@xiaoQ ~]# mv data01/dir03/ data02/
mv: overwrite ‘data02/dir03’? 
[root@xiaoQ ~]# mv -f data01/dir03/ data02/
[root@xiaoQ ~]# tree -d
.
├── data01
│   └── xiaoQ01
│       └── dir02
└── data02
    ├── dir01
    ├── dir02
    └── dir03
7 directories

将目录移动到其它目录中(其它目录中没有存在此名称目录)

[root@xiaoQ ~]# tree -d
.
├── data01
│   └── xiaoQ01
│       └── dir02
└── data02
    ├── dir01
    ├── dir02
    └── dir03
​
7 directories
[root@xiaoQ ~]# mv data01/xiaoQ01/ data02/
[root@xiaoQ ~]# tree -d
.
├── data01
└── data02
    ├── dir01
    ├── dir02
    ├── dir03
    └── xiaoQ01
        └── dir02
​
7 directories

实践操作-03:将多个目录进行剪切移动

[root@xiaoQ ~]# tree -d
.
├── data01
└── data02
    ├── dir01
    ├── dir02
    ├── dir03
    └── xiaoQ01
        └── dir02
​
7 directories
[root@xiaoQ ~]# mv data02/{dir01,dir02} data01
[root@xiaoQ ~]# tree -d
.
├── data01
│   ├── dir01
│   └── dir02
└── data02
    ├── dir03
    └── xiaoQ01
        └── dir02
​
7 directories
[root@xiaoQ ~]# mv -t data01 data02/dir03 data02/xiaoQ01
[root@xiaoQ ~]# tree -d
.
├── data01
│   ├── dir01
│   ├── dir02
│   ├── dir03
│   └── xiaoQ01
│       └── dir02
└── data02
​
7 directories

1.5 系统文件相关命令

1.5.1 创建文件信息命令

touch命令包含两个功能:一个是创建新的空文件;二是改变已有文件的时间戳属性(数据属性知识详细说明)

语法格式:

touch [option] [file]
touch  选项     文件

常用参数:

序号 选项参数
01 -a 只更改指定文件的最后访问时间
02 -d STRING 使用字符串STRING代表时间作为模板设置指定文件的时间属性
03 -m 只更改指定文件的最后修改时间
04 -r file 将指定文件的时间属性设置为与模板文件file的时间属性相同
05 -t STAMP 使用[[CC]YY]MMDDhhmm[.ss]格式的时间设置文件的时间属性。
格式的含义从左到右依次为:世纪、年、月、日、时、分、秒
实践操作:

实践操作-01:创建单个文件信息

[root@xiaoQ ~]# touch file01.txt
[root@xiaoQ ~]# tree 
.
└── file01.txt
​
0 directories, 1 file
[root@xiaoQ ~]# ls 
file01.txt

实践操作-02:创建多个文件信息

批量创建无规则文件信息

[root@xiaoQ ~]# touch xiaoQ xiaoZ xiaoC
[root@xiaoQ ~]# ls
file01.txt  xiaoC  xiaoQ  xiaoZ

批量创建有规则文件信息

[root@xiaoQ ~]# touch xiaoQ{01..10}
[root@xiaoQ ~]# ls
file01.txt  xiaoQ    xiaoQ02  xiaoQ04  xiaoQ06  xiaoQ08  xiaoQ10
xiaoC       xiaoQ01  xiaoQ03  xiaoQ05  xiaoQ07  xiaoQ09  xiaoZ

1.5.2 检查文件是否存在

ls命令可以理解为英文单词list的缩写,其功能是列出目录的内容及其内容属性信息(list directory contents)。

该命令有点类似于DOS系统下的dir命令,有趣的是Linux下其实也有dir命令,但企业常用数据信息查看命令是ls。

语法格式:

ls [option] [file]
ls  选项   文件或目录

说明:命令后面的目录或文件信息可以省略,表示查看当前路径下的文件或目录名称信息。

常用参数:

序号 参数选项 解释说明
01 -l 使用长格式列出文件及目录信息 ※
02 -a 显示目录下的所有文件,包含以“.”字符开始的隐藏文件 ※
03 -t 根据最后的修改时间(mtime)进行排序
默认是以文件名进行排序
04 -r 依相反顺序排序
05 -F 在条目后加上文件类型的指示符号(*、/、=、@、|)。
06 -p 只在目录后面加上 /
07 -i 显示inode节点信息
08 -d 当遇到目录时,列出目录本身而非目录内的文件
并且不跟随符号链接 ※
09 -h 以人类可读的信息显示文件或目录的大小,如(1k 234M 2G)
10 -A 列出所有文件,包含隐藏文件,但不包含“.”与“…”这两个目录
11 -S 根据文件大小进行排序
12 -R 递归列出所有子目录
13 -x 逐行列出项目而不是逐栏列出
14 -X 根据扩展名排序
15 -c 根据状态改变时间(ctime)排序
16 -u 根据最后访问时间(atime)排序
17 --color={never,always,auto} 不同的文件类型显示颜色参数
· never表示不显示
· always表示总是显示
· auto表示自动显示
18 --full-time 以完整的时间格式输出
19 --time-style={full-iso,long-iso,locale} 以不同的时间格式输出,long-iso效果最好
20 --time={atime,ctime} 按不同时间属性输出
· atime表示按访问时间
· ctime表示按改变权限属性时间
如果不加此参数则默认为最后修改的时间。

说明:ls命令参数选项过于功能繁杂,建议可以按照知识章节重点,分阶段进行掌握记忆。

实践操作:

准备命令操作环境:

[root@xiaoQ ~]# mkdir test
[root@xiaoQ ~]# cd test
[root@xiaoQ test]# touch file1.txt file2.txt file3.txt
[root@xiaoQ test]# mkdir dir1 dir2 dir3

实践操作-01:直接执行ls命令,不带任何参数信息

[root@xiaoQ test]# ls
dir1  dir2  dir3  file1.txt  file2.txt  file3.txt

实践操作-02:显示所有文件,特别是要显示隐藏文件

[root@xiaoQ test]# ls -a 
.  ..  dir1  dir2  dir3  file1.txt  file2.txt  file3.txt  .xiaoQ01  .xiaoQ02

实践操作-03:显示系统数据信息详细属性信息

[root@xiaoQ test]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir3
-rw-r--r--. 1 root root 0 Nov 24 23:31 file1.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file2.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file3.txt

实践操作-04:显示指定目录名称信息和属性信息

[root@xiaoQ test]# ls -ld dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir1

1.5.3 查看文件数据信息

cat命令可以理解为英文单词concatenate的缩写,其功能是连接多个文件并且打印到屏幕输出。

此命令常用于显示单个文件内容,或者将几个文件内容连接起来一起显示。

语法格式:

cat [option] [file]
cat  选项     文件

常用参数:

序号 参数选项 解释说明

01	-n	从第一行开始对所有输出的内容按行编号
02	-b	与-n选项功能类似,但忽略显示空白行行号
03	-s	当遇到有连续的两行以上的空白行,就替换为一行空白行
04	-E	在每一行的行尾显示$符号

实践操作:

准备命令操作环境:

提前在windows主机中准备好一个测试cat命令功能的文件,并将文件上传到系统中

[root@xiaoQ ~]# cat test-cat.txt
welcome to my Linux class
​
if you like my class contents,pls support me
​
​
​
bye! boys and girls

实践操作-01:直接执行cat命令查看文件内容,不带任何选项。

[root@xiaoQ ~]# cat test-cat.txt 
welcome to my Linux class
​
if you like my class contents,pls support me
​
​
​
bye! boys and girls

实践操作-02:使用-n、-b、-s选项,并对比三者之间的区别

使用-n参数显示文件行号信息

[root@xiaoQ ~]# cat -n test-cat.txt 
     1  welcome to my Linux class
     2  
     3  if you like my class contents,pls support me
     4  
     5  
     6  
     7  bye! boys and girls
     8  


使用-b参数显示文件行号信息

[root@xiaoQ ~]# cat -b test-cat.txt 
     1  welcome to my Linux class
​
     2  if you like my class contents,pls support me
​
​
​
     3  bye! boys and girls


使用-s参数显示文件行号信息

[root@xiaoQ ~]# cat -s test-cat.txt 
welcome to my Linux class
​
if you like my class contents,pls support me
​
bye! boys and girls

实践操作-03:显示文件结尾的$信息

[root@xiaoQ ~]# cat -E test-cat.txt 
welcome to my Linux class$
$
if you like my class contents,pls support me$
$
$
$
bye! boys and girls$
$

说明:其实在Linux系统中还有很多命令可以实现文件数据信息的输出,例如 more less head tail grep…

相关命令会在后面Linux云计算课程中进行介绍。

1.5.4 拷贝文件数据信息

cp命令可以理解为英文单词copy的缩写,其功能为复制文件或目录。

语法格式:

cp [option] [source] [dest]
cp  选项     源文件   目标文件

常用参数:

序号 参数选项 解释说明

  • -p 复制文件时保持源文件的所有者、权限信息以及时间属性
  • -r 递归复制目录,即复制目录下的所有层级的子目录及文件
  • -i 在覆盖已有文件前提示用户确认(默认参数)
  • -t 默认情况下命令格式是“cp 源文件 目标文件”,使用-t参数可以颠倒顺序

格式为 cp -t 目标信息 源信息

实践操作-01:无参数和带参数-p的比较区别

[root@xiaoQ test]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir3
-rw-r--r--. 1 root root 0 Nov 24 23:31 file1.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file2.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file3.txt
[root@xiaoQ test]# cp file1.txt file4.txt
[root@xiaoQ test]# cp -p file1.txt file5.txt
[root@xiaoQ test]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir3
-rw-r--r--. 1 root root 0 Nov 24 23:31 file1.txt  --- 原有文件信息
-rw-r--r--. 1 root root 0 Nov 24 23:31 file2.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file3.txt
-rw-r--r--. 1 root root 0 Nov 25 00:48 file4.txt  --- 不加-p文件时间属性信息会发生变化
-rw-r--r--. 1 root root 0 Nov 24 23:31 file5.txt  --- 加上-p文件时间属性信息未发生变化

说明:企业生产环境中在备份数据时,一般都会加上-p参数进行备份

实践操作-02:实现将目录信息进行复制

[root@xiaoQ test]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir3
-rw-r--r--. 1 root root 0 Nov 24 23:31 file1.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file2.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file3.txt
-rw-r--r--. 1 root root 0 Nov 25 00:48 file4.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file5.txt
[root@xiaoQ test]# cp dir1 dir_bak
cp: omitting directory ‘dir1’
[root@xiaoQ test]# cp -rp dir1 dir_bak
[root@xiaoQ test]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir3
drwxr-xr-x. 2 root root 6 Nov 25 00:52 dir_bak
-rw-r--r--. 1 root root 0 Nov 24 23:31 file1.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file2.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file3.txt
-rw-r--r--. 1 root root 0 Nov 25 00:48 file4.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file5.txt

实践操作-03:利用-t参数实现数据备份保存

[root@xiaoQ test]# cp -t dir1/ file1.txt
[root@xiaoQ test]# tree 
.
├── dir1
│   └── file1.txt
├── dir2
├── dir3
├── dir_bak
├── file1.txt
├── file2.txt
├── file3.txt
├── file4.txt
└── file5.txt
​
4 directories, 6 files

1.5.5 移动剪切数据信息

mv命令可以理解为英文单词move的缩写,其功能是移动或重命名文件或目录信息。

语法格式:

mv [option] [source] [dest]
mv  选项     源文件   目标文件
​
mv [option] -t [dest] [source01] [source02] [source03]
mv  选项       目标文件 源文件

常用参数:

序号 参数选项 解释说明

  • -f 若目标文件已经存在,则不会询问而是直接覆盖
  • -i 若目标文件已经存在,则会询问是否覆盖(默认)
  • -n 不覆盖已经存在的文件(安全功能)
  • -t 指定mv的目标目录,适用于移动多个源文件到一个目录的情况 此时目标目录在前,源文件在后
  • -u 在源文件比目标文件新,或者目标文件不存在时才进行移动

实践操作:

实践操作-01:对文件进行改名操作

[root@xiaoQ test]# mv file1.txt file6.txt
[root@xiaoQ test]# ls -l
total 0
drwxr-xr-x. 2 root root 23 Nov 25 01:09 dir1
drwxr-xr-x. 2 root root  6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root  6 Nov 24 23:31 dir3
drwxr-xr-x. 2 root root  6 Nov 24 23:31 dir_bak
-rw-r--r--. 1 root root  0 Nov 24 23:31 file2.txt
-rw-r--r--. 1 root root  0 Nov 24 23:31 file3.txt
-rw-r--r--. 1 root root  0 Nov 25 01:04 file4.txt
-rw-r--r--. 1 root root  0 Nov 24 23:31 file5.txt
-rw-r--r--. 1 root root  0 Nov 24 23:31 file6.txt
[root@xiaoQ test]# mv file2.txt file6.txt   --- 重命名的文件是否和目录中已存在的文件名称产生冲突
mv: overwrite ‘file6.txt’? 
 

实践操作-02:将文件移动到其它目录

[root@xiaoQ test]# mv file6.txt dir1
[root@xiaoQ test]# mv -t dir1 file5.txt 
[root@xiaoQ test]# tree 
.
├── dir1
│   ├── file1.txt
│   ├── file5.txt
│   └── file6.txt
├── dir2
├── dir3
├── dir_bak
├── file2.txt
├── file3.txt
└── file4.txt

1.5.6 删除文件数据操作

rm命令可以理解为英文单词remove的缩写,其功能是删除一个或多个文件或目录。

强调:这是Linux系统里最危险的命令之一,请慎重使用。

语法格式:

rm [option] [file]
rm  选项     文件或目录
rm -f file  强制删除

常用参数:

序号 参数选项 解释说明

01	-f	强制删除,忽略不存在的文件,不提示确认
02	-i	在删除前需要确认
03	-I	在删除超过三个文件或者递归删除前要求确认
04	-r	递归删除目录及其内容(针对目录删除使用参数)

实践操作:

实践操作-01:将指定文件信息进行删除

[root@xiaoQ test]# rm file2.txt
rm: remove regular empty file ‘file2.txt’?
[root@xiaoQ test]# rm -f file2.txt
[root@xiaoQ test]# ls -l
total 0
drwxr-xr-x. 2 root root 57 Nov 25 01:19 dir1
drwxr-xr-x. 2 root root  6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root  6 Nov 24 23:31 dir3
drwxr-xr-x. 2 root root  6 Nov 24 23:31 dir_bak
-rw-r--r--. 1 root root  0 Nov 24 23:31 file3.txt
-rw-r--r--. 1 root root  0 Nov 25 01:04 file4.txt

如有侵权,请联系删除!

你可能感兴趣的:(网络安全学习笔记,linux,运维,网络,安全)