导图社区 Linux思维导图
这是一篇关于Linux思维导图的思维导图,讲述了命令行历史、执行命令、快捷键、命令别名、命令格式、时间与日期、简单命令、文件通配符、系统用户等。
编辑于2021-09-05 16:15:58Linux
Tab键
命令补全 路径补全
双击Tab
command 2Tab 所有子命令或文件补全 string 2Tab 以string开头命令
/2Tab显示所有根目录下一级目录,包括隐藏目录 ./2Tab当前目录下子目录,包括隐藏目录 *2Tab当前目录下子目录,不包括隐藏目录
~2Tab所有用户列表 $2Tab所有变量
@2Tab /etc/hosts记录 =2Tab相当于ls -A
命令行历史
登录shell时,会读取命令历史文件中记录下的命令 ~/.bash-history
重复前一个命令:1.重复前一个命令使用上方键盘,并回车执行 2.按!!并回车执行 3. 输入!-1并回车执行 4.按Ctrl+p并回车执行
其它参数:(!:0执行前一条命令 去除参数 Ctrl+j执行当前命令 !n执行history命令输出对应序号n的命令 !-n执行history历史中倒数第n条命令 !string重复前一个以string开头的命令 !?string重复前一个包含string的命令 !string:p仅打印命令历史,而不执行 ^string删除上一条命令中的第一个string)
搜索模式
history命令:1.查看历史命令记录 2.history[-c][-d offset] [n] 3.history -anrw[filename] 4.history -p arg [arg...](-c清空命令历史 n显示最近的n条历史 -a追加本次会话新执行的命令历史列表至历史文件 )
Linux操作系统的组成
Linux内核
Linux shell
Linux文件系统
Linux 应用系统
快捷键
ctrl+l清屏,相当于cleal命令 ctrl+o执行当前命令,并重新显示本命令
Ctrl +c终止命令 Ctrl+z挂起命令
Ctrl+a光标移到命令行首 Ctrl+e光标移到命令行尾
Ctrl+u从光标删除到命令首行 Ctrl+k从光标删除到命令行尾 alt+r删除当前整行
帮助
man命令 1.配置文件:/etc/man。config | man—db。conf 2. 中文man安装包man-pages-zh-CN 3.查看man手册页 man keyword 4.列出所有帮助 man -a keyword 5.搜索man手册 man -k keyword 列出所有匹配的页面 ,使用whatis数据库 6.相当于whatis man -fkeyword 7.打来man帮助文件的路径 man -w keyword 8.操作方法 使用less命令实现
内部命令 help command或者manbash
外部命令 1.使用手册 2.信息页 3.程序员自身的帮助文档 4.程序官方文档
in fo GNU工具适合同用文档参考
文件系统层次标准
1.Linux和UNX的文件系统是一个以“/”为根的阶级shi的树状结构 2.所有的文件目录都置于根目录之下 3.根目录下 是二级目录 3.文件名区分大小写 4.以.开头的文件为隐藏文件 5.路径分隔的/ 6.文件有两种数据 :元数据metadata和数据data 7.蓝色是目录 绿色是可执行文件 红色是压缩包 浅蓝色是链接文件 灰色其他文件 黄色是设备文件 8./(根目录 )/bin /boot /dev /etc /home /lib /lib64 /media /opt /root /sbin /srv /tmp /usr /var /proc /sys /mnt
Linux上的应用程序的组成文件
二进制程序
库文件
配置文件
帮助文件
Linux系统中的文件类型
1.Linux 对目录和设备都当做文件来处理 2.普通文件:- -rw- 3.目录:d drw- 4.链接 l lrw- 5. 套接字Socket文件:s srw- 6.管道文件pipe:p prw-
设备文件
字符设备C
块设备b
/dev/null是一个非常有用的字符设备文件,送入这个设备的所有东西都被忽略
更改目录并列出目录内容
ls:显示目录内容和文件属性 (-l 显示文件详细列表 -a显示指定目录下所有子目录与文件,包括隐藏文件 -f文件名后面会带一个字符表示该文件的类型 -d仅列出目录本身,而不是目录内的文件数据)
文件的性质与权限-rwxrwxrwx:r可读4,w可写2,x是可执行1 文件拥有者、文件所有组、系统其它用户
cd:目录转换,修改当前目录 pwd:显示当前工作目录
stat查看文件状态:1.文件metadata,data 2.三个时间戳:access time访问时间 atime读取文件内容 modify time修改时间 mtime改变文件内容(数据) change time改变时间 ctime元数据发生改变
文件通配符
*匹配零个或多个字符 ?匹配任何单个字符 ~当前用户夹目录 ~stone用户stone夹目录 ~+当前工作目录 ~-前一个工作目录 [0-9]匹配数字范围 [a-z]:字母 [A-Z]:字母 [string]匹配列表中的任何一个字符 [^string]匹配列表中的所有字符以外的字符 预定义的字符类:man 7glob [:digit:]任意数字,相当于0-9 [:lower:]任意小写字母 [:alpha:]任意大小写字母 [:alnum:]任意数字或字母 [:blank:]水平空白字符 [:space:]水平或垂直空白字符 [:punct:]标点符号 [:print:]可打印字符 [:cntry:]控制(非打印)字符 [:graph:] 图形字符 [:xdigit:]十六进制字符
简单命令
关机 poweroff(立即关机) halt -p关闭系统后关闭电源 halt -d 关闭系统,但不保留记录 重启reboot 关机或重启:shutdown)shutdown [OPTION]... [TIME] [MESSAGE] -r: reboot -h: halt -c:cancel TIME:无指定,默认相当于+1(CentOS7) now: 立刻,相当于+0 +m: 相对时间表示法,几分钟之后;例如 +3 hh:mm: 绝对时间表示,指明具体时间
用户登录信息查看命令:whoami: 显示当前登录有效用户 who: 系统当前所有的登录会话 w: 系统当前所有的登录会话及所做的操作
echo命令:echo命令 功能:显示字符 语法:echo [-neE][字符串] 说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号 选项: -E (默认)不支持 \ 解释功能 -n 不自动换行 -e 启用 \ 字符的解释功能 显示变量 echo "$VAR_NAME“ 变量会替换,弱引用 echo '$VAR_NAME‘ 变量不会替换,强引用 启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出。 \a 发出警告声 \b 退格键 \c 最后不加上换行符号 \n 换行且光标移至行首 \r 回车,即光标移至行首,但不换行 \t 插入tab \\ 插入\字符 \0nnn 插入nnn(八进制)所代表的ASCII字符 \xHH插入HH(十六进制)所代表的ASCII数字 用echo命令打印带有色彩的文字:文字色: echo -e "\e[1;31mThis is red text\e[0m“ ?\e[1;31m 将颜色设置为红色 ?\e[0m 将颜色重新置回颜色码: 重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37 文字闪动: echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐
命令行扩展、被括起来的集合:命令行扩展:$( ) 或 `` 把一个命令的输出打印给另一个命令的参数 echo "This system's name is $(hostname) " This system's name is server1.example.com echo "i am `whoami` " i am root 括号扩展:{ } 打印重复字符串的简化形式 echo file{1,3,5} 结果为:file1 file3 file5 rm -f file{1,3,5} echo {1..10} echo {a..z}
时间与日期
Linux的两种时钟 系统时钟:由Linux内核通过CPU的工作频率进行的 硬件时钟:主板 相关命令 date 显示和设置系统时间 date +%s date +%F date -d @1509536033 hwclock,clock: 显示硬件时钟 -s, --hctosys 以硬件时钟为准,校正系统时钟 -w, --systohc 以系统时钟为准,校正硬件时钟 时区:/etc/localtime 显示日历:cal –y
修改系统时间: tzselect 赋值时区为上海时区: cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 查看时间: date
命令格式
COMMAND [OPTIONS...][ARGUMENTS...]
多个选项以及多参数和命令之间使用空白字符分隔
取消和命令执行:Ctrl+c 和Ctrl+d 多个命令可以用;符号隔开 例如:cd /mnt;ls 一个命令可以用\分成多行 例如:cd /m\nt
命令别名
显示当前shell进程所有可用的命令别名 alias 定义别名NAME,其相当于执行命令VALUE aliasNAME="VALUE"
在命令中定义的别名,仅对当前shell进程有效,如果想永久有效,要定义在配(1.仅对当前用户:~/.bashrc 2.对所有用户有效: /etc/bashrc 3.编辑配合给出的新配置不会立即生效 4.bash进程重新读取配置文件 source /path/to/config-file或者 ./pash/to/config-file·)
撤销别名:unalias (unalias[-a]name[name]... -a取消所有别名)
如果别名同原命令同名,如果执行原命令,可以使用以下任意几种(1.\ALIASNAME 2."ALIASNAME" 3.'ALIASNAME' 4.command ALIASNAME 5./pash /command)
执行外部命令
Hash缓存表 :shell解析器首先会查看Hash表利用hash缓存表可大大提高命令的调用速率
Hash常见用法
hash 显示hash缓存 hash -l显示hash缓存,可作为输出使用
hash -p path name将命令全路径pash起别名为name hash -t name 打印缓存中name的路径
hash -d name 清除name缓存 hash -r 清除缓存
执行命令
程序规模较大,只有调用的时候才会被加载到内存ls。查看路径 whereis 外部命令
内部命令
help 内部命令列表 enablecmd启用内部命令
enable -n cmd禁用内部命令 例如:enable -nhisory
enable -n 查看所有禁用的内部命令
命令提示符:prompt(#管理员)($普通用户)
echo $PS1 [\u@\h \W]\$ 显示提示符
修改提示符格式
PS1="[\u@\h \W]\\$"
\e \003 \u当前用户 \h主机名简称 \H主机名
\w当前工作目录 \W当前工作目录基名 \t24小时时间格式 \T12小时时间格式
\!命令历史数 \#开机后命令历史数
命令解析器:shell
shell是一个命令解析器,是Linux操作系统下面的
shell
shell是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口
shell也被称为LINUX的命令解析器,shell是一种高级的语言
红帽企业版Linux的默认是shell
Centos默认使用,显示当前使用的是shell【echo $(SHELL)】,显示当前系统使用的是所有shell 【cat/etc/shells】
系统用户
1.权限有限,没有特权。 2.造成的损害的能力比较有限 普通用户
root用户
一个特殊的管理账户,也被称为超级用户
root已经接近完整的系统控制
对系统损害几乎有无限的能力
除非必要;不要登录为root
Linux
Linux内核版本与发行版本
Linux
Linux起源
什么是Linux Linux只是一个操作系统中的内核