标签:linux系统基础
获取命令的使用帮助的几种方法:
1.man:(针对于linux内部命令)
man九章:
1.用户命令帮助文档(所有用户都可以执行的命令)
2.系统调用
3.库调用(c库调用)
4.(特殊调用)设备和特殊文件
5.配置文件格式
6.游戏相关的帮助信息
7.杂项
8.系统管理员类命令
9.内核历程相关的帮助信息
在每个man手册中都常见到的一些字段:
NAME:程序的名称及相关的功能的简单描述
SYNOPSIS:命令使用的语法格式
DESCRIPTION:程序的详细描述信息
OPTIONS:选项的用法和选项的含义的详细说明
AUTHOR:程序作者的信息
EXAMPLES:命令程序的使用范例
REPORTING BUGS:报告程序中所含的BUG的方式,通常是电子邮件
SEE ALSO:额外参考的内容
FILE:与该程序相关的其他的文献资料,如配置文件,README文档等
在帮助信息中可能出现的一些特殊符号的意义:
[]:可以省略不写,也可以根据需要选择使用
{}:在花括号中一般包含竖线“|”,表示从所有项目中必须选择而且只能选择一个使用:“|”有或者之意
<>:必须书写的内容
…:可以有更多内容
区分内部命令和外部命令的方法:
# type COMMEND
查找结果中显示为“内嵌”或者“buildin”字样的,则为内部命令
其余的结果都为外部命令
内部命令的帮助获取不使用man手册,而使用help命令
# help BUILDIN_COMMAND
2.使用whereis命令获得帮助
可以查看程序的二进制文件、源代码文件及帮助手册所在的位置
3.whatis
可以获取被匹配到的命令的手册页的描述信息
4.which
可以显示命令的别名的定义方式和命令的二进制文件的路径
5.info命令
infoCOMMAND
获取命令的在线帮助文档
6.有很多的程序有自带的帮助文档
/usr/share/doc/APP_NAME-VERSION/
README:程序的相关信息
INSTALL:程序的安装信息
CHANGES:程序的版本更迭的历程相关的信息
LICENSE:程序所遵循的许可证类型
GPL
LGPL
BSD
Apache
MIT
7.搜索引擎
Google
搜索技巧 mysql filetype:pdf
mysql site:51cto.com
8.相关的网站站点中的文档信息
wiki
FAQ
9.程序的发行方的官方站点提供的官方文档
10.参考书籍:
O‘Reiley
Wrox
电子工业出版社
简单的系统管理类的命令:
注销:在Linux里边就是退出登录而已
exit
logout
ctrll+d
重启(重新引导):将运行于内存中的所有进程关闭,关闭系统内核,对于所有的计算机部件进程重新通电,加载内核,启动应用程序,打印登陆提示符
reboot
shutdown -r -t #|now|time (推荐)
#:数字,表示相对时间,即#分钟之后重新引导
now:现在,立即重新引导,相当于-t 0;
time:12:00
init 6
关闭系统:将运行于内存中的所有进程关闭,关闭系统内核,对于所有的计算机部件断电
halt
poweroff
init 0
shutdown -h {#|now|time} (推荐)
linux的哲学思想
1.一切皆文件
Linux把几乎所有的数据和资源都抽象(虚拟)成文件的形式,甚至包括硬件网络通信设备所使用的套接字以及管道都是如此
文件:一组有边界的位于存储设备中的流式数据
2.由众多的功能单一的小程序组成,可以实现复杂任务
功能单一:每个小程序只做一件事,只实现一个功能;并且要做到最好
复杂任务:可以根据业务逻辑或业务类型,尽可能完美的组合多个小程序,使多个小程序相辅相成,将功能发挥至极致
3.尽量避免与用户直接交互
在程序化,系统化,平台化,自动化的运维空间中,人是极其易出错的一个环节;尽量避免与用户直接交互可以尽可能的保证结果的准确性和
过程的高效性;易于以编程的方式实现自动化任务的实施;
4.使用纯文本文件保存程序的配置信息
在程序出现错误或者执行不畅的时候,可以使用文本编程工具分析程序的错误原因,而不必依赖于二进制文件
文件系统:
文件是分成两部分存放:
元数据:描述文件的属性
数据:文件的内容
分层编址方式:
在文件系统中,基于文件名引用文件,按名来进行文件存取
在文件系统中,对于文件名有一系列的规定
1.文件名不能包含“/”字符
“/”表示根文件系统;所谓根文件系统,即为Linux文件的原始起点;
“/”表示路径的分隔符
2.文件名的长度不能超过255个字符
3.在同一个位置,文件名不能重复使用;
4.文件的名称严格区分大小写
文件系统使用路径的概念标识文件的位置;所谓路径,就是定位一个文件所在的位置时,所必须经过的目录的层级结构的集合
文件系统中路径的描述方式:
绝对路径:一切以“/”开始查找的路径
相对路径:一切以“当前工作目录”开始查找的路径;
“.”:表示当前工作目录
“..”:表示当前工作目录的父目录(上一级目录)
因此也可以说,一切以“.”或“..”开始查找的路径,叫做相对路劲;而且在使用“.”表示当前工作目录的时候,可以省略。
如何选择路径?选择绝对路径还是相对路径?
如果在查找文件的时,目标文件和当前目录不顺路,就使用绝对路径;如果顺路就是用相对路径
顺路指的是:当前工作目录被包含在绝对路径之中
家目录:
每个用户登录系统时默认的当前工作目录;也是每个用户的起始目录;也成为“home directory”
任何一个路径其实都是由两部分组成:
文件的基名:
basename
文件的目录名:
dirname
FHS:文件系统的层级标准
bin:binary,所有用户(包括普通用户)可以执行的普通操作命令
boot(起步,启动,引导):引导操作系统启动的静态文件,包括:引导程序,Linux内核,initramfs等;
dev:device,设备
块设备:Block Device,随机访问,指的是能够实现数据存放的设备
字符设备:character device,顺序访问(线性访问),指的是能够实现数据传输和数据处理功能的设备;
etc:Exsternal Text configure,存放主机中各应用程序的配置文件;
home:普通用户的默认家目录的根;
lib,lib64:Library,存放应用程序共享库的目录,内核的模块
media:可移动设备的挂载点;
mnt:临时文件系统的挂载点;
opt:optional,可选的,以前此目录是非常流行的第三方应用程序的安装目录
root:root用户的家目录
run:保存一些进程的PID文件;目前已废弃
sbin:super binary,存放那些还有超级用户root能够执行的系统管理类的命令
srv:存放由系统提供的服务的数据
tmp:temporary,临时文件目录,系统每30天会自动清理该目录中的在30以上没有访问过的文件
usr:usual system root,linux系统的第二根,现在主要用于安装第三方应用程序;
/usr/local:第三根,主要用于通过编译源代码的方式安装第三方应用程序;
/usr/src:存放第三方应用程序的源代码;
var:variable,变量,存放可变化的数据,数据库类的文件
伪文件系统,其中存放的是内存中的数据通过操作系统映射的文件
proc:process,进程
sys:system
文件类型:
根据颜色来区分文件类型:
黑色或白色:普通文本文件,regular file;
绿色:可执行文件,命令;
黄色:设备文件,包括块设备和字符设备;
红色:包文件,包括:软件包,压缩包,归档包等;
深蓝色:目录文件
青蓝色(天蓝色):符号链接文件,相当于windows系统中的快捷方式;
紫色(粉色):套接字文件;
棕色:管道文件;
根据文件类型的标记区分文件类型:
-:普通文件
b:块设备文件
c:字符设备文件:
d:目录文件;
l:符号链接文件:
p:管道文件
s:套接字文件
准确的区分文件类型:
file命令
#file/PATH/TO/SOMEFILE
常用的命令使用方法:
1.echo: display a line of text
常用选项:
-n:不换行
-e:使用\所引导的转义序列生效;
\n:换行
\t:水平制表符
2.cd
change the shell working directory
切换工作目录
cd[-L|[-P[-e]]] [dir]
cd /PATH/TO/SOMEDIR:将工作目录切换至参数所代表的目录;
cd:将工作目录切换至当前登录用户的家目录;相当于cd ~;
cd -:将工作目录切换至此前最后一次的工作目录;
shell提供了两个变量;
PWD
OLDPWD
注意,在SHELL中获取变量值的方法;变量名严格区分大小写;
echo ${VAR_NAME}
cd ~USERNAME:将工作目录切换至指定用户的家目录中;
3.pwd
print the name of the current working directory
打印当前工作目录的名称
4.ls
ls -list directory contents
注意:目录的内容是文件名;
ls [OPTION]...[FILE]...
在Linux的文件系统中,所有以“.”作为文件名的起始字符的文件,都是隐藏文件
常用选项:
-a,--all:显示所有文件,包括隐藏文件;
-A,--almost-all:显示除了“.”和“..”之外的所有文件,包括隐藏文件
--color[=WHEN]:以不同的颜色来显示查询结果
-d,--directory:显示目录本身,而不是目录中的文件名
-h,--human-
readable:在显示文件大小的时候,显示为更加易读的格式:通常与-l选项一同使用
-l:使用长列表格式显示文件的详细属性
-rw-------.1 root root 1458 12月 23 2016 anaconda-ks.cfg
-:表示文件类型
rw-------:文件的权限位设置
.:表示该文件是否具有特殊属性或扩展属性
1:表示该文件被硬连接的次数
root:文件的属主(所有者)
root:文件的属组
1458:表示文件的大小,在没有使用-h选项时,其单位为字节;
12月 23 2016:文件的时间戳之一,表示最后一次被修改的时间
anaconda-ks.cfg:文件名
对于设备文件:
~]# ls -l /dev/sr0
brw-rw----.1 root cdrom 11,0 9月 24 10:50 /dev/sr0
11,0:major,minor
major:主设备号,用于标识设备类型,进而确定需要加载何种驱动程序
minor:次设备号,用于标识同一种设备类型中的不同的设备
设备号默认使用8位二进制表示,所以默认的设备号的范围是0-255
-r,--reverse:倒序输出结果
-R,--recursive:递归显示,如果目标目录中有子目录,则递归显示子目录的内容,一次递归下去
-Z,--context:显示文件的SELinux安全上下文标签
5.mkdir
mkdir - make directories,创建新目录
mkdir [OPTION]...DIRECTION...
-P,--parents:在创建目录的时候,如果其父目录不存在,则优先创建之;
-v,--verbose:为每个被创建的目录显示一条信息
6.rm
rm - remove files or directories
rm [OPTION]... FILE...
-f, --force:暴力,强制删除;
-r, -R, --recursive:递归删除目录及目录中的内容;
7.touch
touch - change file timestamps修改文件的时间戳记.
-c, --no-create 不创建任何文件
-a:仅修改文件的访问时间戳
-m:仅次该文件的修改时间戳
-t decimtime
这里时间值 的格式为MMDDhhmm[[CC]YY][.ss] 从左至右分别是月份,日期,小时,分钟,可选的世纪和 年,以及可选的秒. touch
将用这组数值修改指定文件的时间戳记.请注意,这个格式与POSIX标准所规定的格式并 不一样.
额外的,如果没有指定-c选项,touch命令可以创建出被指定为参数且不存在的文件
8.stat
stat - display file or file system status,显示文件或文件系统的状态;
格式:stat [OPTION]... FILE...
常用选项:
-c, --format=FORMAT:以指定的格式显示文件的指定状态属性;
9.nano - Nano‘s ANOther editor, an enhanced free Pico clone
nano [OPTIONS] [[+LINE,COLUMN] FILE]...
^:脱字符,表示键盘上的ctrl键
^+o:保存文档内容
^+x:退出编辑界面
10.cat - con;catenate files and print on the standard output 连接文件并在标准输出上输出
格式:cat [OPTION]... [FILE]...
常用选项:
-b, --number-nonblank:对非空白行进行编号输出;
-n, --number:对所有行编号输出;
-s, --squeeze-blank:合并连续的空白行;
-E, --show-ends:在行尾以$字符显示;
tac - concatenate and print files in reverse
格式:tac [OPTION]... [FILE]...
注意:cat或tac命令,如果没有给出参数,则所有的内容需要通过标准输入(从键盘键入)完成;而后可以使用"^+c"或者"^+d"退出即可;
11.head - output the first part of files 输出文件的起始部分
格式:head [OPTION]...[FILE]...
常用选项:
-c, --bytes=[-]K:以字节为单位显示相应长度的内容;
-n, --lines=[-]K:以行为单位显示相应长度的内容;
可以使用-#K方式替换-n #K;
注意:如果不使用任何选项,则默认显示指定文件内容的前10行;如果文件中不足10行,则显示全部内容;
12. tail - output the last part of files 输出文件的末尾部分
格式:../src/tail [OPTION]... [FILE]...
常用选项:-c, --bytes=N 输出最后N个字节
-f, --follow[={name|descriptor}]
当文件增长时,输出后续添加的数据; -f, --follow以及 --follow=descriptor 都是相同的意思
-n, --lines=N 输出最后N行,而非默认的最后10行
13.more
more - file perusal filter for crt viewing 分页显示文档内容
格式:more [options] file [...]
交互式编辑方法:
可以使用"/"根据后续给出的字符串组合进行查找过滤;
可以使用"n"找到下一个匹配项;
使用"q"退出more模式;
使用Enter,可以向下翻一行;
使用Space,可以向下翻一页;
14.less
less - opposite of more
格式:less [options] file [...]
交互式编辑方法:
可以使用"/"或"?"根据后续给出的字符串组合进行查找过滤;
可以使用"n"或"N"找到下一个匹配项;
使用"q"退出more模式;
使用Enter,可以向下翻一行;
使用Space,可以向下翻一页;
日期和时间相关的命令:
15.date
操作系统时间,简称系统时间,使用软件模式的时钟记录的时间
date - printf or set the system date and time
格式:
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
常用选项:
-s, --set =STRING:设置系统时间为指定的时间
两种格式:
1)MMDDHHmm[[CC]YY][.ss]
2)"CCYY-MM-DD HH:mm:ss" 或"CCYY/MM/DD HH:mm:ss"
FORMAT
%F:表示完整的年月日格式,即:YY-mm-dd
%T:表示完整的时分秒格式,及:HH:MM:SS
%Y:表示完整年份
%m:表示月份
%d:表示日期
%H:表示小时
%M:表示分钟
%S:表示秒钟
%s:时间戳,从1970-01-01 00:00:00到当前系统时间所经历的秒数;
注意:1970年1月1日作为Unix元年;
此时间戳是由32位二进制表示的,所以其表示的最大范围0~4294967295;
16.clock/hwclock
hwclock - query or set the hardware clock (RTC)
格式:
hwclock [function] [option...]
常用选项:
-s, --hctosys:根据硬件时钟设置系统时间;
-w, --systohc:根据系统时间设置硬件时钟;(不推荐)
17.cal
与关机,重启,注销有关的命令
关机:half,poweroff,shutdown -h TIME,init 0:;
重启:reboot,shutdown -r TIME,init 6;
注销:exit,logout,^+d;
18.cp
cp - copy files and directories
格式:cp [OPTION]... [-T] SOURCE DEST:单源复制
cp [OPTION]... SOURCE... DIRECTORY:多源复制
注意:
1)cp命令至少要接两个参数
2)最后一个参数,通常是此次复制的目标
3)如果在复制时给出的目标是目录,则直接将文件复制到指定的目录中,保留原文件名;如果在复制非目录文件时,给出的目标是非目录的文件 ,则此次操作时复制并改名。
常用选项:
-R,-r,--recursive:递归的复制目录文件:
-d same as --no-dereference --preserve=links
复制的源文件是符号链接文件时,-d选项可以保留该符号链接文件作为此次的源文件被复制,而不会复制该符号链接文件所指 的文件
19.mv
mv - 移动 (改名) 文件
格式:
mv [选项]... 源文件 目标文件
mv [选项]... 源文件... 目录
常用选项:
-f, --force :覆盖前永不提示
-n, --no-clobber:移动文件时,如果源文件与目标位置中的文件重名,则不移动
本文出自 “小小殊童” 博客,请务必保留此出处http://yigechenlin.blog.51cto.com/13306169/1974387
标签:linux系统基础
原文地址:http://yigechenlin.blog.51cto.com/13306169/1974387