(二)命令学习su、ls、cd、type、which、printenv、date、help、man、

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangshangchunjiezi/article/details/82556554

Linux:是用c写成的操作系统,它要编译成二进制才能运行(编译器)。所以,就有了Debian、RedHat、SUSE、fedoro。Debian的更新版:Ubuntu。所以内核都是Linux,但是发行商是Debian、RedHat等。
RedHat安装:http://blog.51cto.com/xxlixin1993/1568830(注意选择虚拟磁盘类型:IDE)
Linux的基本原理:

  • 由目的单一的小程序组成,组合小程序完成复杂任务
  • 一切皆文件

  • 尽量避免捕获用户接口

  • 配置文件保存为纯文本格式


Shell:
①GUI(Graphic User Interface)接口:Gnome(c)、KDE(c++)、XFace(嵌入式)
② CLI(command line interface命令行接口)接口:命令提示符,prompt
#:root
$:普通用户
bash、csh、zsh、ksh、tcsh

  • 命令行格式:命令 选项 参数
    ①选项:短选项-character、长选项–word
    短选项可以多个选项可以组合-a-b 、-ab
    长选项:通常不能组合- -
    ②参数:命令的作用对象
  • 使用凭证:root
  • 虚拟终端:Ubuntu进入CLI快捷键Ctrl+alt+f2
    进入图形化界面快捷键startx &_

  • 模拟终端:在图形界面中打开一个终端
    IDE(Integrated Development Environment):开发环境
    dll:Dynamic Link Library。在Linux中称为.so
    一、切换用户
    su:switch user
    su 用户名
    密码复杂性规则(6位)

  • 纯数字10^6

  • 数字+小写字母36^6

  • 数字+大、小写字母62^6


设置较高密级的密码方法
- 使用4种类别字符中至少3种
- 足够长,大于7位
- 使用随机字符串
- 定期更换

  • 循环周期要大 ,尽量不要使用最近使用的密码

    二、ls
    -l:长格式
    文件类型:(普通文件)-、(目录文件)d、(块设备文件)b、(字符设备文件)c (character)、(符号链接文件)l(symbolic link file)、(命令管道文件)p(pipe)、(套接字文件)s(socket)
    **文件权限:**9位,每3位为一组,每一组:rwx(读、写、执行)
    文件硬链接的次数
    文件的属组(owner)
    文件的属组(group)
    文件大小(size),单位是字节。若要用其他的单位显示,则可以其他单位用选项-h(human-readable):做单位转换(转换为k)
    时间戳(timestamp):最近一次被修改时间
    最近一次被访问(access)时间、最近一次被修改(modify)时间、最近一次被改变(change)时间【也叫元数据metadata】

drwxr-xr-x 2 j j 4096 Sep 9 17:28 Desktop

-a:显示普通文件和以.开头的隐藏文件
.表示当前目录 ..表示父目录
–A:显示除了.和..的文件
-d:显示目录自身属性(要与l组合使用)
-i:index node,inode
-r:逆序显示文件reverse(ls命令按照字母升序排列显示结果)
-R:递归(recursion)显示
三、cd:切换目录
如何判断是否是一个目录 用ls -l 即可。
cd 路径
cd 不加任何目录 则为家目录(主目录)
cd ~用户名 (到哪个家目录)
cd - :在当前目录和之前一个目录间切换
四、type:显示指定命令属于哪种类型–命令类型
内置命令(shell内置):builtin
外部命令
命令也是程序,所以要有存放位置。由此到五
五、which:命令存放位置
外部命令会有一个指定文件存放该命令,是一个可执行文件。
which ls /bin/ls
which 命令
那么为什么它能够直接使用呢?
变量:是命名的内存空间。放数据叫做变量赋值。但是这样存在一个问题,程序结束了,申请的内存就释放了。
堆 :静态变量
栈:普通变量
堆、栈:是存放变量的地方。
环境变量:用于定义当前工作环境的变量

命令:printenv
....
 PATH:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/j/bin
 ....

在查命令时,就在这里面依次找可执行命令,但是若每一次有命令,就查找,也会显得很费时间,所以将用户使用的命令放入hash中,hash的时间复杂度O(1),可以提高可执行文件查找速度,此时的hash相当于缓存。
命令hash:将会显示如下

hits  command
1     /usr/bin/printenv
28    /bin/ls
2     /usr/bin/clear

这些可执行文件,其实就是实现某个具体功能的代码,所以编程人员也可以写,所以当要执行某个可执行文件时,可以放入path中,也可以写具体的路径来执行程序。
六、Date(系统时间)
硬件时钟、系统时钟
七、获得命令使用帮助
内置命令:help command
外部命令:command –help 简要帮助信息
命令手册:(manual) man command []:可选的option 、<>:必须的、…:可以出现多次 、 {}:分组
内部命令一般不用man 。
如何查看命令在哪个章节:what is command
分章节:

  • 用户命令1

  • 系统调用2

  • 库调用3

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

  • 文件格式(解释配置文件的语法)5

  • 游戏6

  • 杂项7 miscellaneous
  • 管理命令(/sbin,/usr/abin,/usr/local/abin)
    MAN:
    (1)NAME:命令名称及功能简要说明
    (2)SYNOPSIS:用法说明,包括可用的选项
    (3)DESCRIPTION:命令功能的详尽说明,可能包含每一个选项的意义
    (4)OPTION:说明每一个选项的意义
    (5)FILES:此命令相关的配置文件
    (6)BUGS
    (7)EXAMPLES:使用示例
    (8)SEE ALSO:另外参照
    翻屏:
    向后翻一页:SPACE
    向前翻一页:b
    向后翻一行:ENTER 或↓
    向前翻一行:k或↑
    查找 :
    /KEYWORD:自前向后
    ?KEYWORD:自后向前
    n:下一个
    N:前一个
    退出:q
    UTC(Coordinated Universal Time):格林尼治时间
    date 命令不仅能显示时间,并且能更改系统时间(也就是UTC时间)。此时间与硬件时间不同

//将EDT时间转换为CST时间
[root@localhost ~]# mv /etc/localtime /etc/localtime.bak
[root@localhost ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@localhost ~]# date

“`
在线文档
info command 用的较少。

猜你喜欢

转载自blog.csdn.net/jiangshangchunjiezi/article/details/82556554