Linux(六) 之 基本命令(下)

一. Linux基本命令组:
上篇”Linux(三) 之 基本命令(上)”介绍了:
1. 查看文件内容: more less more head tail cat
2. 查看文件属性: ls type file ldd whereis pwd
3. 操作文件: cp mv touch rm mkdir rmdir
4. 操作文件内容: vi sort grep cut wc
5. 查看命令帮助: man help
6. 其他: clear cd echo

本篇将介绍:
7. 用户和组的管理: useradd userdel groupadd groupdel usermod id passwd chown chmod
8. 操作文件内容: sed print awk
9. 系统命令: ps netstat ifconfig route
10. 时间命令: clock hwclock date cal

下一篇介绍
11. 安装: yum rpm
12. 管道,重定向

二. 用户和组的管理
1.useradd groupadd userdel groupdel见名知其意
这里写图片描述

2.id查看用户的相关组属性
这里写图片描述

3.usermod 修改用户属性,passwd设定密码
链接: 相关usermod的操作和解释
这里写图片描述
只有设定了密码的用户才能开始被使用
这里写图片描述

4.chmod设置文件属性:
上几篇博客已经解释了文件的属性(链接)
chmod有两种设置文件属性的用法:
1) 根据u , g , o指定(user,group,other)
实验的时候,这东西有点奇怪,和预想的不一样,有人知道吗?
这里写图片描述
2) 根据数字进行设定,比如chmod 543 file.
把上面的543化为二进制: 101100011–>r-xr—wx 这样一个转换就得到file的属性了.这种设定方式很方便.
这里写图片描述

5.chown改变文件的所属性,比如file属于root用户,root组下文件
chown group1:user1 file 就将file改为属于user1用户,group1组下文件
这里写图片描述
三. 操作文件内容
1.sed,字符串处理工具
先看看一段命令

#建立测试数据
touch sed.test
vi sed.test

sed.test文件中的数据为:

name    id
a       1
b       2
aa      3
ace     4
cef     5
abd     6

1) 没有设定参数,结果和 cat sed.test相同
这里写图片描述
2) #d去除第#列,然后展示
#i\str在第#列前插入str
#a\str在第#列后插入str
也可以是#,?表示从#行,到?行都操作
这里写图片描述
3) 字符串的替换:@ / !是可以用来划分词的符号,gi表示全局匹配
sed ‘s/e/elf/gi’ sed.test
sed -r ‘s@\t([0-9])@\t\101@gi’ sed.test
这里写图片描述

2.awk编程
理解awk主要理解其三段式编程,
BEGIN{}写第一段程序
{}写中间遍历段程序
END{}写结束段程序
比如, 有一个题目,求a,b,c各自的和:
这是我第一次求解
这里写图片描述
这是第二次求解
这里写图片描述

代码如下:

 awk 'BEGIN {count=0;}
{sum[$1] = sum[$1]+$2;word[count]=$1;count=count+1}
END{len = length(sum);for(i=0;i<len;i++) print word[i]"\t"sum[word[i]];}' \
a2.t
awk '{name[$1]=name[$1]+$2} END{for(i in name)print i "\t" name[i]}' a2.t

下面是我的相关笔记:

awk:
-F 指定预定分割符,默认为空白
awk -F':' '{print $4'} t1
awk '{print $1}' awk.t
awk '{print $1"\t"$2}' awk.t
支持三段式:
BEGIN预处理
{}中间处理
END尾处理
查找:
awk -F: '/root/{print $7}' /etc/profile

awk变量:
awk '{print NR"\t"NF"\t"$0}' awk.t

三段式和变量结合的过程
awk 'BEGIN {count=0;print "...",count}
{count=count+1;print $0};
END {print count}' awk.t

awk -F':' 'BEGIN {count=0}
{name[count]=$1;count++;};
END{for(i=0;i<NR;i++) print i,name[i]}'\
awk.t

四. 系统命令
1. ps -e:查看进程
2. netstat : 查看端口号
3. ifconfig: 查看网络连接和配置
4. route -n: 查看路由配置

五. 时间命令
1. clock和hwclock一个意思,查看硬件时钟
2. date查看系统当前时间和日期
3. cal查看日历

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值