Linux常用操作

文件的操作

cp

cp -a file1 file2 # 连同file1的所有特性把文件复制为file2
cp file1 file2 dir1 # 将文件file1、file2复制到目录dir下

mv

用于移动文件、目录、更名

mv -f # 强制覆盖
mv -i # 若目标文件存在,就询问是否进行覆盖操作

  • 移动文件(多个)

    mv file1.txt file2.txt /home/test
  • 移动目录

    mv dir1/ /home/test
  • 重命名文件或目录

    mv file1.txt file2.txt # 文件
    mv dir1/ dir2/ # 目录

rm

用于删除文件和目录

rm -f # 强制删除
rm -r # 递归删除,常用于目录删除(有提示)
rm -i # 询问是否进行删除操作
rm -rf dir # 强制删除目录dir中的所有文件和目录(不做提示)

mkdir、touch

mkdir dir1 # 在当前目录下创建目录
touch file1 # 在当前目录下创建文件

tar

用于对文件进行打包,默认不进行压缩。
以下五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

-f(必选参数): 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

tar -cf all.tar *.jpg # 将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
tar -rf all.tar *.gif # 将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
tar -uf all.tar logo.gif # 更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
tar -tf all.tar # 列出all.tar包中所有文件,-t是列出文件的意思
tar -xf all.tar # 解出all.tar包中所有文件,-x是解开的意思

常用命令

tar xvf FileName.tar # 解包
tar cvf FileName.tar DirName # 打包

zip和unzip

对文件打包、压缩或解压

zip -r xxx.zip ./ # 压缩当前目录内文件为xxx.zip文件
unzip filename.zip # 解压zip文件到当前目录

文件的编辑vi和vim

插入模式:在此模式下可以输入字符,按ESC将回到命令模式。
命令模式:可以移动光标、删除字符等。
低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。

打开文件、保存、关闭文件(vi命令模式下使用)

vi filename # 打开filename文件

:w # 保存文件 
:w vpser.net # 保存至vpser.net文件
:q # 退出编辑器,如果文件已修改请使用下面的命令
:q! # 退出编辑器,且不保存
:wq # 退出编辑器,且保存文件

插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)

a # 在当前光标位置的右边添加文本 
i # 在当前光标位置的左边添加文本
A # 在当前行的末尾位置添加文本
I # 在当前行的开始处添加文本(非空字符的行首)
O # 在当前行的上面新建一行
o # 在当前行的下面新建一行
R # 替换(覆盖)当前光标位置及后面的若干文本
J # 合并光标所在行及下一行为一行(依然在命令模式)

移动光标(vi命令模式下使用)

上下左右方向键 
h # 向左
j # 向下
k # 向上
l # 向右
空格键 # 向右
Backspace # 向左
Enter # 移动到下一行首
- # 移动到上一行首

删除、恢复字符或行(vi命令模式下使用)

x # 删除当前字符 
nx # 删除从光标开始的n个字符
dd # 删除当前行
ndd # 向下删除当前行在内的n行
u # 撤销上一步操作
U # 撤销对当前行的所有操作

搜索(vi命令模式下使用)

/vpser # 向光标下搜索vpser字符串 
?vpser # 向光标上搜索vpser字符串
n # 向下搜索前一个搜索动作
N # 向上搜索前一个搜索动作

跳至指定行的行首(vi命令模式下使用)

n+ # 向下跳n行 
n- # 向上跳n行
nG # 跳到行号为n的行
G # 跳至最后一行

设置行号(vi命令模式下使用)

:set nu  # 显示行号 
:set nonu # 取消显示行号

复制、粘贴(vi命令模式下使用)

yy # 将当前行复制到缓存区,也可以用 "ayy" 复制,"a" 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 
nyy # 将当前行向下n行复制到缓冲区,也可以用 "anyy" 复制,"a" 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
yw # 复制从光标开始到词尾的字符。
nyw # 复制从光标开始的n个单词。
y^ # 复制从光标到行首的内容。
y$ # 复制从光标到行尾的内容。
p # 粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap" 进行粘贴。
P # 粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP" 进行粘贴。

替换(vi命令模式下使用)

:s/old/new # 用new替换行中首次出现的old 
:s/old/new/g # 用new替换行中所有的old
:n,m s/old/new/g # 用new替换从n到m行里所有的old
:%s/old/new/g # 用new替换当前文件里所有的old
------ 本文结束感谢您的阅读 ------
坚持原创技术分享,您的支持将鼓励我继续创作!