Linux 文件夹/文件操作命令(新建、修改、查看、移动、复制、重命名)

文件夹命令:

mkdir命令:

创建文件夹 make directories缩写 

-p 根据需要制作父目录 创建多级目录时需要用到该参数

eg:

mkdir  abc   意思是在当前文件夹下面创建 abc文件夹。

mkdir -p ./x/y/z 在当前文件夹下创建一个 "x/y/z" 多级目录

mkdir ./x/{a,b,c}dir  在当前文件夹下创建三个 x/adir x/bdir x/cdir 目录

cd命令:  

切换路径 change directory缩写

eg:

cd - 返回上一次所在的工作目录

cd 回用户所在家目录 

cd ~ 返回当前用户所在家目录

cd ~zhangsan 返回"zhangsan"所在家目录

pwd命令:  

显示当前的工作目录  print working directories缩写

rmdir命令:

删除文件夹的命令   remove empity directories缩写

rm命令:

 删除文件  remove缩写

参数:

    -r 递归 recursive的缩写

    -f 强制删除 force的缩写

rm -rf  abc 意思是在删除当前文件夹下abc文件夹极其子文件夹和文件。 
删除文件:rm -rf  abc.txt

du命令:

du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量。

文件命令:

touch命令:

修改文件的时间戳,用摸一下来理解,当文件不存在时也会创建文件

 eg touch abc.txt  创建abc.txt


vi / vim命令:

编辑文件
编辑一个文件:vi 文件名  进入命令模式 

vi +n 文件名 打开文件后会定位在第n行的行首

vi + 文件名  打开文件后光标定位在最后一行的行首

进入编辑模式后输入G(shift+g)定位到最后一行 gg定位到首行

vi +/关键词  文件名 打开文件后会定位在包括关键词的行首,关键词要存在。

按n定位到关键字,再按n定位到下一个关键字,按大写N定位到上一个关键字。

 

模式切换:

    编辑模式-->输入模式

        i 光标定位的字符前输入, 转换为输入模式

        a 光标定位的字符后输入,转换为输入模式   a 是append的缩写。

        I 定位在行首输入,转换为输入模式

        A 定位在行尾输入,转换为输入模式

        o 在光标所在行下,新建一行,并转换为输入模式。

        O 在光标所在行的上,新建一行,并转换为输入模式。

    输入模式-->编辑模式

        esc

    编辑模式-->末行模式

        shift+:

    末行模式-->编辑模式

        esc+esc

     输入模式-->末行模式

        不能去

 

 兄弟连版本

在编辑模式输入set nu 就会将要打开的文件的每一行的行号标注出来  set nonu 取消行号 nu是number的缩写。
gg 定位到第一行  G定位到最后一行   冒号下输入行号然后回车就跳转到指定的行号
$移动到行尾  0移动到行首

 

b,删除  (下面的删除命令都是在命令模式下执行的)
x  删除光标所在字符
nx 删除光标所在处后n个字符
dd 删除光标所在行

dw 删除一个单词
ndd 删除n行
dG 删除光标所在行到文件末尾的内容
D 删除光标所在处到行尾内容
:n1,n2d 删除指定范围的行

 

3,复制和剪切
yy  复制当前行
nyy 复制当前行以下n行
dd  剪切当前行
ndd 剪切当前行以下n行
p,P 粘贴在当前光标所在行下或者行上

 

4,替换或取消
r 取代光标所在处字符
R 从光标所在处开始替换字符 按Esc键结束
u 取消上一步操作  undo缩写

 

5,查找替换
/sring  在当前打开的页面搜索string字符串  按 n 找下一个
如果想搜索的时候不区分大小写:set ic 改成搜索的时候区分大小写:set noic
:%s/old/new/g    替换     %s 表示全文替换    起始行,终止行  指定范围替换    /要替换的字符串/要替换的新字符串    g 不询问 c询问
eg:  %s/ftp/FTP/g  将当前文件的所有ftp替换成FTP

 

6,保存退出
:w 保存修改
:w new_file 另存为指定文件
ZZ 保存修改并退出(等价于shift + zz)
:q! 不保存修改退出
:wq或者 x   保存退出       w 是存盘的意思  
:wq! 保存修改并退出(没有权限修改的文件)    只有文件所有者或root用户才能使用该命令

:q  对没有修改的文件退出。 注意:退出编辑状态的时候输入":"的时候要在英文状态下才行。

 

Esc键     退出编辑模式进入命令模式

 

:wq 或者 x    保存退出。  w 是存盘的意思  

q!   不保存强制退出。 

 

sxt 版本

vi各模式下的命令

编辑模式

光标移动

字符:h 左 j 下 k 上 l 右

单词:w 下一个单词的词首,  e 当前或下一个单词的词尾,  b当前或下一个单词的词首

行内:0 数字0跳到当前行的绝对行首,^行首的第一个非空白字符,$绝对行尾

行间:G 文章末尾,gg文章开头 nG 跳到第n行的行首

翻屏:ctrl+f 向下翻屏,ctrl+b 向上翻屏

删除

单字符删除:x 删除光标位置的单字符 ,nx 删除光标开始的n个字符,r替换光标位置的字符

dw 删单词,dd删除行,  ndw 从光标开始处删除n个单词, D 删除光标所在处到行尾内容, ndd 从光标所在行开始删除n行

dG 删除光标所在行到文件末尾的内容

剪切粘贴  拆分成2步

行:

step1:删除 dd

step2:粘贴 p 向下粘贴 P 向上粘贴

单词:

step1:删除 dw

step2:粘贴 p 向下粘贴 P 向上粘贴

 

复制粘贴  拆分成2步

行:

step1:复制 yy

step2:粘贴 p 向下粘贴 P 向上粘贴

撤销

u 撤销   undo缩写

ctrl+r重做撤销的操作

重做

.重复上一步操作

 

 

:r 命令 

命令模式下的导入命令
eg: :r  /tmp/abc.txt  将文件名导入到当前文件光标的位置。

 

定义快捷键::map 快捷键 触发命令
连续注释::n1,n2s/^/#/g  从第n1行到n2行之间所有行首字母加上#
替换::ab aaa fff   然后在输入状态的时候输入aaa 放上bbb

 

 

 

cat 命令 :

浏览文件的命令,一次将文件所有内容全部显示,所以当太长的文件不不适合用这个命令

选项:

     -n 显示文件的时候显示行号

 

tac命令:

逆序显示自定文件的内容(cat 倒着写)

 

more 命令:

分页浏览文件   空格翻页(只能往下一页一页向下浏览,不能往上浏览)

当显示完毕后会退出,按空格会一页翻屏,按回车会往下一行显示。

 

less命令:

分页浏览命令   可以往上浏览,显示完毕文件内容后不会退出终端,需要按q键退出。太大的文件也不适合用该命令查看,比more 更耗费内存。

 pageUp 一页一页往上翻页 上箭头往上一行一样翻

空格键,往下翻一页。

回车键,往下翻一行。

b键往上翻一页

上下箭头往上下翻一行。

 

 

head 命令:
从0行开始查看指定文件的命令 (默认显示文件最前10行) 不阻塞显示
eg:head vi.txt  查看vi.txt的内容
eg:head -n 3 vi.txt 查看vi.txt文件的前3行内容。

 

tail 命令:
从指定行开始查看指定文件到最后一行的命令(默认显示文件最后10行) 默认不阻塞显示

语法:tail [选项] 文件

选项 

  -n  

  -f 阻塞显示文件内容,当文件内容有增加显示时,能增加显示新的内容,如日志文件


eg:tail -n 3 vi.txt   查看vi.txt文件最后3行的内容。

eg:tail -f vi.txt 阻塞显示 vi.txt中的内容,当vi.txt中的内容有人在通过流增加内容的时候,退出阻塞是ctrl+c

 

stat 命令

显示文件或文件系统的状态(元数据信息)

eg:

stat /etc/profile 显示文件元数据信息的命令 

 

ls 命令

参数:

-a 以.开头的文件或者文件夹也显示出来 all的缩写

-l 长列表格式显示文件 long的缩写

-i 显示节点号 inode的缩写。

eg:

ls -lia  以长列表格式显示当前文件夹下的所有文件以及子文件,且显示出对应的节点号(节点号相同表示的是相同的物理位置) 

 

ln命令:

链接命令  link缩写   -s表示是软链接(不加该参数表示是硬链接的意思)

软链接和硬链接的区别:硬链接相当于复制,会同步更新。硬链接用的文件的-i文件号是一样的。

eg:ln abc.txt l1   创建一个硬链接l1,l1和abc.txt文件同步。

eg:ln -s abc.txt l2 创建一个软链l2,l2指向abc.txt文件,像windows里面的快捷方式。

eg:ln -s /home/local /usr  意思是将 /home/local 在/usr下创建一个快捷方式(在/usr下面也能看到local文件夹)。

 

硬链接和软链接的区别:

硬链接中的两个文件是完全平等的,删除其中任意个之后另外一个还可以正常访问,是相同的inode号。

软连接是不相同的两个inode号,链接文件实际存储的是,原始文件的路径。软连接的原始文件被删除后,链接文件将不能访问。像windows里面的快捷方式。

不允许对目录创建硬链接,而可以对目录创建软连接。

http://www.cnblogs.com/ylan2009/p/4287929.html

 

cp命令:

文件复制    copy缩写

参数:

    -r 递归 recursive的缩写

eg:

cp aaa.txt bbb.txt  将 aaa.txt文件复制(已存在),并命名为 bbb.txt文件

cp -r aaa bbb  将文件夹aaa复制(已存在),并命名为 bbb文件夹    解释:-r 这个参数是递归的意思

cp -r ./d1 ./d2 将当前文件夹下的d1文件夹拷贝到d2中去,如果d1不是文件夹则不需要-r参数

 

scp命令:

不同电脑之间的文件复制命令

scp mongodb-linux-x86_64-2.6.4.tgz [email protected]:/home/software/

将当前系统下的 scp mongodb-linux-x86_64-2.6.4.tgz 复制到119.255.27.38的/home/software/路径下面

拷贝一个文件

 

scp [email protected]:/home/software/jdk-7u60-linux-x64.rpm /home/software

将19.255.27.38系统上的/home/software/jdk-7u60-linux-x64.rpm 文件复制到本地的/home/software路径下

scp 断点续传怎么实现?20160310

 

 

mv命令:
移动文件/文件夹     move缩写

mv   /usr/local/apache-tomcat   /usr/tomcat   将 /usr/local/apache-tomcat  移动到 /usr/ 下 且重命名为apache-tomcat

 

 

linux下面各色文件文件夹的意思:

  linux上红色背景   白色字的  还一闪一闪是什么意思啊?    软链接对应的原始文件已经被删除,类似windows中的原文件已经被删除了,链接文件已经不能被正常访问了。

 

  linux上红色背景 白色字 表示是错误文件或权限过高的文件或者危险文件

  eg:/usr/bin/passwd  表示权限过高的文件或者危险文件。

  linux下面红色文件的意思是表示已经断开的链接。
  文件       白色    没有执行权限
  文件       绿色    有执行权限 
  文件夹   蓝色