正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配
grep、awk、sed等命令可以支持正则表达式
通配符用来匹配符合条件的文件名,通配符是完全匹配
ls、find、cp这些命令不支持正则表达式,所以只能使用shell自己的额通配符来进行匹配
GREP
1 | #Global Rugular Expression Print 全局正则表达式版本,强大的文本搜索工具,使用正则表达式搜索文本,并把匹配的行打印出来 |
PS
1 | #进程查看命令,显示瞬间进程(process)的动态 |
AWK
1 | awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或者多个文件或者其他命令的输出,支持用户自定义函数和动态正则表达式等。awk有很多内建的功能,比如数组、函数等 |
KILL
1 | kill |
sar
1 | System ActivityReporter系统活动情况报告 |
iostat
1 | I/O statitics的缩写,iostat工具将对系统的磁盘操作活动进行监视,它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况,同vmstat一样 |
wc
用来计算数字,利用wc指令我们可以计算文件的Byte数、字数或是列数
wc -l 只显示列数line
wc -w 只显示行数words
wc -c 只显示Bytes数1
### xargs
xargs 给其他命令传递参数的一个过滤器
#使用xargs执行mv 将 . 下后缀为.log的文件移动到test4文件夹下
find . -name “*.log” | xargs -i mv {} test4
#用grep命令在所有的普通文件中搜索hostname这个词
find . -type f -print | xargs grep “hostname”1
### chown
给用户组授权某个文件的权限
chown -R www:www floder1
2
3
4
5
### find
find . -name abc
find . -name abc?
fine . -name "abc*"
[root@localhost ~]# date +%Y/%m/%d-%H:%M:%S
2018/03/14-21:04:56
[root@localhost ~]# date
2018年 03月 14日 星期三 21:04:58 CST
[root@localhost ~]#
[root@localhost ~]# cal
三月 2018
日 一 二 三 四 五 六
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
[root@localhost ~]# cal 2018
2018
一月 二月 三月
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 3 4 5 6 1 2 3 1 2 3
7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10
14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17
21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24
28 29 30 31 25 26 27 28 25 26 27 28 29 30 31
[root@localhost ~]# cal 10 2018
十月 2018
日 一 二 三 四 五 六
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
[root@localhost ~]# echo $LANG
zh_CN.UTF-8
[root@localhost ~]# bc 计算器1
2
### init
init 0 关机
init 3 纯命令行
init 5 图形界面
init 6 重启1
2
### 用户和用户组
root@localhost ~]# ls -al
总用量 2560
dr-xr-x—. 7 root root 4096 3月 14 21:20 .
dr-xr-xr-x. 22 root root 4096 1月 8 10:41 ..
-rw——-. 1 root root 3334 11月 11 17:52 anaconda-ks.cfg
-rw——- 1 root root 12288 3月 6 13:24 .anaconda-ks.cfg.swp
-rw——-. 1 root root 14159 3月 14 21:20 .bash_history
-rw-r–r–. 1 root root 18 5月 20 2009 .bash_logout
-rw-r–r–. 1 root root 176 5月 20 2009 .bash_profile
[ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ][ 7 ]
[ 权 限][连接数][所有者][用户组][文件容量][修改日期][文件名]
连接数:有多少文件名连接到此节点
文件容量:默认单位为B1
2
- rwx rwx —
[1] [2] [3] [4]
文件类型 所有者权限 所有用户组权限 其他人对此人间权限
r 读 : 4
w 写 : 2
x 执行 : 1- 无权限
1
2
### 改变文件属性与权限
- 无权限
chgrp 改变文件所属用户组 change group
要被改变的组名必须要在/etc/group文件内存在才可以
chgrp [group] [file]
chown 改变文件所有者 change owner
chown [user] [file]
chown [user:group] [file] 同时修改用户组和所有者
chown [.group] [file] 单独修改用户组
chmod 改变文件权限 change
Linux文件的基本权限有9个分别是 owner、group、others 三种身份各有自己的read、write、execute权限
owner rwx 4+2+1 7
group rwx 4+2+1 7
others — 0+0+0 0
chmod -R 777 [file] 所有都是最高权限1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#### Linux目录配置标准FHS
| 可分享的 | 不可分享的
---|---|---
不变的 |/usr(软件放置处)| /etc(配置文件)
|/opt(第三方软件)|/boot(开机与内核文件)
---|---|---
可变动的| /var/mail(用户邮件信箱)| /var/run(程序相关)
|/var/spool/news(新闻组)|/var/lock(程序相关)
### 系统定时任务
__crontab命令:__
crontab -e创建
*****命令(分时日月周)
__at命令:__
一次执行
#at 2:00 tomorrow
at>/Home/Json/do_job
at>Crtl+d
### vim/vi 编辑器
一般模式:删除、复制、粘贴
切换编辑模式:i,I,o,O,a,A,r,R
切换命令模式:,/,?
移动光标:ctrl + f,crtl + b,0 home,$ end,G,gg,N +enter
查找替换:/word,?word,
:n1,n2s/word1/word2/g
删除复制粘贴:x,X、dd、ndd、yy、nyy、p、P、crtl+r,.
保存退出:wq
__配置:__
setnu,setnonu
### shell
赋予权限,直接执行
chmod + x test.sh
source 命令
编写基础:
#!/bin/sh
#指定脚本解释器
…
…
#编写具体功能1
2
3
4
5
6
7
8
9
##### 查看Linux版本
`cat /proc/version`
`uname -a`
`uname -r`
- 列出所有版本信息,
[root@localhost ~]# lsb_release -a
LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description: CentOS release 5.5 (Final)
Release: 5.5
Codename: Final
注:这个命令适用于所有的linux,包括RedHat、SUSE、Debian等发行版。
1 |
|
/etc/issue,例如如下:
[root@localhost ~]# cat /etc/issue
CentOS release 5.5 (Final)
Kernel r on an m
1 |
|
/etc/redhat-release ,例如如下:
[root@localhost ~]# cat /etc/redhat-release
CentOS release 5.5 (Final)1
2
- 查看系统是64位还是32位:
1.
getconf LONG_BIT or getconf WORD_BIT
[root@localhost ~]# getconf LONG_BIT
641
2
2、file /bin/ls
[root@localhost ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped1
2
`
3、lsb_release -a
[root@localhost ~]# lsb_release -a
LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description: CentOS release 5.5 (Final)
Release: 5.5
Codename: Final
4、或者是使用查看文件的方法。
vim /ect/issue