linux命令行操作与文件管理

让人想犯罪 __ 提交于 2020-01-13 04:40:51

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 正常关闭
ht-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

  • 已完成练习

【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 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)
m -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 file3 复制多个文件
cp -r filedir1 filedir2 复制目录到指定目录中,需要 -r 参数

【5】文件移动

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

【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 时
    • 这两个对象之间没有任何关系

【9】有关路径的命令

  1. pwd
pwd 显示路径
  1. cd
cd 目录名称 进入到指定目录中
cd - 当前目录和当前目录值前所在目录之间的切换cdir---->odir
cd … 当前目录和当前目录值前所在目录之间的切换cdir---->odir

此处知识可结合【11】整理的家目录了解

  1. 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

  • 已完成练习
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!