扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
grep命令:
站在用户的角度思考问题,与客户深入沟通,找到沐川网站设计与沐川网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网页空间、企业邮箱。业务覆盖沐川地区。
grep命令是非常重要的命令,可以对文本进行查找和搜索
常用参数如下:
常用实例:
1、在多个文件中查找:
grep "file" file_1 file_2 file_3
2、输出除之外的所有行 -v 选项:
grep -v "file" file_name
3、标记匹配颜色 --color=auto 选项:
grep "file" file_name --color=auto
4、使用正则表达式 -E 选项:
grep -E "[1-9]+"
egrep "[1-9]+"
5、只输出文件中匹配到的部分 -o 选项:
echo this is a test line. | grep -o -E "[a-z]+."
line.
echo this is a test line. | egrep -o "[a-z]+."
line.
6、统计文件或者文本中包含匹配字符串的行数-c 选项:
grep -c "text" file_name
2
7、输出包含匹配字符串的行数 -n 选项:
grep "text" -n file_name
或
cat file_name | grep "text" -n
8、多个文件
grep "text" -n file_1 file_2
9、搜索多个文件并查找匹配文本在哪些文件中:
grep -l "text" file1 file2 file3...
10、grep递归搜索文件
在多级目录中对文本进行递归搜索:
grep "text" . -r -n
11、忽略匹配样式中的字符大小写:
echo "hello world" | grep -i "HELLO"
hello
12、选项 -e 指定多个匹配样式:
echo this is a text line | grep -e "is" -e "line" -o
is
line
13、也可以使用 -f 选项来匹配多个样式,在样式文件中逐行写出需要匹配的字符。
cat patfile
aaa
bbb
echo aaa bbb ccc ddd eee | grep -f patfile -o
14、在grep搜索结果中包括或者排除指定文件:
只在目录中所有的.php和.html文件中递归搜索字符"main()"
grep "main()" . -r --include *.{php,html}
15、在搜索结果中排除所有README文件
grep "main()" . -r --exclude "README"
16、在搜索结果中排除filelist文件列表里的文件
grep "main()" . -r --exclude-from filelist
touch abc.txt 创建一个名为abc.txt的文件
touch -r 指定文件时间与参考文件相同
touch -t 201608012234.55[yyyymmddhhmm.ss] abc.txt 更改文件为指定的时间
touch temp 创建一个名为temp的文件
vi编辑器有三种模式,命令行模式、编辑模式、底行模式。
vi 文件名进入命令行模式,Insert进入编辑模式,编辑完成Esc退出编辑模式,:wq进入底行模式并保存修改,:q直接退出保存。
tar命令用于打包压缩文件,常用的压缩命令还有bzip2,gzip
bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
bzip2 file1 压缩一个叫做 'file1' 的文件
gunzip file1.gz 解压一个叫做 'file1.gz'的文件
gzip file1 压缩一个叫做 'file1'的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
which命令用于用户查找命令所有路径
命令格式
file命令用于获取文件属性
命令格式
file 文件名或目录名
命令示例:
使用说明
命令格式:cat [-AbeEnstTuv] [--help] [--version] fileName
cat file1 从第一个字节开始正向查看文件的内容
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
使用示例
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里
cat -n textfile1 textfile2
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里
cat -b textfile1 textfile2 textfile3
清空 /etc/test.txt 文档内容
cat /dev/null /etc/test.txt
tac [filename]
从最后一行开始反向查看一个文件的内容,ac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写。
nl [-bnw] 文件
选项与参数:
-b: 指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在荧幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
more file1 查看一个长文件的内容,支持一页一页翻动
运行的时候,支持以下几个按键:
空白键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f :立刻显示出档名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
less运行时可以输入的命令有:
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序;
head [-n number]
head -2 file1 查看一个文件的前两行
tail [-n number]
tail -2 file1 查看一个文件的最后两行
tail -f /var/log/messages 实时查看被添加到一个文件中的内容
文件权限列中三位为一组,分别代表相关的用户、组、其它用户的权限
权限列中三位为一组,分别代表相关的用户、组、其它用户的权限
所以修改权限可以分别修改或一同修改,系统中权限分为数字权限与字符权限
数字权限:r=4,w=2,x=1
字符权限:+ 增加 -去除 a取消所有加上给定的
修改权限的命令chmod,命令格式:
chmod 权限 文件名或目录名 修改权限格式
chmod -R 权限 目录名 递归将目录及其下面所有内容权限全部修改
chown 改变文件或目录的属主(所有者)
chown 用户名 文件名或目录名
chown 用户名.组名 文件名或目录名
修改所属组也可用chgrp 命令来完成
当你用ls -l 查看到文件的属主、属组为数字时,就表明该文件的创建用户已被删除。
文件的特殊权限
chattr +i(-i) 文件名 锁定文件(取消锁定)不可删除与清空
chattr +a(-a) 文件名 添加内容(只可添加内容)
使用lsattr 文件名 查看文件的特殊权限
由此可以看出
root用户默认创建的目录权限是755,文件权限是644
普通用户默认创建的目录权限是775,文件权限是664
这也是系统默认的比较安全的权限分配,其实这些默认权限全部都是由umask值来决定的
系统规定了
文件的权限值是从666开始计算(默认权限=权限值-umask值)
目录的权限值是从777开始计算(默认权限=权限值-umask值)
文件1的权限=444 (666-232=434——43(3+1)4)
学习Linux系统,命令是最基础的一部分,有着很重要的地位,所以入门必须掌握好常用命令。下面由我为大家整理了Linux系统常用的基本命令入门篇,希望对大家有帮助!
Linux系统常用的基本命令入门篇一、基础命令
1.Linu x的进 入与退出系统
进入Linux系统:
必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:
1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。
2.普通用户--这个帐号供普通用户使用,可以进行有限的操作。
一般的Linux使用者均为普通用户,而系统管理员一般使用超级用户帐号完成一些系统管理的工作。如果只需要完成一些由普通帐号就能完成的任务,建议不要使用超级用户帐号,以免无意中破坏系统。影响系统的正常运行。
用户登录分两步:第一步,输入用户的登录名,系统根据该登录名识别用户;第二步,输入用户的口令,该口令是用户自己设置的一个字符串,对其他用户是保密的,是在登录时系统用来辨别真假用户的关键字。
当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示:
[root@loclhost/root] #
这时就可以对系统做各种操作了。注意超级用户的提示符是ldquo;#rdquo;,其他用户的提示符是ldquo;$rdquo;。
2.修改口令
为了更好的保护用户帐号的安全,Linux允许用户随时修改自己的口令,修改口令的命令是passwd,它将提示用户输入旧口令和新口令,之后还要求用户再次确认新口令,以避免用户无意中按错键。如果用户忘记了口令,可以向系统管理员申请为自己重新设置一个。
3.虚拟控制台
Linux是一个真正的多用户 操作系统 ,它可以同时接受多个用户登录。Linux还允许一个用户进行多次登录,这是因为Linux和UNIX一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台进行多次登录。虚拟控制台的选择可以通过按下Alt键和一个功能键来实现,通常使用F1-F6例如,用户登录后,按一下Alt-F2键,用户又可以看到"login:"提示符,说明用户看到了第二个虚拟控制台。然后只需按Alt-F1键,就可以回到第一个虚拟控制台。 一个新安装的Linux系统默认允许用户使用Alt-F1到Alt-F6键来访问前六个虚拟控制台。虚拟控制台可使用户同时在多个控制台上工作,真正体现Linux系统多用户的特性。用户可以在某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作。
退出系统
不论是超级用户,还是普通用户,需要退出系统时,在shell提示符下,键入exit命令即可。
4.查看命令帮助信息
man命令
man命令用于查询命令和程序的使用 方法 和参数。
例如:
man ls
将显示ls命令的基本格式和使用方法
Linux系统常用的基本命令入门篇二、关机重启命令
首先,是关机/重启命令,仅在虚拟机时使用,实际工作中用不到
reboot 一般不跟参数使用,输入指令即可重启
shutdown 一般需要跟参数,例:
shutdown -r 延时多少分钟重启,一般使用now
shutdown -r now 立即重启
shutdown -f 强制重启
跟windows一样,linux也存在注销功能
exit
1)halt
halt 可不接参数
halt -f 强制关机
2)poweroff
poweroff 可不接参数使用
poweroff -f 强制关机
3)init 0
4)shutdown 不可单独使用
shutdown -h 分钟数 延时多久关机
shutdown -h now 立即关机
Linux系统常用的基本命令入门篇三、vi编辑
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。
Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。
vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。
默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用ldquo;escrdquo;键,从命令模式切换到编辑模式使用ldquo;Ardquo;、ldquo;ardquo;、ldquo;Ordquo;、ldquo;ordquo;、ldquo;Irdquo;、ldquo;irdquo;键。
vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号ldquo;:rdquo;开头输入。常用内置命令如下:
1 Ctrl+u:向文件首翻半屏;
2 Ctrl+d:向文件尾翻半屏;
3 Ctrl+f:向文件尾翻一屏;
4 Ctrl+b:向文件首翻一屏;
5 Esc:从编辑模式切换到命令模式;
6 ZZ:命令模式下保存当前文件所做的修改后退出vi;
7 :行号:光标跳转到指定行的行首;
8 :$:光标跳转到最后一行的行首;
9 x或X:删除一个字符,x删除光标后的,而X删除光标前的;
10 D:删除从当前光标到光标所在行尾的全部字符;
11 dd:删除光标行正行内容;
12 ndd:删除当前行及其后n-1行;
13 nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
14 p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
15 P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
16 /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
17 ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
18 a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,ldquo;s/rdquo;表示进行替换操作;
19 a:在当前字符后添加文本;
20 A:在行末添加文本;
21 i:在当前字符前插入文本;
22 I:在行首插入文本;
23 o:在当前行后面插入一空行;
24 O:在当前行前面插入一空行;
25 :wq:在命令模式下,执行存盘退出操作;
26 :w:在命令模式下,执行存盘操作;
27 :w!:在命令模式下,执行强制存盘操作;
28 :q:在命令模式下,执行退出vi操作;
29 :q!:在命令模式下,执行强制退出vi操作;
30 :e文件名:在命令模式下,打开并编辑指定名称的文件;
31 :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
32 :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
33 :set nu:在命令模式下,用于在最左端显示行号;
34 :set nonu:在命令模式下,用于在最左端不显示行号;
35 :1,3y 复制第一行到第三行
36 :1,3d 删除第一行到第三行
37 :1,3s/str/str_new/g 替换第一行到第三行中的字符串
38 :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符
39 :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行
Linux常用命令一、查询相关
find
按规则查找某个文件或文件夹,包括子目录
find . -name '_sh' -- 以.sh结尾的文件
find . -name '_hannel_ -- 包含channel字符的文件
find . -name 'build_ -- 以build开头的文件
find . -name 'abc??' -- abc后面有两个字符的文件
grep
查找内容包含指定的范本样式的文件,Global Regular Expression Print
grep -n pattern files -- 规则 -n表示显示行号
grep -n 'PostsActivity' AndroidManifest.xmlgrep -n '\d' AndroidManifest.xmlgrep 'aapt' build-channel.xml -- 文件中包含字符串的所有地方
grep -n 'aapt' build-channel.xml -- 文件中包含字符串的所有地方,并显示行号
ps -e | grep java -- 所有java进程
ps -e | grep -i qq --所有qq进程,不区分大小写
find . -name '_hannel.xml' | xargs grep -n 'aapt' -- 在以channel.xml结尾的文件中查找包含lsquo;aaptrsquo;关键字的地方
ls | grep 'channel' -- 包含channel关键字的文件
which
在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果
which zipwhich grep
Linux常用命令二、查看命令
tail
tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]
从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。
tail -f test.log,循环查看文件内容,Ctrl+c来终止
tail -n 5 test.log,显示文件最后5行内容
tail -n +5 test.log,从第5行开始显示文件
more
more [-dlfpcsu] [-num] [+/ pattern] [+linenum] [file...]
more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
more +3 test.log,显示文件中从第3行起的内容
more -5 test.log,设定每屏显示行数
ls -l | more -5,每页显示5个文件信息
more +/day3 test.log,查找第一个出现"day3"字符串的行,并从该处前两行开始显示输出
less
less [options] [file...]
与more命令一样,less命令也用来分屏显示文件的内容。但是二者存在差别:less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
less test.log,查看文件
ps -ef | less,查看进程信息并通过less分页显示
history | less,查看命令历史使用记录并通过less分页显示
less test1.log test2.log,浏览多个文件,n和p切换文件
watch
watch [options] command
每隔一段时间重复运行一个命令,默认间隔时间是2秒。要运行的命令直接传给shell(注意引用和转义特殊字符)。结果会展示为全屏模式,这样你可以很方便的观察改变
watch -n 60 date,执行date命令每分钟一次,输入^C 退出
watch -d ls -l,查看目录变化
watch -d rsquo;ls -l | fgrep joersquo;,想找joe用户的文件
watch -d 'ls -l|grep scf',监测当前目录中 scf' 的文件的变化
watch -n 10 'cat /proc/loadavg',10秒一次输出系统的平均负载
watch -n 1 -d netstat -ant,每隔一秒高亮显示网络链接数的变化
watch -n 1 -d 'pstree | grep http',每隔一秒高亮显示http链接数的变化
Linux常用命令三、文件相关
vi
vi file
按i键,进入编辑模式
按esc键,进入命令模式
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
chmod
change mode,变更文件或目录的读、写、运行权限
chmod [-cfvR] [--help] [--version] mode file...
mode:权限设定字串,格式如下 : [ugoa...][[+-=][rw xX ]...][,...]
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
chmod也可以用数字来表示权限,语法为:chmod abc file,如chmod 777 file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1
chmod 777 file,等同于 chmod a=rwx file
chmod ug=rwx,o=x file,等同于 chmod 771 file
chmod 4755 filename,可使此程序具有root的权限
ls -l 可以查看列出当前用户的文件权限
zip
zip -r filename.zip filesdir
zip -r test.zip ./_把当前所有文件压缩到test.zip
zip -r test.zip test,把test文件所有文件及目录,要是到test.zip
zip -d test.zip test.txt,删除压缩文件中test.txt文件
zip -m test.zip ./test.txt,向压缩文件中test.zip中添加test.txt文件
zip -r test.zip file1 file2 file3 filesdir,处理多个文件和目录,空格隔开
unzip
unzip zip-file,解压到当前目录
unzip -d dst-dir zip-file,解压到指定的目录,-d后为指定目录
unzip -n zip-file,不覆盖已经存在的文件,-n为不要覆盖原有的文件
unzip -n -d dst-dir zip-file,解压到指定的目录,不覆盖已经原有的文件
unzip -o -d dst-dir zip-file,-o不必先询问用户覆盖原有文件
unzip -l zip-file,仅查看压缩文件内所包含的文件
tar
tar cvf test.tar test,把test下所有文件和目录做备份tar czvf test.tar.gz test,把test下所有文件和目录做备份并进行压缩tar xzvf test.tar.gz,把这个备份文件还原并解压缩tar tvf test.tar | more,查看备份文件的内容,并以分屏方式显示在 显示器 上
tar czvf test.tar.gz test --exclude=test/svn,备份压缩并排除目录
touch
linux如何将一个目录下所有的文件都改成775的权限,解决办法:
文字设定法
3.数字设定法
4.对一个目录及其子目录所有文件添加权限,chmod
的-R参数可以实现,-R
是处理指定目录以及其子目录下的所有文件,比如给test目录及其下面的所有目录和文件添加rwx权限,用linux命令表示为
文件或目录的访问权限分为只读,只写和可执行三种。
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。
当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。
linux基本操作命令如下:
1、查看内核版本:uname -a。
2、控制台-图形界面:init 5或者startx。
3、图形界面-控制台: init3或者直接注销。
4、如何查看ip地址:ifconfig。
5、配置ip:ifconfig eth0 ip地址。
6、重启:reboot 或者 shutdown -r now。
linux常用命令举例
cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径,如cd/root/Docements#切换到目录/root/Docementscd./path#切换到当前目录下的path目录中。
这是一个非常有用的查看文件与目录的命令,list之意,它的参数非常多,下面就列出一些我常用的参数吧,如下,l,列出长数据串,包含文件的属性与权限数据等a,列出全部的文件连同隐藏文件一起列出来d,仅列出目录本身,而不是列出目录的文件数据h,将文件容量以较易读的方式列出来R。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流