Linux加强
查找
grep 文本搜索工具,使用正则表达式搜索文本 grep [option] pattern [file]
- ps -ef | grep sshd 查找指定 ssh 服务进程
- ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除 grep 本身
- ps -ef | grep sshd –c 查找指定进程个数
- cat a.txt | grep -f b.txt 输出a.txt文件中含有b.txt文件中读取出的关键词的内容
- cat a.txt | grep -nf b.txt 输出a.txt文件中含有b.txt文件中读取出的关键词的内容 并显示行号
- grep -n ‘linux’ test.txt 从文件中查找关键词 并显示行号
- cat test.txt | grep ^u 输出以U开头的行
- cat test.txt | grep 1 输出非u开头的行
- cat test.txt | grep haha$ 输出以haha结尾的行
- cat test.txt | grep -E “haha|xixi” 输出包含haha或xixi的行
find 在目录结构中搜索文件
并对搜索结果执行指定的操作 默认搜索当前目录及其子目录 遍历硬盘
- find . -name “*log” -ls 当前目录查找log结尾的文件,并显示
- find *install * 当前目录文件名包含install的文件
- find /root/ -perm 777 查找/root/目录下权限为777的文件
- find . -type f -name “*log” 查找当前目录,以log结尾的普通文件
- find . type d | sort 查找当前所有目录并排序
- find . -size +100M 查找当前目录大于100M的文件
locate linux 万物皆文件 想要快速查找某些文件 可以建立索引库 linux会自动创建这个数据库
快速的搜寻档案系统内是否有指定的档案 /var/lib/locatedb
- updatedb
- locate /etc/sh 搜索etc目录下所有以sh开头的文件
- locate pwd 查找和pwd相关的所有文件
whereis 定位可执行文件 源代码文件 帮助文件在系统的位置 通过locatedb 而不是遍历硬盘
whereis ls 将和ls文件相关的文件都查找出来
结果 ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz
whereis -m ls 查找ls命令说明文档路径
whereis -s ls 查找ls命令源文件
which 在 PATH变量指定的路径中,搜索某个系统命令的位置, 并且返回第一个搜索结果
- which pwd 查找pwd命令所在路径
- which java 查找path中java的路径
su sudo
su : 用户间的切换 root转普通用户不需要密码 普通用户转其他用户需要密码
- useradd xxx 创建新的用户
- passwd xxx 给xxx编写密码
- exit 返回之前的用户
sudo : 为想使用root权限的普通用户设计, 并且不需要知道root密码
需要root用户在/etc/sudoers文件中配置 xxx ALL=(ALL) ALL 这样 xxx用户就可拥有root所有权限 第一个 ALL 是指网络中的主机,第二个括号里的 ALL 是指目标用户(以这个用户的身份执行) 最后一个 ALL 是指命令名了。
- hrh node-1=(hhrh) /bin/kill 只允许hrh用户在node-1上以hhrh的身份执行kill命令
- hrh node-1=NOPASSWD: /bin/kill 允许hrh用户在node-1上以root的身份执行kill命令 执行时免密
挂载
挂载是指将一个设备挂接到一个已存在的目录上 常用类型有:光盘镜像 iso9660、linux 文件网络共享 nfs 等等
因为iso不能直接打开查看内容
命令格式:mount [ -t vfstype ][-o options] device dir -t vfstype 指定文件系统的类型。mount 会自动选择正确的类型。
-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
device 要挂接(mount)的设备
dir 设备在系统上的挂接点(mount point)
- mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/ 将设备/dev/cdrom 挂载到 挂载点/mnt/cdrom 中
- mount -o loop /root/Centos.iso /mnt/centos/ 挂载光盘镜像文件
- umount /mnt/centos 卸载(弹出)
本地yum源
yum是一个软件包管理器, 基于RPM包管理, 能从指定的服务器自动下载RPM包并且安装,并且自动处理依赖关系,安装所有依赖软件包
yum源分为网络yum源和本地yum源
配置文件 : /etc/yum.conf 包含主要配置信息 /etc/yum.repos.d/下的xx.repo后缀文件
配置本地yum源
挂载centos.iso镜像 到/mnt/local_yum (其实只需要里面的两个文件夹 )
将/etc/yum.repos.d/ 下的配置文件改名(逻辑删除)
赋值base 一份 改名为Cent-local.repo
在local中修改
[local_yum]
name=This is a local repo
baseurl=file:///mnt/local_yum 指定挂载镜像的文件及位置
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6更新yum配置
- yum clean all
- yum repolist all
系统服务管理
- service --status-all 查看系统所有的后台服务进程
- service sshd status/stop/start/restart
- chkconfig httpd on 开机自启
- chkconfig httpd off 开机不自启
网络管理
vi /ect/sysconfig/network 修改主机名
vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改 ip 网关 dns mac
vi /etc/hosts 域名映射
netstat -nlpt 获取进程名 进程号 一级用户ID
netstat 是一款命令行工具,用于列出系统上所有的网络 socket连接情况,
包括 tcp, udp 以及 unix socket,另外它还能列出处于监听状态(即等待接入
请求)的 socket。-a (all)显示所有选项,默认不显示 LISTEN 相关
-t (tcp)仅显示 tcp 相关选项
-u (udp)仅显示 udp 相关选项
-n 禁用域名反向解析功能,只显示 ip
-l 仅列出有在 Listen (监听) 的服务状态
-p 显示建立相关链接的进程信息
-ep 可以同时查看进程名和用户名
crontab定时器配置
crontab 是 Unix 和 Linux 用于设置周期性被执行的指令
安装 yum install crontabs
服务 service crond start/reload/…
crontab [-u user] file
crontab [-u user][ -e | -l | -r ]
参数说明:
-u user:用来设定某个用户的 crontab 服务
file:file 是命令文件的名字,表示将 file 做为 crontab 的任务列表文件
并载入 crontab。
-e:编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前
用户的 crontab 文件。
-l:显示某个用户的 crontab 文件内容。如果不指定用户,则表示显示当前
用户的 crontab 文件内容。
-r:删除定时任务配置,从/var/spool/cron 目录中删除某个用户的 crontab
文件,如果不指定用户,则默认删除当前用户的 crontab 文件。-i:在删除用户的 crontab 文件时给确认提示。
cd /root 进入root目录(目录随便)
vi date.txt 编辑date文件
* * * * * date >> /root/date.txt 编辑实例 每分钟追加时间到date.txt
crontab date.txt 开始定时任务
tail -f date.txt 动态查看文件内容
^ u ↩︎