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下面红色文件的意思是表示已经断开的链接。
文件 白色 没有执行权限
文件 绿色 有执行权限
文件夹 蓝色