25个常用的linux基础命令

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   [email protected]:/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 延续到下一输入行;允许跨行的模式匹配语句

 

 

 

 

 

 

 

                

你可能感兴趣的:(linux运维)