文件管理与文件编辑器

快捷键

编辑命令:
Ctrl + a :移到命令行首
Ctrl + e :移到命令行尾
Ctrl + u :从光标处删除至命令行首
Ctrl + k :从光标处删除至命令行尾
Ctrl + w :从光标处删除至字首
Ctrl + d :删除光标处的字符
Ctrl + h :删除光标前的字符

重新执行命令:
Ctrl + p:历史中的上一条命令
ESC + .:打印之前执行过的命令的最后一部分 以空格为分隔符

控制命令:
Ctrl + l:清屏
Ctrl + c:终止命令

Tab键: 自动补全

历史命令

上下箭头

history

1.Linux目录结构

在linux系统中一切皆文件

1.1 WINDOWS/LINUX 对比
Windows: 以多根的方式组织文件 C:\ D:\ E:\

Linux: 以单根的方式组织文件”/”

1.2 简介
/目录结构:
FSH (Filesystem Hierarchy Standard):标准的目录结构
[root@linux-server ~]# ls /
bin   dev home lib64 mnt proc run   srv tmp var
boot etc lib   media opt root sbin sys usr
1.3 图示
1.4 目录功能
bin 普通用户使用的命令 /bin/ls, /bin/date
sbin 管理员使用的命令 /sbin/service
案例:
[root@linux-server ~]# which ls
[root@linux-server ~]# which useradd
/usr/sbin/useradd

dev 设备文件 /dev/sda,/dev/sda1
[root@linux-server ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Oct 31 14:16 /dev/sda
brw-rw----. 1 root disk 8, 1 Oct 31 14:16 /dev/sda1
brw-rw----. 1 root disk 8, 2 Oct 31 14:16 /dev/sda2
[root@linux-server ~]# tty
/dev/pts/0  #这是我们的终端。

/root  #root用户的家目录
/home  #存储普通用户家目录
lost+found 这个目录平时是空的,存储系统非正常关机而留下“无家可归”
的文件
/usr         #系统文件,相当于C:\Windows
/usr/local   #软件安装的目录,相当于C:\Program
/usr/bin #普通用户使用的应用程序
/usr/sbin #管理员使用的应用程序
/usr/lib       库文件Glibc 32bit
/usr/lib64   库文件Glibc 64bit
/boot       存放的系统启动相关的文件,例如kernel
/etc         #配置文件(系统相关如网络/etc/sysconfig/network)
/tmp         临时文件(系统:程序产生的临时文件)
/opt 空目录

/var  #存放的是一些变化文件,比如数据库,日志,邮件....
/proc 虚拟文件系统,系统程序文件所处目录 。虚拟文件系统:只要关机就会没有。
==设备(主要指存储设备)挂载目录==
/mnt   #系统提供这个目录是让用户临时挂载其他的文件系统
路径详解
所谓路径即目录组成结构
一个linux路径由"/"和目录(文件)名称两部分组成
比如:/etc/passwd
  如果"/"出现在路径开头,则其表示根目录,在路径中间出现"/",其含义是某一个目录下,那么上面所示路径的意思就是"根目录下的etc目录下的passwd文件"
  如果路径最后出现"/",则表示这是一个目录
路径分类
绝对路径:从根开始的路径是绝对路径。案例:/home/alice/file1  /etc/grub.conf
相对路径:凡是非根开始的路径 比如:etc var/ftp/pub ./test.sh

使用pwd命令查看当前所在的绝对路径:
比如:
[root@qfedu etc]# pwd
/etc
绝对路径实例:
[root@linux-server ~]# touch /opt/file1
相对路径示例
[root@linux-server ~]# pwd
/root
[root@linux-server ~]# mkdir abc #创建目录
[root@linux-server ~]# touch abc/file3

2.文件管理

2.1 文件类型(理解即可)
 - 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
d 目录文件(蓝色)
b 设备文件 block device 设备文件,如硬盘,U盘;
c 设备文件 字符设备文件,比如我们的终端tty1,打印机。
l symbolic link 即符号链接文件,又称软链接文件 (浅蓝色)
s socket 即套接字文件,用于实现两个进程进行通信
p 管道文件

2.2示例1

查看各式各样的文件类型。你能找出几种呢?

[root@linux-server ~]# ll -d /etc/hosts /bin/ls /home /dev/sda /dev/tty1 /etc/grub2.cfg /dev/log /run/dmeventd-client
-rwxr-xr-x. 1 root root 117656 Nov  6  2016 /bin/ls
srw-rw-rw-. 1 root root      0 Oct 31 14:16 /dev/log
brw-rw----. 1 root disk   8, 0 Oct 31 14:16 /dev/sda
crw--w----. 1 root tty    4, 1 Oct 31 14:42 /dev/tty1
lrwxrwxrwx. 1 root root     22 Oct 31 12:11 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
-rw-r--r--. 1 root root    158 Jun  7  2013 /etc/hosts
drwxr-xr-x. 2 root root      6 Nov  5  2016 /home
prw-------. 1 root root      0 Oct 31 14:16 /run/dmeventd-client

注意

通过颜色判断文件的类型是不一定正确的!!!

3.文件管理命令

3.1 切换目录—cd
# .     表示当前目录
# cd .. 回到上一级目录等同于相对路径
# cd 或者 cd ~ 直接回到家目录
# cd /home/alice 切换目录=绝对路径
# cd - 回到原来目录

2.2 创建文件

[root@linux-server ~]# touch file1.txt  //无则创建,如果存在修改时间
[root@linux-server ~]# touch /home/file10.txt
[root@linux-server ~]# touch /home/{zhuzhu,gougou} //{}集合
[root@linux-server ~]# touch /home/file{1..20} //批量创建
echo  加内容   >  加文件名    #覆盖:把之前的内容替换掉
# echo 123 > a.txt
echo 加内容 >> 加文件名     #追加:保留之前的内容,在后面添加新内容
# echo 345345 >> a.txt

当使用echo 123 >> a.txt 这个命令的时候在文件不存在的时候会创建该文件并将内容追加到改文件中

2.3 创建目录

语法:mkdir -v 详细 -p 递归 目录

# mkdir dir1
创建两个目录:
# mkdir /home/dir2 /home/dir3
# mkdir /home/{dir4,dir5}
# mkdir -v /home/{dir6,dir7}   #-v :verbose 冗长的。显示创建时的详细信息
# mkdir -p /home/dir8/111/222 #-p 创建连级目录,一级一级的创建

2.4.复制

==复制 cp -r 目录 -v 详细 -f 强制 -n 静默

Usage: cp [OPTION]… [-T] SOURCE DEST

# mkdir /home/dir{1,2}  #创建目录
# cp -v anaconda-ks.cfg /home/dir1/ #-v 显示详细信息
# cp anaconda-ks.cfg /home/dir1/test.txt #复制并改文件名
# cp -r /etc /home/dir1             #-r 拷贝目录使用,连同目录里面的文件一块拷贝

语法: cp  -r 源文件1 源文件2 源文件N 目标目录    #将多个文件拷贝到同一个目录
# cp -r /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/passwd /etc/hosts .
# cp -r /etc /tmp

2.5 移动

1.创建一个新文件file1

[root@linux-server ~]# touch /root/file1

2.把file1文件移动到/tmp目录中。

[root@linux-server ~]# mv /root/file1 /tmp/
[root@linux-server ~]# ls /tmp/file1
/tmp/file1

3.把file1文件更名为file2

[root@linux-server ~]# mv /tmp/file1 /tmp/file2

4.观察file1文件已经更名为file2

[root@linux-server ~]# cd /tmp/
[root@linux-server tmp]# ls
file2

2.6 删除

==删除 rm -r 递归删除目录 -f force强制 -v 详细过程 *通配符

实例1:删除/home/dir1

# cd /home/
# rm -rf dir1/

-r 递归,删除目录时
-f force强制
-v 详细过程

示例2:

[root@linux-server ~]# mkdir /home/dir10
[root@linux-server ~]# touch /home/dir10/{file2,file3,.file4}
[root@linux-server ~]# rm -rf /home/dir10/* //不包括隐藏文件
[root@linux-server ~]# ls /home/dir10/ -a
. .. .file4

示例3:

[root@linux-server ~]# touch {1..10}.txt
[root@linux-server ~]# touch file{1..20}.txt #创建file1-10的txt文件
[root@linux-server ~]# rm -rf file1*

2.7 查看文件内容

cat—查看一个文件的全部内容

[root@linux-server ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...

参数:
-n 显示行号
-A 包括控制字符(换行符/制表符)

head头部

[root@linux-server ~]# head /etc/passwd  //默查看前十行
[root@linux-server ~]# head -2 /etc/passwd //默认查看前两行

tail尾部

[root@linux-server ~]# tail /etc/passwd //默认查看文件的后十行
[root@linux-server ~]# tail -1 /etc/passwd //查看文件最后一行
[root@linux-server ~]# tail /var/log/messages
[root@linux-server ~]# tail -f /var/log/secure //-f 动态查看文件的尾部
[root@linux-server ~]# tailf /var/log/secure //功能同上

grep过滤关键字 grep 针对文件内容进行过滤

过滤文件中带有root的内容:
[root@linux-server ~]# grep 'root' /etc/passwd
过滤以root开头的行:^ --以什么开头
[root@linux-server ~]# grep '^root' /etc/passwd
过滤以bash结尾的行:$ --以什么结尾
[root@linux-server ~]# grep 'bash$' /etc/passwd

less –分页显示

[root@linux-server ~]# less /etc/makedumpfile.conf.sample
1.空格键是翻页 回车键是翻行
2.上下箭头可以来回翻
3. /关键字     #搜索 (n按关键字往下翻   N按关键字往上翻)
4.快捷键:q -quit 退出

more –分页显示文件内容

[root@qfedu.com ~]# more  文件名       
空格键是翻页 回车键是翻行

文件管理实战

在服务器上进行文件的基本管理操作

touch
mkdir
cp
rm
mv
cat
head
tail
less
more

文件编辑器

1、打开文件

[root@qfedu.com ~]# vim   文件名

2、工作模式

vi与vim的三个模式
进入编辑模式
i    #在光标所在处进入编辑模式
a    #在当前光标后面进入编辑模式
A    #在行尾进入编辑模式
o    #在光标的下一行进入编辑模式
大O  #在光标的上一行进入编辑模式

# 从编辑模式进入命令模式:ESC

命令模式

光标定位键盘:
hjkl #上下左右
0 $        #行首行尾
gg        #页首--文本顶端
G(shift+g)  #页尾--文本底部
3G           #进入第三行
/string     #查找字符,n下一个,N上一个   (n N 可以循环的)

文本编辑

 yy      #复制 
3yy     #从光标开始复制3行。在最后粘贴
ygg     #从当前光标复制到页首
yG      #从光标开始复制到页尾
dd      #删除一行
3dd     #从光标开始删除3行
dgg     #从光标开始删除到页首
dG      #从光标开始删除到页尾
d^      #删除当前光标之前的内容
p       #粘贴到本行的下一行
大P      #粘贴到本行的上一行
x       #删除光标所在的字符
D       #从光标处删除到行尾
u       #undo撤销
r       #可以用来修改一个字符

扩展命令(尾行)模式:

 shift+:    #进入尾行模式(扩展命令模式)
:10    #进入第10行
:w     #保存
:q     #退出
:wq    #保存并退出
:q!    #不保存并退出
:wq! 强制保存退出

进入其他模式

ctrl+v     #进入可视块模式
shift+v    #进入可视行模式

查找替换

语法----> :范围 s/old/new/选项 
:s/world/nice/         #替换当前光标所在行
:3s/sbin/nice/         #替换指定行
:1,5 s/nologin/soso/   #从1-5行的nologin 替换为soso
:%s/bin/soso/          #替换所有行
:%s/sbin/nice/g        #替换行内所有关键字

注释:%表示替换所有行 g表示行内所有关键字

将文件另存(另存为)
语法----> :w 存储到当前文件
:w /tmp/aaa.txt    #另存为/tmp/aaa.txt
:1,3 w /tmp/2.txt  #从1-3行的内容另存为/tmp/2.txt

设置环境 :

:set nu    #设置行号 
:set list  #显示控制字符
:set nonu  #取消设置行号

2.9 文件基本信息

时间类型

访问时间:atime,查看内容 
修改时间:mtime,修改内容
改变时间:ctime,文件属性,比如权限,mv改名

查询示例

[root@linux-server ~]# ls -l passwd 
-rw-r--r--. 1 root root 839 Oct 31 21:29 passwd

[root@linux-server ~]# stat passwd
File: ‘passwd’
Size: 839       Blocks: 8         IO Block: 4096   regular file
Device: fd00h/64768d Inode: 33583688   Links: 1
Access: (0644/-rw-r--r--) Uid: (    0/   root)   Gid: (    0/   root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-10-31 21:29:40.750993492 +0800
Modify: 2019-10-31 21:29:36.449993550 +0800
Change: 2019-10-31 21:29:36.452993550 +0800
Birth: -


💡 感谢你读到这里!这篇《文件管理与文件编辑器》是我的用心分享,如果你觉得有收获,不妨:


点个「赞」或「分享」,让更多同路人相遇


🔍 关注我的博客,持续接收技术/成长类干货


💬 文末留言聊聊你的想法,或遇到的同类问题~


🔒 本文为原创,转载请保留原文链接(https://www.lichu228.top/archives/236)与作者信息,感谢尊重与支持!


🌐 想找更多优质内容?点击进入博客主页探索吧~


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇