clock:显示系统时钟

hwclock:显示硬件时钟

       -s:读取硬件时钟到系统

       -w:读取系统时钟到硬件

命令的使用帮助:

内部命令:help COMMAND

外部命令:COMMAND --help

如何查看命令是不是内部命令:type COMMAND

whatis COMMAND 可以显示命令出现在哪个章节

man分章节:

1、用户命令(/bin,/usr/bin,/usr/local/bin)

2、系统调用

3、库调用

4、特殊文件(设备文件)

5、文件格式(配置文件的语法)

6、游戏

7、杂项

8、管理命令(/sbin,/usr/sbin,/usr/local/sbin)

MAN的介绍:

NAME:命令名称及功能简要说明

SYNOPSIS:用法说明,包括可用的选项

DESCRIPTION:命令功能详尽说明,可能包括每个选项的意义

OPTIONS:说明每个选项的意义

FILES:此命令相关的配置文件

EXAMPLES:事例说明

SEE ALSO:另外参照

翻屏:

向后翻屏:空格键

向前翻屏:b

向后翻一行:回车键

向前翻一行:k

查找功能:

/关键字:自前向后(n:下一个 N:上一个)

?关键字:自后向前

文件系统:

rootfs:根文件系统

/boot:系统启动相关文件,如内核、initrd、grub

/dev:设备文件

块设备:随机访问,数据块(如硬盘)

字符设备:线性访问,按字符问单位(如键 盘,显示器,鼠标)

设备号:主设备号,次设备号

/etc:配置文件

/home:用户家目录

/root:管理员的家目录

/lib:库文件

静态库:.a

动态库:.so(shared object)

/lib/modules:内核模块文件

/media:挂载点目录 移动设备

/mnt:挂载点目录,额外的临时文件系统

/opt:可选目录,第三方程序安装目录 

/proc:内核映射文件

/sys:伪文件系统,跟硬件设备相关的属性映射文件

/tmp:临时文件系统

/var:可变化的文件

/bin:可执行文件,用户命令

/sbin:管理命令

/usr:应用程序主要存放目录

目录管理:

mkdir:创建空目录

-p:连续创建目录 如/root/x/y/z

-v:显示创建的详细信息

mkdir -pv /test/{x/y,y}:在/test下分别创建 x下y目录和test下 y目录

mkdir -pv /test2/{a,d}_{b,c}:创建目录为a_b a_c d_b d_c

rm:删除目录

删除空目录

-p:

文件的创建和删除

touch:

-a

-m

-t

-c

复制和移动文件

cp:copy

cp 源 目标

-r -R:复制目录

-p:保留文件属主属组复制

-a:保留文件所有的属性 常用于备份

-P:保留连接自有的属性

-L:复制连接指向的文件

复制原则:

       一个文件到一个文件

      多个文件到一个目录

移动文件:

mv 源 目标

-f:强制覆盖

-t 先指定目标 再指定源

查看文本:cat 、tac、 more 、less 、head、tail

cat:连接并显示,可以接多个文件

-n :带行号显示

-E:带行结束符显示

more:分屏显示 只能向后翻

less:

head:查看前n行 默认n=10

tail:查看后n行

-f 查看文件尾部不退出,等待显示追加内容

文本处理:

cut、join、sed、awk

cut:

-d :指定字段分隔符 默认是空格

-f :指定要显示的字段

1,3 第一和第三个字段

1-3 显示1-3字段

例:cut -d :-f1  /etc/passwd 显示此文件的第一个字段

文本排序:sort

sort:

       -n 按照数值大小排序

-r 按照数值降序排序

-t 字段分隔符

-k 以哪个字段为准进行排序 例:sort -t : -k 3   /etc/passwd

-u 相同行只显示一次(相邻并且完全一样的行)

-f  忽略字符大小写

uniq:

-d 只显示重复的行

-D 重复的行都显示出来

-c 显示行重复的次数

文本统计:wc

wc:

-l 只显示行

-w 只显示单词

-c 字节数

-L 最长的一行包含多少个字符

字符处理命令 tr:转换或删除字符

tr

-d 删除某些字符

bash的特性

bash:

1、命令历史

2、管道、重定向

3、命令别名

4、命令行编辑

5、命令行展开

6、文件名通配

7、支持变量

8、支持编程

命令行编辑:

光标跳转

ctrl+a 跳到行首

ctrl+e 跳到行尾

ctrl+u 删除光标至行首

ctrl+k 删除光标至行尾

ctrl+l 清屏

命令历史:

查看命令历史:history

-c 清空整个命令历史

-d 清除单个命令历史 例:history -d 500 3 从第500个命令 往后删3个

-w 保存命令历史至历史文件

环境变量:

PATH:命令搜索路径

HISTSIZE:命令缓冲区大小

命令历史的使用技巧:

!n 执行第n条命令

!!       执行上一条命令

!字符串 例 !man

!$(类似按Esc,.) 引用前一个命令的参数 例vi !$

命令补全:

命令别名:

alias 别名=COMMAND

命令替换:

例 touch ./file-$(date +%F-%H-%M-%S).txt

bash支持的引号:

``:命令替换

“”:弱引用,可以实现变量替换

‘’:强引用,不完成变量替换

文件名通配:

*:任意长度的任意字符

?:任意单个字符

[]:匹配指定范围内的任意单个字符

[:space:]:空白字符

[:punct:]:标点符号

[:lower:]:小写字母

[:upper:]:大写字母

[:alpha:]:大小写字母

[:digit:]:数字

[:alnum:]:数字和大小写字母

#man 7 glob

r w x 

文件:

r:可读,可以看此文件类型

w:可写,可以编辑或删除此文件

x:可执行

目录:

r:可以对此目录执行ls列出内部文件

w:可以在此目录创建文件

x:可以使用cd切换进此目录,也可以使用ls -l 查看详细信息

用户管理:

useradd [options] USERNAME

-u 指定UID

-g 指定GID(基本组)

-G GID,... 指定附加组

-c “指定注释信息”

-d 指定家目录

-s 指定shell

-M 不创建家目录

-r 添加系统用户

userdel [选项] USERNAME(默认不删除家目录)

-r 连同家目录一起删

id:查看用户账号属性

finger:检索用户账号的信息

修改用户账号信息:

usermod

-u 改UID

-g 改基本组

-a -G 追加附加组 不使用-a 会覆盖原来的附加组

-c 修改注释信息

-d -m 修改家目录 -m会移动此前的文件至新的家目录

-s 改shell

-L 锁定用户

-U 解锁

chsh:改用户shell

chfn:修改注释信息

密码管理

passwd USERNAME

--stdin 标准输入读取密码

-l 锁定用户账号

-u 解锁

-d 删除用户密码

pwck:检查用户账号完整性

组管理:

创建组:

groupadd

-g 指定GID

-r 添加系统组

groupmod

-g 改GID

-n 改名字

groupdel

gpasswd 为组设密码

权限管理

chown:改变文件属主

-R 递归修改

--reference=/某个文件 file 把file的属主属组改的和某文件一样

chgrp:修改属组

-R 递归修改

--reference 

chmod :修改文件的权限

手动添加用户:

要求 :hive(5000,5000) 附加组 mygroup

改/etc/shadow /etc/passwd /etc/group 添加用户

cp -r /etc/skel /home/hive

chown -R hive:hive /home/hive

umask:遮罩码

666-umask 创建文件的权限(如果计算的文件有执行权限,则加1)

777-umask 创建目录的权限

登录式shell

su - USERNAME

su - l USERNAME

非登录式shell

su USERNAME

图形终端打开命令窗口

自动执行的shell脚本

bash的配置文件

全局配置

/etc/profile,/etc/profile.d/*.sh,/etc/bashrc

个人配置

~/.bash_file,~./bashrc

profile类的文件

设定环境变量

运行命令或脚本

bashrc类的文件

设定本地变量

定义命令别名

登录式shell如何读取配置文件

/etc/profile-->/etc/profile.d/*.sh-->~./bash_profile-->/etc

/bashrc

非登录式shell如何读取配置文件

~./bashrc-->/etc/basrc-->/etc/profile.d/*.sh

系统设定

默认输出设备:标准输出 STDOUT,1 显示器

默认输入设备:标准输入 STDIN,0 键盘

标准错误输出:STDERR,2 显示器

I/O重定向:

linux:

>覆盖输出重定向

>>追加输出

set -C禁止对已存在文件进行输出重定向

set +C关闭上述功能

>|强制覆盖输出

2> 重定向错误输出

2>>追加错误输出

&>重定向标准输出或错误输出至同一个文件

< 输入重定向

<< 在此处生成文档

管道 |

tee:保存成文件并能显示在屏幕上 例:echo "hello" | tee /tmp/aa

文本查找

grep:根据模式搜索文本,将符合模式的行显示出来

-i:忽略大小写

--color:带颜色显示

-v:显示没有被模式匹配的行

-o:只显示被匹配的字符串

-E:扩展的正则表达式

-A #:匹配行的后#行一起显示

-B # :匹配行的前#行一起显示

-C #:匹配行的前后#行一起显示

正则表达式:(默认工作在贪婪模式)

. 任意单个字符

[]:匹配范围内的任意字符

[^]:匹配指定范围外的任意字符

字符集:[:digit:] .....

匹配次数:

*:匹配其前面的字符任意次

.*:任意长度的任意字符

?:匹配其前面的字符1次或0次

\{m,n\}:匹配其前的字符至少m次,至多n次

锚定位置:

^:锚定行首

$:锚定行尾

^$:空白行

\<或\b:其后的任意字符必须作为单词首部出现

/>或\b:其前面的字符必须作为单词的尾部出现

分组:

\(\):

\(ab\)*    ab可以出现任意次

   

扩展正则表达式:egrep

字符匹配:

.

[]

[^]

次数匹配:

*:

?:

+:其前字符至少一次

{m,n}:匹配其前的字符至少m次,至多n次

锚定字符

^

$

\<

\>

分组:

()

\1,\2,\3 ...

或者:

|:or ;;例 a|b