网络安全学习笔记|网络安全学习(系统基础命令操作)

[#####成功在于你坚持了别人坚持不了的东西####]
1.1 系统命令界面介绍 1.1.1 命令操作界面作用概述 Linux是一个主要通过命令行来进行管理的操作系统,和windows系统利用鼠标点击这类可视化管理大不相同。
Linux命令行管理,可以实现批量、自动化管理,智能化、以及可视化管理。是Linux技术人员必须掌握的技能
网络安全学习笔记|网络安全学习(系统基础命令操作)
文章图片

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

说明:命令行输入命令都是由bash/shell解释器执行的,bash解释器可以理解为是系统中的翻译官。
1.1.2 命令行提示符作用介绍 命令行出现提示符主要用于提示操作者可以输入相应命令
提示符种类介绍说明:
这是超级管理员root用户对应的命令行(所有权限都具备)
[root@Linux ~]# ff dd

?
这是普通用户xiaoQ对应的命令行(只具有部分操作能力)
[xiaoQ@Linux ~]$ pwd

提示符信息组成部分:
网络安全学习笔记|网络安全学习(系统基础命令操作)
文章图片

提示符信息修改方法:
需要借助后面所学的环境变量知识概念,利用PS1变量概念进行修改调整。
[root@xiaoQ ~]# set|grep PS1 PS1='[\u@\h \W]\$ '

利用PS1环境变量的设置,构成了提示符信息的组成部分。(了解即可)
1.1.3 系统命令语法格式说明 Linux命令行中在进行命令输入过程中,需要遵循一定的语法结构:
网络安全学习笔记|网络安全学习(系统基础命令操作)
文章图片

命令语法格式说明:
中括号[]表示可选,即命令的参数及路径信息或具体文件数据信息。
参数选项表示使用一个命令的不同功能。
命令、参数选项、文件或路径两两之间至少要有一个空格。
操作示例演示说明:
创建一个test文件,然后查看创建结果,最后删除掉,再查看删除结果:
[root@xiaoQ ~]# touch test.txt [root@xiaoQ ~]# ls anaconda-ks.cfgImage_001.pngtest.txt [root@xiaoQ ~]# rm -f test.txt [root@xiaoQ ~]# ls anaconda-ks.cfgImage_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 root@xiaoQ.linux (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 root@xiaoQ.linux (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 root@xiaoQ.linux (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目录层级的最顶端,从最顶端可以依次向下扩展更多不同层级目录。
网络安全学习笔记|网络安全学习(系统基础命令操作)
文章图片

目录绝对路径
是从 / 根 开始的路径,例如:/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.txtxiaoCxiaoQxiaoZ

?
批量创建有规则文件信息
[root@xiaoQ ~]# touch xiaoQ{01..10} [root@xiaoQ ~]# ls file01.txtxiaoQxiaoQ02xiaoQ04xiaoQ06xiaoQ08xiaoQ10 xiaoCxiaoQ01xiaoQ03xiaoQ05xiaoQ07xiaoQ09xiaoZ

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 dir1dir2dir3file1.txtfile2.txtfile3.txt

实践操作-02:显示所有文件,特别是要显示隐藏文件
[root@xiaoQ test]# ls -a ...dir1dir2dir3file1.txtfile2.txtfile3.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 1welcome to my Linux class 2 3if you like my class contents,pls support me 4 5 6 7bye! boys and girls 8

?
使用-b参数显示文件行号信息
[root@xiaoQ ~]# cat -b test-cat.txt 1welcome to my Linux class ? 2if you like my class contents,pls support me ? ? ? 3bye! 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 root6 Nov 24 23:31 dir2 drwxr-xr-x. 2 root root6 Nov 24 23:31 dir3 drwxr-xr-x. 2 root root6 Nov 24 23:31 dir_bak -rw-r--r--. 1 root root0 Nov 24 23:31 file2.txt -rw-r--r--. 1 root root0 Nov 24 23:31 file3.txt -rw-r--r--. 1 root root0 Nov 25 01:04 file4.txt -rw-r--r--. 1 root root0 Nov 24 23:31 file5.txt -rw-r--r--. 1 root root0 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 root6 Nov 24 23:31 dir2 drwxr-xr-x. 2 root root6 Nov 24 23:31 dir3 drwxr-xr-x. 2 root root6 Nov 24 23:31 dir_bak -rw-r--r--. 1 root root0 Nov 24 23:31 file3.txt -rw-r--r--. 1 root root0 Nov 25 01:04 file4.txt

【网络安全学习笔记|网络安全学习(系统基础命令操作)】如有侵权,请联系删除!

    推荐阅读