文件操作命令

  1. cd   [目录名] 切换到指定目录(目录可以是一条路径(绝对路径/相对路径))

cd change  directory的缩写

当前在/var/log/目录下

切换到 home目录

cd   ../../../home

cd   /home

cd   ../ 返回上一级

cd   ../..  返回上两级目录

cd   / 切换到根目录

cd   – 返回上一次操作所在的目录

cd   ~   返回家目录

  1. pwd    查看当前位置(以绝对路径显示)
  2. ls  [参数]  查看目录下的文件

(1) -a    显示隐藏文件(.开头的文件是隐藏文件)

(2) -l  (list)   查看详细的文件信息(ls   -l   可以简写为ll

参数可以连用

ls   -l   /var/log

  1. mkdir     [文件名]    创建文件夹(目录文件)

mkdir   [A]   [B]  [C]   [D]  创建多个文件夹

文件名最长为255个字节

mkdir   -p     E/F/G/H 创建递归目录

  1. touch    [文件名] 创建文件

A 目录中

touch  A   B  C   D   创建文件(一次性创建A B C D 四个文件)

  1. rmdir     删除空目录(目录下没有文件或文件夹)

(1) -p 递归删除

如果被删除目录非空或者非目录,无法删除

  1. rm     文件名(没有参数的时候,删除普通文件)

(1) -r 删除目录文件

(2) -f    取消提示(又叫强制删除)

在不知道被删除文件的作用时,不要用rm  -r  -f rm  -rf

  1. cp    源文件    目的文件(可以更改文件名字)

复制文件(将源文件复制到目的文件,可以添加路径,默认复制文件)

-r   复制目录

cp  123  456 复制文件123456

cp  -r  /opt/20190301/  .  opt目录下的20190301目录复制到当前目录下(.代表当前目录)

cp  -r  /opt/20190301/  test  opt目录下的20190301目录复制到当前目录下并改名为test

  1. mv   源文件   目的文件

剪切(移动)

mv   abc   def

abc重命名为def

mv   /opt/20190301   /home/

把目录20190301移动home目录下

  1. cat    文件(可加路径)

-n    显示行号

查看文件内容

  1. head   文件名(默认前十行)

-n   数字   显示前n

head   -n  5  /etc/group显示/etc/group的前五行内容

  1. tail    文件名(默认后十行)

-n   数字   显示后N

-f   实时查看 (跟踪显示,循环显示,常用于查看日志信息/var/log/xxx.log

tail  -n  5  -f  /etc/group

tail  -5f    /etc/group

  1. more   文件(查看文件内容,按照比例一页一页查看)

空格  下一页

Enter  下一行

q     退出,离开

b      返回上一次操作

  1. less   文件名(一页一页查看,显示的是一屏(根据你的屏幕大小显示))

空格   翻一页

Pageup   向上一页

Pagedown  向下翻一页

G       跳到最后一行

g       跳到第一行

q       离开

/关键字     向下查找

?关键字    向上查找

  1. sort   文件名  

将文件内容排序(按照access表排序,从小到大)

  1. echo    [内容]    回显/打印内容(常用于脚本中将结果显示到屏幕上)
  2. 重定向     

① > 覆盖重定向(原内容不存在)    将前一个命令的结果(必须是有输出结果的,例如:lspwdcatmore等)导入到后一个命令中

② >> 追加重定向(原内容存在,追加到最后一行) 将前一个命令的结果(必须是有输出结果的,例如:lspwdcatmore等)导入到后一个命令中

  1. vim(vi)  文本编辑器(相当于Windows的记事本,多平台的)

(1) 模式

① 一般模式(光标的移动,搜索,代替,复制,粘贴,删除等功能)

② 命令模式(保存,读取其他的额外功能,标志左下角有冒号光标)

③ 编辑模式(插入信息,编辑文本等功能,标志左下角有插入或者input

 

 

 

 

 

 

 

命令模式的命令

④ wq   保存退出

⑤ q不保存退出(编辑的文件没有保存)

⑥ wq!强制保存退出

⑦ q!强制不保存退出

⑧ w  文件名   另存为对应的文件

⑨ set  nu显示行号

⑩ set  nonu取消显示行号

n1,n2   s/关键字1/关键字2/g n1行到n2行,用关键字2替换关键字1

1,5   s/root/中国/g   替换1-5行(用中国替换掉root

%   s/root/中国/g   替换一屏

一般模式命令

⑪ dd删除光标所在的一行

⑫ ndd删除光标所在行以及下面的n-1行(n必须大于0

⑬ D删除光标及光标之后的内容

⑭ x删除光标所在位置的字符

⑮ nx删除光标所在位置以及后面的n-1个字符

⑯ NX删除光标之前的字符及前面的n-1个字符

⑰ u撤销

⑱ yy复制光标所在的一行

⑲ Nyy复制光标光标所在行以及下面的n-1

⑳ p(小写)在光标下一行粘贴

21 P(大写)在光标上一行粘贴

22 v选中文本(光标所在的字符,按y复制,p粘贴,d删除,退出v

23 V选中文本(光标所在的一行,按y复制,p粘贴,d删除,退出V

24 gg光标跳到第一行(ngg跳到指定行,nG跳到指定行)

25 G光标跳到最后一行

26 ^光标移动到行首

27 $光标移动到行尾(^$代表空行)

28 查找关键字  /关键字   向下查找

?关键字   向上查找

交换文件(是因为一个文件同时被多个人打开,解决方法:把.xxx.swp的隐藏文件删除,或者强制写入(一直按确认键))

  1. clear   清屏(把内容推送到上一屏)
  2. wc Word Count 文件名 统计文件中的信息(多少行,词组)

(1) -l     统计文件有多少行

(2) -w    统计文件中有多少词组(单词)

(3) -c     统计文件中有多少字节(文件大小,中文是4B多个中文的情况下,第一个是4B,其他的是3B,例如:一二三四五六七八九十,一是4B,二到十都是3B,一共是31B),英文或者字符或者数字2B

  1. find   路径(搜索范围)   -name   文件名(目录名或文件名)

查找文件(磁盘中查找,速度慢)

gvfs文件 权限不足是因为该目录是个空的,查不查都没关系

  1. locate   文件名  (从数据库查找,速度快)

数据库存放的是文件名字等信息,默认一天更新一次

查找当天文件时,需要更新数据库updatedb

一般使用前,先更新updatedb再查找locate

  1. grep    关键字 文件名

从文件中过滤出来含有关键字的行

-n    显示行号

-v     反向过滤(关键字所在的行不显示)

grep   ^关键字   etc.txt    以关键字开头的行

grep   关键字$ etc.txt 以关键字结尾的行

grep   ^$    etc.txt    过滤空行

  1. gzip   文件名     压缩文件(只能压缩普通文件,默认的后缀名.gz

① 压缩格式

1) Rar

2) Zip

3) Tar

4) Jar

  1. gunzip   文件名    文件的解压缩
  2. zip   压缩后的文件名   想要压缩的文件名(可以压缩目录,默认后缀名是.zip
  3. unzip    文件名    解压缩
  4. tar    参数  (打包后的文件名)    文件

打包(由多个文件(包括文件夹)形成一个文件)

压缩(由一个体积大的文件形成一个体积小的文件)

参数

-c   打包

-v   显示打包过程中的详细信息

-f    后面紧跟打包文件名

-x    解包

-z    使用gzip压缩方式压缩

-t    查看包中内容

-C(大写)    解包到指定目录

##

tar  -cvf   abc.tar    A   B  C    A B C 三个文件打包为abc.tar并显示打包过程

tar  -cvzf   abc.tar    A   B  C    A B C 三个文件打包为abc.tar并压缩且显示打包过程

tar  -xvf   abc.tar   abc.tar解包为A B C 三个文件

tar  -xvf   abc.tar    -C   路径

 abc.tar解包到指定路径下

tar  -tvf   abc.tar   查看abc.tar包中内容

  1. ln   -s   源文件名   链接文件名

创建软连接

ln     源文件   链接文件名

创建硬链接(相当于备份,实时更新)

删除源文件之后,软连接不能工作(没有那个目录或文件呢),硬链接正常工作

软连接占用空间小,硬链接占用空间的源文件一样

相同点:随着源文件的更新而更新

  1. chmod    权限    文件名    

更改文件权限

  1. 全部更改

(1) rwx分别对应二进制,转换为十进制

例如:rw_r_ _ _wx

 110 100 011

6  4   3 拥有者的权限是rw,所属组的权限是r,其他人的权限是wx

  1. 单独更改

拥有者  u(user)

所属组  g(group)

其他人  o(other)

所有人  a(all)

+   增加权限   (减号)  减少权限         =  赋予权限   

示例

chmod   u+r,g+w  ls.txt

  1. sed  参数  动作(行编辑器)

(1) 参数

① -n   打印文件内容

② -i    编辑文件内容(修改原文件内容)

③ -e    编辑文件内容(不修改原文件内容)

(2) 动作

①   a增加

②   p打印

③   s替换

④   d删除

示例

  1. sed  -n   “7p”  ls.txt   显示第七行内容
  2. sed  -n   “4,7p”  ls.txt  显示第四五六七行
  3. sed  -n    “/关键字/p”  文件名  显示关键字所在的行

sed  -n    “/^$/p”    文件名   过滤空行

  1. sed  -e   “s/关键字1/关键字2/g”   文件名

用关键字2替换掉关键字1(原文中是关键字1

Sed   -e   “s/关键字1/关键字2\n/g”   ls.txt

\n是换行符

\\n

转义符

5.sed   -e   “4a\你在哪一步?”   ls.txt

在第四行插入数据你在哪一步(数据在第五行)

sed   -e   “a\你在哪一步?”   ls.txt

如果没有行号,就在原文中每一行的下一行添加:你在哪一步

6.sed   -e   “3d”  ls.txt

删除第3行数据

sed   -e   “3,10d”  ls.txt    

删除310行数据

  1. awk    列编辑器

1) 域(区域)

  1. 以关键字为分隔符,划分的N个区域
  2. 依次$1,$2……$N

awk  -F   “目”   ‘{print  $1}’   ls.txt

awk  -F   “目”   ‘{print  $1,$2….}’   ls.txt

如果以空格为分隔符

awk     ‘{print  $1,$3….}’   ls.txt

  1. cut    [参数]   列数  文件名

切割显示文件内容

参数

-b   以字节进行定位

-c    以字符进行定位

-f    以域(字段)进行定位(与-d连用,等同于awk

 

示例:

cut   -nb   3  test-n  显示中文)

以字节进行定位,显示test文件中每行的第三个字节的内容

cut    -c    5  test

显示test文件中每行的第五个字符

cut    -c    5,9  test

只显示第五个字符和第九个字符

cut    -c    5-9  test

显示第五个字符至第九个字符

cut    -c    3,5-9  test

显示第三个字符,第五个字符至第九个字符

 

版权声明:本文为Testking原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Testking/p/10479365.html