◆?命令--Linux学习的基础,而基础就是核心。
????◆?没有基础就只如空中楼阁,每次处理问题的时候,都需要向外界的力量求教,而缺乏自己解决问题的能力。
????◆?学习比较被动,知识的储备速度不能紧跟使用需求。
????◆?SO,夯实基础反而成为重中之重。想要万丈高楼平地起,就先打好地基,在人们还看不见的时候,挥洒着汗水;而时间会给你成长的回报!
一、计算机构成与功能简介
?计算机(computer),也称电脑。
1、五大硬件:
????????????●?控制器
????????????●?运算器
????????????●?存储器
????????????●?输入设备
????????????●?输出设备
※注释※:
????????????●?输入设备(Input)跟输出设备(Output)合称I/O设备
2、设备功能:
????????????●?控制器:计算机的指挥系统,获取、分析指令完成复杂任务;
????????????●?运算器:完成其中算术及逻辑运算;即对数据进行加工;
????????????●?存储器:易失性存储器,为计算机运行时存储数据;
????????????●?输入设备:辅助人类把指令、文字、数据传输给计算机的设备;
????????????●?输出设备:向人类展示运算结果的设备。
3、设备名称:
????????????●?控制器:CPU
????????????●?运算器:CPU
????????????●?存储器:内存
????????????●?输入设备:键盘
????????????●?输出设备:显示器
※注释※:
????????????●?上述为举例,并非1对1关系;
4、关联记忆:
????????????●?控制器:理解力、分析力
????????????●?运算器:心算能力
????????????●?存储器:记忆力
????????????●?输入设备:眼睛、耳朵
????????????●?输出设备:嘴巴
※注释※:
????????????●?上述解释是为方便记忆而形容。
二、Linux简史及发行版
????◆?Unix商业化,源码不提供给学术研究;
????◆?GNU计划:理查·斯托曼在麻省理工学院发起《GNU宣言》,理由之一就是“要重现当年软件界合作互助的团结精神”,为软件界的共产主义运动;
????◆?GNU是“GNU is not Unix”的递归缩写;它开发了大批的自由软件;
????◆?GNU软件为保证自由的“使用、复制、修改和发布”;
????◆?GNU通用公共许可证(GNU General Public License,GPL协议):包含一份在禁止其他人添加任何限制的情况下,授权所有权利给任何人的协议条款;
????◆?OS上一直使用着Unix,这就使得GNU迫切需要一款OS来代替Unix;
????◆?Minix-OS:迷你版的Unix,安德鲁·斯图尔特·塔能鲍姆教授在Unix商业化后,为教学开发的OS;
????◆?Linux诞生:Minix-OS林纳斯·托瓦兹灵感,他开始设计并开发了一款操作系统内核,后被起名为:Linux。
????◆?因GPL协议的源码可以自由使用,使得林纳斯·托瓦兹决定用GPL协议来代替他原先的协议;大大加速了Linux的流行。
?Linux发行版
????◆?这里先简单解释一下OS的狭义跟广义之分:狭义OS:Kernel(内核);广义OS:Kernel+Application(应用);
????◆?GNU/Linux,Linux是kernel,GNU提供APP;
????◆?GNU提供的是源码格式,需编译成二进制格式(为计算机识别),方可在Linux上安装;
????◆?商业公司(社区)通过自己的理解方式将源码编译成二进制格式(解决绝大多数普通用户无编译能力),并对外发布;这就发行版;
????◆?目前Linux现在三大主流发行版系列:Debian、RedHat、S.U.S.E。
????◆?基于Dpkg系列
??????????&?商业发行版:
?????????????????∈?Ubantu,特点:漂亮的桌面环境(Ubantu为Debian的二次发行版);
??????????&?社区发行版:
?????????????????∈?Debian,特点:安装软件,需自行编译,难度较大,适合高水平用户;
?????????????????∈?kubantu,特点:使用KDE桌面的ubantu;
?????????????????∈?Linux Mint,特点:Ubantu的二次发行版,与之兼容;
????◆?Red Hat系列
??????????&?商业发行版:
?????????????????∈?Red Hat Enterprise Linux(RHEL),特点:流行于北美和中国;每3年更新;
??????????&?社区发行版:
?????????????????∈?CentOS,特点:RHEL的二次发行版,与RHEL完全兼容;目前已被红帽公司收购;
?????????????????∈?Fedora,特点:RHEL的试验田;每6个月更新;
????◆?Slackware系列
??????????&?商业发行版:
?????????????????∈?S.U.S.E,特点:Slackware二次发行版,流行于欧洲;
?????????????????∈?OpenSUSE,特点:S.U.S.E的著名二次发行版;
三、Linux的哲学思想
?????①:一切皆文件、一切皆文件、一切皆文件(重要的事情说三遍);Linux把几乎所有资源统统抽象为文件形式:包括硬件设备、通信接口等;(这里,譬如设备文件存储在/dev目录下)
?????②:由众多功能单一的程序组成;一个程序只做一件事,并将其做好;组合小程序完成复杂任务;(如,用管道的方式,将命令1的输出结果传递给命令2当作命令的输入条件)
?????③:尽量避免跟用户交互;目标:易于以编程的方式实现自动化任务;(如shell脚本编程,设定好计划任务,可以做到譬如自动巡检、自动备份等功能)
?????④:使用文本文件保存配置信息;
四、Linux命令详解(后期随时补充):
????◆?Linux命令的语法通用格式:COMMAND OPTIONS ARGUMENTS
※注释※:
?????COMMAND:
????????????●?命令?●?
?????OPTIONS:
????????????●?选项?●?
?????ARGUMENTS:
????????????●?参数?●?
????◆?COMMAND:发起一命令:请求内核将某个二进制程序运行为一个进程;
??????????&?程序--->进程
??????????&?静态--->动态(具体生命周期)
????◆?OPTIONS:有2种表现形式:
??????????&?短选项:-C,例:-l,-d,多数可合并:-l -d = -ld;
??????????&?长选项:--word,例:--help
※注释※:
????????????●?短选项有些没有-,还有是+,如date +%F
????????????●?长选项不能合并;
????????????●?有些选项可以带参数,此称为选项参数;如:tail -n 20 /etc/passwd,这里的20就是 选项参数;
????◆?命令详解
????◆?命令名称:
????????????●?ifconfig
????◆?语法格式:
????????????●?ifconfig [interface]
????????????●?ifconfig interface [aftype] options | address ...
????◆?命令说明:
????????????●?命令用来查看和配置网络接口;当网络环境发生改变时可通过此命令对网络进行相应配置。
????◆?常用参数:
????????????●?up:启动指定网络设备/网卡;
????????????●?down:关闭指定网络设备/网卡;
????????????●?arp:设置指定网卡是否支持ARP协议;
????????????●?-a:显示全部接口信息;
????????????●?-s;显示摘要信息;
????????????●?add:添加指定网卡的IPv6地址;
????????????●?del:删除指定网卡的IPv6地址;
????????????●?address:为网卡设置IPv4地址;
????◆?实例之一:
????????????●?[[email protected] ~]# ifconfig
????????????●?ens33: flags=4163 < UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
????????????●?inet 10.10.10.152 netmask 255.255.255.0 broadcast 10.10.10.255
????????????●?inet6 fe80::d58f:eab4:c3c5:cfec prefixlen 64 scopeid 0x20< link>
????????????●?ether 00:0c:29:d1:cc:c4 txqueuelen 1000 (Ethernet)
????????????●?RX packets 706 bytes 70318 (68.6 KiB)
????????????●?RX errors 0 dropped 0 overruns 0 frame 0
????????????●?TX packets 482 bytes 55976 (54.6 KiB)
????????????●?TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
????????????●?lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
????????????●?inet 127.0.0.1 netmask 255.0.0.0
????????????●?inet6 ::1 prefixlen 128 scopeid 0x10<host>
????????????●?loop txqueuelen 1 (Local Loopback)
????????????●?RX packets 36 bytes 4212 (4.1 KiB)
????????????●?RX errors 0 dropped 0 overruns 0 frame 0
????????????●?TX packets 36 bytes 4212 (4.1 KiB)
????????????●?TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
????◆?分析说明:
????????????●?ens33:网卡名称
????????????●?inet:IP地址
????????????●?netmask:子网掩码
????????????●?ether:Mac地址
????????????●?lo:主机回环地址
????????????●?RX:接收数据包情况
????????????●?TX:发送数据包情况
????◆?实例之二:
????????????●?启动网卡:ifconfig ens33 up
????????????●?关闭网卡:ifconfig ens33 down
????◆?分析说明:
????????????●?如通过ssh方式连接,关闭网卡后,ssh通道将断开,只能通过其余终端开启,除非有多块网卡;
????◆?实例之三:
????????????●?启动arp协议:ifconfig ens33 arp
????????????●?关闭arp协议:ifconfig ens33 -arp
????◆?命令名称:
????????????●?echo
????◆?语法格式:
????????????●?echo[OPTION]... [STRING]...
????◆?命令说明:
????????????●?回显命令
????◆?常用参数:
????????????●?-n:不输出行尾的换行符.
????????????●?-e:允许对下面列出的加反斜线转义的字符进行解释.
????????????●?-E:禁止对在STRINGs中的那些序列进行解释.
????????????●?--help:显示帮助并退出(须单独运行)
????????????●?--version:输出版本信息并退出(须单独运行)
????◆?实例之一:
????????????●?[[email protected] ~]# echo $PATH
????????????●?/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
????◆?分析说明:
????????????●?显示出当前环境变量,$PATH为环境变量路径
????◆?实例之二:
????????????●?[[email protected] ~]# echo $?
????????????●?0
????◆?分析说明:
????????????●?echo $?表示显示上次执行命令的结果,0表示正确,1-255表示错误;
????◆?实例之三:
????????????●?[[email protected] ~]# echo `ifconfig | grep inet | awk ‘{print $2}‘ | head -1` `hostname` >> /etc/hosts
????????????●?[[email protected] ~]# tail -1 /etc/hosts
????????????●?10.10.10.152 magedu.study
????◆?分析说明:
????????????●?上述命令中的反引号里表示命令引用,意思是先执行反引号里的命令,并将命令结果给echo命令后再保存至hosts文件;
????◆?命令名称:
????????????●?tty
????◆?语法格式:
????????????●?tty [OPTION]...
????◆?命令说明:
????????????●?显示连接标准输入的终端的文件名
????◆?常用参数:
????????????●?-s, --silent, --quiet:什么都不显示, 仅仅返回一个退出状态
????????????●?--help:显示帮助信息
????????????●?--version:显示版本信息
????◆?实例演示:
????????????●?[[email protected] ~]# tty
????????????●?/dev/pts/1
????◆?分析说明:
????????????●?串行终端:ttyS
????????????●?伪终端:pty
????◆?命令名称:
????????????●?startx
????◆?语法格式:
????????????●?startx [ [ client ] options ... ] [ -- [ server ] [ display ] options ... ]
????◆?命令说明:
????????????●?初始化一个X会话
????◆?分析说明:
????????????●?startx 命令简化了启动 X 会话的过程。
????◆?命令名称:
????????????●?export
????◆?语法格式:
????????????●?exprot [-fnp][变量名称]=[变量设置值]
????◆?命令说明:
????????????●?用于将shell变量输出为环境变量,或者将shell函数输出为环境变量;
????◆?常用参数:
????????????●?-f:代表[变量名称]中为函数名称;
????????????●?-n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中;
????????????●?-p:列出所有的shell赋予程序的环境变量。
????◆?实例演示:
????????????●?[[email protected] ~]# export -n USER="root"
????????????●?[[email protected] ~]# export
????????????●?...前面省略
????????????●?declare -x TERM="xterm"
????????????●?declare -x XDG_RUNTIME_DIR="/run/user/0"
????◆?命令名称:
????????????●?pwd
????◆?语法格式:
????????????●?pwd [-LP]
????◆?命令说明:
????????????●?打印当前工作目录;
????◆?常用参数:
????????????●?-L:打印 $PWD 变量的值,如果它命名了当前的工作目录;
????????????●?-P:打印当前的物理路径,不带有任何的符号链接;
????◆?实例演示:
????????????●?lrwxrwxrwx. 1 root root 11 2月 16 18:02 init.d -> rc.d/init.d
????????????●?[[email protected] etc]# cd init.d/
????????????●?[[email protected] init.d]# pwd
????????????●?/etc/init.d
????????????●?[[email protected] init.d]# pwd -L
????????????●?/etc/init.d
????????????●?[[email protected] init.d]# pwd -P
????????????●?/etc/rc.d/init.d
????????????●?[[email protected] ~]# export
????◆?命令名称:
????????????●?history
????◆?语法格式:
????????????●?history [-c] [-d offset] [n]
????????????●?history -awrn [filename]
????????????●?history -ps arg [arg...]
????◆?命令说明:
????????????●?显示或操纵历史列表。
????◆?常用参数:
????????????●?-c:清空命令历史;
????????????●?-d offset:删除指定命令历史条目;
????????????●?n:显示最近n条历史记录;
????????????●?-a:将当前缓存中的历史记录追加到.bash_history文件中;
????????????●?-n:从历史文件中读取未被读取的行;
????????????●?-r:读取历史文件并将内容追加到历史列表中;
????????????●?-w:读取历史文件并将内容追加到历史列表中;
????◆?实例之一:
????????????●?[[email protected] init.d]# history 5
????????????●?1048 help history
????????????●?1049 history
????????????●?1050 echo $HISTCONTROL
????????????●?1051 history -d 1048
????????????●?1052 history 5
????????????●?[[email protected] init.d]# history -d 1050
????????????●?[[email protected] init.d]# history 4 | head -1
????????????●?1050 history -d 1048
????◆?分析说明:
????????????●?上述演示删除了1048条命令,经两次查询,1048条命令已经不同,并演示了显示最近5条历史记录的使用方法;
????◆?实例之二:
????????????●?[[email protected] init.d]# history -c
????????????●?[[email protected] init.d]# history
????????????●?55 history
????????????●?[[email protected] init.d]# history -r
????????????●?[[email protected] init.d]# history 3
????????????●?1050 ifconfig
????????????●?1051 tty
????????????●?1052 history 3
????◆?分析说明:
????????????●?使用-c选项清空了换成里的历史列表,后使用-r选项将历史文件里的记录同步到了历史列表里。
????◆?实例之三:
????????????●?[[email protected] ~]# tail -2 .bash_history
????????????●?ifconfig
????????????●?tty
????????????●?[[email protected] init.d]# history 3
????????????●?1050 ifconfig
????????????●?1051 tty
????????????●?1052 history 3
????????????●?[[email protected] init.d]# ls
????????????●?functions netconsole network README
????????????●?[[email protected] init.d]# echo $?
????????????●?0
????????????●?[[email protected] init.d]# history -w
????◆?分析说明:
????????????●?使用-w命令将缓存里的命令历史添加到历史文件当中;
????◆?使用技巧:
????????????●?!#:再一次执行历史列表中的第#条命令
????????????●?!!:再一次执行上一条命令(同向上箭头键)
????????????●?!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;(非常有用)
????◆?实例之四:
????????????●?[[email protected] init.d]# !l
????????????●?ls
????????????●?functions netconsole
????????????●?network README
????????????●?[[email protected] init.d]# !1051
????????????●?tty
????????????●?/dev/pts/4
????????????●?[[email protected] init.d]# !!
????????????●?tty
????????????●?/dev/pts/4
????◆?分析说明:
????????????●?注意:命令的重复执行时有时候需要依赖于幂等性;
????◆?命令名称:
????????????●?shutdown
????◆?语法格式:
????????????●?/sbin/shutdown [-t sec] [-arkhncfF] time [warning-message]
????◆?命令说明:
????????????●?关机
????◆?常用参数:
????????????●?-k:向所有人显示警告信息;
????????????●?-r:重启;
????????????●?-h:关机;
????????????●?-f:重启时跳过磁盘检测;
????????????●?-F:重启时强制磁盘检测;
????????????●?-c:取消运行中的shutdown进程,无法指定time参数;
????????????●?time:关机时间;
????◆?实例之一:
????????????●?[[email protected] ~]# shutdown -h 5
????????????●?Shutdown scheduled for 二 2018-03-27 09:45:25 CST, use ‘shutdown -c‘ to cancel.
????????????●?[[email protected] ~]#
????????????●?Broadcast message from [email protected] (Tue 2018-03-27 09:40:25 CST):
????????????●?The system is going down for power-off at Tue 2018-03-27 09:45:25 CST!
????????????●?[[email protected] ~]# shutdown -c
????????????●?Broadcast message from [email protected] (Tue 2018-03-27 09:41:06 CST):
????????????●?The system shutdown has been cancelled at Tue 2018-03-27 09:42:06 CST!
????◆?分析说明:
????????????●?-c可以在关机(重启)的等待时间内将其取消;
????????????●?now为立即执行
????????????●?hh:mm(几点几分执行)
????????????●?+m为m分钟后执行
????◆?实例之一:
????????????●?[[email protected] ~]# shutdown -k 5
????????????●?Shutdown scheduled for 二 2018-03-27 10:03:49 CST, use ‘shutdown -c‘ to cancel.
????????????●?[[email protected] ~]#
????????????●?Broadcast message from [email protected] (Tue 2018-03-27 09:58:49 CST):
????????????●?The system is going down for power-off at Tue 2018-03-27 10:03:49 CST!
????????????●?Broadcast message from [email protected] (Tue 2018-03-27 09:59:49 CST):
????????????●?The system is going down for power-off at Tue 2018-03-27 10:03:49 CST!
????????????●?...后面省略
????◆?分析说明:
????????????●?-k选项会没隔1分钟通知一次,如需取消可使用Ctrl+c;
????◆?命令名称:
????????????●?poweroff
????◆?语法格式:
????????????●?poweroff [OPTIONS...]
????◆?命令说明:
????????????●?关机,并切断电源,只有管理员可以使用;
????◆?常用参数:
????????????●?-n:关闭操作系统时不执行sync操作;
????????????●?-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
????????????●?-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
????????????●?-f:强制关闭操作系统;
????????????●?-i:关闭操作系统之前关闭所有的网络接口;
????????????●?-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
????◆?命令名称:
????????????●?halt
????◆?语法格式:
????????????●?halt [OPTIONS...]
????◆?命令说明:
????????????●?关机,只有管理员可以使用;
????◆?常用参数:
????????????●?-p : 当关机的时候,顺便做关闭电源(poweroff)的动作;
????◆?分析说明:
????????????●?-n、-w、-d、-f、-i选项与poweroff命令相同;
????◆?命令名称:
????????????●?reboot
????◆?语法格式:
????????????●?reboot [OPTIONS...]
????◆?命令说明:
????????????●?重启,只有管理员可以使用;
????????????●?-n、-w、-d、-f、-i选项与poweroff命令相同;
????◆?命令名称:
????????????●?date
????◆?语法格式:
????????????●?date [OPTION]... [+FORMAT]
????◆?命令说明:
????????????●?查询系统时间;
????◆?常用参数:
????????????●?%a:当前区域的星期几的简写 (Sun..Sat)
????????????●?%A:当前区域的星期几的全称 (不同长度) (Sunday..Saturday)
????????????●?%B:当前区域的月份的全称(变长) (January..December)
????????????●?%c:当前区域的日期和时间 (Sat Nov 04 12:02:33 EST 1989)
????????????●?%d:(月份中的)几号(用两位表示) (01..31)
????????????●?%D:日期(按照 月/日期/年 格式显示) (mm/dd/yy)
????????????●?%F:日期(按照 年-月-日期格式显示)(yyyy-dd-mm)
????????????●?%h:当前区域的月份的简写 (Jan..Dec)
????????????●?%H:小时(按 24 小时制显示,用两位表示) (00..23)
????????????●?%I:小时(按 12 小时制显示,用两位表示) (01..12)
????????????●?%j:(一年中的)第几天(用三位表示) (001..366)
????????????●?%m:月份(用两位表示) (01..12)
????????????●?%M:分钟数(用两位表示) (00..59)
????????????●?%n:换行
????????????●?%p:当前时间是上午 AM 还是下午 PM
????????????●?%r:时间,按 12 小时制显示 (hh:mm:ss [A/P]M)
????????????●?%s:从 1970年1月1日0点0分0秒到现在历经的秒数 (GNU扩充)
????????????●?%S:秒数(用两位表示)(00..60)
????????????●?%T:时间,按 24 小时制显示(hh:mm:ss)
????????????●?%U:(一年中的)第几个星期,以星期天作为一周的开始(用两位表示) (00..53)
????????????●?%V:(一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (01..52)
????????????●?%w:用数字表示星期几 (0..6); 0 代表星期天
????????????●?%x:按照 (mm/dd/yy) 格式显示当前日期
????????????●?%X:按照 (%H:%M:%S) 格式显示当前时间
????????????●?%y:年的后两位数字 (00..99)
????????????●?%Y:年(用 4 位表示) (1970...)
????◆?实例之一:
????????????●?linux-fa67:~ #
????????????●?date +"%F %X %a"
????????????●?2018-03-27 11:59:55 Tue
????◆?分析说明:
????????????●?date命令里调用多个参数需要将所有参数用“”或‘’进行引用;
????◆?语法格式:
????????????●?date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
????◆?命令说明:
????????????●?设定系统时间;
????◆?常用参数:
????????????●?-d, --date=STRING:显示由 STRING 指定的时间, 而不是当前时间;
????????????●?-r, --reference=FILE:显示 FILE 的最后修改时间;
????????????●?-s, --set=STRING:根据 STRING 设置时间
????????????●?-u, --utc, --universal:显示或设置全球时间(格林威治时间)
????◆?实例之二:
????????????●?[[email protected] ~]# date 040512152017.16
????????????●?2017年 04月 05日 星期三 12:15:16 CST
????◆?实例之三:
????????????●?[[email protected] ~]# date -s 2018-03-27
????????????●?2018年 03月 27日 星期二 00:00:00 CST
????????????●?[[email protected] home]# date -s 12:27:00
????????????●?2018年 03月 27日 星期二 12:27:00 CST
????◆?分析说明:
????????????●?上述两种实例为设置时间的两种方式,但第一种无需加参数-s,后一种则必须添加-s参数;
????◆?实例之四:
????????????●?[[email protected] home]# date -u
????????????●?2018年 03月 26日 星期一 16:06:28 UTC
????◆?实例之五:
????????????●?[[email protected] home]# date -r hosts
????????????●?2018年 03月 06日 星期二 18:55:44 CST
????????????●?[[[email protected] home]# stat hosts | grep 最近
????????????●?最近访问:2018-03-27 12:34:43.691979286 +0800
????????????●?最近更改:2018-03-06 18:55:44.073971393 +0800
????????????●?最近改动:2018-03-27 12:34:43.691979286 +0800
????◆?分析说明:
????????????●?经验证,date -r与stat命令的mtime时间相符
????◆?命令名称:
????????????●?hwclock
????◆?语法格式:
????????????●?hwclock [function] [option...]
????◆?命令说明:
????????????●?查询和设置硬件时间;
????◆?常用参数:
????????????●?-s--hctosys: 以硬件为准,把系统时间调整为与硬件时间相同;
????????????●?-w--systohc: 以系统为准,把硬件时间调整为与系统时间相同;
????◆?实例演示:
????????????●?linux-fa67:~ # date
????????????●?Tue Mar 27 12:44:27 EDT 2018
????????????●?linux-fa67:~ # hwclock
????????????●?Tue Mar 27 09:21:58 2018 -0.969610 seconds
????????????●?linux-fa67:~ # hwclock-w--systohc
????????????●?linux-fa67:~ # hwclock
????????????●?Tue Mar 27 12:45:10 2018 -0.454103 seconds
????◆?分析说明:
????????????●?-s跟-w使用方法类似,就不做演示;
????◆?命令名称:
????????????●?clock
????◆?命令说明:
????????????●?clock为hwclock命令的符号链接
????????????●?[[email protected] sbin]# ls -lih hw*
????????????●?34282438 -rwxr-xr-x. 1 root root 49K 8月 4 2017 hwclock
????????????●?[[email protected] sbin]# ls -ilh cl
????????????●?34282427 lrwxrwxrwx. 1 root root 7 2月 16 18:04 clock -> hwclock
????◆?分析说明:
????????????●?符号链接与文件本身的inode值不同;并有些Linux上并没有clock命令,如S.U.S.E;
五、帮助获取方式
?Linux命令分为内建命令跟外部命令两种:
????◆?内建命令:shell自带的命令
????◆?外部命令:不包含在shell中,在需要使用时才会被调入内存
????◆?命令type:用来查询一个命令是内建命令还是外部命令
????◆?用法:type COMMAND
????◆?内建命令获取帮助的方式:help COMMAND
????◆?外部命令获取帮助的方式:
????????????●?COMMAND –help(命令自带的简要帮助)
????????????●?man COMMAND(manual手册:位置/usr/share/man)
????????????●?man章节划分:
????????????????????①:使用者在shell中可以操作的指令或可执行档
????????????????????②:系統调用
????????????????????③:一些常用的函数(function)与函数库(library),大部分是C的函数库(libc)
????????????????????④:装置档案的说明,通常在/dev下的档案
????????????????????⑤:设定档或者是某些档案的格式
????????????????????⑥:游戏使用帮助
????????????????????⑦:杂项
????????????????????⑧:系統管理員可用的管理指令
????????????????????⑨:跟kernel有关的文件
????????????●?SYNOPSIS:
????????????????????①:[]: 可选内容;
????????????????????②:<\>: 必须提供的内容;
????????????????????③:a|b|c:多选一;
????????????????????④:...: 同类内容可出现多个;
※注释※:
????????????●?NAME: 功能性说明
????????????●?SYNOPSIS: 语法格式
????????????●?DESCRIPTION: 描述
????????????●?OPTIONS: 选项
????????????●?EXAMPLES: 使用示例
????????????●?AUTHOR:作者
????????????●?BUGS: 报告程序bug的方式
????????????●?SEE ALSO: 参考
????????????●?...
六、Linux发行版的基础目录名称及功用
????◆?目录名 功用
????◆?/bin 所有用户可用的基本命令程序文件;
????◆?/sbin 共系统管理使用的工具程序;
????◆?/boot 引导加载器必须用到的各静态文件:kernel,initramfs(initrd),grub等;
????◆?/dev 存储设备文件或特殊文件;
????◆?/etc 系统程序的配置文件,只能为静态;
????◆?/home 普通用户的家目录;(/home/USERNAME)
????◆?/root 管理员家目录;
????◆?/lib 库文件;
????◆?/lib64 64位系统特有的共享库;
????◆?/media 便携式设备挂载点;
????◆?/mnt 其它文件系统临时挂载点;
????◆?/opt 附加应用程序的安装位置;
????◆?/srv 当前主机为服务提供的数据;
????◆?/tmp 临时文件目录;
????◆?/usr 全局共享的只读数据路径;
????◆?/usr/local 安装本地应用或第三方程序;
????◆?/var 存储常发生变化的数据的目录;
????◆?/proc 基于内存的伪文件系统,用于存储内核及进程存储相关信息;
????◆?/sys 管理Linux设备提供一种统一模式的接口;
原文地址:http://blog.51cto.com/11003070/2094378