Linux用户:
管理员:拥有所有权限
普通用户:使用非特权资源
Linux程序:
管理命令
普通命令
命令提示符:prompt
管理员:#
普通用户:$
用户使用环境:
通过改变环境变量的值来实现
变量:有名称的内存空间
变量赋值:
格式:变量名=值
''
""
``
PS1:
\u: 当前用户名
\h: 主机名
\H: FQDN,完整格式的主机名
\W:当前工作目录的基名
\w: 当前工作目录绝对路径
\$: 提示符
Linux的文件系统:
Linux严格区分字符大小写
层次化结构表示文件路径
倒置的树
一个目录:就是一个名称空间
相对路径:从非顶级,缺省路径时从当前路径开始
绝对路径:从顶级名称空间起始标记的路径
rootfs
登录系统:
工作目录:working directory,当前目录,current directory
家目录:
命令的语法格式:
COMMAND OPTIONS ARGUMENTS
命令:
命令
应用程序
脚本文件
命令的类型:
内建命令: 由shell程序自带的命令
查找方式:shell内建
外部命令: 本身是一个独立的可执行程序文件,命令名即为程序文件名
查找方式:通过shell的内置的环境变量PATH中指定的路径进行查找;
如何区分:type COMMAND
选项:调整命令的作用方式
短选项:-char, 例如,-l, -d, -h
多个选项间要使用空白分隔:-l -d -h
合并使用:-ldh
长选项:--word, 例如:--long, --directory, --human-readable
长选项一般不能合并使用
注意:有些选项需要带参数,称为选项参数
mkfs -t ext4
参数:
命令的作用对象
cd: change directory
cd
cd ~
cd ~USERNAME
cd -: 在前一个目录和当前目录之间反复切换
两个独特的路径:
.: 当前目录
..:上一级目录
pwd: print working directory
命令历史:bash的特性之一
history
保存的条数:
环境变量:HISTSIZE
用户退出时的持久保存位置:
环境变量:HISTFILE,通常默认为用户家目录下的.bash_history
此文件中可保存的最大数目:
环境变量:HISTFILESIZE
用法:
history N: 显示最近的N条,包括当前命令自身;
history -c: 清空命令历史
history -d offset: 删除指定的偏移处的命令条目
history -a [/path/to/some_history_file]: 将当前会话中的命令历史写入指定文件
bash调用命令历史列表中的命令:
!#: 执行命令历史中的第#条命令
!!: 执行上一条命令
!string: 执行命令历史中最近一次以string开头的命令;
!$: 调用上一条命令的最后一个参数
ESC, .:功能同上
如何获取命令帮助:
内置命令:help COMMAND
例如:help history
外部命令:
1、COMMAND --help
2、手册:manual
手册:有章节之分,1-9
man [#] COMMAND
如何查看指定命令在哪些章节下有帮助:
whatis COMMAND
注意:whatis根据数据库执行查找操作,此库为系统定期更新;可使用makewhatis手动更新;
手册的段落:
NAME: 命令名称
DESCRIPTION: 命令功能的详细描述
OPTIONS: 所有选项
SYNOPSIS: 使用格式
EXAMPLES: 使用示例
FILES: 与当前命令相关的配置文件
SEE ALSO: 可参考的其它手册
帮助中的格式字串:
[]:可省略
<>: 不可省略
|: 二选一或多选一
...: 同类内容可以出现多个
man的使用机制:
翻屏:
空格键:向文件尾部翻一屏
b: 向文件首部翻一屏
回车键:向文件尾部翻一行
k: 向文件首部翻一行
Ctrl+d: 向文件尾部翻半屏
Ctrl+u: 向文件首部翻并屏
字串搜索:
/keyword: 从文件首部向尾部进行搜索
?keyword: 从文件尾部向首部进行搜索
n: 显示找到的下一个
N:显示找到的上一个
退出:
q
注意:man能够为除命令之外的配置文件、系统调用、库调用等都能提供帮助手册,它们分别位于不同的章节中;
1: 用户命令
2: 系统调用
3: 库调用
4: 设备文件
5: 配置文件
6: 游戏
7:杂项
8:管理命令
3、info命令:获取在线文档
仅在man手册无法获取到足够信息,或想了解程序的开发历史时才使用info
4、很多应用程序都自带有帮助文档:/usr/share/doc/
ChangeLog: 程序版本升级的变动情况
INSTALL: 安装方法说明
README:程序说明信息
5、主流发行版官方文档
redhat, suse, debian
RedHat: http://www.redhat.com/docs/
6、google
练习:获取下面命令的使用方法
shutdown, date, hwclock, ntpdate, reboot, halt, who, whoami, which, hash
如何关机,如何重启,如在指定时间上重启
shutdown -h
-r
-c
时间格式
now
+m
hh:mm
终止当前命令的执行:Ctrl+c
Linux中所有以点号开头的文件名均为隐藏文件:
ls -a
ls -A
Linux的国际化:
internationalization
# export LANG=en
知识回顾:
bash查找命令的方式:
外部命令查找:$PATH
第一次执行真正的查找操作;查找结果会缓存;
查看此缓存使用hash命令
-d: 清除指定名称的缓存内容
-r: 清空缓存
bash的重要特性之一:命令补全
根据内建命令或外部命令的查找方式查找以用户指定的字符串开头的命令
如果用户指定的开头字符串能惟一标识某命令,则tab键可补全此命令
否则,则两次tab键可显示所有以指定字串开头的命令
Linux文件系统的基础特性:
1、文件名严格区分大小写
2、所有文件都们于根目录下,FHS
3、路径以/做为分隔符
4、每个文件的名称可使用除/以外任意字符,单个名称最长不能超出255个字符;
bash重要特性之一:路径补全
以用户指定的起始路径进行文件名补全查找
每个绝对路径都可以切割为两部分
基名
basename /path/to/somewhere
结果为somewhere
目录名
dirname /path/to/somewhere
结果为/path/to
bash的命令历史:
HISTSIZE
HISTFILE
HISTFILESIZE
HISTCONTROL:
ignoredups: 忽略重复的命令,连续的相同命令才会为重复
ignorespace: 忽略以空白字符打头的命令
ignoreboth: 以上二者同行生效;
练习:获取下面命令的使用方法
shutdown, date, hwclock, ntpdate, reboot, halt, who, whoami, which, hash
reboot: 重启
halt: 关机
poweroff: 关机
date: 日期和时间
date [options] [+FORMAT]
%s: 时间戳计时法,从Unix元年(1970-01-01 00:00:00)到此刻所经过的秒数
%F, %D
%T
%Y
%m
%d
%H
%M
%S
date [MMDDhhmm[[CC]YY][.ss]]
Linux有两个时钟:系统时钟和硬件时钟
硬件时钟:
系统时钟:Linux
hwclock
-s: 以硬件为准
-w:以系统为准
ntp: Network Time Protocol
通过网络同步系统时间
C/S: Server, Client
ntpdate SERVER
who: 登录至当前系统的所有用户
whoami: 当前终端上登录的用户
which: 显示指定命令的完整路径
--skip-alias: 路过命令别名
FHS:
/bin, /sbin: 系统自身启动和运行时可能会用户的核心二进制命令
/lib: 共享库文件和内核模块
/lib64:
/etc: 配置文件
/usr:
/usr/bin, /usr/sbin: 系统运行中,用户为完成某些操作可能用到的命令
/usr/lib, /usr/lib64: 库文件
/usr/share/man, /usr/share/doc
/dev: devices的简写,所有设备的设备文件都存放于此处;设备文件通常也称为特殊文件(仅有元数据,而没有数据)
/proc: 伪文件系统,内核和进程信息的虚拟文件系统接口
/sys: 伪文件系统,硬件设备信息虚拟文件系统接口
/boot: 系统引导加载时用到的静态文件,内核和ramdisk(CentOS5:initrd, CentOS6:initramfs), grub(bootloader)
/home/USERNAME
/root
/mnt
/media
/srv: 服务所用到的数据
/tmp: 临时文件存储位置
/var: 经常发生变化的文件
/var/log
/misc: 备用目录
/opt: 第三方应用程序的安装目录
/usr/local:
/selinux
Security Enhanced Linux: 安全加强的Linux
应用程序的组成部分:
二进制程序
库文件
配置文件
帮助文件