02_01_Linux操作系统及常用命令
Linux的基本原则:
1、由目的单一的小程序组成;组合小程序完成复杂任务;
2、一切皆文件;
3、尽量避免捕获用户接口;
4、配置文件保存为纯文本格式;
GUI接口:Graphical User Interface
CLI接口:command-line interface
命令提示符,prompt, bash(shell)
#: root
$: 普通用户
命令格式: 命令 选项 参数
# command options... arguments...
选项:
短选项: -
多个选项可以组合:-a -b = -ab
长选项: --
参数:命令的作用对象
虚拟终端(terminal):Ctrl+Alt+F1-F6
模拟终端:GUI图形界面中的终端
GUI:
X-Window Gnome: C KDE: C++ XFace
CLI:
sh bash csh zsh ksh tcsh
root, student, vistor
1. su: switch user
# su [-l] 用户名 完全切换
# passwd
密码复杂性规则:
10^6
36^6
62^6
100^6
Linuxedu@126.com
1、使用4种类别字符中至少3种;
2、足够长,大于7位;
3、使用随机字符串;
4、定期更换;
5、循环周期足够大;
以后的课程大概包括:
RHCE+RHCA+shell编程+MySQL+Web集群+NoSQL+Hadoop+Hbase+Openstack
内部FTP:
172.16.100.177
192.168.0.1
google hack:
linux filetype:pdf
linux site:ibm.com
IDE:
login:
用户名:用户ID
认证机制:Authentication
授权:Authorization
审计:Audition (日志)
prompt,命令提示符:
magic number: 魔数,标记可执行文件的格式,exe,elf
#!/bin/bash就是脚本的魔数,又称shebang
2. ls: list
列出,列表
目录:文件,路径映射
路径:从指定起始点到目的地所经过位置
文件系统:file system
ls
-l:长格式
文件类型:
-:普通文件 (f)
d: 目录文件
b: 块设备文件 (block)
c: 字符设备文件 (character)
l: 符号链接文件(symbolic link file)
p: 命令管道文件(pipe)
s: 套接字文件(socket)
文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r--
文件硬链接的次数
文件的属主(owner)
文件的属组(group)
文件大小(size),单位是字节
时间戳(timestamp):最近一次被修改的时间
访问:access
修改:modify,文件内容发生了改变
改变:change,metadata,元数据
-h:做单位转换
-a: 显示以.开头的隐藏文件
. 表示当前目录
.. 表示父目录
-A
-d: 显示目录自身属性
-i: index node, inode
-r: 逆序显示
-R: 递归(recursive)显示
3. pwd: Printing Working directory
目录:working directory, current directory
4. cd: change directory
家目录,主目录, home directory
cd ~USERNAME: 进入指定用户的家目录
cd -:在当前目录和前一次所在的目录之间来回切换
5. type: 显示指定属于哪种类型
Linux命令类型:
内置命令(shell内置),内部,内建
外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件
环境变量:命名的内存空间
变量赋值 NAME=Jerry
PATH: 使用冒号分隔的路径
6. hash: 查看命令缓存
时间复杂度:O(1)
缓存为王,cache is king
02_02_Linux操作系统及常用命令
7. date:时间管理,查看系统时钟
Linux: 开机时读取硬件时钟,软件模拟生成系统时钟。
date [MMDDhhmm[[CC]YY][.ss]] //月 日 小时 分钟 年 . 秒
修改系统时间,如:date 1228235912.30 或 date 122823592012.30
date [OPTION]... [+FORMAT]
date +%D ---- 月/日/年
date +"This year is %Y, %n Today is %d"
8. clock/hwclock: 查看硬件时钟
clock和hwclock用法相近,只不过clock命 令除了支持x86硬件体系外,还支持Alpha硬件。
-w: 系统时钟写入硬件时钟
-s: 硬件时钟写入系统时钟
9. man: 显示命令manual pages
获得命令的使用帮助方式:
(1)内部命令:
help COMMAND (提示:man + 内部命令 查看到的是shell的帮助)
(2)外部命令:
COMMAND --help
(3)命令手册:manual
man COMMAND
(4)在线文档:
info COMMAND
(5)文档:/usr/share/doc
(6)google
MAN pages中各个小章节:
NAME:命令名称及功能简要说明
SYNOPSIS:用法说明,包括可用的选项
使用格式说明中的符号:
<>:必选
[]:可选
...:可以出现多次
|:多选一
{}:分组
DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义
OPTIONS:说明每一个选项的意义
FILES:此命令相关的配置文件
BUGS:
EXAMPLES:使用示例
SEE ALSO:另外参照
man pages中操作:
翻屏:
向后翻一屏:f / SPACE
向前翻一屏:b
向后翻一行:j / ENTER
向前翻一行:k
查找:
/KEYWORD: 向后
n: 下一个, N:前一个
?KEYWORD:向前
n: 下一个, N:前一个
退出:q
10. whatis COMMAND: 查看该命令属于那些章节
man分章节:
1:用户命令(/bin, /usr/bin, /usr/local/bin)
2:系统调用
3:库用户
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项(Miscellaneous)
8:管理命令(/sbin, /usr/sbin, /usr/local/sbin)
练习:
使用date单独获取系统当前的年份、月份、日、小时、分钟、秒
date +%Y, date +%m, date +%d, date +%H, date +%M, date +%S
11. cal: calendar
cal 2013: 查看2013年日历
cal 12 2013: 查看2013年12月日历
练习:
1、echo是内部命令还是外部命令?
2、其作用?
3、如何显示“The year is 2013. Today is 26.”为两行?
1、type echo
2.、man type
3、echo -e "The year is 2013. \nToday is 26."
12. echo: 回声
-n 不换行
-e 开启转义字符
练习:
1、printf是内部命令还是外部命令?
2、其作用?
3、如何显示“The year is 2013. Today is 26.”为两行?
1、type printf
2、man printf
3、printf "The year is 2013. \nToday is 26.\n"
13. printf: 打印
类似printf 函数用法
printf "The year is %d. \nToday is %d.\n" `date +%Y` `date +%d`
14. file:确定文件格式
Windows: PE
Linux: ELF