扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
linux基本命令:(其他的太多了,自己去百度吧)
在远安等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、成都网站制作 网站设计制作按需设计,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,成都外贸网站制作,远安网站建设费用合理。
ls:
-l:显示详细信息
-a:显示隐藏文件和其他所有文件(以.开头的为隐藏文件)
-t:安时间排序
-h:以KB MB 等单位显示
-d:只列出目录名,不列出其他内容
-R:递归显示所有目录及子目录
-lath:选项可以合并
pwd:显示当前所在位置
cd:转换目录
cd ..:返回上一级目录
cd -:回到上一次操作的目录
mkdir: 建目录
-v:显示所建目录,相同可用{}:mkdir -v dir{1,2,3}
-p:创建多级目录
rmdir:删除空目录
rm:删除
-f:强制删除无提示
-r:可删除目录
mv:移动 重命名
touch:建立空文件
file:验证文件或目录的类型
cp:复制,粘贴 (copy)改名
cp 原文件 目标文件
-r:可复制目录
ssh 192.168.1.33 远程登录
跨机拷贝:scp -r /root/Server/ 192.168.1.253:/dcw
man 命令:帮助
alias:查看是否有别名
去掉别名用完整路径
eg:
#which cp
#/bin/cp a.text b.text 或 \cp a.text b.text
或 在 /root/.bashrc 中去掉#alias cp='cp -i',后#unalias cp
查看某文件前4行内容并显示文件路径和文件名
[/usr/local/nagios]#ls /etc/vsftpd/vsftpd.conf head -n 4 /etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
linux tee 命令详解
功能说明:读取标准输入的数据,并将其内容输出成文件。
语法:tee [-ai][--help][--version][文件...]
补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。
参数:
-a或--append 附加到既有文件的后面,而非覆盖它.
-i-i或--ignore-interrupts 忽略中断信号。
--help 在线帮助。
--version 显示版本信息。
cat /etc/sysconfig/network
-n:查看行号信息
more:空格翻页 回车换行
less:上下键翻页 可以反复看(可以回翻页)
head:显示前几行
head -5 install.log 显示前5行
tail:显示后几行
tail -f 动态更新
grep:查看文件中包含关键字的一行
#grep --color=tty dump intstall.log 彩色显示
正则表达式:^root 以root为开头(^)
root$,以root结尾($)
-v:不包括的几行(取反)
grep -n -v ^# /etc/vsftpd/vsftpd.conf
:r /root/install.log 追加读入一个文件
:e 读入文件
:e! 重新读入
:q 不保存 :q!强制退出
:w 保存 :qw保存退出 :wq! 强制保存退出
在未写入状态时:
h 左 k 上 j下 l 右
shift+4($) 光标移到行尾 shift+6(^) 光标移到行头
:50 来到50行
#vim /root/install.log +50(n)来到50行
:set nu 显示行号
:set nonu 取消行号
shift+g 来到行尾
n(无显示)+G:直接来到n行
shift+a:自动来到行尾输入
:50,100 w bb.txt 保存50到100行的内容到bb.txt中
r :替换单个字符 R:替换全行
shift+o:向上插入 o:向下插入
yy 复制 p 粘贴
(n)2yy 复制前两行
y^:复制从光标位置到开头 y$:复制从光标位置到结尾
d:剪贴一行
dd:剪贴两行
ndd:多行
d^:剪贴到开头 d$:剪贴到结尾
:g/^$/d 去掉空行
:g/^\s*$/d 去空格
向左移动25个字符:25+l
:/ 查找 自上而下
:? 查找自下而上
n 下一个
替换:
:s/old/new 把旧的换为新的 单个
:s/old/new/g 整行替换
:%s/old/new/g 整个文件替换
:%s/old/new/gc 整个文件替换并询问
u:替换上次命令
ctrl+r 重做
ctrl+^ 两个切换
打开多个文件
vim a.txt b.txt c.txt
:args 可选
:next
:prev
:last
vim diff a.txt b.txt
ctrl+w+w 跳到第二个文件
:wqa
使用vimtutor工具联系vim使用。
vimtutor工具使用方法:
vimtutor zh
如果出现乱马,使用下面命令解决(只能执行一次)
cd /usr/share/vim/vim70/tutor
mv tutor.zh.euc tutor.zh.euc.bak
iconv -f gb2312 -t utf-8 tutor.zh.euc.bak tutor.zh.euc
vimtutor zh
locate :空间换时间
updatedb
locate passwd
find [路径] [参数] [表达式]
find /usr/share/doc -name filename
-user:根据文件拥有者寻找文件
-group:根据文件所属组寻找文件
-name:根据文件名寻找文件
-perm:根据文件权限寻找
-size:根据文件大小寻找
-type:根据文件类型寻找文件,参数对应c b l f d
find 的表达式使用通配符时需要使用“”圈界
find 目录 条件 条件
[root@localhost ~]# find / -name "pass*"
当前目录:.
find . -name "*ss*"
find . -type f(文件)
find . -type d(目录)
[root@localhost ~]# find . -nouser(文件无属主)
[root@localhost ~]# find . -nogroup(文件无属组)
[root@localhost ~]# find /home/ -user/group user1
-exec
[root@localhost ~]# find . -nouser -exec rm {} \;
{}代表文件和目录
\转义字符
-ok
find . -nogroup -ok rm -rf {} \;有提示删除
[root@localhost ~]# stat a
File: “a”
Size: 0 Blocks: 0 IO Block: 4096 一般空文件
Device: 803h/2051d Inode: 261796 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2011-04-02 14:23:25.000000000 +0800(创建时间:-atime)
Modify: 2011-04-02 14:23:25.000000000 +0800(修改时间:-mtime)
Change: 2011-04-02 14:23:25.000000000 +0800(改变属组属主会变:-ctime)
find /root -mtime -5(5天以内) 5(5天时) +5(5天前)
find . -perm 400:要求权限全部匹配,精确匹配
find . -perm +600(wr):有w,r中任意权限的都会列出,即会列出200 400 600 的权限
find . -perm -600 :要求权限完全满足 权限大于等于600
-name -type
-name -user
-perm -type
-nouser
-nogroup
-mtime
-exec
-ok
-rgex(正则表达式)
1、这么就用不会提示了:#
\cp
-rf
2、
原因:
#
vi
~/.bashrc
如果你看到如下内容,以下命令都会用别名执行了,就是说自动加了
-i
参数:
alias
rm='rm
-i'
alias
cp='cp
-i'
alias
mv='mv
-i'
为了让复制和移动大量文件去覆盖目标时,不会产生一个个的提示,命令应该这样写
#
\cp
-rf
/data/xxx*
/home/xxx
注意
cp
命令前加了
\
,意思是不让它用~/.bashrc里的别名运行,即
-i
参数
3、补充cp该命令的各选项含义如下
-
a
该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
-
d
拷贝时保留链接。
-
f
删除已经存在的目标文件而不提示。
-
i
和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
-
p
此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
-
r
若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
-
l
不作拷贝,只是链接文件。
4、需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名是一个已存在的文件名,用cp命令拷贝文件后,这个文件就会被新拷贝的源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
sed简介:流编辑工具,用来对文本进行过滤与替换操作。
sed流程:sed通过一次仅读取一行内容来对某些指令进行处理后输出。
1、sed通过文件或管道读取文件内容,但sed默认并不直接修改源文件,而是将读入的内容复制到缓冲区中,称之为模式空间。
2、所有的指令操作都是在模式空间找那个进行
3、sed根据相应的指令对模式空间中的内容进行处理并输出结果,默认输出至标准输出(即屏幕上)。
sed基本语法格式:
用法:sed[选项]...{脚本指令}[输入文件]...
选项: -version 显示sed版本
-help :显示帮助文档
-n,-quiet,-silent静默输出,默认情况下,sed程序在所有的脚本指令执行完毕后,将自动打印模式空间中的内容。
-e script允许多个脚本指令被执行
-f script-file从文件中读取脚本指令,对编写自动化脚本程序很实用
-i ,-in-place 该选项直接修改源文件
-l N 该选项指定l指令可以输出的行长度,l指令为输出非打印字符。
-posix 禁用GNU sed扩展功能。
-r 在脚本指令中使用扩展正则表达式。
-s,-separate 默认情况下,sed将把输入的多个文件名作为一个长的连续的输入流。而GNU sed则允许把它们当作单独的文件。
-u,-unbuffered 最低限度的缓存输入与输出
a,append表示追加指令;
i,insert表示插入指令;
d,delete表示删除指令;
s,substitution表示替换指令。
sed脚本指令的基本格式是:
[地址,即路径]命令(有些命令仅可以对一行操作,有些可以对多行操作),命令也可以用花括号进行组合,使命令序列可以作用于同一个地址。
address{
command1
command2
command3
}
sed的基本工作方式是:
sed的替换命令s:
1、全局替换 : s/old/new/g ,其中g为全局替换,用于替换所有出现的次数; /如果和正则匹配的内容冲突可以使用其他符号,如 : s@old@new@g
2、标志位
为什么要有多行模式: 配置文件一般有单行出现,但也有使用json或XML格式的配置文件,为多行出现。
多行模式处理命令N、D、P
1)单字符替换:在命令模式下使光标位于要替换的字符,按r,再按需要的字符;
2)取代字符串:在命令模式下
$s/string/replae/g
会将全文的string字符串取代为replace字符串,其中1,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认。
%s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,c则是表示要替代之前必须再次确认是否取代。
1,20s/string/replace/g:将1至20行间的string替代为relpace字符串。
一、vi编辑器有3种基本工作模式
分别是:命令模式、文本输入模式、和末行模式。
第一:命令行模式:
该模式是进入vi编辑器后的默认模式。任何时候,不管用户处于何种模式,按下ESC键即可进入命令模式。在该模式下,用户可以输入vi命令,用户管理自己的文档。此时从键盘上输入的任何字符都被当作编辑命令来解释。若输入的字符是合法的vi命令,则vi在接受用户命令之后完成相应的动作。但需要注意的是,所输入的命令并不回显在屏幕上。若输入的字符不是vi命令,vi会响铃报警。
第二:文本输入模式:
在命令模式下输入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被vi当作文件内容保护起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按ESC键即可。
第三:末行模式:
末行模式也称ex转义模式。在命令模式下,用户按“:”键即可进入末行模式下,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的说明符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令在执行完后,vi自动回到命令模式。如果要从命令模式转换到编辑模式,可以键入a或者i。如果需要从文本模式返回,则按ESC即可。在命令模式下输入“:”即可切换到末行模式,然后输入命令。
实例演示
首先我们使用命令 vi filename 打开一个文件,这个时候进入到的是命令模式
接下来我们按i,然后键盘随便输入写内容。
然后按ESC重新进入到命令模式。
在命令模式的情况下,我们按:,进入到了末行模式。
我们输入wq!,然后回车,强行保存退出。
下次我们再打开对应文件(可用less filename命令打开),即可看到内容已经更改。
补充:
(1)末行模式下:q! 【强制退出不保存】 q【退出不保存】 wq【退出并保存后面也可以加个!】
(2)如果你不想保存直接退出有可以在命令模式下使用“ctrl+z”快捷键或者按住“shift”键,输入两个z即可退出。
更多命令
进入vi的命令:
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename….filename :打开多个文件,依次进行编辑
屏幕翻滚类命令:
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
插入文本类命令:
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行
删除命令:
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
搜索及替换命令:
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
撤销回退命令:
u 撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作
选项设置:
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息
末行模式命令:
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:wq:保存并退出
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行
寄存器操作:
“?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
“?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
“?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
“?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流