Linux哲学思想:
1、一切皆文件;
把几乎所有资源,包括硬件设备都组织为文件格式;
2、由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好;
组合小程序完成复杂任务;
3、尽量避免跟用户交互;
目标:实现脚本编程,以自动完成某些功能;
4、使用纯文本文件保存配置信息;
目标:一款使用的文本编程器即能完成系统配置工作;
第1章 Linux基础入门
1.1 Linux终端介绍:
用户与主机交互,必然用到的设备
物理终端:直接接入本机的显示器和键盘设备—console
刚开机的时候,程序还没有启动,程序启动完成后默认以虚拟终端1,或者图形终端
设备文件:/dev/console
虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,centos6默认启动6个虚拟终端
Ctrl+Alt+F#:[1,6] Alt+F1切回图形界面
图形终端:附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境
设备文件路径:/dev/tty#
模拟终端:完全以软件方式虚拟实现
图形界面下打开的命令行接口
使用ssh或telnet协议远程打开的界面
设备文件:/dev/pts/#
查看当前终端
使用tty命令
1.2 交互式接口
启动终端后,在终端设备附加一个交互式应用程序
GUI:
X protocol+window manager+desktop=GUI
Desktop:
GNOME: C GTK
KDE: C++ QT
XFCE: 轻量级桌面
CLI:
shell程序
sh
csh
ksh 商业版
bash
zsh
显示当前使用的shell:
# echo $SHELL
显示当前系统启用的所有shell:
# cat /etc/shells
1.3 shell提示符
命令提示符(prompt):
使用PS1环境变量定义
管理员:#
普通用户:$
[root@www ~]# echo $PS1 [\u@\h \W]\$
[用户@主机名 当前目录名称]提示符
1.4 命令使用方法
输入命令,回车:
提醒shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来,表现为一个或多个进程
命令类型:
在shell中可执行的命令有两类:
内建命令:由shell自带的,而且通过某命令形式提供
外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件
which,whereis
区分内建命令和外部命令:
使用type命令
# type COMMAND
运行命令:
命令格式:
COMMAND [OPTIONS…] [ARGUMENTS…]
选项:用于启用或关闭命令的某些功能
短选项:-c(一个字符),例如:-l,-h
多个短选项可以合并使用,例如:ls -lh
长选项:–word(一个单词),例如:–long –help
参数:命令的作用对象
向命令提供数据:例如: ls -lh /etc /etc即为参数
注意:
1、多选项,以及多参数和命令之间都应该使用空白字符分隔
2、取消命令执行:Ctrl+c
1.5文件系统
windows:C:\Progam files\ofiice15\word.exe
Linux:/etc/sysconfig/network-scripts/ifcfg-eth0
Linux:一切从根开始
文件有两类数据:
元数据:metadata
数据:data
Linux文件系统特性:
1、文件名严格区分字符大小写
2、文件名可使用除/以为的任意字符,不建议使用特殊字符
/:根目录,路径分隔符
3、文件名长度最长不能超过255个字符
4、所有.开头的文件 均为隐藏文件
路径:
绝对路径:从根目录起始的路径
相对路径:从当前位置起始的路径
当前位置的表示方式:
1、./: ./sysconfig/network-scripts
2、省略上述符号:sysconfig/network-scripts
..表示当前目录的父目录
当前目录:current directory 也称作working directory
pwd:printing working directory
LSB:Linux Standard Base Linux标准库
第2章 Linux基础命令
命令总结:
ls cd type tty cat which whereis pwd echo
命令:
文件系统相关:
目录管理
文件管理
文件查看
文件编辑
系统管理相关:
2.1 Linux命令帮助获取
内建命令:
# help COMMAND
如果使用man获取的将是整个bash的帮助手册
外部命令:
<1> # COMMAND –help
# COMMAND -h
<2>使用手册(manual)
# man COMMAND
<3>信息页
# info COMMAND
<4>程序自身的帮助文档
README
INSTALL
Changelog
<5>程序官方文档
官方站点:Documentation
<6>发行版的官方文档
<7> Google
http://www.slideshare.net/ 需翻墙
内部命令使用帮助详解
使用帮助了解命令:
hash命令:
shell搜寻到的外部命令的路径结果会缓存至kv(key/value)存储中
清除所有缓存:hash -r
history命令:
管理命令历史:
登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history
登录进shell后新执行的命令只会记录在缓存中,这些命令会在用户退出时追加至命令历史文件中
history:
-a:追加本次会话新执行的命令历史列表至历史文件中
-d: 删除历史中指定的命令
-c:清空命令历史
快捷操作:
!# 调用历史中第#条命令
!string 调用历史中最近一个以string开头的命令
!! 执行上一条命令
外部命令帮助获取:
man COMMAND
手册页:/usr/share/man
man1: 用户命令
man2: 系统调用
man3: C库调用
man4: 设备及特殊文件
man5: 配置文件格式
man6: 游戏
man7: 杂项
man8: 管理类的命令
注意:有些关键不止一个章节中存在帮助手册
要查看指定章节中的手册:man # COMMAND
不确定有哪些章节可以使用:whatis COMMAND查看
[root@www ~]# whatis man man (1) - format and display the on-line manual pages man.config [man] (5) - configuration data for man man [manpath] (1) - format and display the on-line manual pages
man命令的配置文件:
centos 6: /etc/man.config
centos 7: /etc/man_db.conf
MANDATORY_MANPATH /PATH/TO/SOMEWHERE===>指明新的手册文件搜索位置
# man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手册页并显示之
帮助手册段落说明:
NAME 名字,简要说明
SYNOPSIS 命令简要使用帮助
DESCRIPTION 命令功能详细描述
OPTIONS 选项
EXAMPLES 使用事例
AUTHOR 作者
PREORTING BUGS 报告bug
SEE ALSO
SYNOPSIS中符号意义:
[]: 可选内容
<>: 必选内容
a|b:二选一
….: 同一内容可出现多次
man命令操作方法:
Space,^V,^f,^F: 向文件尾部翻一屏
b,^B:向文件首部翻一屏
d,^D: 向文件尾部翻半屏
u,^U:向文件首部翻半屏
RETURN or ^N or e or ^E or j or ^J:向文件尾部翻一行
y or ^Y or ^P or k or ^K: 向文件首部翻一行
q: 退出
#:跳转至第#行
1G: 回到文件首部
G:首部翻至文件尾部
文本搜索:
/KEYWORLD:
以KEYMORD指定的字符串为关键字,从当前位置向文件尾部搜索。不区分字符大小写
n: 下一个
N: 上一个
?KEYWORD:
以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜集,不区别大小写
n: 跟搜索命令相同方向
N: 跟搜索命令相反
2.2 时间相关命令
date
date [OPTION]… [+FORMAT] —->显示日期时间
FORMAT:格式符号
%a:显示星期几,简写的
[root@www ~]# date +%a Tue
%A:显示星期几,完全显示
[root@www ~]# date +%A Tuesday
%Y:显示四位年份
%y:显示两位年份
%m:显示月份
%M:显示分钟
%d:日
%h:英文简写的月,Jun
%H:显示小时
%S:秒
%s:现在距离1970年1月1号0点0分(unix元年)的秒数,timestamp(时间戳)
%D:显示日期格式为:月/日/年
%F:显示日期格式:年–月–日
%T:显示时间格式:时:分:秒
date [MMDDhhmm[[CC]YY][.ss]] —->设置日期时间
MM:月份
DD:几号
hh:小时
mm:分钟
YY:两位年份
CCYY:四位年份
.ss:秒钟
Linux的两种时钟:
系统时钟:由Linux内核通过CPU的工作频率进行的计时
硬件时钟:存储在CMOS里的时钟,关机后该时钟依然运行,主板的电池为它供电
hwclock:显示硬件时钟
-s,–hctosys: 以硬件时间为准
-w,–systohc: 以系统时间为准
cal:显示日历
cal 年份
2.3 目录相关命令
当前目录或工作目录
主目录(~),家目录:HOME—>
root: /root
普通用户:/home/USERNAME
cd 切换目录
cd 或cd ~:回当前用户的主目录
cd ~USERNAME:切换至指定用户的家目录
cd –:在上一个目录和当前目录之间来回切换
相关环境变量:
PWD:保存了当前目录路径—pwd
OLDPWD:上一次所在目录路径—-cd –
[root@www ~]# cd $OLDPWD [root@www etc]# cd $OLDPWD
pwd 显示当前目录
ls: list
显示指定路径下的文件列表
ls [OPTION]… [FILE]…
-a, –all: 显示所有文件,包括隐藏文件
-A: 显示所有文件,但不包含. 和..
-l: 显示文件详细信息,长格式
-/rw-r–r–./ 1/ root/ root/ 9615 /Jun 25 20:43/ install.log
文件类型/权限/文件被硬链接次数/属主/属组/size/文件最近一次被修改的时间/文件名
-h: 单位换算,易读
-d: 显示目录自身的相关属性,通常和-l结合使用
-r: 逆序显示。以文件名开头字母为准
-R: –recursive 递归显示,显示目录及目录下的所有文件。还是tree好使
stat
stat /PATH/TO/SOMEFILE
获取指定文件的元数据
[root@www ~]# stat /etc File: `/etc' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 802h/2050d Inode: 12 Links: 63 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-06-28 11:46:11.597990443 +0800 Modify: 2016-06-28 19:16:22.341021361 +0800 Change: 2016-06-28 19:16:22.341021361 +0800
2.4 文件查看命令
cat
连接显示文件内容
cat [OPTION]… [FILE]…
-E: 显示行结束符$
-T: 显示制表符
-n: 对显示出的每一行进行编号
一般和EOF结合使用的较多
cat <<EOF>FileName
EOF
tac
与cat显示相反,倒序的显示
file
查看文件内容类型
file /PATH/TO/SOMEWHERE
echo
回显
-n: 禁止自动添加换行符
-e: 允许使用转义符
\n: 换行
\t: 制表符
echo "$VAR_NAME": 变量会替换,弱引用
echo '$VAR_NAME': 变量不会替换,强引用
echo “ : 命令引用
which
显示命令对应的程序文件路径
which [options] COMMAND
–skip-alias 跳过别名
[root@www ~]# which –skip-alias ls
whatis
使用mkwhatis命令可将当前系统上的所有帮助手册及与之对应的关键字创建为一个数据库
原创文章,作者:N21_Lorne,如若转载,请注明出处:http://www.178linux.com/20951
评论列表(1条)
写的很好,排版还可以在漂亮一些,加油