|
3、Linux基础理论,ls,cd,type命令
2021年06月29日 |
|
3.1 Linux的基本原则: 1、由目的单一的小程序组成; 组合小程序完成复杂任务; 2、一切皆文件; 把几乎所有的资源都整合为文件形式 3、尽量避免跟用户交互; 目标:实现脚本编程,以自动完成某些功能 4、配置文件保存为纯文本格式; 目标:一款文本编辑器即可实现系统配置 3.2 Shell及命令格式 GUI接口:图形化的人机交互接口 CLI接口: 命令提示符,prompt, bash(shell) [root@localhost ~]# : root [daniel@localhost ~]$: 普通用户 命令:输入命令,按enter之后命令送入内核,随后内核判断能否执行 命令格式: 命令 选项 参数 选项:修改命令的执行方式 短选项: – 短选项多个选项可以组合:-a -b = -ab 长选项: — 参数:命令的作用对象(多个参数由空格隔开) 使用凭证:验证用户身份和权限 严格区分大小写,root为默认管理员用户,一般不可以修改 虚拟终端(terminal):Ctrl+Alt+F1-F6,切换虚拟终端,模拟有多个用户,多个显示器 右键open terminal:可打开模拟终端 Linux GUI: Gnome: C KDE: C++ XFace:简洁的轻量级的桌面,多用于嵌入式平台 CLI: sh bash:最广泛,功能最强大 csh zsh ksh tcsh 3.3 用户和密码管理 3.31 用户切换 root, student, vistor su: switch user(切换用户) # su [-l] 用户名 su -l 完全切换 su 用户名:半切换 # passwd 3.32 密码复杂性规则 六位密码: 纯数字:10^6 数字+字母:36^6 数字+大小写字母:62^6 所有字符:100^6 Linuxedu@126.com 1、使用4种类别字符中至少3种; 2、足够长,大于7位; 3、使用随机字符串; 4、定期更换; 5、循环周期足够大; 3.4 Shell和库 3.41 shell RHCE+RHCA+shell编程+MySQL+Web集群+NoSQL+Hadoop+Hbase+Openstack GNU: GNU is Not Unix. GPL: General Public License,通用公共许可证,版权 Copyright, Copyleft 开源协定 LGPL:lesser GPLv2 GPLv3 Shell:(用户交互界面) GUI: Graphic User Interface(图形用户界面) Windows X-Window Gnome KDE Xface CLI: Command Line Interface sh bash csh ksh zsh tcsh Google: linux filetype:pdf linux site:ibm.com google hack 3.42 库 IDE:程序员开发时用到的集成开发环境 库文件 Windows:DLL:动态链接库(库文件)(Dynamic Link Library) Linux:so:库文件(shared object) 3.5 用户和常用命令 3.51 用户和认证机制 login: 用户名:用户ID(用户标识符) 认证机制:Authentication鉴别用户就是他所声称的那个人 授权:Authorization 审计:Audition (日志) prompt,命令提示符: 命令: magic number: 魔数 shebang 3.52 命令格式 #!/bin/bash # command options… arguments… 选项(修改命令的执行参数,有些选项是可以带参数的): 短选项 长选项 参数:指定命令的作用对象 3.53 ls list: ls 列出,列表 目录:也是文件,路径映射文件 路径:从指定起始点到目的地所经过位置 文件系统:file system(实现层次化文件管理的机制) 列出指定路径下的文件 我们处在的目录:working directory, current directory 绝对路径:相对于根节点的路径 相对路径:相对于当前位置的路径 pwd: Printing Working directory,显示当前目录 ls -l:长格式,输出的内容依次如下 [root@Daniel-R480 ~]# ls -l total 36 -rw-r–r– 1 root root 1 Jun 21 14:38 a -rw-r–r– 1 root root 87 Jun 21 14:30 aa lrwxrwxrwx 1 root root 1 Jun 17 10:42 abc -> a 1、文件类型(1位): -:普通文件 (f) d: 目录文件 b: 块设备文件 (block) c: 字符设备文件 (character) l: 符号链接文件(symbolic link file) p: 命令管道文件(pipe) s: 套接字文件(socket) 2、文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r– 3、文件硬链接的次数 4、文件的属主(owner) 5、文件的属组(group) 6、文件大小(size),单位是字节 7、时间戳(timestamp):最近一次被修改的时间 (1)访问:access (2)修改:modify,文件内容发生了改变 (3)改变:change,metadata,元数据(文件的属性数据 ) -h(human):做单位转换 -a: 显示以.开头的隐藏文件 . 表示当前目录 .. 表示父目录 -A -d: 显示目录自身属性 -i: index node, inode(文件的索引节点号) -r: 逆序显示 -R: 递归(recursive)显示 3.54 cd cd: change directory,切换目录 cd不加任何参数,直接回到用户的家目录,主目录, home directory(用户有所有的权限) [root@Daniel-R480 opt]# cd [root@Daniel-R480 ~]# cd ~USERNAME: 进入指定用户的家目录 [root@Daniel-R480 ~]# cd ~daniel [root@Daniel-R480 daniel]# cd -:在当前目录和前一次所在的目录之间来回切换 [root@Daniel-R480 daniel]# cd – /root [root@Daniel-R480 ~]# cd – /home/daniel [root@Daniel-R480 daniel]# cd – /root [root@Daniel-R480 ~]# 3.55 type type: 显示指定命令属于哪种类型 [root@Daniel-R480 ~]# type cd cd is a shell builtin [root@Daniel-R480 ~]# type ls ls is aliased to `ls –color=auto’ [root@Daniel-R480 ~]# type pwd pwd is a shell builtin [root@Daniel-R480 ~]# type bash bash is /usr/bin/bash [root@Daniel-R480 ~]# 命令类型: 内置命令(shell内置),内部,内建 外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件 3.56 环境变量和缓存 环境变量:命名的内存空间 变量赋值(在这个内存空间里面放置数据) NAME=Jerry PATH: 使用冒号分隔的路径,能运行的命令必须在path的路径中,不然必须要添加完整路径 hash为O(1)类型:无论表多长,瞬间能找到对应的数据 hash:缓存为王,速度慢了可以通过加缓存来解决 |