linux进阶命令

实用命令

linux查找命令

  1. 查找文件内容:grep:
    grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
    grep 能将包含关键字所在的一行内容都输出出来,所以grep又叫行数据查询;
    命令格式:
grep [-acinv] [--color=auto] '搜寻字符串' 文件名

常用例子:

ps -ef | grep xxx

选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 ‘搜寻字符串’ 的次数,如果同一行有相同的,则视为同一次数
-i :忽略大小写的不同,大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即 显示出没有 ‘搜寻字符串’ 内容的那一行!
-E : 按照正则表达式匹配查找

  1. 文件查询命令 find 命令:
    Linux下find命令在目录结构中搜索文件,并执行指定的操作。
    命令格式:
find 文件目录 [选项]

命令选项:
-name 文件名 : 按照文件名查找文件。
-perm 权限 : 按照文件权限来查找文件。

-user UID或用户名 :按照文件属主来查找文件。
-group GID或组名 :按照文件所属的组来查找文件。

-type 类型 :查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
常用例子:

find / -name hello.txt

3.locate命令
locate让使用者可以很快速的搜索档案系统内是否有指定的档案,其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时之需查询这个数据库(/var/lib/locatedb)。
linux系统自动创建这个数据库,默认每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前先使用updatedb命令,手动更新数据库。
如果是精简版CentOS系统需要安装locate命令

yum -y install mlocate

updatedb命令来创建locate命令依赖的数据库

updatedb

使用实例:

#查找/etc路径下面以sh开头的文件
locate /etc/sh
#查找和pwd相关的所有文件
locate pwd

4.查找特定程序:whereis

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。
查找系统中可执行文件、man说明文件、源代码文件。
命令格式:

whereis [参数] 文件名

参数:
-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。

5.查找可执行文件:which
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
主要用于定位可执行文件
命令格式:

which 可执行文件

linux权限问题

1.su与sudo
su 命令 用户切换
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
命令格式:

su [-] [要切换的用户名称]

选项:

  • :切换用户后,环境变量也切换成用户的环境变量;
    不加- :切换用户,不切换环境变量
    实例:
    1)切换到目标用户
    su - 会随着用户的切换环境变量
    su 不会随着用户的切换环境变量

sudo是为所有想使用root权限的普通用户设计的,可以让普通用户具有零时使用root权限的权力。只需输入自己账户密码即可。当然这个普通用户必须在/etc/sudoers文件中有配置项,才有使用sudo的权利。

必须使用root用户编辑/etc/sudoers文件给普通用户授权
root用户输入

visudo

打开/etc/sudoers
代表root用户可以操作所有命令在任何地方
添加hadoop用户操作权限

hadoop ALL=(ALL) ALL

第一个ALL指网络中的主机,我们可以指定主机名,这样hadoop只可以在此主机上执行后面的命令。第二个括号里的all是指目标用户,也就是以谁的身份去执行。最后一个all是指命令。
例如:让hadoop用户在nn1主机上以allen的身份执行kill命令,就这样编写配置文件:

hadoop nn1=(allen) /bin/kill

如果执行时可以免密输入

hadoop nn1=NOPASSWD: /bin/kill,/bin/cat

linux系统服务

  1. service iptables status #查看防火墙状态
  2. service iptables stop #关闭防火墙
  3. service --status-all #查看系统的后台服务进程
  4. service sshd status #查看指定的后台服务进程状态
  5. chkconfig iptables on #配置防火墙开机开启
  6. chkconfig iptables off #配置防火墙开机关闭

linux网络服务

  1. netstat 是网络状态查看命令

命令格式:

netstat [选项]

选项:
-a:列出所有网络状态,包括 Socket 程序;
-c秒数:指定每隔几秒刷新一次网络状态;
-n:使用 IP 地址和端口号显示,不使用域名与服务名;
-p:显示 PID 和程序名;
-t:显示使用 TCP 协议端口的连接状况;
-u:显示使用 UDP 协议端口的连接状况;
-I:仅显示监听状态的连接;
-r:显示路由表;

使用实例:

#查看服务器上面所有正在运行的服务,以及对应端口
netstat -nltp
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值