linux命令行操作与文件管理

rhcsa 专栏收录该内容
40 篇文章 0 订阅

linux命令行操作与文件管理

linux命令行操作与文件管理

命令行操作

1.基础知识了解

【1】什么是shell?

Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。Shell的种类分为:
• 图形界面shell(Graphical User Interface shell 即 GUI shell)
• 命令行式shell(Command Line Interface shell ,即CLI shell)

【2】什么是Kernel?

操作系统内核(Kernel)是指大多数操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。通常运行进程,并提供进程间的通信。

【3】什么是linux?

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统

【4】了解命令行提示符的作用

[kiosk@foundation0 Desktop]$

• kiosk # 开启Shell的用户
•@ # 分隔符
• foundation0 # 主机短名称
• Desktop # 当前工作目录的基本名称
•$ # 身份提示符

【5】如何在命令行中执行命令

[kiosk@foundation0 Desktop]$ <命令> 空格 <参数> 空格 <目标>
[kiosk@foundation0 Desktop]$ rm -f -r westos
[kiosk@foundation0 Desktop]$ rm -fr file

• 参数用来指定命令的某些功能,可以加也可以不加
• 命令和参数和目标之间要用空格分开
• 参数中“-” 表示单词的缩写,“–”表示单词的全拼
• 命令必须在行提示符之后输入,没有行提示符的输入时无效的
• 如何释放行提示符(CTRL+C)
• 使用参数时 -a -b -c = -abc = -cab =-bac (举例如下所示)
• 用于命令行的补齐

2.实际操作

【1】真机运行下如何对虚拟机进行操作

rht-vmctl start workstation开启
rht-vmctl status workstation查看状态
rht-vmview view workstation显示
rht-vmctl stop workstation正常关闭
rht-vmctl poweroff workstation断电
rht-vmctl reset workstation重置

在这里插入图片描述

  • 已完成练习

【2】shell里常用的快捷键

复制:Ctrl + Shift + C

粘贴:Ctrl + Shift + V

取消命令执行:Ctrl + C

关闭当前shell:Ctrl + D

打开一个新Shell:Ctrl + Shift + N

打开一个新页面:Ctrl + Shift + T

快速移动光标的命令首字母:Ctrl + A

快速移动光标的命令结尾:Ctrl + E

删除光标之前的所有内容:Ctrl + U

从光标所在位置删除到行尾:Ctrl + K

注意:删除部分的区别在于“K”会将光标所在位置的内容也删除掉

  • 已完成练习

【3】对历史记录进行调用

history查看历史记录
history -c清空当前shell中的历史
上下键逐行调用
!数字对指定行进行调用
!字母指定首字母调用
Ctrl+R+关键字指定关键字调用,如Ctrl+R+date

在这里插入图片描述

  • 已完成练习

文件管理

【1】文件或者目录的建立

touch file新建文件
touch file1 file2 file3新建多个文件
mkdir filedir新建目录
mkdir file1 file2新建多个目录
mkdir -p file/linux/test新建层级目录
mkdir -p file/haha file/xixi新建一层下含有多个目录

注意:

  • 在建立多层目录时不要忘记“ -p ”
  • 区分清后两种的区别,新建层级目录时不同级别间要使用</>,此时不可以使用空格否则会出现如下所示错误(此时file中只存在目录linux,而目录test则被单独建立出来),不符合我们想要建立层级目录的要求。
    在这里插入图片描述
  • touch命令本身也可以修改文件的时间戳
[root@localhost Desktop]# touch westos
[root@localhost Desktop]# ls -l westos
-rw-r--r--. 1 root root 0 Jan  6 05:13 westos
[root@localhost Desktop]# touch -t 202001011122 westos
[root@localhost Desktop]# ls -l westos
-rw-r--r--. 1 root root 0 Jan  1 11:22 westos

【2】文件删除

rm file删除文件(有提示)
rm -f file file1 file2批量删除文件(没有提示,-f = force)
rm -f *删除了所有文件
rm -r dir批量删除目录
rm -fr test/*删除目录中的全部内容,但目录本身不会被删除
  • 已完成练习

【3】文件编辑

gedit必须开启图形
vim文件界面下的编辑器
[root@localhost Desktop]# gedit 2020-01-02
[root@localhost Desktop]# touch file
[root@localhost Desktop]# vim file

进入vim模式后可按以下操作:
• 按【i】键进入插入模式
• 按【ESC】退出插入模式
• 按【:wq】保存退出
vim更多命令的学习

  • 已完成练习

【3】文件编辑

  1. cat
cat file显示文件的全部内容
cat -b file显示文件的全部内容并显示行号(空行不显示行号)
cat -n file显示文件的全部内容并显示行号(空行显示行号)
  1. less(分页浏览工具,会开启less环境)
[root@localhost Desktop]# less file

其常用操作有:

上/下逐行移动
pageup/pagedown逐页移动
/关键字高亮显示关键字,n向下匹配,N向上匹配
v进入vim模式 在vim模式中按:wq 退回到less模式
q退出
  1. head & tail(显示文件前/后多少行)
head file显示文件前10行
head -5 file显示文件前5行
tail file显示文件后10行
tail -3 file显示文件后3行
  • 已完成练习

【4】文件复制

cp file linux复制file到linux文件,当linux存在会覆盖文件的内容,不存在则会建立
cp file1 file2 filedir复制多个文件到目录(此时filedir必须存在)
cp -r filedir1 filedir2复制目录到指定目录中,需要 -r 参数
cp -r dir1 dir2 dir复制多个目录到指定目录中(此时dir必须存在)

【5】文件移动

mv file linux当linux存在,要用file把linux覆盖。并且会重命名
mv filedir1 filedir2移动filedir1到filedir2
mv file linux filedir2移动file和linux 到filedir2中

此处使用代码块与截图让大家体会出文件移动时的覆盖作用

[root@localhost Desktop]# cat file
 I love you.  //file文件里面的内容
[root@localhost Desktop]# cat westos
HELLO WORLD		//westos文件里面的内容
[root@localhost Desktop]# mv file westos     //文件移动,此时westos文件存在,所以file将会覆盖掉westos里面的内容,并且重命名为westos
mv: overwrite 'westos'? yes
[root@localhost Desktop]# ls   //此时可以发现已经没有file文件了
linux  westos
[root@localhost Desktop]# cat westos
 I love you.	//文件移动后此时westos文件里面的内容就变成了原来file里面的内容了
[root@localhost Desktop]# mkdir haha

图1:此时桌面上存在file,westos和linux这三个文件,但是现在只使用了其中两个作为实验对象,使用cat命令可以直观的表现出来文件各自的内容
在这里插入图片描述
图2:此时使用mv命令已经完成了文件的移动,并且通过ls命令可以发现,此时file文件已经不存在了。可能有人会疑问为什么桌面上有两个westos文件注意:其实这时候桌面上只有1个westso,不会是2个。只要我们刷新一下桌面就行。
在这里插入图片描述
图3:通过我们再次使用ls命令可以看出来,只有1个westos文件。并且按照常识而言,不会存在有相同名字的两个文件。
在这里插入图片描述

【6】查看文件类型
file可看文件的真实类型是什么,举例如下:
vim westos 在插入模式下输入#include<stdio.h>后,再使用file westos进行查看,此时出现westos: C source, ASCII text

[root@localhost Desktop]# file westos
westos: empty
[root@localhost Desktop]# vim westos
[root@localhost Desktop]# file westos
westos: C source, ASCII text
[root@localhost Desktop]# ^C

【7】文件内容统计

wc用于统计文件的字数,字符数,行数
wc -l file显示行数
wc -w file显示字数
wc -m file显示字符数
wc -c file显示字节数
[root@localhost Desktop]# cat file
hello world
	hello ereryone
[root@localhost Desktop]# vim file
[root@localhost Desktop]# wc file
 2  4 28 file
[root@localhost Desktop]# wc -l file
2 file
[root@localhost Desktop]# wc -w file
4 file
[root@localhost Desktop]# wc -m file
28 file
[root@localhost Desktop]# wc -c file
28 file

【8】绝对地址与相对地址

  1. 相对路径
    • 相对与当前系统所在目录的一个文件名称的简写
    • 此名称省略了系统当前所在目录的名称
    • 此名称不以“/”开头
    • 此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值
  2. 绝对路径
    • 绝对路径是文件在系统的真实位置
    • 此命令是以“/”开头的
    • 此命令在命执行时系统不会考虑现在所在位置的信息
    注意:
    • 当操作对象是 对象1 空格 对象2 时
    • 这两个对象之间没有任何关系

由举例可看出两者之间的区别

[root@localhost Desktop]# touch haha   //相对地址,直接建立在Desktop下
[root@localhost Desktop]# ls
haha
[root@localhost Desktop]# touch /mnt/haha  //绝对地址,在mnt下创建一个文件,此时要使用“/”
[root@localhost Desktop]# ls /mnt
file  haha
[root@localhost Desktop]# rm -f /mnt/file
[root@localhost Desktop]# ls /mnt
haha
[root@localhost Desktop]# 

由下图可看出Desktop与mnt下都成功创建了文件haha
在这里插入图片描述
【9】有关路径的命令

  1. pwd
pwd显示路径
  1. cd(结合【11】整理的家目录了解)
cd 目录名称进入到指定目录中
cd -当前目录和当前目录值前所在目录之间的切换cdir---->odir
cd . .进入当前目录的上级目录

练习

[root@localhost Desktop]# pwd
/root/Desktop
[root@localhost Desktop]# cd /mnt
[root@localhost mnt]# mkdir redhat
[root@localhost mnt]# ls 
redhat 					//切换目录后可以发现对应的操作就会在当前目录下(绝对路径与相对路径也可看看此时,理解理解)
[root@localhost mnt]# cd -
/root/Desktop
[root@localhost Desktop]# cd -
/mnt
[root@localhost mnt]# cd ..
[root@localhost /]# cd -
/mnt
[root@localhost mnt]# cd Desktop
bash: cd: Desktop: No such file or directory
[root@localhost mnt]# cd /root/Desktop
[root@localhost Desktop]# cd ..
[root@localhost ~]# cd ..
[root@localhost /]# 

切换目录后,所新创建目录就不再原来的Desktop了
在这里插入图片描述
3. ls

ls -l file文件属性
ls -d dir查看目录本身
ls -a dir所有文件包含隐藏的
ls -S dir查看并且按照大小排序
ls -s dir查看文件大小

【9】系统中的通用配置符号

  1. 通用配置符号
?匹配单个字符
[[:alpha:]]单个字母
[[:lower:]]单个小写字母
[[:upper:]]单个大写字母
[[:digit:]]单个数字
[[:space:]]单个空格
[[:punct:]]单个符号
[[:alnum:]]单个数字或字母
[[:punct:][:upper:]]单个符号或单个大写字母
  1. 创建了wesAtos wes6tos wesptos westos wes@tos "wes tos"文件来练习
[root@localhost Desktop]# touch wesAtos wes6tos wesptos westos wes@tos "wes tos" 
[root@localhost Desktop]# rm -f wes?tos
[root@localhost Desktop]# touch wesAtos wes6tos wesptos westos wes@tos "wes tos"
[root@localhost Desktop]# rm -f wes[[:alpha:]]tos
[root@localhost Desktop]# touch wesAtos wes6tos wesptos westos wes@tos "wes tos"
[root@localhost Desktop]# rm -f wes[[:figit:]]tos
[root@localhost Desktop]# rm -f wes[[:digit:]]tos
[root@localhost Desktop]# touch wesAtos wes6tos wesptos westos wes@tos "wes tos"
[root@localhost Desktop]# rm -f wes[[:lower:]]tos
[root@localhost Desktop]# touch wesAtos wes6tos wesptos westos wes@tos "wes tos"
[root@localhost Desktop]# rm -f wes[[:upper:]]tos
[root@localhost Desktop]# touch wesAtos wes6tos wesptos westos wes@tos "wes tos"
[root@localhost Desktop]# rm -f wes[[:punct:]]tos
[root@localhost Desktop]# touch wesAtos wes6tos wesptos westos wes@tos "wes tos"
[root@localhost Desktop]# rm -f wes[[:space:]]tos
[root@localhost Desktop]# touch wesAtos wes6tos wesptos westos wes@tos "wes tos"
[root@localhost Desktop]# rm -f wes[[:alnum:]]tos
[root@localhost Desktop]# touch wesAtos wes6tos wesptos westos wes@tos "wes tos"
[root@localhost Desktop]# rm -f wes[[:alnum:][:punct:]]tos

  • 已完成练习

【10】精确匹配与模糊匹配

  1. 精确匹配
{}用于精确匹配
{1. .5}1,2,3,4,5
{1,3,5,7}4个:1,3,5,7

注意: 当使用精确匹配时,不要与模糊匹配混淆,精确匹配是"{}“与”{. .}"(里面是两个".",切记不要打多了);模糊匹配是"[ ]“与”[1-6]"(里面是"-")

  1. 模糊匹配
[]用于模糊匹配内容
[1-9]1位,1-9的任意数字
[!3-5]1位,不是3-5的数字
[^3-5]1位,不是2-7的数字
[a-z]1位,a-z的任意数字

【11】"~"的应用

1.应用

当前用户家目录
~username指定用户家目录
~+当前目录
~-进入当前目录之前所在目录,相当于cd -

2.练习
cd ~student 【路径放在/home/student】
cd ~- 【相当于cd -进入当前目录之前所在目录】
cp /etc/passwd ~- 【将/etc/中的passwd备份到deskup里】此时是在student中
rm ~-/passwd 【删除之前目录中的passwd】

[root@localhost Desktop]# pwd
/root/Desktop
[root@localhost Desktop]# cd ~student
[root@localhost student]# pwd
/home/student
[root@localhost student]# cp /etc/passwd ~-
[root@localhost student]# ls ~-
passwd  test
[root@localhost student]# rm ~-/passwd
rm: remove regular file '/root/Desktop/passwd'? y
[root@localhost student]# ls ~-
test
[root@localhost student]# cd -
/root/Desktop 

要注意cd与~的结合,举例如下:

[root@localhost Desktop]# ~student
bash: /home/student: Is a directory
[root@localhost Desktop]# cd ~student
[root@localhost student]# ~-
bash: /root/Desktop: Is a directory
[root@localhost student]# cd ~-
[root@localhost Desktop]# pwd
/root/Desktop

自己练习的内容

1使用touch -t 改变时间戳并进行观察

touch file 
ls -l file [显示文件属性]
Touch -t file 202001011010 file  [时间会由原来的时间进行改变到所设定的2020年1月1日10点10分]

2.使用mkdir建立目录
a.用一条命令在超级用户桌面建立examdir并满足在examdir中必须存在子目录config_backup,content,test这三个子目录

mkdir -p examdir/config_backup examdir/content examdir/test 

b.用一条命令在超级用户桌面建立examdir并满足在examdir中必须层级目录config_backup,content,test

mkdir -p examdir/config_backup/content/test

2.使用cp【复制】
备份/etc/目录中passwd文件到/mnt目录下
cp /etc/passwd /mnt/

3.备份linux文件到haha/hah中
情况1:cp linux haha/file 此时在目录haha中会出现文件file[内容是 linux里面的内容]
情况2:cp linux haha/hah 此时会在目录hah中出现一个linux文件

4.复制目录westos到另一个目录haha里

cp -r westos haha

3.使用mv【移动】

4.各种运用(需要参数的)
mkdir -p haha/xixi/miemie [建立层级目录]

rm -f [当要批量删除文件时记得加 -f (没有提示)]

rm -fr [当要删除目录时使用 -r(表递归删除); 当要i批量删除目录时使用-fr]

cat -b file [空行不显示行号]

cat -n file [空行显示行号]

cp -r westos1 westos2 [复制目录到另一个目录】

5.使用less【分页浏览】切忌与history里面的操作混用,以下为各个用法的对比
history:上下键 !数字 !字母(会调用最近的) Ctrl+r+关键字 (Ctrl+r+date)
less:上下键 pgup|pgdown /关键字 v q

6.相对地址和绝对地址
a.备份/etc目录中passwd文件到/mnt目录下
cp /ect/passwd /mnt/
b.备份/mnt/目录中passwd文件到examdir目录中的content
cp /mnt/passwd examdir/content

  • 已完成练习
  • 0
    点赞
  • 0
    评论
  • 12
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值