本文共 25285 字,大约阅读时间需要 84 分钟。
计算机系统是由硬件系统和软件系统两大部分组成
硬件系统是由运算器、控制器、存储器、输入设备、输出设备,五大部分组成,每一个部分分别按照要求执行特定的基本功能。 运算器:运算器的主要功能是对数据进行各种运算。 控制器:控制器是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊的进行操作及处理。 存储器:存储器的主要功能是存储程序和各种数据信息,并能在计算机运行过程中,高速自动的完成程序或数据的存取 输入设备:用来向计算机输入各种原始数据和程序的设备叫输入设备。 输出设备:从计算机输出各类数据的设备叫做输出设备。 软件系统是由系统软件和应用软件组成。Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者Linus Torvalds。
Linux发行版为许多不同的目的而制作, 包括对不同计算机结构的支持, 对一个具体区域或语言的本地化,实时应用,和嵌入式系统,甚至许多版本故意地只加入免费软件。已经有超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个。Linxu帮助获取方法有许多种类,在获取帮助信息时,内部命令和外部命令的获取方式是有区别的:
内部命令:help COMMAND
外部命令:有以下几种途径
命令格式:
man [章节] COMMAND
章节共有9个每个章节代表不同的内容章节号 | 内容 |
---|---|
1 | 用户命令(使用者在shell环境中可以操作的指令) |
2 | 系统调用(系统核心可以调用的函数和工具) |
3 | c库调用(常用的函数和函数库) |
4 | 设备文件及特殊文件 |
5 | 配置文件格式 |
6 | 游戏 |
7 | 杂项 |
8 | 管理类的命令 |
9 | Linux内核API |
man的内容分成几个部分
名称 | 说名 |
---|---|
NAME | 简单的指令名称及说明 |
SYNOPSIS | 指令的语法 |
DESCRIPTION | 指令的完整说明 |
OPTIONS | 指令的相关选项及说明 |
COMMANDS | 程序在执行时可下达的指令 |
FILES | 这个程序资料可以参考的其他档案 |
SEE ALSO | 一些可以参考的和指令相关的其他内容 |
EXAMPLE | 一些可以参考的范例 |
man命令的一些简单操作方法
按键 | 说明 |
---|---|
空格 | 向文件尾部翻一屏 |
b | 向文件首部翻一屏 |
d | 向文件尾部翻半屏 |
u | 向文件首部翻半屏 |
j | 向文件尾部翻一行 |
k | 向文件首部翻一行 |
q | 退出 |
数字# | 跳转到第#行 |
1G | 跳转到文件首部 |
G | 跳转到文件尾部 |
man文件内搜索关键字的方法
按键 | 说明 |
---|---|
/KEYWORD | 在文档内从当前位置向尾部搜索KEYWORD关键字,并且不区分大小写 |
?KEYWORD | 在文档内从当前位置向首部搜索KEYWORD关键字,兵器不区分大小写 |
n | 按照与搜索关键字方向相同的方法,查找下一个关键字 |
N | 按照与搜索关键字方向相反的方向,查找下一个关键字 |
man命令的一些相关选项
-f COMMAND 搜索系统中哪些与COMMAND相关的章节 -k COMMAND 搜索与关键字有关的帮助文件 示例:[root@centos7 ~]# man -f passwd 此命令同whatis passwdpasswd (1) - update user's authentication tokenssslpasswd (1ssl) - compute password hashespasswd (5) - password file[root@centos7 ~]# man -k passwd chpasswd (8) - update passwords in batch modefgetpwent_r (3) - get passwd file entry reentrantlygetpwent_r (3) - get passwd file entry reentrantlygpasswd (1) - administer /etc/group and /etc/gshadowgrub2-mkpasswd-pbkdf2 (1) - Generate a PBKDF2 password hash.lpasswd (1) - Change group or user password
注意:
使用-k,-f选项时首先需要建立资料库才行,此时需要执行mandb(Centos7),makewhatis(makewhatis)符号 | 含义 | 颜色 |
---|---|---|
- | 普通文件 | 白色 |
d | 目录文件 | 蓝色 |
b | 块文件 | ××× |
c | 字符设备 | ××× |
l | 符号链接文件 | 浅蓝色 |
p | 管道文件 | |
s | 套接字文件 | 紫色 |
修改此类文件颜色方法:编辑/etc/DIR_COLORS
pwd [OPTION]...
说明:
打印当前工作目录选项 | 说明 |
---|---|
-P | 显示真实的物理路径 |
-L | 显示链接路径(默认) |
示例:
[root@centos7 bin]# ll -d /bin /bin为/usr/bin的软链接lrwxrwxrwx. 1 root root 7 Mar 5 21:08 /bin -> usr/bin[root@centos7 bin]# pwd 默认直接显示链接路径/bin[root@centos7 bin]# pwd -P 显示真实的物理路径而不是链接路径/usr/bin
补充:
绝对路径:绝对路径是指从根开始到所要指定的文件的完整的路径名称,从/开始写路径 相对路径:相对路径是指相对于当前工作目录到目标目录的位置所表示出的一种路径方法,不从/开始写路径 basename:基名 dirname:路径名 示例[root@centos7 bin]# cd /etc/sysconfig/ 完整路径名[root@centos7 sysconfig]# cd ../../home 相对路径名[root@centos7 home]#[root@centos7 bin]# basename /etc/sysconfig/ 取出路径中的基名sysconfig[root@centos7 bin]# dirname /etc/sysconfig/ 取出路径中的目录名/etc
命令格式:
cd /PATH/TO/DIRNAME
说明:
改变当前工作目录选项 | 说明 |
---|---|
-P | 改变目录到物理路径的目录而非链接 |
示例:
以/bin目录为例[root@centos7 bin]# cd /bin [root@centos7 bin]# pwd/bin[root@centos7 bin]# cd -P /bin 跳转至物理路径[root@centos7 bin]# pwd/usr/bin
命令格式:
ls [OPTION]... [FILE]...
说明:
显示目录下的内容选项 | 说明 |
---|---|
-a | 包含隐藏文件 |
-l | 显示额外的信息 |
-h | 文件大小显示为可读的信息 |
-R | 目录递归通过 |
-ld | 目录和符号链接信息 |
-1 | 文件分行显示 |
–S | 按从大到小排序 |
–t | 按mtime排序 |
–u | 配合-t选项,显示并按atime从新到旧排序 |
–U | 按目录存放顺序显示 |
–X | 按文件后缀排序 |
示例:
[root@centos7 /]# ls -a 显示目录下所有文件包括隐藏文件. bin data etc lib media opt root sbin sys tmp var.. boot dev home lib64 mnt proc run srv testdir usr[root@centos7 /]# ls -l 显示文件的详细信息total 20lrwxrwxrwx. 1 root root 7 Mar 5 21:08 bin -> usr/bindr-xr-xr-x. 5 root root 4096 Mar 5 21:14 boot...[root@centos7 /]# ls -R /home 递归显示文件/home:masuri/home/masuri:[root@centos7 /]# ls -ld /home 显示目录自身属性drwxr-xr-x. 3 root root 20 Mar 5 21:13 /home[root@centos7 /]# ls -1 文件在一列中显示binboot...[root@centos7 /]# ls -lS 按照文件大小从大到小显示total 20drwxr-xr-x. 138 root root 8192 Mar 8 16:27 etcdr-xr-xr-x. 5 root root 4096 Mar 5 21:14 bootdrwxrwxrwt. 14 root root 4096 Mar 8 15:56 tmpdrwxr-xr-x 19 root root 3300 Mar 7 16:10 devdrwxr-xr-x 36 root root 1200 Mar 8 13:11 run...[root@centos7 /]# ls -lt 按照文件的修改时间从新到旧进行显示total 20dr-xr-xr-x 13 root root 0 Mar 8 16:54 sysdrwxr-xr-x. 138 root root 8192 Mar 8 16:27 etcdrwxrwxrwt. 14 root root 4096 Mar 8 15:56 tmpdr-xr-x---. 5 root root 242 Mar 8 15:55 rootdrwxr-xr-x 36 root root 1200 Mar 8 13:11 run...[root@centos7 /]# ls -lut 按照访问时间从新到旧排序total 20drwxr-xr-x 19 root root 3300 Mar 8 16:54 devdrwxr-xr-x. 3 root root 42 Mar 8 16:54 datadrwxr-xr-x. 138 root root 8192 Mar 8 16:44 etcdrwxr-xr-x. 13 root root 155 Mar 8 15:56 usrdr-xr-x---. 5 root root 242 Mar 8 15:56 rootlrwxrwxrwx. 1 root root 7 Mar 8 13:08 lib -> usr/liblrwxrwxrwx. 1 root root 9 Mar 8 13:08 lib64 -> usr/lib64drwxr-xr-x. 20 root root 282 Mar 7 15:06 vardr-xr-xr-x 150 root root 0 Mar 7 14:01 proc[root@centos7 /]# ls -U 按字母顺序排序boot dev run etc var usr sbin lib64 media opt testdirdata proc sys root tmp bin lib home mnt srv[root@centos7 data]# ls -X 按照后缀归类aa -h a.sh b.sh c.txt d.txt e.txt f.txt test.txt[root@centos7 ~]# ls -lh 将文件大小显示为可读的信息total 8.0K-rw-r--r-- 1 root root 0 Mar 7 15:31 342-rw-r--r-- 1 root root 132 Mar 8 15:55 echo---------- 1 root root 1.3K Mar 7 15:35 shadow
命令格式:
stat /PATH/TO/FILE
说明:
显示文件的元数据示例:
[root@centos7 bin]# stat /etc/passwd File: ‘/etc/passwd’ Size: 2265 Blocks: 8 IO Block: 4096 regular fileDevice: 802h/2050d Inode: 135090575 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2019-03-08 13:08:40.974021999 +0800Modify: 2019-03-05 21:13:55.465984891 +0800Change: 2019-03-05 21:13:55.465984891 +0800 Birth: -
其他:
参数 | 说明 |
---|---|
atime | 访问时间,当文件被读时时间发生改变 |
mtime | 修改时间,当文件内容被修改时时间发生改变 |
ctime | 状态时间,当文件元数据发生改变时时间会发生改变 |
命令格式:
cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE...
说明:
复制文件或目录到目标目录选项 | 说明 |
---|---|
-i | 交互式覆盖前提示 |
-n | 不覆盖 |
-r,-R | 递归复制目录及内部所有内容 |
-a | 归档,相当于-dR --preserv=all |
-d | 不复制源文件,只复制链接名 |
-p | 等同于--preserv=mode,ownership,timestamp |
-v | 显示详细过程 |
-f | 强制 |
-u | --update只复制源比目标更新文件或目录不存在的文件 |
-b | 目标存在,覆盖前先备份,形式为filename~ |
--bakup=numbered | 目标存在,覆盖前先备份加数字后缀 |
示例:
复制文件[root@centos7 data]# cp /etc/passwd .[root@centos7 data]# lspasswd
覆盖文件
[root@centos7 data]# cp -i /etc/passwd .cp: overwrite ‘./passwd’? y[root@centos7 data]# lspasswd
当文件存在时不覆盖文件
[root@centos7 data]# cp /etc/issue .[root@centos7 data]# lsissue passwd[root@centos7 data]# echo "hello world" >> /etc/issue[root@centos7 data]# cat /etc/issue\SKernel \r on an \mon \lhostname is \ntime is \thello world[root@centos7 data]# cp -n /etc/issue .[root@centos7 data]# cat ./issue\SKernel \r on an \mon \lhostname is \ntime is \t
递归复制
[root@centos7 data]# cp -r /etc /data[root@centos7 data]# ls /data/etcabrt exports kdump.conf PackageKit servicesadjtime exports.d kernel ...[root@centos7 data]#
复制链接
[root@centos7 data]# cp -d /bin .[root@centos7 data]# lltotal 20lrwxrwxrwx 1 root root 7 Mar 9 13:22 bin -> usr/bin
备份后复制1
[root@centos7 data]# lsbin etc issue passwd[root@centos7 data]# cp -b /etc/passwd .cp: overwrite ‘./passwd’? y[root@centos7 data]# lsbin etc issue passwd passwd~ 将原文件备份为passwd~
注意:此方法备份后若再次备份会将passwd~覆盖
备份后复制2
[root@centos7 data]# cp --backup=numbered /etc/passwd .cp: overwrite ‘./passwd’? y[root@centos7 data]# lsbin etc issue passwd passwd~ passwd.~1~
注意:用此方法备份后若再次备份不会覆盖上一次的备份内容而是新生成一个.~#~后缀的文件进行备份然后再复制 其他: | 源\目标 | 不存在 | 存在且为文件 | 存在且为目录 |
---|---|---|---|---|
一个文件 | 新建DEST,并将STC中内容填充至DEST中 | 将SRC中的内容覆盖至DEST中 | 在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中 | |
多个文件 | error | error | 在DEST下新建与原文件同名的文件,并将原文件内容复制进新文件中 | |
目录 | 创建指定DEST同名目录,复制SRC目录中所有文件至DEST下 | error | 在DEST下新建与原目录同名的目录,并将SRC中的内容复制到新目录中 |
命令格式:
mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE...
说明:
移动或重命名文件选项 | 说明 |
---|---|
-i | 交互式 |
-f | 强制 |
-b | 目标存在先备份后在移动 |
-u | --update只移动源比目标更新文件或不存在的文件 |
-v | 显示详细过程 |
示例:
移动文件[root@centos7 data]# mkdir test[root@centos7 data]# lsbin etc issue passwd passwd~ passwd.~1~ test[root@centos7 data]# mv issue test[root@centos7 data]# ls /data/testissue
备份后移动
[root@centos7 data]# cp /etc/issue .[root@centos7 data]# mv -b issue testmv: overwrite ‘test/issue’? y[root@centos7 data]# ls /data/testissue issue~ <---备份后的文件
命令格式:
rm [OPTION]... FILE...
说明:
删除(慎用)选项 | 说明 |
---|---|
-i | 交互式 |
-f | 强制删除 |
-r | 递归 |
示例:
强制递归删除[root@centos7 data]# rm -rf /data/test[root@centos7 data]# lsbin etc passwd passwd~ passwd.~1~
注意:
生产环境中建议将不用的数据移动到一个专用目录中,不建议直接使用rm命令删除,可以将rm定义为mv的别名具体操作如下:[root@centos7 data]# mkdir /hsz[root@centos7 data]# echo 'alias rm='mv -t /hsz'' >> ~/.bashrc[root@centos7 data]# . ~/.bashrc[root@centos7 data]# lsbin etc passwd passwd~ passwd.~1~[root@centos7 data]# rm bin[root@centos7 data]# lsetc passwd passwd~ passwd.~1~[root@centos7 data]# ls /hszbin[root@centos7 data]#
命令格式:
tree [-acdfghilnpqrstuvxACDFQNSUX] [-L level [-R]] [-H baseHREF] [-T title] [-o filename] [--nolinks] [-P pattern] [-I pattern] [--inodes] [--device] [--noreport] [--dirsfirst] [--version] [--help] [--filelimit #] [--si] [--prune] [--du] [--timefmt format] [directory ...]
说明:
显示目录树结构选项 | 说明 |
---|---|
-d | 只显示目录 |
-L level | 显示指定的层级数目 |
-P pattern | 只显示指定pattern匹配到的路径 |
示例:
[root@centos7 /]# tree /data/data├── passwd├── passwd~└── passwd.~1~
命令格式:
mkdir [OPTION]... DIRECTORY...
说明:
创建目录选型 | 说明 |
---|---|
-p | 当上级目录不存在时自动创建上级目录 |
-v | 显示详细信息 |
-m MODE | 创建目录时指定权限 |
示例:
创建多级目录[root@centos7 /]# mkdir -pv /test1/test2/test3mkdir: created directory ‘/test1’mkdir: created directory ‘/test1/test2’mkdir: created directory ‘/test1/test2/test3’
创建目录并添加权限
[root@centos7 /]# mkdir -m 777 /data/test4[root@centos7 /]# ll -d /data/test4drwxrwxrwx 2 root root 6 Mar 9 14:42 /data/test4
命令格式:
rmdir [OPTION]... DIRECTORY...
说明:
删除空目录选项 | 说明 |
---|---|
-p | 递归删除父空目录 |
-v | 显示详细信息 |
示例:
[root@centos7 data]# rmdir -pv /test/test1/test2/test3rmdir: removing directory, ‘/test/test1/test2/test3’rmdir: removing directory, ‘/test/test1/test2’rmdir: removing directory, ‘/test/test1’rmdir: removing directory, ‘/test’rmdir: removing directory, ‘/’
inode表内存储了文件的元数据,包括文件权限、属主属组、文件大小、访问时间、修改时间、元数据变更时间和真正的数据存储位置的指向。
cp:分配一个空的inode号,在inode表中生成新条目在目录中创建一个目录项,将名称与inode编号关联拷贝数据生成新文件
rm:链接数递减,释放inode号,把数据块标记为空闲。删除目录项,数据不会马上被删除,当另一个文件使用数据块时将被覆盖 mv:移动的目标和源在同一文件系统,用新的文件名创建相对应的新目录项,删除旧的文件名,不影响磁盘上的数据位置,若源和目标不在同一文件系统,mv执行效果相当于cp+rm硬链接
硬链接就是在同一文件系统内,不同名字,inode号和磁盘数据位置相同的一种文件。当硬链接被创建时文件的链接数+1,当文件被删除时,链接数-1,当链接数为0时,该文件被删除,硬链接不能跨分区。命令格式:ln filename [linkname]
示例:
[root@centos7 data]# ll passwd-rw-r--r-- 1 root root 2265 Mar 9 13:32 passwd 链接数为1[root@centos7 data]# ln passwd passwd1[root@centos7 data]# ll passwd passwd1-rw-r--r-- 2 root root 2265 Mar 9 13:32 passwd-rw-r--r-- 2 root root 2265 Mar 9 13:32 passwd1 链接数为2,其余都一样
软链接:
软链接是一个链接指向另一个文件,他可以对目录进行链接,也可以跨分区创建(但跨分区后其无法指向源文件),其文件大小为指向的路径字符串的长度,创建或删除不会增加或减少目标文件inode的引用计数。 命令格式:ln -s filename [linkname]
示例:[root@centos7 data]# ln -s passwd /passwd[root@centos7 data]# ll passwd /passwd-rw-r--r-- 2 root root 2265 Mar 9 13:32 passwdlrwxrwxrwx 1 root root 6 Mar 9 19:53 /passwd -> passwd
符号 | 含义 |
---|---|
* | 匹配零个或多个字符 |
? | 匹配任意单个字符 |
~ | 当前用户家目录 |
~masuri | 用户masuri家目录 |
~+ | 当前工作目录 |
~- | 前一个工作目录 |
[0-9] | 匹配数字范围 |
[a-z] | 匹配小写字母 |
[A-Z] | 匹配大写字母 |
[wang] | 匹配列表中的任意字符 |
[^wang] | 匹配除列表中字符外的任意字符 |
[:digit:] | 任意数字,相当于0-9 |
[:lower:] | 任意小写字母 |
[:upper:] | 任意大写字母 |
[:alpha:] | 任意大小写字母 |
[:alnum:] | 任意字母或数字 |
[:blank:] | 水平空白字符 |
[:space:] | 水平或垂直空白字符 |
[:punct:] | 标点符号 |
[:print:] | 可打印字符 |
[:cntrl:] | 控制字符 |
[:graph:] | 图形字符 |
[:xdigit:] | 十六进制字符 |
命令格式:
alias [-p] [name[=value] ...]
示例:
[root@centos7 ~]# alias cdnet='cd /etc/sysconfig/network-scripts/'[root@centos7 ~]# cdnet[root@centos7 network-scripts]#
注意:alias命令所定义的别名只在当先shell环境内有效,退出后就会自动失效,若要使别名永久有效需要将其写入用户家目录下的.bashrc或者/etc/bashrc(此文件对全局有效不推荐)文件中。
示例:[root@centos7 ~]# vim .bashrc # .bashrc# User specific aliases and functionsalias rm='rm -i'alias cp='cp -i'alias mv='mv -i'alias cdnet='cd /etc/sysconfig/network-scripts/' # Source global definitionsif [ -f /etc/bashrc ]; then . /etc/bashrcfi
注意:取消别名方法unalias COMMAND
命令格式:
bc [ -hlwsqv ] [long-options] [ file ... ]
示例:
[root@centos7 ~]# bcbc 1.06.95Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.This is free software with ABSOLUTELY NO WARRANTY.For details type `warranty'. 1+2 输入需要计算的数字3 显示结果obase=2 输出2进制,做2进制转换10 1010 obase=16 输出16进制ibase=10 输入10进制1610^C ctrl+c退出bc计算器(interrupt) Exiting bc.
命令格式:
cal [options] [[[day] month] year
示例:
[root@centos7 ~]# cal 不带参数显示当前月 March 2019 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 910 11 12 13 14 15 1617 18 19 20 21 22 2324 25 26 27 28 29 3031[root@centos7 ~]# cal 2019 带年份显示全年月份 2019 January February March Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 1 2 6 7 8 9 10 11 12 3 4 5 6 7 8 9 3 4 5 6 7 8 913 14 15 16 17 18 19 10 11 12 13 14 15 16 10 11 12 13 14 15 1620 21 22 23 24 25 26 17 18 19 20 21 22 23 17 18 19 20 21 22 2327 28 29 30 31 24 25 26 27 28 24 25 26 27 28 29 30 31 April May June Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 4 1 7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 814 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 1521 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 2228 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29 30 July August September Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 7 7 8 9 10 11 12 13 4 5 6 7 8 9 10 8 9 10 11 12 13 1414 15 16 17 18 19 20 11 12 13 14 15 16 17 15 16 17 18 19 20 2121 22 23 24 25 26 27 18 19 20 21 22 23 24 22 23 24 25 26 27 2828 29 30 31 25 26 27 28 29 30 31 29 30 October November December Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 1 2 3 4 5 6 7 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 1413 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 2120 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 2827 28 29 30 31 24 25 26 27 28 29 30 29 30 31[root@centos7 ~]# cal 5 2019 显示指定年月 May 2019 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 1819 20 21 22 23 24 2526 27 28 29 30 31
命令格式:
hwclock [function] [option...]
选项 | 说明 |
---|---|
-s | 以硬件时间为准修改系统时间 |
-w | 以系统时间为准修改硬件时间 |
示例:
以硬件时间为准修改系统时间[root@centos7 ~]# dateTue Mar 5 14:30:30 CST 2019[root@centos7 ~]# clockFri 08 Mar 2019 02:33:42 PM CST -0.758330 seconds[root@centos7 ~]# clock -s[root@centos7 ~]# dateFri Mar 8 14:34:04 CST 2019
以系统时间为准修改硬件时间
[root@centos7 ~]# date "030212102019.20"Sat Mar 2 12:10:20 CST 2019[root@centos7 ~]# clock -w[root@centos7 ~]# clockSat 02 Mar 2019 12:10:55 PM CST -0.678871 seconds
命令格式:
date [OPTION]... [+FORMAT]date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
选项 | 说明 |
---|---|
-d | 显示指定的日期 |
-s | 设置系统时间 |
%F | 显示格式为 年-月-日 |
%T | 显示格式为 小时:分钟:秒 |
%H | 显示小时0-24 |
%M | 显示分钟0-60 |
%S | 显示秒0-60 |
%m | 显示月份1-12 |
%y | 显示两位年份 |
%Y | 显示四位年份 |
%D | 显示时间为 日/月/年 |
%s | 显示从1970年1月1日至今的秒数 |
示例:
[root@centos7 ~]# date +"%Y-%m-%d %H:%M:%S" 分别用参数显示2019-03-02 12:41:58[root@centos7 ~]# date +"%F %T" 用%F和%T显示2019-03-02 12:44:11[root@centos7 ~]# date -s "2019-03-08 15:19:20"Fri Mar 8 15:19:20 CST 2019
命令格式:
cat [OPTION]... [FILE]...
示例:
[root@centos7 ~]# cat /etc/issue\SKernel \r on an \mon \lhostname is \ntime9 is \t
命令格式:
enable [-a] [-dnps] [-f filename] [name ...]
选项 | 说明 |
---|---|
-n command | 禁用内部命令 |
command | 启用内部命令 |
-n | 查看所有禁用命令 |
示例:
[root@centos7 ~]# enable -n type 禁用type[root@centos7 ~]# type ytpe type命令已经无法使用bash: type: command not found...[root@centos7 ~]# enable -n 查看被禁用的命令enable -n type[root@centos7 ~]# enable type 启用type[root@centos7 ~]# type typetype is a shell builtin
命令格式:
echo [SHORT-OPTION]... [STRING]... echo LONG-OPTION
选项 | 说明 |
---|---|
-n | 不自动换行 |
-e | 对字符进行转义 |
示例:
[root@centos7 ~]# echo -n "hello world" 回显后不换行hello world[root@centos7 ~]# [root@centos7 ~]# echo -e "hello\tworld" 将\t进行转义hello world
命令格式:
hash [-lr] [-p filename] [-dt] [name]
选项 | 说明 |
---|---|
–l | 显示hash缓存,可作为输入使用 |
–p path name | 将命令全路径path起别名为name |
–t name | 打印缓存中name的路径 |
–d name | 清除name缓存 |
–r | 清除缓存 |
示例:
[root@centos7 ~]# hash -l 显示hash缓存builtin hash -p /usr/bin/cat catbuiltin hash -p /usr/bin/date datebuiltin hash -p /usr/bin/man manbuiltin hash -p /usr/bin/cd cd[root@centos7 ~]# hash -p /usr/bin/cd cd1 将cd1定义成cd的别名[root@centos7 ~]# cd1 /[root@centos7 ~]# cd /boot[root@centos7 boot]# [root@centos7 boot]# hash -t cd 打印哈希表中的cd路径/usr/bin/cd[root@centos7 boot]# hash hits command 2 /usr/bin/cat 10 /usr/bin/date 4 /usr/bin/man 1 /usr/bin/cd 3 /usr/bin/ls 2 /usr/bin/cd[root@centos7 boot]# hash -d ls 删除哈希表中的ls命令[root@centos7 boot]# hashhits command 2 /usr/bin/cat 10 /usr/bin/date 4 /usr/bin/man 1 /usr/bin/cd 2 /usr/bin/cd[root@centos7 boot]# hash -r 清空哈希表[root@centos7 boot]# hashhash: hash table empty
注意:系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找,利用hash缓存表可大大提高命令的调用速率
示例:
[root@centos7 boot]# hostnamecentos7.localdomain
命令格式:
id [OPTION]... [USER]
选项 | 说明 |
---|---|
-u | 显示用户uid |
-g | 显示用户gid |
示例:
[root@centos7 ~]# id -u root 显示用户id0[root@centos7 ~]# id -g root 显示用用户组id0[root@centos7 ~]# id root 显示用户所有id号信息uid=0(root) gid=0(root) groups=0(root)
命令格式:
ifconfig [-v] [-a] [-s] [interface]示例:
[root@centos7 ~]# ifconfig ens33 ens33: flags=4163mtu 1500 inet 192.168.172.133 netmask 255.255.255.0 broadcast 192.168.172.255 inet6 fe80::e15f:40c5:2115:bc3c prefixlen 64 scopeid 0x20 ether 00:0c:29:63:21:a6 txqueuelen 1000 (Ethernet) RX packets 7540 bytes 619380 (604.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4780 bytes 647319 (632.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
命令格式:
shutdown [OPTIONS...] [TIME] [WALL...]
说明:
关机、重启、断电选项 | 说明 |
---|---|
-H | 断电 |
-P | 关机 |
-r | 重启 |
-K | 不关机、重启、或断电仅发送消息 |
-c | 取消 |
示例:
[root@centos7 data]# shutdown -H 5 "5分钟后断电"Shutdown scheduled for Sat 2019-03-09 20:15:21 CST, use 'shutdown -c' to cancel.[root@centos7 data]#Broadcast message from root@centos7.localdomain (Sat 2019-03-09 20:10:21 CST):5分钟后断电The system is going down for system halt at Sat 2019-03-09 20:15:21 CST![root@centos7 data]# shutdown -c[root@centos7 data]#Broadcast message from root@centos7.localdomain (Sat 2019-03-09 20:10:55 CST):The system shutdown has been cancelled at Sat 2019-03-09 20:11:55 CST!
命令格式:
screen [ -options ] [ cmd [ args ] ] screen -r [[pid.]tty[.host]] screen -r sessionowner/[[pid.]tty[.host]]
说明:
开启一个终端选项 | 说明 |
---|---|
-S | 创建一个会话 |
-X | 加入会话 |
-ls | 查看当前开启的会话 |
-r | 返回暂离的会话 |
示例:
创建一个help的会话[root@centos7 ~]# screen -S help
显示已创建的会话
[root@centos7 ~]# screen -lsThere is a screen on: 55725.help (Attached)1 Socket in /var/run/screen/S-root.
暂离会话
按ctrl+a,d返回help会话
[root@centos7 ~]# screen -r help
命令格式:
timedatectl [OPTIONS...] {COMMAND}
说明:
查看设置修改时区选项 | 说明 |
---|---|
status | 状态 |
set-timezone | 设置时区 |
list-timezone | 显示所有时区 |
示例:
显示时区[root@centos7 ~]# timedatectl status Local time: Sat 2019-03-09 21:10:04 CST Universal time: Sat 2019-03-09 13:10:04 UTC RTC time: Sun 2019-03-03 10:37:44 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: noNTP synchronized: no RTC in local TZ: no DST active: n/a
显示所有时区
[root@centos7 ~]# timedatectl list-timezones Africa/AbidjanAfrica/AccraAfrica/Addis_AbabaAfrica/AlgiersAfrica/AsmaraAfrica/Bamako....
设置时区
[root@centos7 ~]# timedatectl set-timezone Africa/Abidjan[root@centos7 ~]# timedatectl status Local time: Sat 2019-03-09 13:13:53 GMT Universal time: Sat 2019-03-09 13:13:53 UTC RTC time: Sun 2019-03-03 10:41:33 Time zone: Africa/Abidjan (GMT, +0000) NTP enabled: noNTP synchronized: no RTC in local TZ: no DST active: n/a
命令格式:
touch [OPTION]... FILE...
说明:
创建空文件选项 | 说明 |
---|---|
-a | 仅改变atime和ctime |
-m | 仅改变mtime和ctime |
-t [[CC]YY]MMDDhhmm[.ss] | 指定atime和mtime的时间戳 |
-c | 如果文件不存在,则不予创建 |
示例:
改变atime和ctime[root@centos7 data]# stat passwd File: ‘passwd’ Size: 2265 Blocks: 8 IO Block: 4096 regular fileDevice: 803h/2051d Inode: 1051 Links: 2Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2019-03-09 05:32:01.845537779 +0000Modify: 2019-03-09 05:32:01.845537779 +0000Change: 2019-03-09 11:43:48.513061240 +0000 Birth: -[root@centos7 data]# touch -a passwd[root@centos7 data]# stat passwd File: ‘passwd’ Size: 2265 Blocks: 8 IO Block: 4096 regular fileDevice: 803h/2051d Inode: 1051 Links: 2Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2019-03-09 13:34:38.486974628 +0000Modify: 2019-03-09 05:32:01.845537779 +0000Change: 2019-03-09 13:34:38.486974628 +0000 Birth: -
改变mtime和ctime
[root@centos7 data]# touch -m passwd[root@centos7 data]# stat passwd File: ‘passwd’ Size: 2265 Blocks: 8 IO Block: 4096 regular fileDevice: 803h/2051d Inode: 1051 Links: 2Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2019-03-09 13:34:38.486974628 +0000Modify: 2019-03-09 13:37:00.490969902 +0000Change: 2019-03-09 13:37:00.490969902 +0000 Birth: -
修改atime和mtime
[root@centos7 data]# stat passwd File: ‘passwd’ Size: 2265 Blocks: 8 IO Block: 4096 regular fileDevice: 803h/2051d Inode: 1051 Links: 2Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2019-01-01 10:10:00.000000000 +0000Modify: 2019-01-01 10:10:00.000000000 +0000Change: 2019-03-09 13:38:54.820966097 +0000 Birth: -
命令格式:
type COMMAND说明: 查看命令是内部或外部命令示例:[root@centos7 data]# type manman is hashed (/usr/bin/man)[root@centos7 data]# type typetype is a shell builtin
命令格式:
tty [OPTION]...
打印当前终端名称
示例:[root@centos7 data]# tty/dev/pts/1
命令格式:
uname [OPTION]...
说明:
显示系统信息|选项|说明||-a|显示所有信息||-r|显示内核信息|示例:[root@centos7 data]# uname -aLinux centos7.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux[root@centos7 data]# uname -r3.10.0-957.el7.x86_64
命令格式:
who [OPTION]... [ FILE | ARG1 ARG2 ]
说明:
查看有哪些用户登录 示例:[root@centos7 data]# whoroot tty1 2019-03-08 05:08root pts/0 2019-03-09 11:42 (192.168.1.188)root pts/1 2019-03-09 12:54 (192.168.172.1)
命令格式:
w [options] user [...]
说明:
显示当前有哪些用户登录并且在干什么示例:[root@centos7 data]# w 14:07:04 up 19:45, 3 users, load average: 0.00, 0.01, 0.05USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot tty1 Fri05 2:25m 1.62s 1.62s -bashroot pts/0 192.168.1.188 11:42 1:56m 0.13s 0.13s -bashroot pts/1 192.168.172.1 12:54 0.00s 0.25s 0.01s w
命令格式:
which [options] [--] programname [...]
说明:
查看命令全路径[root@centos7 data]# which man/usr/bin/man
命令格式:
whereis [options] [-BMS directory... -f] name...
说明:
查看二级制程序路径和帮助手册示例:[root@centos7 data]# whereis whowho: /usr/bin/who /usr/share/man/man1/who.1.gz /usr/share/man/man1p/who.1p.gz
命令格式:
whoami [OPTION]...
说明:
打印当前用户名示例:[root@centos7 data]# whoamiroot
转载于:https://blog.51cto.com/11886307/2360626