linux文件操作

匿名 (未验证) 提交于 2019-12-02 21:59:42

# 知识要点

1. 查找命令
2. 管道
3. 输出
4. vim 编辑器
5. alias别名
6. 安装python

主要命令: `find` , `locate` , `grep` , `echo` , `vim`

# 1.查找命令

# 命令搜索

`whereis` 搜索命令位置和帮助文档的位置

`which` 搜索位置和命令的别名

1 [tree@tree ~]$ whereis ls 2 ls: /bin/ls /usr/share/man/man1/ls.1.gz 3 [tree@tree ~]$ which ls 4 alias ls=ls --color=auto 5     /bin/ls
View Code

# 文件查找

`find` 命令格式:`find [-path] -options`

path :要查找的目录,默认是当前目录
option:
-name 按文件名的某种规则的查找
-type 按文件类型查找
-size 按文件大小查找
通配符:
*匹配任意内容
?匹配任意一个字符
[]匹配任意一个中括号内的字符

 1 [tree@tree ~]$ find /bin -name ping*  2 /bin/ping6  3 /bin/ping  4 [tree@tree ~]$cd /bin  5 [tree@tree bin]$ find -name ping*  6 ./ping6  7 ./ping  8 [tree@tree bin]$ find -name ping?  9 ./ping6 10 [tree@tree ~]$ find -name f* 11 ./f2 12 ./f1 13 [tree@tree ~]$ find /bin -name f* 14 /bin/find 15 /bin/fgrep 16 /bin/findmnt 17 /bin/false 18 /bin/fusermount 19 [tree@tree bin]$ find -size 60k 20 ./sed
View Code

`locate`命令

安装: yum install mlocate

locate 是在数据库中按文件名搜索,要查找的文件名中含有的字符串,搜索数据速度更快。搜索的数据库是: /var/lib/mlocate/mlocate.db ,这个数据库,每天自动更新一次,在使用locate之前,可以使用updatedb命令,手动更新数据库。

初始化: sudo updatedb

1 [tree@tree ~]$ sudo yum install mlocate 2  3 [tree@tree ~]$ sudo updatedb 4 [tree@tree ~]$ locate ff* 5 /home/tree/ff1.txt 6 /home/tree/ff2.txt 7 /home/tree/ff3.txt 8  
View Code
 1 [tree@tree ~]$ ls  2 a  b  ff.py  pass  3 [tree@tree ~]$ locate ff.py  4 /home/tree/ff.py  5 /usr/lib/python2.6/toaiff.py  6 /usr/lib/python2.6/toaiff.pyc  7 /usr/lib/python2.6/toaiff.pyo  8 [tree@tree ~]$ touch shishi.py  9 [tree@tree ~]$ ls 10 a  b  ff.py  pass  shishi.py 11 [tree@tree ~]$ locate shishi.py 12 [tree@tree ~]$ locate shishi.py 13 [tree@tree ~]$ sudo updatedb 14 [sudo] password for taka:  15 [tree@tree ~]$ locate shishi.py 16 /home/tree/shishi.py

`grep` 字符串搜索命令

在文件中搜索符合条件的字符串,包含匹配,包含字符串中的行
可使用正则表达式来匹配的内容。

命令格式:grep [选项] 字符串 文件名

常用选项:
-n 显示行号
-i 忽略大小写
-v 排除指定字符串

1 [tree@tree ~]$ grep root /etc/passwd 2 root:x:0:0:root:/root:/bin/bash 3 operator:x:11:0:operator:/root:/sbin/nologin 4 [tree@tree ~]$ grep -n root /etc/passwd 5 1:root:x:0:0:root:/root:/bin/bash 6 11:operator:x:11:0:operator:/root:/sbin/nologin 7 [tree@tree ~]$ grep -v root /etc/passwd

# 2.管道

将一个程序或命令的的输出作为另一个程序或命令的的输入

管道可以把一系列命令连接起来,可以将前面的命令的输出作为后面命令的输入。使用管道符‘|‘来建立一个管道行。

1 [tree@tree ~

[tree@tree ~]$ man man | more

#### 3.输出

```
标准输出 echo
输出重定向:
> 将内容写入一个文件中,如果这个文件存在则会删掉原来的内容
>> 将内容写入一个文件的末尾

 1 [tree@tree ~]$ echo 12345  2 12345  3 [tree@tree ~]$ ls  4 a b ff.py pass shishi.py  5 [tree@tree ~]$ echo 12345 > ff.py  6 [tree@tree ~]$ cat ff.py  7 12345  8 [tree@tree ~]$ cat /etc/passwd >> ff.py   9 [tree@tree ~]$ cat ff.py 10  11 [tree@tree ~]$ cat ff.py | grep -n root 12 2:root:x:0:0:root:/root:/bin/bash 13 12:operator:x:11:0:operator:/root:/sbin/nologin

# 4.vim编辑器

安装vim

yum install vim

工作模式:命令模式、输入模式、末行模式

模式之间切换,
多次按ESC可以进入命令模式
在命令模式下,按 i或o或a进入输入模式
在命令模式下,按shift+; ,末行出现:冒号则进入末行模式
按ESC回到命令模式

进入与退出:
vi filename 进入
当打开一个文件时处于命令模式

在末行模式下输入q退出文件
wq 保存退出
q! 不保存退出

移动光标
命令模式和编辑模式下都可以用上下左右键(或者h,j,k,l)

输入文本
在命令模式下
按 i 从光标所在位置前面开始插入资料
按 a 从光标所在位置后面开始输入资料
按 o 在光标所在行下方新增一行并进入输入模式
进入输入模式后,在最后一行会出现--INSERT--的字样

复制与粘贴
在命令模式下
yy 复制整行内容到vi缓冲区
yw 复制当前光标到单词尾内容到vi缓冲区
y$ 复制当前光标到行尾的内容到vi缓冲区
y^ 复制当前光标到行首的内容到vi缓冲区

p 读取vi缓冲区的内容,并粘贴到光标当前的位置

删除与修改
命令模式下
dd 删除光标所在行
x 删除光标所在字符
u 撤销上一次操作

保存文档
:q 结束编辑不保存退出,如果有修改不会退出
:q! 放弃所做的更改强制退出
:w 保存更改
:wq 保存更改并退出

# 5.alias别名

查看别名`alias`

定义命令别名格式:alias 新的命令=‘原命令 -选项/参数‘

[tree@tree ~]$ alias ll alias ll=ls -l --color=auto [tree@tree ~]$ alias la=ls -a

1 [tree@tree ~]$ unalias la

2 [tree@tree ~]$ la

3 -bash: la: command not found

这种定义别名的方式只在当次登录有效,如果要永久定义生效,可以修改用户(非全部用户)自己的`alias` ,修改~/.bashrc文件,在文件中加上自己定义的`alias` 。

这个修改要在下次登录才能生效,如果要立即生效则输入`source ~/.bashrc` 。

原文:https://www.cnblogs.com/bytree/p/9346740.html

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