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】文件编辑
- cat
cat file | 显示文件的全部内容 |
---|---|
cat -b file | 显示文件的全部内容并显示行号(空行不显示行号) |
cat -n file | 显示文件的全部内容并显示行号(空行显示行号) |
- less(分页浏览工具,会开启less环境)
[root@localhost Desktop]# less file
其常用操作有:
上/下 | 逐行移动 |
---|---|
pageup/pagedown | 逐页移动 |
/关键字 | 高亮显示关键字,n向下匹配,N向上匹配 |
v | 进入vim模式 在vim模式中按:wq 退回到less模式 |
q | 退出 |
- 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】绝对地址与相对地址
- 相对路径
• 相对与当前系统所在目录的一个文件名称的简写
• 此名称省略了系统当前所在目录的名称
• 此名称不以“/”开头
• 此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值 - 绝对路径
• 绝对路径是文件在系统的真实位置
• 此命令是以“/”开头的
• 此命令在命执行时系统不会考虑现在所在位置的信息
注意:
• 当操作对象是 对象1 空格 对象2 时
• 这两个对象之间没有任何关系
【9】有关路径的命令
- pwd
pwd | 显示路径 |
---|
- cd
cd 目录名称 | 进入到指定目录中 |
---|---|
cd - | 当前目录和当前目录值前所在目录之间的切换cdir---->odir |
cd … | 当前目录和当前目录值前所在目录之间的切换cdir---->odir |
此处知识可结合【11】整理的家目录了解
- ls
ls -l file | 进入到指定目录中 |
---|---|
ls -d dir | 查看目录本身 |
ls -a dir | 所有文件包含隐藏的 |
ls -S dir | 查看并且按照大小排序 |
ls -s dir | 查看文件大小 |
【9】系统中的通用配置符号
- 通用配置符号
? | 匹配单个字符 |
---|---|
[[:alpha:]] | 单个字母 |
[[:lower:]] | 单个小写字母 |
[[:upper:]] | 单个大写字母 |
[[:digit:]] | 单个数字 |
[[:space:]] | 单个空格 |
[[:punct:]] | 单个符号 |
[[:alnum:]] | 单个数字或字母 |
[[:punct:][:upper:]] | 单个符号或单个大写字母 |
- 创建了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…5} | 1,2,3,4,5 |
{1,3,5,7} | 4个:1,3,5,7 |
注意: 当使用精确匹配时,不要与模糊匹配混淆,精确匹配是"{}“与”{…}"(里面是两个".",切记不要打多了);模糊匹配是"[ ]“与”[1-6]"(里面是"-")
- 模糊匹配
[] | 用于模糊匹配内容 |
---|---|
*[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
- 已完成练习
来源:CSDN
作者:ly_qiu
链接:https://blog.csdn.net/ly_qiu/article/details/103845067