25个常用的linux基础命令
1. Xargs用法详解 由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如:find /sbin -perm +700 |ls -l 这个命令是错误的find /sbin -perm +700 |xargs ls -l 这样才是正确的 2.tar解压缩命令详解-c: 建立压缩档案-x:解压
1. Xargs用法详解
由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如:
find /sbin -perm +700 |ls -l 这个命令是错误的
find /sbin -perm +700 |xargs ls -l 这样才是正确的
2.tar解压缩命令详解
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名
tar –zxvf file ----压缩
tar –cxvf 文件名 file
3.zip
$ zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
4.unzip
$ unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到/home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
5.tcpdump
监视指定网络接口的数据包
tcpdump-i eth1
如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。
监视指定主机的数据包
打印所有进入或离开sundown的数据包.
tcpdumphost sundown
也可以指定ip,例如截获所有210.27.48.1 的主机收到的和发出的所有的数据包
tcpdumphost 210.27.48.1
打印helios 与 hot 或者与 ace 之间通信的数据包
tcpdumphost helios and \( hot or ace \)
截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信
tcpdumphost 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
6.scp
1.命令格式:
scp [参数] [原路径] [目标路径]
2.命令功能:
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。
实例1:从远处复制文件到本地目录
命令:
scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
7.which
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
使用实例:
实例1:查找文件、显示命令路径
命令:
which lsmod
which 可执行文件名称
8. locate 配合数据库查看文件位置。
9.tar
实例:
1打包压缩:
tar cvf /dir/file.tar /dir/file #仅打包,不压缩
tar zcvf /dir/file.tar.gz /dir/file #打包后,以gzip压缩
tar jcvf /dir/file.tar.bz2 /dir/file #打包后,以bzip2压缩
tar zcvpf /dir/file.tar.gz /dir/file #打包后,以gzip压缩,并且保留权限信息
tar -N '2007/01/15' zcvf /dir/file.tar.gz /dir/file #打包压缩比2007/01/15新的文件
tar --exclude /dir1/file1 zcvf file.tar.gz /dir1/* /dir2 #打包压缩dir1和dir2中所有文件,除了/dir1/下的file1文件
其实上面的那些后缀,比如t参数说明:
-c :建立一个打包文件;
-x :解开一个打包文件;
-t :查看 tar包里面的文件;
-z :打包后用gzip压缩,生成.tar.gz文件;
-j :打包后用zip2压缩,生成.tar.bz2文件;
-v :压缩的过程中显示文件;
-f :使用文件名,请留意,在f之后要立即接文件名,不要再加其它参数;
-p :保持原文件的属性;
-P :使用绝对路径来压缩;ar,tar.gz等等,我们可以省略,只要你知道以什么格式压缩的就行,不然你就没法解压了
解压:
tar xvf backup.tar
tar zxvf /dir/file.tar.gz
tar zxvf /dir/file.tar.Z
tar jxvf /dir/file.tar.bz2
tar jxvf /dir/file.tbz
10.find
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
11.traceroute
traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置
traceroute ip|域名
12.tree
查看文件目录树
tree file
13.uname
uname –a :显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号
uname –r 显示操作系统的发行版本号
14.date
显示系统时间
15.df
查看磁盘具体的使用情况
常用的使用方法:df –k | grep –v 表示已用%
df –Th 详细情况
-h 方便阅读方式显示
-T 文件系统类型
16.grep
-T 文件系统类型
-?
同时显示匹配行上下的?行,如:grep -2 pattern filename同时显示匹配行的上下2行。
-b,--byte-offset
打印匹配行前面打印该行所在的块号码。
-c,--count
只打印匹配的行数,不显示匹配的内容。
-f File,--file=File
从文件中提取模板。空文件中包含0个模板,所以什么都不匹配。
-h,--no-filename
当搜索多个文件时,不显示匹配文件名前缀。
-i,--ignore-case
忽略大小写差别。
-q,--quiet
取消显示,只返回退出状态。0则表示找到了匹配的行。
-l,--files-with-matches
打印匹配模板的文件清单。
-L,--files-without-match
打印不匹配模板的文件清单。
-n,--line-number
在匹配的行前面打印行号。
-s,--silent
不显示关于不存在或者无法读取文件的错误信息。
-v,--revert-match
反检索,只显示不匹配的行。
-w,--word-regexp
如果被\<和\>引用,就把表达式做为一个单词搜索。
-V,--version
显示软件版本信息。
实例:
要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。
$grep 'kkk' ./*
搜索当前目录的含“kkk”字串的文件。
$ ls -l | grep '^a'
通过管道过滤ls -l输出的内容,只显示以a开头的行。
$ grep 'test' d*
显示所有以d开头的文件中包含test的行。
$ grep 'test' aa bb cc
显示在aa,bb,cc文件中匹配test的行。
$ grep '[a-z]\{5\}' aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
$ grep 'w\(es\)t.*\1' aa
16.wget –chttp://......
断电续传
wget –I 多个文件继续下载
17.route
查看路由表 route –n
[root@linux ~]# route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]、
例子:
route add -net 192.168.20.0netmask 255.255.255.0gw 192.168.10.1
删除路由:route del -net192.168.20.0netmask255.255.255.0
观察的参数:
-n :不要使用通讯协定或主机名称,直接使用 IP 或 port number;
-ee :使用更详细的资讯来显示
增加 (add) 与删除 (del) 路由的相关参数:
-net :表示后面接的路由为一个网域;
-host :表示后面接的为连接到单部主机的路由;
netmask :与网域有关,可以设定 netmask 决定网域的大小;
gw :gateway 的简写,后续接的是 IP 的数值喔,与dev 不同;
dev :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等
18.nslookup
作用是解析域名查看ip
linux下dns测试命令
如果没有一下命令可以通过
yum -y install bind-utils
来安装包括nslookup和dig命令
/etc/hosts :记录hostname对应的ip地址
/etc/resolv.conf :设置DNS服务器的ip地址
/etc/host.conf :指定域名解析的顺序(是从本地的hosts文件解析还是从DNS解析)
参数说明:
可以直接在nslookup后加上待查询的主机名称或者ip,【server】可有可无。
如果在nslookup后面没有加上任何主机名称或ip,那将进入nslookup的查询功能。在nslookup的查询功能当中,可以输入其他参数来进行特殊查询,例如:
Set type=any :列出所有的信息
Set type=mx :列出与mx相关的信息
19.dig
Dig [@server] [FQDN] [type]
参数说明:
@server :如果不想以/etc/resolv.conf来作为dns主机,则可以在此填入其他的ip
Type :预设是查询A记录,你可以在这里写入其他的记录,如:MX,NS等。
此功能亦可使用[-t type]来处理
# 从根服务器开始追踪一个域名的解析过程
dig xmgd.com +trace
# 用dig查看反向解析
dig -x210.52.83.228 @server
# dig 最基本的用法
dig @serversina.com.cn.
20.21
ifup ifdown 开启和关闭网卡
ifup eth0
ifup ifdown 通常存放于/etc/network/interfaces下面
22.mount
挂载 格式 mount /dev/cdrom /mnt
23.umount
umount /mnt
查看自动挂载的地方是/etc/fstab
24.passwd
passwd username
25.diff
通常diff命令会用着对比数据,或svn,git上面
当然还有更复杂的情况,如“3c3,6”、“6d8”,前者表示旧版本文件中的第3行被修改,对应新文件中的第3-6行,后者表示旧版本文件的第6行被删除,在新文件中是第8行。
可以通过参数指定diff输出格式,有兴趣的笔者可以分别进行尝试:
§ -e –ed输出为ed命令格式
§ -n –rcs输出为rcs命令格式
§ -y输出为两列对照模式
§ -c输出为上下文模式
diff的选项
除以上选项外,diff的有用的选项还包括:
§ -r:当diff的参数为文件夹时,diff会遍历整个文件夹对新旧文件夹下同名的文件进行比较
§ -w:忽略所有空格和制表符,将所有其他空白字符串视为一致。例如,if ( a == b )与 if(a==b) 相等。
§ -i:忽略字母大小写。例如,小写 a被认为同大写 A 一样。
格式:diffa.log c.log > b.patch
diff a.c b.c> b.patch |
输出b.patch的内容如下:
5c5 < // add code here --- > printf("Hello world"); 26.vmstat vmstat和top命令差不多,只是查看数据的方式不同 例子: vmstat 2 1 vmstat 2 27.lsof 通过服务端口号查进程,一般用于查看服务是否启动和结束进程用。 例子:lsof –i:8080
28.netstat netstat 和lsof差不多,也是主要用于查看端口号 netstat –antp:8980
29.init 0:停机 1:单用户形式,只root进行维护 2:多用户,不能使用net file system 3:完全多用户 5:图形化 4:安全模式 6:重启 30.sed 查找文件中包含and的行,并打印出来。 sed -n '/\ and/p' sed_case ssh host2 'command3' ssh and ssh1 and ssh2 ssh host1 'command2' sed编辑命令 p 打印匹配行 = 显示文件行号 a \ 在定位行号后附加新文本信息 i \ 在定位行号后插入新文本信息 d 删除定位行 c \ 用新文本替换定位文本 s 使用替换模式替换相应模式 r 从另一个文件中读文本 w 写文本到一个文件 q 第一个模式匹配完成后推出或立即推出 l 显示与八进制A S C I I代码等价的控制字符 { } 在定位行执行的命令组 n 从另一个文件中读文本下一行,并附加在下一行 g 将模式2粘贴到/pattern n/ y 传送字符 n 延续到下一输入行;允许跨行的模式匹配语句
|
更多推荐
所有评论(0)